2008年12月21日

わたしのコメントは迷惑コメント…?

カテゴリー: [blog]

こんなサボりのブログですが、コメントをいただいたので、お返事を書いたわけです。

ところが自分が書いたコメントが反映されません。
コメントの一覧にも見あたらないと思ったら、、迷惑コメントに放り込まれてました…

原因は、自分が設定したキーワード。貼り付けたURLが引っかかったようです。

あんまり、大きな網をかけるものじゃないですね…

自分で設定して、自分が引っかかっているんじゃ世話がない…

最近は、こちらのDNSBLを試してます。

統合スパムフィルタ「スパムちゃんぷるー」のデータに基づくDNSBL(β)

効果は、まだよくわからないです。効いてる気はするんですが。

さて、次、更新するのはいつだろう…

投稿者 shingo : 02:43 | コメント (62) | トラックバック

2008年1月15日

HDD入れ替えとLVMの導入

カテゴリー: [Linux] [blog] [自宅サーバ]

自宅のサーバが、そろそろ稼働開始から3年くらいになり、HDDが心配なのとパーティションのサイズに問題が出てきて不自由になってきたので、思い切ってHDDを入れ替え、LVM(Logical Volumn Manager)での管理に変更することにしました。
ついでなので、ソフトウェアRAIDで、RAID1にすることに。

まず、今のケースでは小さすぎてHDDが2台のらないので、入れ替え。

Gentooのinstallcdをつかって起動し、古いHDDをUSB経由で接続して、作業開始。
経験上、Gentooのinstallcdは、USBのHDDでも簡単につながるので便利です。

LVMにしない(できない) /bootとrootパーティションは、同じサイズのRAID1のパーティションを作ってddでコピー、のつもりがミスで少し小さいサイズになってしまって失敗。

よく考えてみれば当たり前で、/dev/hda1と/dev/hdb1 を束ねて/dev/md1 を作るとき、/dev/hda1と/dev/hdb1 を古いパーティションと同じサイズにしても、先頭にスーパーブロックが書き込まれるから、その分減るわけです。なので、普通にファイルをコピー。

その他のパーティションは、LVMで作るので、LVM用のRAID1のパーティションを作り、それをVolume Groupに追加。そこから切り出して、以前のシステムのパーティションに相当するLogical Volumeを作っていきました。
各Logical Volumeは、前のサイズよりは、少し大きめになるように取っていきました。
そして、作ったLVに、元のHDDからddでデータをファイルシステムごとコピーし、

resize2fs /dev/(Volume Gruop名)/(Logical Volume名)

で、LVのサイズいっぱいに拡張して、コピー終了。
ただ、コピーにけっこう時間がかかりました。
普通にファイルシステム作ってから、そこにコピーした方がよかったか…

作業をしていると、祖母から電話がかかってきました。
IP電話が止まっているので、変だと思ったようです。
こいつが、ルータになっているのをすっかり忘れてました。

最後の仕上げに、/etc/fstab のデバイス名を新しいRAID1とLVMのデバイス名に変更、/etc/mdadm.conf を追加、grubのrootパーティションのデバイス名を新しいものに変更して新しいHDDにgrubをインストールしました。
その後、全てのボリュームをumount、LVMとRAIDを停止して、リブートし、やっと稼働し始めました。
(ちなみに、カーネルはあらかじめLVMとRAIDを追加して再構築してありました)

結局、12時間くらいかかりました。
コピーに時間がかかったのと、コピーの間、別の用をしていたのが大きかったような。
そもそも、最初にケースを入れ替える作業があったわけで。

とりあえず、順調に動いている模様です。

記録の意味でも、後でやったことをちゃんとまとめたいですね。(後でというとやらない予感…)

余談:

その後、ついでなので、放置していたblogのメンテナンスをしていたら、なんと知り合いからのコメントまで、スパムフィルタが拒否していたことが発覚。
ブラックリストの zen.spamhaus.org に基づいて、拒否してしまったようで。
apacheで拒否するようになる前だったので、コメント自体は残っていたため復活させました。
このブラックリストは、どうやらまずいみたいです。
前のエントリでやったapacheの段階でスパムを拒否する設定から、このブラックリストは外しました。
そもそも、Movable Type側のスパムフィルタからも外しました。危険です。

投稿者 shingo : 02:00 | コメント (0) | トラックバック

2007年12月 1日

apacheでコメント・TBスパム対策

カテゴリー: [blog] [プログラミング]

blogの更新をさぼっていても、スパムは休んではくれないようです…

迷惑コメント・トラックバックがMovable Typeのデータベースに大量にたまっていきます。
(フィルタされたものは分類され未公開にはなりますが、DBにいったん入ります)
フィルタされてればいい方で、フィルタを通過して公開されてしまうものもかなり多いわけです。
アクセスのけっこうな割合がスパムなのは確実で、United Statesがアクセス数トップです。

Movable Type の SpamLookup プラグインでDNSBLをつかってフィルタ出来るんですが、もうブラックリスト入っていたら、Movable Typeに渡す前にフィルタしたくなってきました。
そうするとDBに入らないので、万が一誤検出した場合に回復する手段がないわけですが、どうせコメントはほとんどないし、とりあえず問題ないでしょう。

