とあるさくらのVPS (4) iptablesを設定
Posted: Updated:
すっかり忘れておったのですが
iptablsによる、プチ(?)ファイアーウォール的な設定を行います。セキュリティも自分の責任、ってのは意識が高まってよろしい。
今回も自分メモ的に、さくらのVPSをセットアップしたときの情報を載せて参ります。今回はiptablesの最低限の設定のみ。
iptablesを設定
調べていたら、いきなりドンピシャな情報を見つけてしまったので、ひとまず「さくらのVPS を使いはじめる 3 – iptables を設定する | アカベコマイリ」を参考にさせて頂いて設定。
% sudo emacs /etc/sysconfig/iptables
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# SSH, HTTP, FTP1, FTP2, MySQL
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport XXXXX -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
上のは参考元から引用させていただいてます。単語から流れは推測できるんですが、順次で記法も学習しないとです。SSH, HTTP, FTP, MySQL用のポートを開けておく、と。XXXXXは、自分が設定したSSH用のポートが設定されています。
そしてサービスを再起動して終わり。
% sudo /etc/rc.d/init.d/iptables restart
余談ですがphp.iniと文字コード
文字コードに起因する脆弱性を防ぐ「やや安全な」php.ini設定 - 徳丸浩の日記
文字コードがらみのセキュリティということで。普段業務で、PHPを利用したWebシステムを構築しているので、深い理解を得るため&今回のVPSの環境改善のために参考にさせていただきました。文字コードはアカデミックな匂いがツライなー。