Amazon Lightsail의 인스턴스 방화벽 - Amazon Lightsail

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Lightsail의 인스턴스 방화벽

Amazon Lightsail 콘솔의 방화벽은 퍼블릭 IP 주소를 통해 인스턴스에 연결할 수 있는 트래픽을 제어하는 가상 방화벽 역할을 합니다. Lightsail에서 생성하는 각 인스턴스에는 IPv4 주소용과 IPv6 주소용의 방화벽 2개가 있습니다. 각 방화벽에는 인스턴스로 들어오는 트래픽을 필터링하는 규칙 집합이 포함되어 있습니다. 2개의 방화벽은 서로 독립적이므로, IPv4 및 IPv6 각각에 대해 별도로 방화벽 규칙을 구성해야 합니다. 트래픽을 허용하거나 제한하는 규칙을 추가 및 삭제하여 언제든지 인스턴스의 방화벽을 편집합니다.

목차

Lightsail 방화벽

각 Lightsail 인스턴스에는 IPv4 주소용과 IPv6 주소용의 방화벽 2개가 있습니다. Lightsail 인스턴스에 들어오고 나가는 모든 인터넷 트래픽은 방화벽을 통과합니다. 인스턴스의 방화벽은 인스턴스로 유입될 수 있는 인터넷 트래픽을 제어합니다. 그러나 방화벽은 유출되는 트래픽을 제어하지 않고 모든 아웃바운드 트래픽을 허용합니다. 수신 트래픽을 허용하거나 제한하는 규칙을 추가 및 삭제하여 언제든지 인스턴스의 방화벽을 편집할 수 있습니다. 2개의 방화벽은 서로 독립적이므로, IPv4 및 IPv6 각각에 대해 별도로 방화벽 규칙을 구성해야 합니다.

방화벽 규칙은 항상 허용적입니다. 따라서 액세스를 거부하는 규칙을 생성할 수 없습니다. 인스턴스의 방화벽에 규칙을 추가하여 트래픽이 인스턴스에 도달하도록 허용합니다. 인스턴스의 방화벽에 규칙을 추가할 때 다음 예제(IPv4용)와 같이 사용할 프로토콜, 열려는 포트 및 인스턴스에 연결할 수 있는 IPv4 및 IPv6 주소를 지정합니다. 인스턴스에서 사용하려는 서비스에 따라 프로토콜 및 포트 범위를 지정하는 사전 설정인 애플리케이션 계층 프로토콜 유형을 지정할 수도 있습니다.


        Lightsail 콘솔의 IPv4 방화벽
중요

방화벽 규칙은 인스턴스의 퍼블릭 IP 주소를 통해 흐르는 트래픽에만 영향을 미칩니다. 동일한 AWS 리전 리전에 있는 계정의 Lightsail 리소스 또는 동일한 AWS 리전 리전에 있는 피어링된 Virtual Private Cloud(VPC)의 리소스로부터 시작되어 인스턴스의 프라이빗 IP 주소를 통해 흐르는 트래픽에 영향을 미치지 않습니다.

방화벽 규칙 및 구성 가능한 파라미터는 이 안내서의 다음 몇 섹션에서 설명합니다.

방화벽 규칙 생성

클라이언트가 인스턴스 또는 인스턴스에서 실행 중인 애플리케이션과의 연결을 설정할 수 있도록 방화벽 규칙을 생성합니다. 예를 들어 모든 웹 브라우저가 인스턴스의 WordPress 애플리케이션에 연결되도록 하려면 IP 주소에서 포트 80을 통해 TCP(Transmission Control Protocol)를 활성화하는 방화벽 규칙을 구성합니다. 이 규칙이 인스턴스의 방화벽에 이미 구성되어 있는 경우 이를 삭제하여 웹 브라우저가 인스턴스의 WordPress 애플리케이션에 연결할 수 없도록 차단할 수 있습니다.

중요

Lightsail 콘솔을 사용하여 한 번에 최대 30개의 소스 IP 주소를 추가할 수 있습니다. 한 번에 최대 60개의 IP 주소를 추가하려면 Lightsail API, AWS Command Line Interface(AWS CLI) 또는 AWS SDK를 사용하세요. 이 할당량은 IPv4 및 IPv6 규칙에 개별적으로 적용됩니다. 예를 들어 방화벽은 IPv4 트래픽에 대한 인바운드 규칙 60개 및 IPv6 트래픽에 대한 인바운드 규칙 60개를 보유할 수 있습니다. 개별 IP 주소는 CIDR 범위로 통합하는 것이 좋습니다. 자세한 내용은 이 설명서의 소스 IP 주소 지정 섹션을 참조하세요.

