본문 바로가기
Server

SSH Bruteforce 공격 대응 두번째 - default port 변경하기

by couque 2024. 5. 3.
반응형

Bruteforce 공격에 대해 아래와 같이 root 계정으로 직접 접속을 못하도록 제한하여 대응한적이 있는데

그 후로도 공격이 계속되어 다른 방안을 찾아 보았습니다.

3941번의 로그인 시도....

 

다른 대응 방법으로 적용해본건 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

ssh 설정파일 열기

# 설정파일 내용 변경

PermitRootLogin yes
=> PermitRootLogin no

(변경 전) 최초 root 로그인 설정 허용되어 있음
(변경 후) root 로그인 설정을 no로 변경

# ssh 설정 재기동

# service sshd restart

ssh 설정 재기동

위와 같이 설정했다면 이제 root 계정으로는 ssh로 직접 접속을 할 수 없게 되고 root 계정으로 작업이 필요한 경우

새로 생성한 계정으로 로그인한 후 root 계정으로 변경하여 root 계정을 사용할 수 있다.

반응형

댓글