サーバにファイアウォールを設定します。内容はさくらのサポート情報を参考に、というかほぼそのまま書いてます。
まずは攻撃対策のルールを記述します。
# iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP # iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP # iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
localhostとpingを許可します。
# iptables -A INPUT -i lo -j ACCEPT # iptables -A INPUT -p icmp -j ACCEPT
必要なポートを開放します。ポート番号はそれぞれhttp(80)、https(443)、pop3(110)、smtp(25)、submission(587)、ssh(22)です。
# iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT # iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT # iptables -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT # iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT # iptables -A INPUT -p tcp -m tcp --dport 587 -j ACCEPT # iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
許可済みのパケットのみ通します。
# iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # iptables -P INPUT DROP # iptables -P OUTPUT ACCEPT
記述したルールをファイルに保存します。再起動はしなくても反映されるっぽい?
# service iptables save 一応再起動 # service iptables restart
ちなみにルールを修正したい場合は以下のファイルを直接いじります。最初からここに記述していっても良いんだろうけど。
# vi /etc/sysconfig/iptables
設定の確認はこちら。
# iptables -L
さくらのVPSお試し期間中は、ここの設定に関係なくメール送れないけどね。
別サーバでの話だけど、imap許可してたら物凄い勢いでアクセスされてサーバ会社から警告が来て驚いた思い出。即閉じた。