연결을 설정해야 하는 컴퓨터의 IP 주소에서만 포트 22를 통한 TCP를 활성화하는 방화벽 규칙을 구성하여 SSH 클라이언트가 인스턴스에 연결하고 서버에서 관리 작업을 수행하도록 설정할 수도 있습니다. 이 경우 인스턴스에 대한 SSH 연결을 설정하는 IP 주소를 허용하지 않을 것입니다. 그렇게 하면 인스턴스에 보안 위험이 발생할 수 있습니다.

참고

이 섹션에서 설명하는 방화벽 규칙 예제는 기본적으로 인스턴스의 방화벽에 존재할 수 있습니다. 자세한 내용은 이 안내서의 뒷부분에 있는 기본 방화벽 규칙을 참조하십시오.

특정 포트에 대한 규칙이 여러 개 있는 경우 최대 허용 규칙을 적용합니다. 예를 들어 IP 주소 192.0.2.1에서 TCP 포트 22(SSH)에 대한 액세스를 허용하는 규칙을 추가하는 경우. 그러면 모든 사람으로부터 TCP 포트 22에 대한 액세스를 허용하는 다른 규칙을 추가합니다. 결과적으로 모든 사람이 TCP 포트 22에 액세스할 수 있습니다.

프로토콜 지정

프로토콜은 두 컴퓨터 간에 데이터가 전송되는 형식입니다. Lightsail을 사용하면 방화벽 규칙에 다음 프로토콜을 지정할 수 있습니다.

  • TCP(Transmission Control Protocol)는 데이터 교환이 완료될 때까지 인스턴스에서 실행되는 클라이언트와 애플리케이션 간의 연결을 설정하고 유지 관리하는 데 주로 사용됩니다. 이 프로토콜은 널리 사용되는 프로토콜이며 방화벽 규칙에서 자주 지정할 수 있습니다. TCP는 전송된 데이터가 누락되지 않고 전송된 모든 데이터가 의도한 수신자에게 전송되도록 보장합니다. 높은 안정성이 요구되는 네트워크 애플리케이션과 웹 브라우징, 금융 거래 및 문자 메시징과 같이 전송 시간이 상대적으로 덜 중요한 네트워크 애플리케이션에 적합합니다. 데이터의 일부가 손실되면 이러한 사용 사례가 상당한 가치를 잃게 됩니다.

  • UDP(User Datagram Protocol)는 인스턴스에서 실행되는 클라이언트와 애플리케이션 간에 지연 시간이 짧고 손실 허용 연결을 설정하는 데 주로 사용됩니다. 게임, 음성 및 비디오 통신과 같이 인식되는 지연 시간이 중요한 네트워크 애플리케이션에 적합합니다. 이러한 사용 사례는 인식된 품질에 악영향을 주지 않고 일부 데이터 손실을 경험할 수 있습니다.

  • ICMP(Internet Control Message Protocol)는 데이터가 적시에 의도한 대상에 도달하는지 확인하는 등의 네트워크 통신 문제를 진단하는 데 주로 사용됩니다. 로컬 컴퓨터와 인스턴스 간의 연결 속도를 테스트하는 데 사용할 수 있는 Ping 유틸리티에 적합합니다. 데이터가 인스턴스에 도달한 후 로컬 컴퓨터로 돌아오는 데 걸리는 시간을 보고합니다.

    참고

    Lightsail 콘솔을 사용하여 인스턴스의 IPv6 방화벽에 ICMP 규칙을 추가하면 ICMPv6를 사용하도록 규칙이 자동으로 구성됩니다. 자세한 내용은 WikipediaIPv6용 인터넷 제어 메시지 프로토콜을 참조하세요.

  • 모두는 모든 프로토콜 트래픽이 인스턴스로 유입되도록 허용하는 데 사용됩니다. 지정할 프로토콜을 잘 모르는 경우 이 프로토콜을 지정합니다. 여기에는 위에 지정된 프로토콜뿐만 아니라 모든 인터넷 프로토콜이 포함됩니다. 자세한 내용은 Internet Assigned Numbers Authority 웹 사이트Protocol Numbers를 참조하세요.

