[Ubuntu] SSH Port 변경(해킹 방어)

[Ubuntu] SSH Port 변경(해킹 방어)

1. 변경하는 이유


무작위 스캔 및 공격 감소

가장 흔한 공격 중 하나는 무작위 또는 자동화된 스캐닝을 통해 기본 포트(22번)에 접근을 시도하는 것이다. 이러한 스캐닝은 보안 취약점을 찾거나 약한 비밀번호를 가진 계정을 해킹하는 데 사용될 수 있다.
포트 번호를 변경하면 이러한 자동화된 스캔이나 대부분의 무차별 대입 공격(brute-force attacks)을 효과적으로 방지 할 수 있다.

로그 파일 관리

기본 포트를 사용할 경우, 무작위 로그인 시도로 인해 로그 파일에 불필요한 데이터가 생길 수 있다. 포트를 변경해서, 유효한 로그 데이터를 관리하자.

2. 포트 설정 변경


포트를 변경하기 위해 설정파일을 연다

sudo vim /etc/ssh/sshd_config  

port 부분을 아래 이미지와 같이 수정한다.


vim 편집기 사용법

1.편집 모드로 전환: "i" 키 입력

2.Port 뒤 숫자 삭제 후 입력

3.저장: "Esc"키를 눌러 명령어 모드로 진입 후 ":wq" 입력

3. 포트 설정 적용


변경한 SSH 설정 파일을 적용한다.

sudo service ssh restart  

 

4. 네트워크 툴 설치 (포트 변경 확인)


net-tools 설치 (핑크색 화면이 나오면 당황하지 말고 enter를 누르도록 한다)

sudo apt install net-tools  

네트워크 조회 명령어

netstat -nltp  

sudo를 붙이면 프로그램 이름까지 출력된다

sudo netstat -nltp  

아래와 같이 포트가 23421로 변경 된 것을 확인할 수 있다.

5. 방화벽 설정


기존 SSH 접속에 사용했던 22번 포트 차단

sudo ufw deny 22   

1234번 포트 접속 허용

sudo ufw allow 23421  

 

6. SSH 접속


기존 접속 방식에서 -p ${port}를 붙여주도록 한다.

ssh -i "${pem 파일경로}" ubuntu@${IP} -p ${port}  

7. 주의점


  • 사용하는 클라우드 서비스에 따라서 인스턴스의 보안 그룹 설정이 필요하다.
  • 기존 22번 포트 외에 새로운 포트를 보안 그룹에 추가해야한다.