DNSBLを参照して、その結果を元にapacheに403を返させる方法がないかと調べてみたら、やっぱりそういうモジュールを作っている人がいるんですよね。

mod_setenvdnsbl : Apache module (nesitive thinking)|

早速インストールして、設定してみました。
インストールは、Makefileの先頭のAPXSのところを環境に合わせて書き換えて、make && make install するだけです。

設定はこんな感じです。

<Directory ...>
      <FilesMatch "mt-(tb|comments)\.cgi">
          SetEnvIfDNSBL remote_addr zen.spamhaus.org spammer
          SetEnvIfDNSBL remote_addr bsb.spamlookup.net spammer
      </FilesMatch>
      ...
      Order allow,deny
      Allow from all
      Deny from env=spammer
</Directory>

しかし、apacheでMT/WPのスパム対策 DNSBLのmod_setenvifdnsblを使ってみる (blog@browncat.org) でも指摘されているように、複数のDNSBLを指定すると、最初のものしか見に行きません。

apacheのモジュールなんて作ったことありませんが、ソースを読んでみました。
まあ、apacheのAPIを知らないんで、最初はさっぱりだったわけですが、結局わかったのは、SetEnvIfDNSBLの最初の引数が同じだと、複数の設定を内部的にひとまとめにするための処理があるということでした。
mod_setenvdnsbl.cの217-255行目あたりです。

この設定の場合、remote_addr という行が複数あるので、これらをひとまとめにしようとします。
が、内部のデータ構造にはDNSBLは一つの設定ごとに一つだけしか用意されていませんので、最初のDNSBLのドメインしか残らないわけです。
単純にこの処理を省いてやるだけで要求通り動くようになりました。

本来は、1つのDNSBLへのリクエストを1回にするための処理なのかなと予想したのですが、それにしては、データ構造がそれらしくないんですよね。

こんなわけで、最近Javaばかりだったんですが、久しぶりにC言語をさわりました。

これをやって収穫があったとすれば、DNSBLのクエリの仕組みを初めて知ったことですね。
恥ずかしながら、今まで知りませんでした。プロトコルがDNSだから、DNSBLだったとは。
確かにクエリも軽いし、プログラムも書きやすいですね。
あとは、apacheのモジュールの作り方がなんとなく見えたことですかね。

スパム対策?そういえばそれもありました(^^;

結局、ブラックリストだけでは駄目なので、キーワードベースのフィルタにキーワードを追加して、厳しめにしてみました。
DBには入りますが、スパムが公開されてしまうことは防げます。結局これが一番効いたような…

投稿者 shingo : 19:31 | トラックバック

2006年8月11日

国別アクセス数

カテゴリー: [blog]

何だかなあ.

access-log-country.png

1位がUSで,2位日本...

トラックバックとコメントのスパムのせいですね.
いくらrejectしているとはいえ,受け付けてから捨てているだけなので,アクセスログには残るわけで.
根本的にアクセス拒否した方がいいような気がしてきた...でも,めんどくさ(^^;

せめてアクセス解析からは除くか.って,確かすでに除いているはず...
じゃあ,何でこうなるんだろう.

投稿者 shingo : 19:59 | コメント (0) | トラックバック

2006年7月 5日

スパムの傾向

カテゴリー: [blog]

コメントスパムはかなり少なくなったのですが,トラックバックスパムがひどいです.

最近,英語の薬の名前がたくさん含まれていることに気づいて,そのあたりをフィルタしてみました.
まあ,焼け石に水でしょうけど.

例えば,
tamiflu:タミフル.インフルエンザ用の薬
viagra:説明不要だよね
levitra, cialis:viagraの同類
phentermine:フェナセチン,解熱・鎮痛剤
xenical:ゼニカル,ダイエット薬
hydrocodone:ヒドロコロン,鎮痛剤(未承認),麻薬
tramadol:トラマドール,鎮痛剤
alprazolam:抗不安薬
lexapro:レクサプロ,抗うつ剤
ephedrine:エフェドリン,エフェドラはダイエット薬
yasmin:ヤスミン,低用量ピル
ortho tricyclen:トリサイクロン,日本で未承認のピル
zyban:ザイバン,禁煙治療薬
他にもfioricets, acyclovir, xanax, aciphex, elimiteなどなど

ちなみに,これらのキーワードで検索すると,トラックスパムで汚染されたblogが大量に引っかかります...

薬以外だと,まあ,アダルトは当たり前のように大量に入っています.他には,なぜか時計や財布が多いですね...

投稿者 shingo : 21:57 | トラックバック

2005年1月31日

RSSのアイコン

カテゴリー: [blog]

いろんなサイトで使われているRSSのアイコンが,どこも同じデザインなので,どこか出所があるのかと思って「RSS アイコン」で検索してみたところ,すぐに見つかりました.

#BLOG: 独自のRSSアイコンを作成!(ダウンロードOK)

というわけで,ありがたく使わせていただくことにしました.

投稿者 shingo : 03:02 | コメント (2) | トラックバック