【もはやDOS攻撃】 php.cgiでエラー出でまくりなのを発見


さくらのレンタルサーバ の管理画面に出ている機能をあれやこれやとチェックしていた矢先、エラーログなるものが見れることに気が付きました。


これは、何かしらの原因で吐き出されたエラーを見れるものでした。
それを見ると、大量のエラーが出ていたのです。
(同じIPアドレスから1秒に十数回もの大量のエラーが吐き出されているケースも多数あった)

スポンサーリンク

[*** *** ** **:**:** 20**] [error] [client 接続元IPアドレス] client denied by server configuration: /var/www/httpdocs/


これらの大半は、悪意のありそうなアクセス検索エンジンのクローラーでした。

悪意のありそうなアクセスの場合(ハッキング目的のやつ)、こちらから来ないで下さいと言っても向こうから無理矢理にでも押しかけて来ちゃうので仕方ないとは思いますが、問題はクローラーでした。

何故か、クローラーまでもがphp.cgiファイルに突撃をかけてきたのです。
しかも、一度エラーが出ても諦めず、しつこく何度も何度も連続して突撃してくる有り様でした。

そのCGIファイル(php.cgi)には、

#!/bin/sh
exec /usr/local/bin/php-cgi

【意味】
/usr/local/bin/php-cgiに書かれているプログラムを実行しなさい。

このように書かれてあるだけです。
それなのに、何故かエラーを吐いてしまうのです。
(大迷惑)

ちなみに、ほとんどのクローラーで php.cgi のエラーを吐いていたのですが、まるでどこぞの Baidu のようにしつこく、異様にエラー回数が多かったクローラーは、何とmsnbotさんでした。

そこで、robot.txtcgiファイル にはクロールしないよう書き込みました。
でも、そんな指定はどこ吹く風と言わんばかりに、mnsbotさんは張り切ってphp.cgiファイルに突撃し続けました。
(なんでや・・・)

そのようなわけで、各ドメインのルートフォルダにあるrobots.txtに

Disallow: /*.cgi$

と書きました。

だがしかし!
やっぱりphp.cgiを見に来ちゃう不届きなmsnbotさんに対処するため、次はrobots.txtのコードを以下のように変更しました。


【参考】
bingbotのクロール頻度が多すぎて重いので、robots.txtで調整した


User-agent: bingbot
Crawl-Delay: 30

これでmsnbotさんの波状攻撃は少し収まりました。
(Crawl-Delay:の数値を大きくすると、連続アクセスをさらに抑えられます)

ただし、これでは根本的な解決にはなりませんでした。
なぜなら、このような突撃行為に及ぶbotはmsnbotさんだけではなかったからです。

TwitterにURL付きの投稿をした際に、意味もなく大量襲来するTwitter系のbotさんなんかも同様のエラーを引き起こしていましたし、Googlebotさんも時々エラーを引き起こしていました。

要するに、botと言うbotの多くがエラーを吐いていたのです。
これはイカンザキ。
そう思った私は、別の方法を探してみることにしました。


次ページ

【さくらサーバー】 php.cgiが大量のエラーログを吐き出す原因と解決法

前ページ

さくらレンタルサーバーのメールの設定方法


スポンサーリンク