サーバー管理の現場において今まで役に立ったことをまとめた小ネタ集です。お役に立てれば幸いです。なお、不完全な情報や時代遅れになってしまった情報もあるかもしれませんが何卒ご了承ください。

Linux : IPTABLESの例

作業例

IPTABLESの設定例です。
CentOS6の例
設定をすべて消去
iptables -F

データの無い接続を破棄
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

SYNflood攻撃を破棄
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

ステルススキャンを破棄
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP

localhostからの通信を許可
iptables -A INPUT -i lo -j ACCEPT

pingを許可
iptables -A INPUT -p icmp -j ACCEPT

22番ポートを許可
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

80番ポートを許可
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
他、443(https),20(ftp),21(ftp),110(pop3),587(submission),等

確立済みの通信を許可
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

許可した通信以外の受信を拒否
iptables -P INPUT DROP

サーバーからの送信を許可
iptables -P OUTPUT ACCEPT

設定を保存
service iptables save

FTPをパッシブモードで使う場合は
/etc/sysconfig/iptables-config に
IPTABLES_MODULES="ip_conntrack_ftp ip_nat_ftp"
を記述する

サービス再起動
service iptables restart