iptables
パケットフィルタリングツール
Security
リセット
code:shell
# iptables -F
# iptables -Z
# iptables -X
デフォルトルールの設定
許可
code:shell
# iptables -P OUTPUT ACCEPT
ドロップ
code:shell
# iptables -P INPUT DROP
# iptables -P FORWARD DROP
ループバックアドレス(lo) に関してはすべて許可
code:shell
# iptables -A INPUT -i lo -j ACCEPT
# iptables -A OUTPUT -o lo -j ACCEPT
NEW ステートでありながら SYN フラグの立っていないパケットを破棄
code:shell
# iptables -A INPUT -i eth0 -p tcp ! --syn -m state --state NEW -j DROP
フラグメント化されたパケットを破棄
code:shell
# iptables -A INPUT -i eth0 -f -j DROP
# iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
# iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL ALL -j DROP
TCP NULL ポートスキャン対策
code:shell
# iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL NONE -j DROP
# iptables -A INPUT -i eth0 -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
TCP Xmas ポートスキャン対策
code:shell
# iptables -A INPUT -i eth0 -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
TCP FIN ポートスキャン対策
code:shell
# iptables -A INPUT -i eth0 -p tcp --tcp-flags FIN,ACK FIN -j DROP
# iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
ブロードキャストパケットを破棄
code:shell
# iptables -A INPUT -i eth0 -m pkttype --pkt-type broadcast -j DROP
マルチキャストパケットを破棄
code:shell
# iptables -A INPUT -i eth0 -m pkttype --pkt-type multicast -j DROP
無効なヘッダがある TCP パケットを破棄
code:shell
# iptables -A INPUT -i eth0 -m state --state INVALID -j DROP
HTTP へのアクセスを許可
code:shell
# iptables -A INPUT -i eth0 -p tcp -s 0/0 --sport 1024:65535 --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
ルータ外パケットの破棄とロギング
code:shell
# iptables -A INPUT -m limit --limit 5/m --limit-burst 7 -j LOG --log-prefix " DEFAULT DROP "
# iptables -A INPUT -j DROP
IP アドレスあたり 60 秒以内に 15 コネクション以上の接続を試みようとすると確立を阻止する
code:shell
# iptables -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set
# iptables -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 15 -j DROP
Keep-Alive が有効だと、一度確立したコネクションを使いまわすため、上記の制限には引っかからない
接続制限をすることが出来ない
Smurf 攻撃対策
code:shell
# iptables -A INPUT -d 0.0.0.0/8 -j DROP
# iptables -A INPUT -d 255.255.255.255 -j DROP
save
リストア