포트 지정

컴퓨터가 키보드 및 마우스 같은 주변 장치와 통신할 수 있는 컴퓨터의 물리적 포트와 마찬가지로, 네트워크 포트는 인스턴스의 인터넷 통신 엔드포인트 역할을 합니다. 컴퓨터가 인스턴스에 연결하려고 할 때 통신을 설정하기 위해 포트를 노출합니다.

방화벽 규칙에서 지정할 수 있는 포트의 범위는 0에서 65535 사이입니다. 클라이언트가 인스턴스와의 연결을 설정할 수 있도록 방화벽 규칙을 생성할 때 사용할 프로토콜(이 안내서의 앞부분에서 설명)과 연결을 설정할 수 있는 포트 번호를 지정합니다. 프로토콜 및 포트를 사용하여 설정할 수 있는 IP 주소를 지정할 수도 있습니다. 이에 대해서는 이 안내서의 다음 섹션에서 설명합니다.

다음은 일반적으로 사용되는 포트 중 일부와 함께 해당 포트를 사용하는 서비스입니다.

  • FTP(File Transfer Protocol)를 통한 데이터 전송은 포트 20을 사용합니다.

  • FTP를 통한 명령 제어는 포트 21을 사용합니다.

  • SSH(Secure Shell)는 포트 22를 사용합니다.

  • Telnet 원격 로그인 서비스 및 암호화되지 않은 텍스트 메시지는 포트 23을 사용합니다.

  • SMTP(Simple Mail Transfer Protocol) 이메일 라우팅은 포트 25를 사용합니다.

    중요

    인스턴스에 SMTP를 활성화하려면 인스턴스의 역방향 DNS도 구성해야 합니다. 그렇지 않으면 TCP 포트 25를 통한 이메일이 제한될 수 있습니다. 자세한 내용은 Amazon Lightsail 인스턴스에서 이메일 서버에 대한 역방향 DNS 구성을 참조하십시오.

  • DNS(Domain Name System) 서비스는 포트 53을 사용합니다.

  • 웹 브라우저에서 웹 사이트에 연결하는 데 사용하는 HTTP(Hypertext Transfer Protocol)는 포트 80을 사용합니다.

  • 이메일 클라이언트가 서버에서 이메일을 검색하는 데 사용하는 POP3(Post Office Protocol)는 포트 110을 사용합니다.

  • NNTP(Network News Transfer Protocol)는 포트 119를 사용합니다.

  • NTP(Network Time Protocol)는 포트 123을 사용합니다.

  • 디지털 메일을 관리하는 데 사용되는 IMAP(Internet Message Access Protocol)는 포트 143을 사용합니다.

  • SNMP(Simple Network Management Protocol)는 포트 161을 사용합니다.

  • 웹 브라우저에서 웹 사이트에 대해 암호화된 연결을 설정하기 위해 사용하는 TLS/SSL을 통한 HTTPS(HTTP Secure) HTTP는 포트 443을 사용합니다.

자세한 내용은 Internet Assigned Numbers Authority 웹 사이트Service Name and Transport Protocol Port Number Registry를 참조하세요.

애플리케이션 계층 프로토콜 유형 지정

방화벽 규칙을 생성할 때 인스턴스에서 활성화하려는 서비스에 따라 규칙의 프로토콜 및 포트 범위를 지정하는 사전 설정인 애플리케이션 계층 프로토콜 유형을 지정할 수 있습니다. 이렇게 하면 SSH, RDP, HTTP 등의 서비스에 사용할 공통 프로토콜과 포트를 검색할 필요가 없습니다. 이러한 애플리케이션 계층 프로토콜 유형을 선택하기만 하면 프로토콜과 포트가 자동으로 지정됩니다. 고유한 프로토콜과 포트를 지정하려면 사용자 지정 규칙 애플리케이션 계층 프로토콜 유형을 선택하여 해당 파라미터를 제어할 수 있습니다.

참고

애플리케이션 계층 프로토콜 유형은 Lightsail 콘솔을 통해서만 지정할 수 있습니다. Lightsail API, AWS Command Line Interface(AWS CLI) 또는 SDK를 사용하여 애플리케이션 계층 프로토콜 유형을 지정할 수 없습니다.

