iptables
サーバファイヤーウォールの設定を行いましょう。
デフォルトでもサービスは起動しており、SSHなど最低限のサービスのみが許可されています。
iptablesの設定はコマンドでチェインを組んでパケットフィルタリングルールを作成します。
よく利用する方法として設定スクリプトを用意して設定を行います。
ここでは幾つかの設定例を記述しておきます。
# デフォルトのポリシーを拒否にする
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
# セッションを張っているサービスは切らない
iptables -A INPUT -m state --state ESTABLISHE,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHE,RELATED -j ACCEPT
# 特定のアドレスからは接続許可
iptables -A INPUT -s $SOURCE_ADDRESS -j ACCEPT
# 特定の宛先へは疎通許可
iptables -A OUTPUT -d $OUTPUT_ADDRESS -j ACCEPT
# 特定のポートに対する接続許可
iptables -A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT
# 特定のプロトコルに対する接続許可
iptables -A INPUT -p icmp -j ACCEPT
# 条件にマッチしないパケットはログに出力する
iptables -A INPUT -j LOG --log-prefix "INPUT : " --log-level warning
iptables -A OUTPUT -j LOG --log-prefix "OUTPUT : " --log-level info