‘Amazon Lightsail 방화벽 기능’으로 사이트 보안 강화하기

2020. 05. 20 | 블로그

Amazon Lightsail은 많은 고객에게 AWS를 쉽게 시작할 수 있는 방법을 제공합니다. 해당 서비스는 사용 편의성, 보안 및 유연성이 균형을 이룹니다. Lightsail 방화벽은 고객이 Lightsail 자원을 안전하게 보호하는 데 도움이 되는 추가 기능을 제공합니다. 이 업데이트는 다음과 같은 세 가지 새로운 기능을 제공합니다.

■ 방화벽 규칙에 대한 소스 IP 주소를 지정하는 기능

■ Lightsail의 웹 기반 콘솔을 통해 인스턴스에 대한 원격 액세스를 명시적으로 허용하거나 허용하지 않음

■ PING 지원

이번 포스팅에서는 소스 IP 주소부터 시작해서 이러한 각각의 새로운 기능에 대해 자세히 알아보겠습니다.

해당 업데이트 전에는 개방된 포트가 모든 IP 주소에 대해 허용하고 있고, 이는 합리적인 방법입니다. 예를 들어, 새로운 WordPress 서버의 경우 광범위한 공용 액세스가 필요할 수 있습니다.

그러나 인스턴스에 대한 액세스를 제한하려는 경우도 있습니다. 새 웹사이트를 준비 중인데 게시할 준비가 되지 않은 경우 액세스를 제한할 수 있습니다. 특정 사용자만 사이트를 방문할 수 있도록 하는 한 가지 방법은 특정 IP 주소만 연결할 수 있도록 허용하는 것입니다.

또 다른 일반적인 사용 사례는 인스턴스에 대한 원격 액세스를 제한하는 것입니다. Lightsail 방화벽에 대한 새로운 변경사항을 통해 소스 IP 주소로 SSH 또는 RDP 액세스를 제한할 수 있습니다. 또한 Lightsail의 내장 웹 클라이언트를 통해 원격 액세스를 활성화하거나 비활성화할 수 있습니다.

하나 이상의 IP 주소(예: 가정용 컴퓨터의 IP 주소) 또는 연속적인 IP 주소 범위(예: 회사 네트워크의 주소 범위)에서 액세스를 제한할 수 있습니다.

다음으로 SSH를 통한 원격 액세스를 단일 소스 IP 주소로 제한하도록 이러한 옵션을 구성하는 방법을 검토하겠습니다.

IP 주소 찾기

대부분의 컴퓨터에는 인터넷 라우팅 가능한 IP 주소가 할당되지 않았습니다. 인터넷 라우팅 가능한 IP 주소가 부족하며 일반적으로 인터넷 게이트웨이 장치에 할당됩니다. 네트워크의 장치에 개인 IP 주소가 할당됩니다. 개인 IP 네트워크와 인터넷 간에 통신하기 위해 네트워크 라우터는 일반적으로 NAT(Network Address Translation)을 사용합니다.

이 튜토리얼에서는 사용자가 NAT를 사용하고 있다고 가정합니다. 이는 SSH 액세스를 제한하는 데 사용되는 IP 주소가 네트워크 게이트웨이 장치(일반적으로 무선 라우터)의 IP 라우팅 가능 주소입니다. 따라서 이 IP 주소 뒤에 있는 네트워크의 모든 장치에 대한 액세스가 제한됩니다.

인터넷 라우팅 가능한 IP 주소를 찾는 방법은 여러가지가 있습니다. 네트워크 게이트웨이 디바이스에 로그인하여 해당 디바이스에서 찾을 수 있습니다(자세한 내용은 디바이스 사용 설명서를 참조하십시오). 또는 여러 공용 서비스 중 하나를 사용하여 IP 주소를 결정합니다. 온라인에서 “What is my IP”를 온라인으로 검색합니다.

SSH 액세스를 단일 IP 주소로 제한

1. 먼저 새 Lightsail 인스턴스를 생성합니다. – Blueprint를 선택할 수 있습니다.

2. 인스턴스 상태가 실행 중으로 표시되면 인스턴스 이름을 선택하여 인스턴스 세부 정보 페이지를 엽니다.

3. 메뉴에서 네트워킹을 선택합니다

4. 아래로 스크롤하여 현재 방화벽 설정을 찾습니다. 연결 허용 위치 아래에 모든 응용 프로그램의 모든 IP 주소가 나열됩니다. 이를 변경하려면 SSH 규칙에 대한 편집 아이콘을 선택합니다.