Lightsail 콘솔에서는 다음 애플리케이션 계층 프로토콜 유형을 사용할 수 있습니다.

  • 사용자 지정 – 사용자 고유의 프로토콜과 포트를 지정하려면 이 옵션을 선택합니다.

  • 모든 프로토콜 – 모든 프로토콜을 지정하고 고유한 포트를 지정하려면 이 옵션을 선택합니다.

  • 모든 TCP – TCP 프로토콜을 사용하지만 어떤 포트를 열어야 할지 확실하지 않으면 이 옵션을 선택합니다. 이렇게 하면 모든 포트(0-65535)에서 TCP가 활성화됩니다.

  • 모든 UDP – UDP 프로토콜을 사용하지만 어떤 포트를 열어야 할지 확실하지 않으면 이 옵션을 선택합니다. 이렇게 하면 모든 포트(0-65535)에서 UDP가 활성화됩니다.

  • 모든 ICMP – 모든 ICMP 유형 및 코드를 지정하려면 이 옵션을 선택합니다.

  • 사용자 지정 ICMP – ICMP 프로토콜을 사용하고 ICMP 유형 및 코드를 정의하려면 이 옵션을 선택합니다. ICMP 유형 및 코드에 대한 자세한 내용은 WikipediaControl Messages를 참조하세요.

  • DNS – 인스턴스가 DNS를 활성화하도록 하려면 이 옵션을 선택합니다. 이렇게 하면 포트 53를 통해 TCP 및 UDP를 활성화할 수 있습니다.

  • HTTP – 웹 브라우저가 인스턴스에서 호스팅되는 웹 사이트에 연결하도록 하려면 이 옵션을 선택합니다. 이렇게 하면 포트 80을 통해 TCP가 활성화됩니다.

  • HTTPS – 웹 브라우저가 인스턴스에서 호스팅되는 웹 사이트에 대해 암호화된 연결을 설정하도록 하려면 이 옵션을 선택합니다. 이렇게 하면 포트 443을 통해 TCP가 활성화됩니다.

  • MySQL/Aurora – 클라이언트가 인스턴스에서 호스팅되는 MySQL 또는 Aurora 데이터베이스에 연결하도록 하려면 이 옵션을 선택합니다. 이렇게 하면 포트 3306을 통해 TCP가 활성화됩니다.

  • Oracle-RDS – 클라이언트가 인스턴스에서 호스팅되는 Oracle 또는 RDS 데이터베이스에 연결하도록 하려면 이 옵션을 선택합니다. 이렇게 하면 포트 1521을 통해 TCP가 활성화됩니다.

  • Ping(ICMP) – 인스턴스가 Ping 유틸리티를 사용하여 요청에 응답하도록 하려면 이 옵션을 선택합니다. IPv4 방화벽에서 ICMP 유형 8(에코) 및 코드-1(모든 코드)이 활성화됩니다. IPv6 방화벽에서 ICMP 유형 129(에코 응답) 및 코드 0이 활성화됩니다.

  • RDP – RDP 클라이언트가 인스턴스에 연결하도록 하려면 이 옵션을 선택합니다. 이렇게 하면 포트 3389를 통해 TCP가 활성화됩니다.

  • SSH – SSH 클라이언트가 인스턴스에 연결하도록 하려면 이 옵션을 선택합니다. 이렇게 하면 포트 22를 통해 TCP가 활성화됩니다.

소스 IP 주소 지정

기본적으로 방화벽 규칙은 모든 IP 주소가 지정된 프로토콜과 포트를 통해 인스턴스에 연결되도록 허용합니다. 이는 HTTP 및 HTTPS를 통한 웹 브라우저와 같은 트래픽에 이상적입니다. 그러나 모든 IP 주소가 해당 애플리케이션을 사용하여 인스턴스에 연결하는 것을 허용하지 않기 때문에 SSH 및 RDP 같은 트래픽에 대한 보안 위험이 있습니다. 이러한 이유로 방화벽 규칙을 IPv4 또는 IPv6 주소나 IP 주소 범위로 제한하도록 선택할 수 있습니다.

  • IPv4 방화벽의 경우 - 단일 IPv4 주소(예: 203.0.113.1) 또는 IPv4 주소 범위를 지정할 수 있습니다. Lightsail 콘솔에서 범위는 대시(예: 192.0.2.0-192.0.2.255) 또는 CIDR 블록 표기법(예: 192.0.2.0/24)을 사용하여 지정할 수 있습니다. CIDR 블록 표기법에 대한 자세한 내용은 WikipediaClassless Inter-Domain Routing을 참조하세요.

  • IPv6 방화벽의 경우 - 단일 IPv6 주소(예: 2001:0db8:85a3:0000:0000:8a2e:0370:7334) 또는 IPv6 주소 범위를 지정할 수 있습니다. Lightsail 콘솔에서 IPv6 범위는 CIDR 블록 표기법(예: 2001:db8::/32)을 사용해서만 지정할 수 있습니다. IPv6 CIDR 블록 표기법에 대한 자세한 내용은 WikipediaIPv6 CIDR blocks를 참조하세요.

