IPtables - 신규 및 신규, 설립, 관련

IPtables - 신규 및 신규, 설립, 관련

예를 들어 방화벽을 통해 나가는 HTTP[S] 트래픽만 허용한다고 가정해 보겠습니다. 실제 시나리오에서는 나가는 DNS 트래픽도 허용해야 한다는 것을 알고 있지만 이는 단지 예일 뿐입니다. 나는 다음과 같이 iptable 규칙을 작성합니다:

:INPUT DROP
:FORWARD DROP
:OUTPUT DROP

-A INPUT -p tcp -m multiport --sports 80,443 -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -p tcp -m multiport --dports 80,443 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

맞습니까? 누군가가 다음과 같이 동일한 방화벽 규칙을 작성하는 것을 본 적이 있기 때문에 궁금합니다.

:INPUT DROP
:FORWARD DROP
:OUTPUT DROP

-A INPUT -p tcp -m multiport --sports 80,443 -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -p tcp -m multiport --dports 80,443 -m state --state NEW -j ACCEPT

나가는 규칙 과 for NEW의 차이점은 무엇인가요 ? 방화벽을 NEW,ESTABLISHED,RELATED작성하고 신비한 마법을 수행하게 하는 것만으로도 충분합니까? NEW아니면 꼭 써야 하나요 NEW,ESTABLISHED,RELATED?

답변1

두 번째 구성은 작동하지 않습니다(시도해보세요!). 기본 정책은 DROPOUTPUT체인이므로 TCP 3방향 핸드셰이크의 세 번째 패킷은 해당 패킷이 속하지 않기 때문에 방화벽에 의해 차단되므로 NEW연결이 설정되지 않습니다.

OUTPUT기본 정책이 이거나 나중에 ACCEPT다른 OUTPUT허용 ESTABLISHEDRELATED선언된 규칙이 있는 경우 작동합니다.

결론적으로, 이를 기본 정책으로 사용하려는 경우 DROP첫 번째 규칙 세트가 정확합니다 .

관련 정보