iptables ステートフルパケットインスペクション
提供: セキュリティ
2013年9月6日 (金) 00:22時点におけるDaemon (トーク | 投稿記録)による版 (ページの作成:「<!-- vim: filetype=mediawiki --> iptables では、 state モジュールを使用し、ステートフルインスペクションの[[ファイアーウォー...」)
スポンサーリンク
iptables では、 state モジュールを使用し、ステートフルインスペクションのファイアーウォールを実現できます。
読み方
- iptables ステートフルパケットインスペクション
概要
接続の状態については、 iptables 接続状態を参照してください。
使い方
*filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT DROP [0:0] -A OUTPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p tcp -m state --syn --state NEW --dport ssh -j ACCEPT COMMIT
NEW ステートのときに SYN ビットがセットされていないパケット
ステートが NEW であるのに、 SYN ビットがたっていない(SYNパケットではない)パケットは、不要なパケットです。
ログに出力し、 DROP する例です。
-A INPUT -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "NEW not syn: " -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
NEW ステートで SYN/ACK ビットがセットされたパケット
TCPシーケンス番号予測攻撃 が使われることがあります。
-A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK \ -m state --state NEW -j REJECT --reject-with tcp-reset
関連項目
ツイート
スポンサーリンク