Linuxサーバー上にファイアウォールを構築する。
ここでは、Linuxのパケットフィルタリング機能であるiptablesを使用して、Web等外部に公開するサービス以外のポートへのアクセスをブロックするようにする。
※通常はルーター側にもファイアウォール機能があるため、Linuxサーバー上でファイアウォールを構築後にポートを開放する場合は、ルーター側とLinuxサーバー側の2箇所でポート開放を行う必要があることに注意
(1)iptables設定
[root @ホスト名 ~]# vi iptables.sh ← ファイアウォール設定スクリプト作成
上の4枚の画像は上から順につながっていてこの4枚でviでの1つの記述です。もし記述がされていなければ記述しましょう。
(2)IPアドレスリスト更新チェック
IPアドレスリストは頻繁に更新されるので、毎日自動でIPアドレスリストの更新有無をチェックし、更新がある場合はファイアウォール設定スクリプトを再起動するようにする。
[root @ホスト名 ~]# vi /etc/cron.daily/iplist_check.sh
↑ IPアドレスリストチェックスクリプト作成
上の画像のような記述が書かれていなければ書きましょう。
[root @ホスト名 ~]# chmod +x /etc/cron.daily/iplist_check.sh
↑ IPアドレスチェックスクリプトに実行権限付加
※CRONより/root/iptables.sh not executed.という内容のメールが届いた場合の対処
なんらかの理由で、http://nami.jp/ipv4bycc/から取得した最新のIPアドレスリストと、前回取得したIPアドレスリストとの差分が100件を超えたため、iptables設定スクリプトを実行しなかったことを示す。
サーバーを長時間停止していた等、前回取得したIPアドレスリストとの差分が100件を超える理由が明確な場合には、「/etc/cron.daily/iplist_check.sh 0」と実行することにより強制的にiptables設定スクリプトを実行する。
(3)iptables起動
[root @ホスト名 ~]# sh iptables.sh ← ファイアウォール設定スクリプト実行
[root @ホスト名 ~]# chkconfig iptables on ← iptables自動起動設定※CentOS6,5の場合