Bruteforce 공격에 대해 아래와 같이 root 계정으로 직접 접속을 못하도록 제한하여 대응한적이 있는데
그 후로도 공격이 계속되어 다른 방안을 찾아 보았습니다.
다른 대응 방법으로 적용해본건 default port를 변경하는 방법입니다.
SSH Bruteforce 공격에 대응하여 SSH 기본 포트인 22번 포트를 다른 포트로 변경해주었습니다.
SSH 포트를 변경하는 방법은
/etc/ssh/sshd_config 파일을 열고
#Port22
위 포트의 주석을 지우고 변경할 port 번호를 적고 파일을 저장합니다.
그리고 sshd를 재시작 하면 해당 포트로 접속이 됩니다.
$ sudo service ssh restart
AWS, Azure, Naver Cloud 등 각 클라우드 서비스마다 포트를 추가해주는 기능이 있을텐데
(NCP의 경우 ACG라고 하는 방화벽 및 포트를 설정하는 기능이 있습니다.)
다른 포트를 추가하여 추가한 포트로 SSH 접속을 확인해보면 됩니다.
아래는 이전에 대응했던 방법
리눅스 서버를 운영하면서 SSH Bruteforce 공격 이벤트가 발생한 적이 있다.
Bruteforce는 입력할 수 있는 모든 값들을 대입하여 계정 정보를 획득하는 공격으로,
공격자가 계정을 탈취하게 되면 정보 유출 및 악성코드 감염 등의 피해가 발생할 수 있다.
해당 공격의 대응방안으로
- 5회 이상 로그인 실패 시, 일정기간동안 접근 제한
- 영문, 숫자, 특수문자 등을 조합하여 8자 이상의 패스워드 사용
- 디폴트 서버 접근 포트 변경
등의 방안이 있는데 이번에는 root 계정을 ssh 접속 제한하는 방법을 먼저 적용해 보기로 했다.
# root 계정 외 새로운 계정 생성
useradd [계정명]
# 계정 암호 설정
passwd [계정명]
new password :
retype new password :
# ssh 설정 파일 수정
# vi /etc/ssh/sshd_config
# 설정파일 내용 변경
PermitRootLogin yes
=> PermitRootLogin no
# ssh 설정 재기동
# service sshd restart
위와 같이 설정했다면 이제 root 계정으로는 ssh로 직접 접속을 할 수 없게 되고 root 계정으로 작업이 필요한 경우
새로 생성한 계정으로 로그인한 후 root 계정으로 변경하여 root 계정을 사용할 수 있다.
'Server' 카테고리의 다른 글
mysql root 계정 접속을 localhost에서만 허용하도록 설정 (0) | 2023.10.10 |
---|---|
오류 해결 (톰캣 서버) - address already in use (Bind failed) (0) | 2023.10.05 |
리눅스 서버 root ssh 직접 접속 제한하기 - Bruteforce 공격 대응 (0) | 2023.09.26 |
WebtoB 명령어 (0) | 2023.03.15 |
댓글