中国・韓国のIPアドレスをパケットフィルタリングで拒否する

初めに

RIRが公開している中国・韓国に割り当てられたIPアドレスをパケットフィルタリングし、サーバーがこれらと送受信しないようにします。

配布ファイルは7zで圧縮しています。

ダウンロード

2013年5月6日更新

iptables用

ip6tables用

.htaccessファイル

JP版
日本に割り当てられたIPアドレスのみ許可します。逆に言えば、日本以外は全て拒否します。
CNKR版
中国(香港・マカオを含む)・韓国(北朝鮮を含む)に割り当てられたIPアドレスを拒否します。

使い方

iptables用

iptablesを使うシェルスクリプトになっていますが、単独では役に立ちません。シェルスクリプトを実行する前に、自身の環境に合わせてファイアウォールを構築する必要があります。

iptablesについては『習うより慣れろ! iptablesテンプレート集 改訂版』が分かり易いので、そちらを参考にしてください。この改訂版ですが、現在は記事一覧から削除されている上に、一部のテンプレートがリンク切れにされています(テンプレート12テンプレート13はこちらで見られます)。旧版には無いDDoS対策が日本で広まって欲しくない何者かの意図が、働いているのでしょうか。

JP版を使う時は

/sbin/iptables -N JP

CNKR版を使う時は

/sbin/iptables -N CNKR

と入力して、ユーザー定義チェインを作成します。

次に、SSHなら

/sbin/iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -m hashlimit --hashlimit-name t_sshd --hashlimit 2/h --hashlimit-burst 3 --hashlimit-mode srcip --hashlimit-htable-expire 3600000 -j JP

の様に、作成したユーザー定義チェインをターゲットとするルールを記述していきます。

後は、JP版かCNKR版のシェルスクリプトを実行するだけです。

ip6tables用

ip6tablesは、iptablesのIPv6版です。使い方は基本的にiptablesと同じですが、icmpはicmpv6になります。詳しくはip6tablesのmanページを御覧ください。

.htaccessファイル

.htaccessファイルをWebサーバーにアップロードしてください。アップロード後に『.htaccess』へファイル名を変更すれば完了です。先頭を.(ピリオド)にする事を忘れないでください。

inserted by FC2 system