iptablesを使って80番ポート以外からのINPUTをDROPする方法@CentOS

以下の環境で動いているCentOS上で起動しているウェブサーバにアクセスしようとしたとき、アクセスできなかったのでメモ。問題はiptablesによるファイアーウォールのようでした(まだよくわかっていない)。

環境

流れ

まずはiptablesファイルのバックアップを取っておく。

# cp /etc/sysconfig/iptables iptables.backup

おもむろにiptablesの中を見てみる。

# iptables -L
(いろいろ出てくる)

既にいろいろ設定されているけど、これらの設定を残しておくとどうもうまくいかない。なので思い切って設定を全て消してしまいました(^o^)

(このコマンドで設定を全て消す)
# iptables -F

次にINPUTチェーンとFORWARDチェーンへのパケットをDROPする。

# iptables -P INPUT DROP
# iptables -P FORWARD DROP
# iptables -P OUTPUT ACCEPT

OUTPUTチェーンについてはACCEPTでも良いみたい。
そしてINPUTチェーンに80番ポートからのパケットの受け入れを許可するようにする。

# iptables -A INPUT -p tcp  -m tcp --dport 80 -j ACCEPT

これでINPUTチェーンは80番ポートからのパケット受信のみを許可するようになる。必要に応じてSSHからの通信を許可したりする。
最後にiptablesへの変更を保存、iptablesの再起動をする。

# service iptables save
# service iptables restart

おしまい。
iptablesは奥が深いらしいので、そのうち勉強する。