ルーマニアからのspam書き込むを拒否する mod_geoipの導入

| コメント(0)

apache2のログをみるとルーマニアからcomment.cgiへのアクセスが多数見受けられる。今のところリファラが128bitになっていなければ書き込みできない設定で弾いているけれどそのうち書き込みが始まるかもしれない。

apache2の設定でIPではなくホスト名を調べるモードでアクセス制御できるかな...と思ったけれどホスト名が設定されていない場合も多数見受けられた。お手上げだ。

なんとかならないかと調べていたらIPアドレスから地域を調べるモジュールがあるそうな。
mod_geoipというもの、インストールは以下のように実行すればよい

apt-get install libapache2-mod-geoip

apache2の設定ファイルが /etc/apache2/mods-enabled/geoip.confに出来る(編集の必要はないかもしれない)

あとはデータベースを定期的に取得すればよい。
データベースはhttp://dev.maxmind.com/geoip/legacy/geoliteにあるbinaryファイルを受信して、展開...もちろんcronで定期的に実行だ。

あとはブロックする国コードをgeoip.confに書けば終わり

<IfModule mod_geoip.c>
  GeoIPEnable On
  GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
</IfModule>

<Location />
Order allow,deny
SetEnvIf GEOIP_COUNTRY_CODE RU BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
Deny from env=BlockCountry
Allow from all
</Location>

テストするには国コードJPを加えてみればすぐわかります。

コメントする

このブログ記事について

このページは、powerpcが2013年6月13日 01:15に書いたブログ記事です。

ひとつ前のブログ記事は「宅配便の営業所受け取り」です。

次のブログ記事は「空気清浄機 漏電」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。