|
ファイアウォール構築 (iptables)
サーバー上で iptables を使用してファイアウォールを構築する手順について説明します。 設定iptables の設定は iptables コマンドで行っていきます。iptables コマンドは実行するとシステムに即反映されるため、 iptables コマンドでの設定方法によってはコンソールから直接実行すると、途中で入力を受け付けなくなり制御できなくなる可能性があります。 そのためここでは一連の iptables コマンドでの設定変更をシェルとして作成し実行させます。 1. /root ディレクトリに iptables 設定用シェルファイルを作成します。# vi /root/iptables.sh #!/bin/bash iptables サービスを停止し、すべてのルールをクリアします service iptables stop iptables -F iptables -X 原則ルールとして入力をすべて破棄します。 iptables -P INPUT DROP 原則ルールとして出力をすべて許可します。 iptables -P OUTPUT ACCEPT 原則ルールとして通過をすべて破棄します。 iptables -P FORWARD DROP 断片化されたパケットはログに記録して破棄します。 iptables -N LOG_FRAGMENT iptables -A LOG_FRAGMENT -j LOG --log-tcp-options --log-ip-options --log-prefix '[IPTABLES FRAGMENT] : ' iptables -A LOG_FRAGMENT -j DROP iptables -A INPUT -f -j LOG_FRAGMENT ループバックインターフェースからのアクセスはすべて許可します。 iptables -A INPUT -i lo -j ACCEPT LAN 環境からのアクセスはすべて許可します。 iptables -A INPUT -s 192.168.11.0/24 -i eth0 -j ACCEPT LAN 環境からのアクセスに対する外部からの応答アクセスを許可します。 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT ブロードキャストおよびマルチキャストパケットを破棄します。 iptables -A INPUT -d 255.255.255.255 -j DROP iptables -A INPUT -d 224.0.0.1 -j DROP メールサーバなどのレスポンス低下防止のため、113 番ポート (IDENT 要求) へのアクセスを拒否します。 iptables -A INPUT -p tcp --dport 113 -j REJECT --reject-with tcp-reset HTTP ポート (TCP:80) へのアクセスを許可します。 iptables -A INPUT -p tcp --dport 80 -j ACCEPT HTTPS ポート (TCP:443) へのアクセスを許可します。 iptables -A INPUT -p tcp --dport 443 -j ACCEPT SMTP ポート (TCP:25) へのアクセスを許可します。 iptables -A INPUT -p tcp --dport 25 -j ACCEPT POP3 ポート (TCP:110) へのアクセスを許可します。 iptables -A INPUT -p tcp --dport 110 -j ACCEPT 設定変更を iptables 設定ファイルへ保存します。 service iptables save iptables サービスを起動します。 service iptables start 2. 作成した iptables 設定用シェルファイルのアクセス権を変更します。 # chmod 700 /root/iptables.sh 3. iptables 設定用シェルファイルを実行します。 # /root/iptables.sh Saving firewall rules to /etc/sysconfig/iptables: [ OK ] Flushing firewall rules: [ OK ] Setting chains to policy ACCEPT: filter [ OK ] Unloading iptables modules: [ OK ] Applying iptables firewall rules: [ OK ] Loading additional iptables modules: ip_conntrack_netbios_n[ OK ] 4. Fedora Core 6 初期設定 で無効化した iptables の自動起動を有効にします。 # chkconfig iptables on |
|