꿈꾸는 시스템 디자이너

Lightsail 사용법 - 방화벽 설정 및 SSH 포트 설정 본문

Development/Cloud computing

Lightsail 사용법 - 방화벽 설정 및 SSH 포트 설정

독행소년 2020. 4. 7. 12:46

 

지난 강좌에서는 생성한 인스턴스에 고정IP를 부여하고 SSH Key를 이용해서 로컬장비에서 SSH 접속을 하는 방법에 대해서 알아보았다.

 

이번 시간에는 방화벽에 대해서 알아본다.

 

일반적인 데비안 계열의 리눅스에서는 방화벽 설정을 위해 UFW(Uncomplicated Firewall)이라는 방화벽 관리 프로그램을 사용한다. 

하지만 Lightsail의 경우 자체 방화벽을 제공한다. 설치한 우분투 인스턴스에서 UFW를 사용할 수도 있지만 Lightsail의 방화벽을 이용하는 것이 더 확실하다.

 

설치한 인스턴스의 관리->네트워킹 페이지로 이동하면 방화벽 설정이 가능하다.

살펴보면, SSH 접속을 위한 TCP 22번 포트와 HTTP 요청을 수신하기 위한 TCP 80번 포트가 오픈되어 있는 것을 확인할 수 있다. 이 곳에서 필요한 포트를 추가 개방하면된다.

 

HTTP 통신을 위한 TCP 80번 포트

우리가 웹브라우저를 이용해서 특정 사이트에 접속할 때 사용하는 프로토콜이 HTTP(혹은 HTTPS)이며 사용하는 기본 포트가 80번 이다. 만약 이 인스턴스에서 웹사이트를 구축해서 서비스를 한다면 80번 포트가 개방되어 있어야 사용자들이 브라우저틀 통해 접속할 수 있게 되는 것이다.

 

SSH 접속을 위한 TCP 22번 포트

지난 강좌들에서 로컬머신에서 인스턴스로 SSH 접속을 했을 때 사용한 SSH 통신용 기본 포트가 22번 이다.  그렇기 때문에 Lightsail 처럼 자체 방화벽을 제공하지 않는 호스팅 서비스의 경우 22번 포트를 통한 SSH 공격이 무지하게 들어온다. 그래서 습관상 SSH 포트를 변경하곤 한다.

 

그럼 SSH 포트를 변경하고, 변경된 포트로 SSH 접속하는 실습을 진행해보자.

우선 새로운 SSH 포트로 사용할 9001포트를 추가한다. 아직 기본 SSH 포트를 삭제하진 않는다.

 

로컬머신에서 우분투 인스턴스로 SSH 접속한다.

$> ssh -i LightsailDefaultKey-ap-northeast-2.pem ubuntu@13.209.31.173

 

vim 에디터를 이용해서 /etc/ssh/sshd_config 파일을 수정한다.

$> sudo vim /etc/ssh/sshd_config

 

주석처리되어 있는 Port 항목에서 주석을 제거하고 22번이던 기본 값을 9001로 변경한 다음 파일을 저장한다.

 

SSH 서비스를 재시작 한다.

$> sudo service sshd restart

 

SSH 접속을 종료한 후 다시 접속을 시도해보자.

접속이 거부되는 것을 확인할 수 있다.

 

 

그럼 변경된 포트를 이용해서 다시 접속해 보자. -p 옵션을 이용해서 변경한 포트번호인 9001을 입력한다.

$> ssh -i LightsailDefaultKey-ap-northeast-2.pem ubuntu@13.209.31.173 -p 9001

 

변경한 포트번호를 이용해서 정상적으로 SSH 접속에 성공한 것을 확인할 수 있다.

 

새로운 포트를 이용해서 SSH 접속에 성공했으니 방화벽에서 기본 SSH 포트를 삭제하자.

한가지 유의할 점은 기본 SSH 포트를 삭제하면 Lightsail의 연결관리 페이지에서 브라우저를 이용한 SSH 접속이 더 이상 허용되지 않는다. 이 기능은 기본 SSH 포트를 이용하기 때문이다. 

 

이제 SSH 기본 포트를 임의의 포트로 변경했기 때문에 봇을 이용한 SSH 접속 공격은 원천적으로 차단되었다.

 

Comments