5. IP 주소로 제한 옆에 있는 상자를 선택하고 소스 IP 주소 또는 범위 아래에 인터넷 라우팅 가능한 IP 주소를 입력합니다.

참고: 다음 섹션에서는 Lightsail의 브라우저 기반 SSH 클라이언트에서 액세스를 제한하는 방법을 보여줍니다. 현재 Lightsail 브라우저 SSH 허용 상자가 선택되어 있습니다.

6. 저장을 선택합니다. 이제 SSH를 로컬 컴퓨터에서 Lightsail 인스턴스로 보냅니다. SSH를 사용하여 Lightsail 인스턴스에 연결하는 방법에 대한 자세한 내용은 설명서를 참조하시기 바랍니다.

인스턴스에 성공적으로 연결할 수 있어야 합니다. 그런 다음 IP 주소에서 연결을 테스트합니다. 이렇게 하려면 다른 IP 주소를 제한하고 연결을 다시 시도해야 합니다.

6-1) SSH 방화벽 규칙을 다시 편집하여 위의 지침을 따릅니다. 이번에는 IP 또는 IP 범위에 192.168.2.150을 입력합니다.

6-2) 저장을 선택합니다.

인스턴스에 다시 연결을 시도합니다. IP 주소가 범위의 IP 주소와 일치하지 않기 때문에 연결은 실패합니다.

Lightsail 브라우저 기반 SSH 클라이언트의 액세스 제한

브라우저 기반 SSH 클라이언트를 사용하면 로컬에서 SSH 키를 관리할 필요 없이 인스턴스에 쉽게 액세스 할 수 있습니다. 그러나 브라우저 기반 액세스를 비활성화해야 하는 경우가 있을 수 있습니다.

이렇게 하려면 아래의 방법을 수행합니다.

1. 앞에서 만든 인스턴스의 방화벽 규칙으로 이동합니다.

2. SSH 규칙에 대한 편집 아이콘을 선택합니다.

3. Lightsail 브라우저 SSH 허용 옆에 있는 상자의 선택을 취소합니다. 저장을 선택합니다.

4. 메뉴에서 연결을 선택한 다음 SSH를 사용하여 연결을 선택합니다. 브라우저 창이 열리지만 인스턴스에 연결되어 있지 않습니다.

핑 지원

1. 인스턴스의 네트워킹 페이지로 이동합니다.

2. 방화벽 섹션에서 + 규칙 추가를 선택합니다.

3. 애플리케이션 목록에서 ICMP(PING)를 선택합니다. 저장을 선택합니다.

4. 로컬 시스템의 터미널 창에서 Ping 명령을 Lightsail 인스턴스의 IP 주소로 보냅니다. 인스턴스 세부 정보 페이지의 연결 탭 또는 Lightsail 홈페이지의 인스턴스 카드에서 IP 주소를 찾을 수 있습니다.

Bash                                                                               
<ping -c 5 192.168.2.143
PING 192.168.2.143 (192.168.2.143): 56 data bytes                              
64 bytes from 192.168.2.143: icmp_seq=0 ttl=54 time=19.383 ms
64 bytes from 192.168.2.143: icmp_seq=1 ttl=54 time=16.821 ms
64 bytes from 192.168.2.143: icmp_seq=2 ttl=54 time=16.363 ms
64 bytes from 192.168.2.143: icmp_seq=3 ttl=54 time=27.335 ms
64 bytes from 192.168.2.143: icmp_seq=4 ttl=54 time=19.429 ms
                                                                                       
--- 192.168.2.143 ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss                   
round-trip min/avg/max/stddev = 16.363/19.866/27.335/3.943 ms

결론

이번 포스팅에서는 소스 IP 제한, Lightsail 브라우저 SSH 및 RDP 클라이언트에 대한 액세스 제한, 응용 프로그램 유형으로 PING(ICMP) 추가 등 세 가지 새로운 기능을 활용하여 Lightsail 인스턴스의 보안을 강화하는 방법에 대해 다뤘습니다. 이러한 새로운 기능을 통해 Lightsail에 애플리케이션을 배포할 때 보다 높은 수준의 유연성과 보안을 제공합니다.

Lightsail 방화벽에 대한 자세한 내용은 설명서를 참조하시기 바랍니다. 또한 LAMP 스택 응용 프로그램 또는 .NET 응용 프로그램 시작을 포함하여 ‘Lightsail 시작하기’ 자습서가 있습니다.

저자 : Emma White

참조 : Mike Coleman, AWS Senior Developer Advocate – Lightsail

원문 : Enhancing site security with new Lightsail firewall feature

번역 : Teor Kim