特定の国からのアクセスを弾く
Linuxシステム関連 • 自宅サーバ管理日記 2010/02/23 (火) -
だいぶ前のメモの「韓国 IP アドレスからのパケットを遮断する」からフィルタリストが取得できなくなっていたので、自分で作ってみた(;´ω`)
APNICのIPアドレス割り当てリストを元に、特定の国のIPだけを抜き出してリスト化しました。
おことわり
上記の通り、自家製スクリプトでAPNICのIPアドレス割り当てリストから機械的に特定の国コードのIPだけを抜き出してリストアップしただけです。
APNIC管轄外のIPなど抜けがあります。
(一応確認しましたが)ネットマスクの計算にミスがあるかもしれません(ぉぃ
このフィルタを利用して受けたいかなる不利益にたいしても一切責任を負いません。
IPリスト
「*.sh.txt」がiptables用のスクリプト
「*.txt」がただIPを並べただけのリスト
更新日などはhttp://www.kvs.jp/iplist/ を参照ください。
cronで週に1回自動更新するようにしてあります。
(他にもリストアップたほうがいい国コードがあれば追加します)
使い方
使い方も一緒ですが、念のため書いておきます。フィルタ用にiptablesのチェインを作成
# iptables -N KRFILTER # iptables -N KRFILTERED
適用したいフィルタを実行
# sh CN.sh.txt
フィルタにひっかからなかった(アクセス許可する)パケットを通過させる設定
# iptables -A KRFILTER -j ACCEPT
フィルタに引っかかった(アクセス拒否する)パケットを破棄する設定
# iptables -A KRFILTERED -j DROP
TCP 接続開始パケット(NEW)を INPUT チェインから KRFILTER に飛ばす設定を追加
# iptables -A INPUT -p tcp -m state --state NEW -j KRFILTER
フィルタルールを保存
# /sbin/service iptables save
関連しそうなentry
Author: DebianOoM 2010/02/23 (火) 17:46
Tags: ipfilter, iptables, Linux, SPAM, アクセス制御
フィルタリングの効果をみる | でびあんのがらくた箱 Says:
2010/03/10 (水) at 19:58
[...] せっかくIPフィルタリスト作ったんだから、その効果を見てみたいなぁ・・・ ということでフィルタリングした結果をulogdを使ってMySQLに記録を取ってみる。 インストール参考リンク [...]