Question
1. 'Security Group에서 인바운드 트래픽에 Any IP를 쓰면 안되나요?
2. Security Group의 용도는 어떻게 되나요?
3. http, https 프로토콜과 관련하여 SG설정 외에 보안에 더 도움이 될 만한 방법이 있을까요?
Answer
1. Security Group에서 인바운드 트래픽에 Any IP를 쓰면 안되나요?
일반적으로 인바운드 트래픽에 Any IP를 사용하는 것은 권장되지 않습니다.이는 네트워크에서 수신되는 모든 트래픽을 허용하는 것으로 필요 이상의 트래픽을 수신할 수 있습니다. 따라서 인바운드 트래픽을 제한 하기 위해 서비스 용도에 맞게 가능한 구체적인 IP주소 범위나 서브넷을 지정하는 것이 좋습니다.
예를 들어 Security Group 인바운드 규칙 중 22번 포트의 Source가 Any IP(0.0.0.0/0)로 Any IP가 되어있다면 수정이 필요합니다.포트 22(SSH)에 대한 규칙을 추가하는 경우 특정 IP 주소 또는 주소 범위만 인스턴스에 액세스하도록 승인해야 하기 때문에 해당 22번 포트의 인바운드 규칙을 수정하시면 됩니다.
2. Security Group의 용도는 어떻게 되나요?
Security Group은 EC2 인스턴스의 레벨에 대하여 인바운드 및 아웃바운드 트래픽을 제어하는 방화벽이고, 프로토콜과 포트, IP를 지정하여 인스턴스 단위로 트래픽에 대한 허용규칙을 지정할 수 있습니다. 보안 그룹은 상태 저장 패킷 필터링을 수행하고 다른 보안 그룹을 참조하는 규칙을 만들 수 있기 때문에 네트워크 ACL보다 다재다능합니다
추가적으로 필요한 경우 네트워크 ACL을 사용하여 상태 비저장 네트워크 제어를 제공할 수 있습니다.
네트워크 ACL은 보조 제어 장치(예: 트래픽의 특정 하위 집합 거부) 또는 상위 수준의 서브넷 레벨의 방화벽으로 효과를 발휘할 수 있습니다.
또한 네트워크 ACL은 전체 서브넷에 적용되므로 인스턴스가 올바른 보안 그룹 없이 시작될 경우 이를 심층 방어 기능으로 사용할 수 있습니다.
밑에 있는 표는 보안그룹과 네트워크 ACL의 근본적인 차이를 요약한 표로 참고부탁드립니다.
3. http, https 프로토콜과 관련하여 SG설정 외에 보안에 더 도움이 될 만한 방법이 있을까요?
3-1) AWS WAF 서비스 내지는 3rh Party WAF를 사용하여 웹 애플리케이션 보안을 강화하는 방법이 있습니다.
AWS WAF는 AWS 의 Amazon CloudFront, API Gateway, ALB, AppSync 등과 같은 서비스로 전달되는 HTTP, HTTPS 전송에 대해 요청을 모니터링하고 통제하는 방화벽 서비스 입니다.
요청되는 IP 주소, 쿼리 문자열 등에 대해 지정된 조건에 따라 통제할 수 있으며, 지역적인 요청에 대한 통제도 할 수 있습니다.
3-2) 참고로, 다음은 웹서버에서 80(HTTP) 및 443(HTTPS)포트를 허용하기 위한 보안그룹 및 네트워크 NACL 적용하여 심층보안을 하는 방법입니다. 해당 인바운드 트래픽에
any ip를 설정한 것은 예시일 뿐이며 귀사의 네트워크 환경에 따라 다르게 설정할 수 있습니다.
[보안 그룹 규칙]
다음 예제에서는 IPv4와 IPv6 트래픽을 TCP 포트 80(HTTP) 및 443(HTTPS)에서 허용하기 위한 보안 그룹 규칙을 보여줍니다.
[네트워크 ACL]
다음 예제에서는 TCP 포트 80(HTTP)과 443(HTTPS)에서 트래픽을 허용하는 사용자 지정 네트워크 ACL을 보여줍니다. 예제 구성에서는 대상 포트 80 및 443을 제외하고 동일한 서브넷의 리소스와 주고받는 모든 트래픽이 차단됩니다. 인스턴스에 로그인하기 위한 SSH 또는 RDP 등의 다른 트래픽 소스를 사용하는지는 귀사의 환경에 따라 다르므로 확인이 필요합니다.