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

発信ルールとforNEWの違いは何ですか?ファイアウォールNEW,ESTABLISHED,RELATEDを作成し、神秘的な魔法を実行させるだけで十分ですか?NEWそれとも必ず書くべきですかNEW,ESTABLISHED,RELATED

答え1

2番目の設定は機能しません(試してみてください!)。デフォルトポリシーはDROPオンOUTPUTチェーンであるため、TCP 3ウェイハンドシェイクの3番目のパケットは、そのパケットが属していないため、ファイアウォールによってブロックされるため、NEW接続は確立されません。

OUTPUTデフォルトのポリシーがある場合、または後でACCEPT別のOUTPUT許可ESTABLISHEDおよびRELATED宣言されたルールがある場合に機能します。

結論として、それをデフォルトポリシーとして使用したい場合は、DROP最初のルールセットが正しいです。

関連情報