기본 Lightsail 방화벽 규칙

새 인스턴스를 생성하면 인스턴스에 대한 기본 액세스를 허용하는 다음 기본 규칙 집합으로 IPv4 및 IPv6 방화벽이 미리 구성됩니다. 기본 규칙은 생성하는 인스턴스 유형에 따라 다릅니다. 이러한 규칙은 애플리케이션, 프로토콜, 포트 및 소스 IP 주소(예: 애플리케이션 - 프로토콜 - 포트 - 소스 IP 주소)로 나열됩니다.

Amazon Linux, Amazon Linux 2, CentOS, Debian, FreeBSD, openSUSE 및 Ubuntu(기본 운영 체제)

SSH - TCP - 22 - 모든 IP 주소

HTTP - TCP - 80 - 모든 IP 주소

WordPress, Ghost, Joomla!, PrestaShop 및 Drupal(CMS 애플리케이션)

SSH - TCP - 22 - 모든 IP 주소

HTTP - TCP - 80 - 모든 IP 주소

HTTPS - TCP - 443 - 모든 IP 주소

cPanel & WHM(CMS 애플리케이션)

SSH - TCP - 22 - 모든 IP 주소

DNS (UDP) - UDP - 53 - 모든 IP 주소

DNS (TCP) - TCP - 53 - 모든 IP 주소

HTTP - TCP - 80 - 모든 IP 주소

HTTPS - TCP - 443 - 모든 IP 주소

사용자 지정 - TCP - 2078 - 모든 IP 주소

사용자 지정 - TCP - 2083 - 모든 IP 주소

사용자 지정 - TCP - 2087 - 모든 IP 주소

사용자 지정 - TCP - 2089 - 모든 IP 주소

LAMP, Django, Node.js, MEAN, GitLab 및 LEMP/Nginx(개발 스택)

SSH - TCP - 22 - 모든 IP 주소

HTTP - TCP - 80 - 모든 IP 주소

HTTPS - TCP - 443 - 모든 IP 주소

Magento(전자 상거래 애플리케이션)

SSH - TCP - 22 - 모든 IP 주소

HTTP - TCP - 80 - 모든 IP 주소

HTTPS - TCP - 443 - 모든 IP 주소

Redmine(프로젝트 관리 애플리케이션)

SSH - TCP - 22 - 모든 IP 주소

HTTP - TCP - 80 - 모든 IP 주소

HTTPS - TCP - 443 - 모든 IP 주소

Plesk(호스팅 스택)

SSH - TCP - 22 - 모든 IP 주소

HTTP - TCP - 80 - 모든 IP 주소

HTTPS - TCP - 443 - 모든 IP 주소

사용자 지정 - TCP - 53 - 모든 IP 주소

사용자 지정 - UDP - 53 - 모든 IP 주소

사용자 지정 - TCP - 8443 - 모든 IP 주소

사용자 지정 - TCP - 8447 - 모든 IP 주소

Windows Server 2019, Windows Server 2016 및 Windows Server 2012 R2

SSH - TCP - 22 - 모든 IP 주소

HTTP - TCP - 80 - 모든 IP 주소

RDP - TCP - 3389 - 모든 IP 주소

SQL Server Express 2016

SSH - TCP - 22 - 모든 IP 주소

HTTP - TCP - 80 - 모든 IP 주소

RDP - TCP - 3389 - 모든 IP 주소

방화벽에 대한 자세한 정보

다음은 Lightsail에서 방화벽을 관리하는 데 도움이 되는 몇 가지 문서입니다.