セキュリティの甘い中国と韓国のサーバはSPAMの踏み台になっています。今回はこの両国からのアクセスを遮断することにします。
こちらからのアクセスには問題がありません。
参考にしたのはT.Tsujikawaさんのサイトのこのページです。
またLinuxサーバはFedora Core5(FC5)を使用しています。
Windowsのクライアントで作業をします。
まず一網打尽というMr.Ohtaさんの作ったソフトをVectorのここからDownloadします。 ZIPファイルになっていますので、解凍して適当な場所においてください。
次に、APNICのinfo&FAQ->referenceとたどっていくと「IP addresses and AS numbers」の項目があります。
その下に「RIR allocation and assignment reports」という項目があるので、それをクリックしてください。
Index of /statsのページが表示され、そこに「apnic」の項目があるので、クリックしてそのページを開いてください。
下の方に
「delegated-apnic-latest」というascやmd5の拡張子がつかないファイルがあるので、テキストファイルとして保存してください。
ここのたどり方は一網打尽のヘルプファイルにも書かれています。
一網打尽(Ipv4.exe)を起動します。
APNICからダウンロードしたファイルを読み込みます。
ccTLDの項目をクリックし、並び替えをします。
「ファイル」->「名前をつけて保存」を選択する。
ファイル名を入れます。
![]()
次に「国」・地域別にファイルを分割するにチェックを入れます。
保存をクリックするとファイル名+国コード(KR,CN等)のファイルができます。
できたファイルの中で使うのは192.60.48.0/24などとなっているCIDRの項目だけです。
デフォルトで保存するとタブ区切りで保存されます。
EXCELを起動し、保存したテキストファイルを読み込みます。
使うのは192.60.48.0/24などとなっているCIDRの項目だけです。
CIDR以外の項目は削除してください。
CIDRの項目の前に列を挿入し「/sbin/iptables -A DRPFILTER -s」後ろに「-j DRPFILTERED」を追加します。
EXCELだったら後はそれぞれの行にコピー&ペーストをするだけですから簡単ですね。
完成したら、「名前をつけて保存」で「テキスト(タブ区切り)(*.txt)」で保存します。
(今回はファイル名KRCN.txtで保存しました。)
ファイルをエディタで開いて下のようなファイルで保存されているか確認してください。
例:KRCN.txtの一部
/sbin/iptables -A DRPFILTER -s 58.100.0.0/15 -j DRPFILTERED
/sbin/iptables -A DRPFILTER -s 58.102.0.0/15 -j DRPFILTERED
/sbin/iptables -A DRPFILTER -s 58.116.0.0/14 -j DRPFILTERED
/sbin/iptables -A DRPFILTER -s 58.120.0.0/13 -j DRPFILTERED
/sbin/iptables -A DRPFILTER -s 58.128.0.0/13 -j DRPFILTERED
/sbin/iptables -A DRPFILTER -s 58.140.0.0/14 -j DRPFILTERED
次にIPTABLEのルールを書いたファイルを作ります。
ここではファイル名を「ip_drop.sh」としました。
/sbin/iptables -N DRPFILTER
/sbin/iptables -N DRPFILTERED
sh /etc/rc.d/KRCN.txt
/sbin/iptables -A DRPFILTER -j ACCEPT
/sbin/iptables -A DRPFILTERED -j LOG --log-prefix "Rej-TCP "
/sbin/iptables -A DRPFILTERED -j DROP
/sbin/iptables -A INPUT -p tcp -m state --state NEW -j DRPFILTER
以上「KRCN.txt」「ip_drop.sh」の二つのファイルをLinuxサーバの/etc/rc.d/にアップしてください。
ここからはLinuxサーバでの処理です。
「KRCN.txt」「ip_drop.sh」の二つのファイル所有者はroot:rootです。「ip_drop.sh」のコマンドを一行づつ打ち込んで、エラーがないか確認してください。
「iptabels -L」 でKRCN.txtのIPアドレスがDRPFILTEREDで表示されるか確認してください。
また、「dmesg」コマンドで実際にREJECTされたIPアドレスを確認できます。
dmesgの例(*には数値が入ります。)
Rej-TCP IN=eth0 OUT= MAC=**:**:**:**:**:**:**:**:**:**:**:**:**:** SRC=220.124.39.94 DST=192.168.**.** LEN=48 TOS=0x00 PREC=0x00 TTL=110 ID=17184 DF PROTO=TCP SPT=2801 DPT=80 WINDOW=65535 RES=0x00 SYN URGP=0
LOGが必要ない場合は
/sbin/iptables -A DRPFILTERED -j LOG --log-prefix "Rej-TCP "
を削除するかコメントにしてください。
/etc/rc.d/rc.localの最後に下記の一行を加えて起動時に実行するようにします。
/etc/rc.d/ip_drop.sh
注意:韓国・中国からのアクセスを全て遮断するのでメールも受信できなくなります。
2chからリンクが貼られているようで、最近アクセスが増えています。
ここ「ひるねこ日記第1版」のほうはコメントもできないよう放置してありますのでご注意ください。
なお、Linuxサーバ用にAPNICのIPアドレス変更を自動的に反映する方法を下記の場所においてあります。
Firewall BuilderをFedora Core5(FC5)にインストール
ここの中段あたりの「スクリプトの修正」に手順をかいてありますので参考にしてください。
また、ファイアーウォールに上記スクリプトを組み込んだ例を下記アドレスにあげてあります。
