ファイアーウォールを設定
篠原 隆司
アフィリエイト広告を利用しています
このページの内容が役に立ったら X (旧twitter) でフォローして頂けると励みになります
挨拶や報告は無しで大丈夫です
ファイアーウォールを設定して、外部からのアクセスを制限します。
ファイアーウォールを設定するにあたって、下記のサイト様を参考にされると良いです。
ここでは、読み進めていくにあたっていくつかポイントを書くに留めます。
※ SSHのポートを変更している場合は、22番ポートでないことを忘れないようにします。
iptablesのインストールを確認
インストールされていれば、下記のようにistalledが返ります。
# yum list installed | grep iptables
iptables.x86_64 1.3.5-5.3.el5_4.1 installed
iptables-ipv6.x86_64 1.3.5-5.3.el5_4.1 installed
iptablesをインストール
インストールされていない場合はインストールします。
# yum install iptables
iptablesの設定状況を確認
初期状態では、下記のように何も設定されていないかと思います。
# /sbin/iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
iptablesの設定
/etc/sysconfig/iptables を編集(存在しなければ新規作成)して、ファイアーウォールの状態を細かく設定します。
詳細な設定につきましては、上記でご紹介したサイト様に委ねることにします。
iptablesの自動起動設定
$ su
# /sbin/chkconfig --list iptables
# /sbin/chkconfig iptables on
# /sbin/chkconfig --list iptables
iptablesを起動する
$ su
# /etc/init.d/iptables start
以下、自分メモ
ここからは、私が普段行う手順の覚書になります。
最初の最初の準備
iptables でファイアーウォール構築 「自宅サーバー Fedora」で、配布されている「firewall.sh」と「abroad_filter.cron」をダウンロード。
両ファイルを、あらかじめ編集します。
私の場合、目的別にいくつか用意し、サーバに設置するwebサービスに応じてファイルを選ぶようにしています。
設定別ファイルの置き場所(※自分用メモ)
F:wwwfirewall 以下に次のように保管
- F:wwwfirewallfullabroad_filter.cron
- F:wwwfirewallfullfirewall.sh
- F:wwwfirewallfullreadme.txt
上記3ファイルを1セットとして、目的別にフォルダ分けしています。readme.txtには、覚書として設定内容のメモを残します。
サーバごとのiptableの設置手順
サーバにて運用するwebサービスの目的に応じて、保管している設定ファイルをデスクトップなどにコピーし、編集をします。
firewall.shの SSHのポート番号に気をつけ、その他は運営するwebサービスの目的次第で調節します。
firewall.shの末尾に下記を加えると、設定を保存し、再起動まで行えます。
/etc/init.d/iptables save
/etc/init.d/iptables restart
サーバ側のファイルの置き場所
設定ファイルの準備ができたら、サーバにアップします。
- /root/firewall/firewall.sh
- /root/firewall/abroad_filter.cron
ファイルの所有者と、パーミッションを変更
$ su
# chown -R root:root /root/firewall/
# chmod -R 700 ./firewall
abroad_filter.cron を実行し、 iptablesの設定を更新します。(時間が掛かります)
※ abroad_filter.cron の中で、firewall.sh が呼ばれます。
※ abroad_filter.cron の中で、iptables の再起動コマンドが実行されます。
$ su
# /root/firewall/abroad_filter.cron
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
※ save やrestart を行うかによって返るメッセージが変わりますが、[ OK ] ならば OKです。
CRONを設定して、定期的に更新するようにします。
次の例では、 毎週日曜午前3時0分に実行します。
$ su
# crontab -e
0 3 * * 0 /root/firewall/abroad_filter.cron
Linux起動時に自動実行するようにする。
$ su
# /sbin/chkconfig --list iptables
# /sbin/chkconfig iptables on
# /sbin/chkconfig --list iptables
SSH接続を終了し、再度アクセス
ファイアーウォールの設定ができたところで、一旦SSHの接続をログアウトし、接続しなおします。
いつものようにログインできることを確認します。