iptables設定用スクリプト
#!/bin/bash # iptablesのチェインの初期化 iptables -F # デフォルトルールの設定 # すべての受信を拒否 # --policyはチェーン内でどのルールにもマッチしなかった場合に適応される iptables --policy INPUT DROP iptables --policy FORWARD DROP # すべての送信を許可 iptables --policy OUTPUT ACCEPT # 自分自身に対するすべてのアクセスを許可(lo = ループバックインターフェース) # --append は指定したチェインにルールを追加する # --in- はパケットを受信するLANインターフェースを(eth0やloなどで)指定する # --out- はパケットを受信するLANインターフェースを(eth0やloなどで)指定する iptables --append INPUT --in- lo --jump ACCEPT # 全ホスト(ブロードキャストアドレス、マルチキャストアドレス)宛パケットはログを記録せずに破棄 # ※不要ログ記録防止 iptables --append INPUT --destination 255.255.255.255 -jump DROP iptables --append INPUT --destination 224.0.0.1 -jump DROP ######################################################################## ######### ----ここから各種サービス(必要なサービスのみ追加)---- ######### # 外部からのTCP22番ポート(SSH)へのアクセスを許可 # --dportはポート番号を指定する(--protocolにtcpとudpのプロトコルを指定した場合に拡張されるオプション) iptables --append INPUT --protocol tcp --dport 22 --jump ACCEPT # 外部からのTCP80番ポート(HTTP)へのアクセスを許可 iptables --append INPUT --protocol tcp --dport 80 --jump ACCEPT # 外部からのTCP443番ポート(HTTPS)へのアクセスを許可 iptables --append INPUT --protocol tcp --dport 443 --jump ACCEPT ######### ----ここまで各種サービス(必要なサービスのみ追加)---- ######### ######################################################################## # セッションを確立した後のパケット疎通(アクセス)は許可 # -mは外部モジュールのロード{書式:-m <module-name>} # --stateオプションにはパケットの接続状態を指定する。つまり下記の場合は接続状態が「ESTABLISHED(確立),RELATED」の時にアクセスを許可する iptables --append INPUT -m state --state ESTABLISHED,RELATED --jump ACCEPT # 設定内容の保存 /etc/rc.d/init.d/iptables save # ファイアウォール起動 /etc/rc.d/init.d/iptables restart