iptables
Linux システムでのファイアウォールの設定を行う 設定した情報を全部見る
code:sh
/sbin/iptables -L -n -v
ルール番号を表示する
後でルールの差し込みや特定ルールの削除を行うときに必要になる
code:sh
/sbin/iptables -L -n -v --line-numbers
指定のチェインを確認する
code:sh
/sbin/iptables -L <CHAIN_NAME> -n -v --line-numbers
指定のチェインのカウンタを0にする
code:sh
/sbin/iptables -Z <CHAIN_NAME>
指定のチェインにルールを追加する
port80に対するTCP接続をstringモジュールで指定の文字列が含まれるものはDROP
code:sh
/sbin/iptables -I <CHAIN_NAME> <追加する行番号> -p tcp -m string --string 'Host: www.example.com' --algo bm --dport 80 --to 512 -j DROP
指定のチェインを空にする
code:sh
/sbin/iptables -F <CHAIN_NAME>
指定のチェインの 1番めのルールを削除する
ルールの番号は --line-numbers などで確認する。
code:sh
/sbin/iptables -D <CHAIN_NAME> 1
指定のチェインにルールを追加する
例: port 20873 を eth0 に限って開放する
code:sh
/sbin/iptables -A <CHAIN_NAME> -i eth0 -m state --state NEW -m tcp -p tcp --dport 20873 -j ACCEPT
指定のチェインにルールを追加する
例: port 20873 へのアクセスを指定のIPからに限定して eth0 に限って開放する
code:sh
/sbin/iptables -A <CHAIN_NAME> -i eth0 -s <IP_ADDR> -m state --state NEW -m tcp -p tcp --dport 20873 -j ACCEPT
パケットに含まれる文字列でルールを設定する
例: stringモジュールを使用してポート80あてのパケットで先頭128バイトまでに xmlrpc が含まれるパケットはREJECT
code:sh
/sbin/iptables -I <CHAIN_NAME> -p tcp -m string --string "xmlrpc.php" --algo bm --dport 80 --to 128 -j REJECT
/icons/hr.icon
iptables-save
今設定されているファイアウォールルールをダンプする
code:sh
/sbin/iptables-save > ./out
iptables-restore
指定のファイルからファイアウォールルールを復元する
code:sh
/sbin/iptables-restore < ./out
関連情報