404の記録をとって、悪質なbotなどを洗い出して対処する話

RedirectionというWordPressのプラグインを導入したのだが、404エラーの記録も取れるし、403リダイレクトをかけることもできる。

そうすると、お行儀の悪いbotを見つけることができるようになる。

.com/admin/FCKeditor/editor/filemanager/connectors/uploadtest.html
.com/site/?pagetype=vc&category=computers%2Cmultimediadevices

上は明らかに管理ページに入ろうとしているし、二番目はストアかなにかの可能性を探っているのではないかと思われる。

サーバー側で海外から管理ページ・ログインページへのアクセスを排除していても、破ろうとしているものは排除したい。

このサイトはスターサーバーにおいている。言うほど高速ではないが、サーバー代とドメイン代を稼いでくれればトントンと思っているような、ひっそりとやるブログにはとても向いている。そこにbotが襲来すると503エラーを出してしまう。

>>スターサーバー

ユーザーエージェントが特定のサービスの場合は.htaccessで排除できる

Redirectionで見えたものを全て見せるつもりはないのだが、404エラーのタブから

  1. ソースURL
  2. ユーザーエージェント
  3. IPアドレス

の三つを割ることができる。

2と3の一例をお見せする。

botは503を引き起こす可能性があるので、積極的に排除の方向でいる。

これはmegaindex.comのbotなのが明らかなので、これは.htaccessで弾くことができる。

詳しい話は、こちらに書いたので、必要のある方は参照されよ。特定のbotからのアクセスをブラックリスト方式を用いて、.htaccessで遮断する話

IPアドレスのみがわかるものは、さっさと国ごとブロック

例えばこういうものも捕捉できる。

この手のものはどうしようもない。一番上はロシアはモスクワ、その下からはウクライナはキエフからのアクセスである。

WP-BanでIPアドレスをブロックしてもIPアドレスを変更されるとどうしようもない。

上はスクショだが、実際には右のIPアドレスはどこから来ているのかマップで見せてくれるから、国を確認できる。

日本のみのアクセスを許すと、例えばgoogleのクローラーが巡ってこなくなる。

また、WP-Banで国ごとブロック(*.ruでロシアからのアクセスを拒否)できるというのだが、実際には機能しているようには見えない。

この場合は、以下のように.htaccessに書いている。これまた自己責任でどうぞ。

deny from .ru
deny from .ua
deny from .cn
deny from .il

Order allow,deny
allow from all

意味は、「ロシア・ウクライナ・中国・イスラエルからのアクセスを排除する」である。

私の持っているサイトで、挙動の怪しいものが来るのは、この四カ国に加えて、アメリカとドイツ。ドイツも排除していいのではないかと思うが、割合が低いので一応放置する。ドイツを加えるなら.de。アメリカはgoogleやbingのクローラーがいるので一括の排除はしづらい。

なので、捕捉できたIPアドレスは、WP-Banというプラグインででブロックする。

なお、上にコードを書いてしまうと、その国からサイト全体へのアクセスを拒否してしまう。

排除するのはログインページだけで良いという場合には、こちらを読んでほしい。そもそも、大抵の日本のサーバーではログインページへの海外からのアクセスは排除されている。.htaccessでログイン画面にアクセス制限をかける話

明らかに自分のサイトにはないものを辿ろうとしているbotは、そのURLに嫌がらせのリダイレクトをかける

一番上に書いたような、明らかに私のサイトにはないものを辿ろうとしている場合には、そのコードURLに嫌がらせのリダイレクトをかけている。

かける先はわざわざ書かないが、カルト教団にQ アノン、軍や警察機関みたいな感じ。

結構ログが残っている。面白いが、先方のリファラーには自分のサイトのアドレスが残りかねないので、そこはご注意を。