「iptables ステートフルパケットインスペクション」の版間の差分

提供: セキュリティ
移動: 案内検索
(ページの作成:「<!-- vim: filetype=mediawiki --> iptables では、 state モジュールを使用し、ステートフルインスペクションの[[ファイアーウォー...」)
(相違点なし)

2013年9月6日 (金) 00:22時点における版

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

関連項目