検索プロセス数の制限

  • 投稿日:
  • by

先日、うちの自宅サーバーが、「DoS攻撃を受けたのか?」と書きましたが、
どうやら勘違いだったようです。


ページの上にナビゲーションバーがあるのですが、
そこからいける、TAGページ


すなわち、「Tag Cloud」なのですが、
その文字すべてがリンクなわけです。

で、そのリンク先は、

「mt-xserch.cgi」

という検索用のCGIになっています。


何が言いたいのかというと、
ロボット型検索エンジンがこのリンクすべてに向けて、
クロールをし始めたわけです。

<(゚o゚;)>オーマイガーッ!


というわけで、対策を。

まず、紳士的なロボット型検索エンジンに対しては、
ヘッダー部分で対処できます。

<meta name="robots" content="nofollow,noarchive">

上記を、<header></header>の間に入れておけば、
「紳士的なロボット型検索エンジン」はリンクを辿りません。

しかし、これで私は満足していたら、
やはり同じように、

「mt-xserch.cgi」

に向けて大量のリクエストがあり、
サーバーがダウンしました。

ということで、いろいろ調べたのですが、
httpd側で特定のCGIに大して、プロセス数制限をかけることは、
できないようでした。


なので、

「mt-xserch.cgi」

の先頭にちょっと追加して、
プロセス制限をかけることにしました。


↓追加したPerl

##------------------------------------

my $ps = `ps aux | grep mt-xsearch.cgi`;
my $i = -1;

foreach (split (/\n/, $ps)) {
$i++;
}

if ( $i > 5 ) {
print "Content-Type: text/html\n\n";
print "Busy!!\n\n";
exit;
}

##----------------------------


これで、「mt-xserch.cgi」が、
必要以上にリクエストされたら、「Busy!!」として返すようにしました。


これで回避できるといいんですが。。。。

Linuxサーバセキュリティ
マイケル・D. バウアー Michael D. Bauer 豊福 剛
オライリージャパン (2003/10)
売り上げランキング: 73,375
おすすめ度の平均: 5
5 驚くほど良い本です
Linuxセキュリティビギナーズバイブル―Fedora Core 3で学ぶセキュリティの基礎
まえだ ひさこ
毎日コミュニケーションズ (2005/05)
売り上げランキング: 22,537