1

私のApacheログには、次のようなものがたくさんあります。

<IP ADDRESS> - - <DATE> "GET /forward?path=http://vary_bad_link_not_for_children" <NUM1> <NUM2> "-" <String>

<NUM1>: 302 または 404

<NUM2>: 5XX、6XX または 11XX

<文字列>:

「Mozilla/5.0 (互換; AhrefsBot/5.1; + http://ahrefs.com/robot/ )」

「Mozilla/5.0 (互換; MJ12bot/v1.4.5; http://www.majestic12.co.uk/bot.php?+ )」

「Mozilla/5.0 (互換; Googlebot/2.​​1; +...リンク)」

「Mozilla/5.0 (互換; Exabot/3.0; +...リンク)」

等...

この正規表現を使用して、fail2ban の刑務所を作成しました。

failregex = ^<HOST> .*"GET .*/forward\?path=

禁止されている IP アドレス (ログの <IP ADDRESS> を参照) が Google やその他の非常に有名な企業の IP であることを除いて、すべて正常に動作しています。

なぜこのようになっているのか、私にはよくわかりません。なぜGoogleや他の会社を禁止する必要があるのか​​ 、そうでなければ、サーバーへの不適切なリクエストをすべて受け入れる必要があるのか​​.

説明が不十分だったので、質問を明確にしたいと思います。

1-Google の IP (および他の既知の企業) がこの種の「ポルノ」リクエストを行っている理由

2-「/forward?path=...」に意味はありますか?それは apache の機能ですか?

3-「良い」ボットがサイトを参照するのを止めずにこの問題を処理する方法。

助けてくれてありがとう!

4

1 に答える 1

1

robots.txtで、サイトの一部にアクセスしないようにロボットに指示できます。

追加する

User-agent: *
Disallow: /forward

robots.txt に追加すると、すべてのボットが で始まるすべてのページにアクセスできなくなります/forward。彼らは引き続き他のページにアクセスし、インデックスを作成します。

許可したいが許可したく/forward?path=something_niceない場合は/forward?path=very_bad_link、次のようにします。

User-agent: *
Disallow: /forward?path=a_specific_bad_link
Disallow: /forward?path=another_bad_link

ボットがこれらのリクエストを行うのはなぜですか?

これは完全に無実かもしれません。誰かがあなたのサイトに誤ってリンクした可能性があります。おそらく、以前は存在していたページが存在しなくなった可能性があります。

これは、この URL を指す自分のサイトのリンクが原因である可能性があります。それを確認してください。

最悪の場合、無意識にあなたを代理人として利用している可能性もあります。/forwardが要求されたときにサーバーが何も提供しないことを確認し、ログで疑わしいものがないか確認してください。

リクエストが続く場合はどうなりますか?

リクエストが停止するまでしばらく時間がかかる場合があります。ロボットは毎回 robots.txt を要求するわけではないため、ロボットが更新されるまで待つ必要があります。

ただし、最終的に停止しない場合は、悪意のあるボットであり、Googlebot ユーザー エージェントになりすましていることを意味します。robots.txt は、ロボットへの指示を提供します。善意のボットはそれらを尊重しますが、悪意のあるロボットを遠ざけることはできません。次に、fail2ban のようなソリューションが必要です。

于 2016-04-13T19:23:34.093 に答える