최근 EC2 인스턴스의 방화벽 문제가 발생했습니다. TCP 포트는 EC2 보안 그룹을 통해 모든 사람이 사용할 수있게되었지만 iptables를 사용하는 인스턴스 측 필터링이 여전히있었습니다. 보안 그룹이 IPTables에 대한 멋진 API인지 알아 냈습니다. 내가 말할 수있는 것에서 완전히 독점적으로 실행되고있는 것으로 나타났습니다. 둘 다 사용할 이유가 있습니까? 하나의 방화벽만으로도 충분하고 또 다른 복잡성 계층을 추가하면 문제가 발생하기를 기다리는 것 같습니다.
그 동안 보안 그룹의 모든 포트를 열고 iptables를 통한 모든 필터링을 수행하거나 iptables를 비활성화하고 보안 그룹 필터링을 사용하는 것을 고려하고 있습니다.
여기 내 논리에 결함이 있는지 여부에 대한 의견이 있으십니까? 중요한 것을 놓치고 있습니까?
답변
보안 그룹은 서버에로드를 추가하지 않습니다. 외부에서 처리되며 서버와 상관없이 서버와의 트래픽을 차단합니다. 이를 통해 서버에 상주하는 것보다 훨씬 뛰어난 복원력을 제공합니다.
그러나 보안 그룹은 상태에 민감하지 않으므로 공격에 자동으로 대응할 수 없습니다. IPTable은 특정 시나리오에 적응하거나보다 세밀한 조건부 제어를 제공하는보다 동적 인 규칙에 적합합니다.
이상적으로는 서로 보완하기 위해 보안 그룹에서 가능한 모든 포트를 차단하고 IPTables를 사용하여 나머지 포트를 감시하고 공격으로부터 보호해야합니다.
답변
일반적인 네트워킹 시나리오에서 보안 그룹을 하드웨어 방화벽처럼 생각하십시오. 예를 들어, 특별한 시나리오가 없다면 웹 서버에 대한 액세스를 제어하는 웹 서버라는 보안 그룹이 있습니다. 해당 서버 중 하나 에서 포트 80에 도달하지 못하도록 IP를 차단하려고 하지만 전부는 아닙니다. 그래서 당신이하고 싶은 것은 그 보안 그룹의 모든 서버에 적용되는 보안 그룹 에서와는 대조적으로 한 서버의 iptables로 가서 블록을 수행하는 것입니다 …
답변
둘 다 합리적으로 설정하기 쉽고 둘 다 설정하면 악용 또는 결함 중 하나에서 보호 할 수 있습니다.