[PR]

[PR]

概要

サーバーを公開すると、とたんに世界中から自分のサーバーにアクセス可能になってしまいます。これは、世界中に情報を発信できて便利な反面、世界中からの不正アクセスの雨にさらされる事にもなります。無用なトラブルを避ける為にも、アクセス規制は有効でしょう。 ここでは、サーバーへのアクセスが特に多いとされる大陸(中国、韓国、北朝鮮)からのアクセスをiptablesを使ってシャットアウトする方法をまとめます。

設定方法

具体的な設定方法は、よくまとめられているページを参考サイト欄で紹介しましたので、そちらを見つつ設定を詳しく見ていきたいと思います。 参考[1]のサイトはiptablesについてのmanページです。(Linuxでman iptablesとしたときの説明そのもの) 参考[2]と[3]はどちらも海外からの接続を遮断する内容が含まれているのですが、それぞれ長所と短所があります。

 長所短所
参考[2]サービス毎の細かい設定の記述があるファイルが複数に別れていてやや複雑
参考[3]シンプル。サービス毎の細かい設定が少ない

参考[3]の設定方法が必要かつ十分なので、ここでは参考[3]のページを解説していきます。

参考[3]の解説

参考[3]では、iptablesを自動で設定するスクリプトファイルfilter_table.shを作成しています。 filter_table.shの内容を順番に見ていきます。

IPTABLES="/sbin/iptables"
WGET="/usr/bin/wget"
RM="/bin/rm"

ここでコマンドのパスを設定しています。 スクリプトファイルはrootで動かすと思うので、RMのところは以下のようにした方がよいでしょう。

RM="/bin/rm -f" <=-fを追加する。

国別IPアドレスの取得では、wgetコマンドにより、国別IPアドレスのファイルをダウンロードします。ここで-qオプションを外すとダウンロードの進捗を確認できます。このスクリプトは時間は終了まで時間がかかるため、進行度合いを確認するためには有効な手段だと思います。

$WGET http://ftp.apnic.net/stats/apnic/delegated-apnic-latest # APNIC <=-qを削除
$WGET ftp://ftp.arin.net/pub/stats/arin/delegated-arin-latest # ARIN

次に、既存の設定をクリアするスクリプトに入ります。クリア直後にスクリプトが停止した場合、サーバーに接続できなくなってしまうので、練習時は行頭に#を入れておくとよいです。

#$IPTABLES -F <=練習時は行頭に#を入れる。
#$IPTABLES -X
#$IPTABLES -Z

少しすすんで、国別に拒否リストへ追加するパートです。ここでは、拒否リストに追加したくない国/地域は#でコメントアウトしておきます。

# 中国
#DROP_COUNTRY delegated-apnic-latest apnic CN <=中国は拒否しない
#DROP_COUNTRY delegated-arin-latest arin CN  <=  ”
# 韓国
DROP_COUNTRY delegated-apnic-latest apnic KR
DROP_COUNTRY delegated-arin-latest arin KR
# 北朝鮮
DROP_COUNTRY delegated-apnic-latest apnic KP
DROP_COUNTRY delegated-arin-latest arin KP
# 台湾
#DROP_COUNTRY delegated-apnic-latest apnic TW <=台湾は拒否しない
#DROP_COUNTRY delegated-arin-latest arin TW   <=  ”

これ以降は、各サービス毎に許可か拒否かを選択する項目が続きます。 スクリプトの実行方法や設定の保存方法はサイトに書かれている通りですが、以下の順番にコマンドを入力すると、適用&再起動後も有効になります。

chmod u+x filter_table.sh <=実行権限付加
./filter_table.sh <=フィルタ設定
/etc/init.d/iptables save <=フィルタ設定保存
/sbin/chkconfig iptables on <=再起動後も自動起動

フィルタ設定を元に戻す場合

/etc/init.d/iptables stop <=フィルタを停止(デフォルト設定に戻る)
/etc/init.d/iptables save <=デフォルト設定状態として保存

参考サイト

  1. Manage of IPTABLES Herve Eychenne著
  2. ファイアウォール構築(iptables) - CentOSで自宅サーバー構築 fallenangels著
  3. 「iptables」によるパケットフィルタリング Crimson Snow著

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-10-10 (月) 10:28:43 (4590d)