EC2 VPN 전용 규칙: 연결된 모든 보안 그룹이 동의해야 합니다
보안 그룹은 허용만 하며, 연결된 각 그룹이 자체 권한을 추가합니다. 좁은 VPN 규칙을 추가하기 전에 인스턴스가 실제로 보는 출처를 확인하세요.
VPN 클라이언트 풀에 대한 인바운드 규칙을 하나 추가하고 아무것도 삭제하지 않았는데도 서비스는 여전히 인터넷에서 접근할 수 있습니다. 아무것도 고장 나지 않았습니다. 보안 그룹에는 좁은 규칙이 이길 수 있는 재정의나 우선순위, 최종 거부가 없습니다. 인스턴스에 연결된 각 그룹은 자체 허용을 하나의 통합된 집합에 더하며, 잊고 있던 광범위한 규칙도 그 집합에 그대로 있습니다. 인스턴스를 VPN 전용으로 만든다는 것은 모든 그룹을 감사하는 것이지, 하나에 더 그럴듯한 규칙을 추가하는 것이 아닙니다.
규칙을 쓰기 전에 서비스를 적으세요
정확한 대상, 프로토콜, 포트와 서비스가 실제로 수신하는 네트워크 인터페이스부터 시작하세요. 인터페이스가 여러 개이거나 한 포트에 여러 서비스가 있는 인스턴스는 연결된 그룹이 다를 수 있으므로 인터페이스별로 감사해야 합니다. 그런 다음 해당 인터페이스가 VPN 사용자에 대해 실제로 받는 출처 주소를, 클라이언트가 자체 연결 창에 표시하는 주소가 아니라, 확인하세요.
변환과 라우팅이 개입되면 이 두 주소는 사람들이 기대하는 것보다 더 자주 어긋납니다.
세 가지 출처 모델, 세 가지 다른 규칙
사설 라우팅 액세스에서는 경로가 라우팅되고 변환되는 방식에 따라 인스턴스가 클라이언트 풀 또는 기업 범위를 받습니다. 기업 이그레스를 통해 도달하는 공용 엔드포인트에서는 인스턴스가 대신 기업 NAT 주소를 보며, 그 대상이 실제로 VPN 경로를 사용할 때만 그렇습니다. 분할 터널링은 이를 가정 연결에 남겨둘 수 있기 때문입니다. 관리형 Client VPN 엔드포인트에서는 문서화된 연결 및 대상 네트워크 모델이 적용되며, 클라이언트 주소는 구성된 클라이언트 CIDR에서 나옵니다.
작동하지 않는 것은 VPN 게이트웨이를 보안 그룹의 출처로 참조하는 것입니다. 그룹 참조는 VPC 또는 피어링된 네트워크 내부의 탄력적 네트워크 인터페이스와 일치하며, 패킷을 전달하는 게이트웨이는 그중 하나가 아닙니다.
연결된 모든 그룹에 걸친 합집합을 읽으세요
인스턴스를 열고 네트워크 인터페이스를 찾은 다음 연결된 모든 보안 그룹을 나열하세요. 각 그룹에 대해 프로토콜과 포트를 포함하는 모든 규칙을 확인하세요. 넓은 포트 범위와 두 주소 패밀리도 포함합니다. 0.0.0.0/0의 IPv4 규칙이 ::/0 확인을 면제해 주지는 않으며, 모든 트래픽을 허용하는 규칙은 포트 문제를 완전히 가립니다. 이 목록을 만든 뒤에야 서비스의 실효 권한이 무엇인지 말할 수 있습니다.
AWS 규칙 참조는 보안 그룹을 허용 전용으로 설명하고 연결된 모든 그룹의 규칙이 집계된다고 명시하며, 이것이 이 실패 뒤에 있는 전체 메커니즘입니다.
네트워크 ACL은 순서가 있는 허용 및 거부 항목을 가진 별도의 상태 비저장 정책이며, 인스턴스가 아니라 서브넷에서 평가됩니다.
거부의 벽으로 답하지 마세요
익숙한 방화벽을 흉내 내기 위해 서브넷 전체 NACL 거부를 추가하는 것은 잘못된 도구이며 위험합니다. NACL 항목은 순서가 있고 상태 비저장이므로 기존 허용 위에 놓인 거부는 유지하려던 세션의 반환 경로를 포함해 무관한 트래픽을 조용히 깨뜨립니다. 광범위한 보안 그룹 허용을 그것을 소유한 그룹에서 고치고, ACL이 정말 설계의 일부가 아니라면 그대로 두세요.
인스턴스에서 공용 주소를 제거하는 것은 더 강한 보장이며, 관리 및 애플리케이션 영향이 있는 아키텍처 변경이지 허용 목록의 체크박스가 아닙니다.
새 세션으로 테스트하고 들어갈 방법을 남겨 두세요
기존 허용을 폐기하기 전에 승인된 독립적 관리 경로를 확인하세요. 삭제하려는 규칙이 세션 복구가 의존하는 규칙일 수 있기 때문입니다. 그런 다음 VPN에서 새로 허용된 연결과 승인된 비VPN 테스트 경로에서 새로 거부된 연결을 테스트하세요. 기존 추적 세션은 규칙 변경을 견디므로 오래된 열린 셸은 승인 증거로 쓸모가 없습니다.
마지막으로 애플리케이션 자체의 권한 부여를 그대로 유지하세요. 변환된 기업 이그레스는 수백 명을 대표할 수 있으며, 네트워크 입장은 개별 사용자나 그 장치를 식별한 적이 없습니다.