ある日、私はiptables
デスクトップを強化するためのルールを探してこの記事を見つけました[1]。ある時点で、ガイドでは、無効なTCPパケットをブロックするためにtcpモジュールとこれらの規則を使用することについて説明します。
iptables -A INPUT -p tcp -m tcp --tcp-flags ALL FIN,PSH,URG -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
iptables -A INPUT -p tcp -m conntrack --ctstate NEW -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -j DROP
上記のコマンドでEnterキーを押すと、ルールが正常に適用されました。次に、tcp
各コマンドの一部をudp
たとえば3番目のコマンドを実行した場合に置き換えようとします。
iptables -A INPUT -p udp -m conntrack --ctstate NEW -m udp ! --udp-flags FIN,SYN,RST,ACK SYN -j DROP
これにより、これらのルールが UDP パケットに対して無効であるというエラーが返されます。 Debianオペレーティングシステム、カーネルバージョン4.9.xを使用しています。
私がオンラインで読んだ記事
答え1
TCPはステートフルプロトコルで、UDPはステートレスプロトコルであるため使用できませんctstate
。
特定のポートでUDPトラフィックを許可または許可しません。
--udp-flags FIN,SYN,RST,ACK SYN
それも純粋にうるさいだけだ。
つまり、iptables設定を急ぐ前にTCP / IPとUDPに慣れてください。