web-dev-qa-db-ja.com

存在しないURLを使用した大規模な404攻撃。これを防ぐ方法は?

問題は、Google Webmaster Toolsが報告したように、これまでになかったページとクエリを伴う404エラーの負荷です。それらの1つはviewtopic.phpであり、サイトがWordPressサイト(wp_admin)であるかどうか、およびcPanelログインのためにチェックしようとする恐ろしい回数にも気付きました。私はすでにTRACEをブロックしていますが、サーバーにはスキャン/ハッキングに対する防御が備わっています。しかし、これは止まらないようです。リファラーは、Google Webmasterによると、totally.meです。

SEOの懸念は言うまでもなく、実際の貧しい実際のユーザーにとっては確かに良いものではないため、これを止める解決策を探しました。

Perishable Pressミニブラックリスト( ここにあります )、標準リファラーブロッカー(ポルノ、ハーブ、カジノサイト用)、さらにはサイトを保護するためのソフトウェア(XSSブロック、SQLインジェクション、等)。サーバーは他の手段も使用しているため、サイトが安全であると(おそらく)仮定しますが、終了していません。

他の誰かが同じ問題を抱えていますか、それとも私だけがこれを見ていますか?それは私が考えていること、つまり何らかの攻撃ですか?この無駄なリソースの無駄を防ぐ方法、またはそれを改善する方法はありますか?

EDIT回答に感謝するために質問を使用したことはありません。洞察に満ちた返信をありがとう。私は皆の提案に従い、以下を実施しました:

  • ハニーポット
  • 404ページの疑わしいURLをリッスンし、標準の404ヘッダーを返しながら、ユーザーエージェント/ IPでメールを送信するスクリプト
  • 同じ404カスタムページで正当なユーザーがそれらのURLのいずれかをクリックした場合に報酬を与えるスクリプト。 24時間以内に、Spamhausにリストされている疑わしいIPを分離することができました。これまでに記録されたすべてのIPは、スパムVPSホスティング会社に属します。

どうもありがとうございました。できればすべての答えを受け入れました。

14
tattvamasi

自分のサイトに存在しない大量のページにリンクしている別のサイトをよく見ます。そのページをクリックしてもリンクが表示されない場合でも:

  • サイトには以前にそれらのリンクがあった可能性があります
  • サイトがクローキングし、訪問者ではなくGooglebotのみにリンクを提供している可能性があります

リソースの無駄遣いですが、Googleを混乱させることはなく、ランキングを損なうこともありません。ここに、GoogleのJohn Mueller(ウェブマスターツールとサイトマップで作業している)があります ウェブマスターツールに表示される404エラーについて言わなければなりません

ヘルプ!私のサイトには939クロールエラーがあります!! 1

私はこの種の質問を週に数回見ます。あなただけではありません-多くのウェブサイトにはクロールエラーがあります。

  1. 404の無効なURLのエラーは、サイトのインデックス作成やランキングに悪影響を与えません。 1億または1千万であっても、サイトのランキングを損なうことはありません。 http://googlewebmastercentral.blogspot.ch/2011/05/do-404s-hurt-my-site.html
  2. 場合によっては、クロールエラーは、WebサイトまたはCMS内の正当な構造上の問題に起因する場合があります。どうやって言うの?クロールエラーの原因を再確認してください。サイトの壊れたリンクがページの静的HTMLにある場合は、常に修正する価値があります。 (ありがとう + Martino Mosna
  3. 「明らかに壊れている」ファンキーなURLについてはどうでしょうか?あなたのサイトのような当社のアルゴリズムは、たとえばJavaScriptで新しいURLを見つけようとすることで、より素晴らしいコンテンツを見つけようとします。これらの「URL」を試して404を見つけたら、それは素晴らしいことであり、期待されています。重要なものを見逃したくないだけです(ここに過剰に添付されたGooglebotミームを挿入してください)。 http://support.google.com/webmasters/bin/answer.py?answer=1154698
  4. ウェブマスターツールでクロールエラーを修正する必要はありません。 「修正済みとしてマークする」機能は、進捗状況を追跡したい場合にのみ役立ちます。 Googleのウェブ検索パイプラインでは何も変わりませんので、不要な場合は無視してください。 http://support.google.com/webmasters/bin/answer.py?answer=24674
  5. ウェブマスターツールのクロールエラーは、いくつかの要因に基づいて優先度順にリストされています。クロールエラーの最初のページが明らかに無関係である場合、他のページで重要なクロールエラーを見つけることはおそらくないでしょう。 http://googlewebmastercentral.blogspot.ch/2012/03/crawl-errors-next-generation.html
  6. ウェブサイトのクロールエラーを「修正」する必要はありません。 404を見つけることは正常であり、健全で適切に構成されたWebサイトに期待されます。同等の新しいURLがある場合は、そのURLにリダイレクトすることをお勧めします。それ以外の場合は、偽のコンテンツを作成したり、ホームページにリダイレクトしたり、robots.txtでこれらのURLを禁止したりしないでください。これらのすべてにより、サイトの構造を認識して適切に処理することが難しくなります。これらを「ソフト404」エラーと呼びます。 http://support.google.com/webmasters/bin/answer.py?answer=181708
  7. 明らかに-これらのクロールエラーが、関心のあるURL、おそらくサイトマップファイルのURLに表示される場合、すぐに対処する必要があります。 Googlebotが重要なURLをクロールできない場合、検索結果から削除され、ユーザーもそれらにアクセスできない可能性があります。
16

インターネット上のランダムなIPアドレスを楽観的にスキャンして、さまざまな種類のソフトウェアで知られている脆弱性を見つけるスクリプトがたくさんあります。 99.99%の時間、彼らは何も見つけません(あなたのサイトのように)、そしてその0.01%の時間、スクリプトはマシンをpwnし、スクリプトコントローラーが望むことは何でもします。通常、これらのスクリプトは、元のスクリプトキディの実際のマシンからではなく、以前にpwndであったマシンからの匿名ボットネットによって実行されます。

あなたは何をするべきか?

  1. サイトが脆弱でないことを確認してください。これには常に注意が必要です。
  2. これにより、通常のサイトのパフォーマンスが影響を受けるほどの負荷が発生する場合は、IPベースのブロックルールを追加して、特定のサイトからの接続を受け入れないようにします。
  3. サーバーログを調べる際に、CMD.EXE、cPanel、phpMyAdmin、その他の脆弱性のスキャンを除外する方法を学びます。

サーバーから誰かに返される404は、Googleがあなたのサイトについて考えることに影響を与えると信じているようです。本当じゃない。 Googleクローラーによって返される404、およびおそらくChromeユーザーのみがサイトに影響します。サイト上のすべてのリンクが適切なリンクであり、以前に世界に公開したリンクを無効にしない限り、影響はありません。スクリプトボットは、Googleとは一切対話しません。

実際に攻撃されている場合は、何らかのDoS軽減プロバイダーサービスにサインアップする必要があります。 Verisign、Neustar、CloudFlare、およびProlexicはすべて、単純なWebプロキシ(一部のプロバイダーから無料の場合もあります)からDNSベースのオンデマンドフィルタリング、完全なBGPまで、さまざまな種類の攻撃に対するさまざまな種類の計画を持つベンダーです攻撃を軽減するルールを使用して、すべてのトラフィックを「スクラビング」データセンターに送信する、プレゼンスベースのスイング。

しかし、あなたが言っていることからは、インターネット上のIPがポート80でリッスンしているかどうかを確認する通常の脆弱性スクリプトが表示されているだけです。文字通り、新しいマシンを設置し、空のApache数時間以内に、アクセスログにこれらの行が表示されるようになります。

5
Jon Watte

これはおそらく実際の攻撃ではなく、スキャンまたはプローブです。

スキャナー/プローバーによっては、良性である可能性があります。つまり、ある種の研究能力の問題を探しているだけであるか、開口部が見つかった場合に自動的に攻撃する機能を備えている可能性があります。

Webブラウザは有効なリファラー情報を入力しますが、他のプログラムは好きなリファラーを作成できます。

リファラーは、Webサイトにアクセスするプログラムによってオプションで提供される単なる情報です。 totally.merandom.yuなど、設定するものは何でもかまいません。彼らが選択したばかりの本当のウェブサイトでさえありえます。

これを実際に修正したり防止したりすることはできません。このタイプのすべてのリクエストをブロックしようとすると、非常に大きなリストを維持する必要が生じ、それだけの価値はありません。

ホストがパッチに対応し、脆弱性を防止している限り、実際の問題は発生しません。

3
Grax

実際、ボットの狂気のように聞こえます。私たちは多くのホストの何千ものIPによって攻撃されてきており、おそらくサイトOPには知られていないでしょう。役立つソリューションを提供する前に、1つ質問があります。

Q: Googleウェブマスターツールでサイト全体から404をどのように見ていますか? GWTはGooglebotの結果の出力であり、他のボットの出力ではありません。また、これらの他のボットは、分析のためにJSを実行しません...サーバーの統計情報を確認できるGWTにAPIのようなものがありますか?そうでない場合、これはgooglebot自体がエラーを検出しているため、アラームの原因である可能性があります。

  • これがgooglebotのエラーだけである場合、誰かがあなたのサイトへのリンクをフォーラムやそれを攻撃する悪意のある本物の人間のPCボットの標的のためのものを植えた可能性があります。 harverstor + planterが何らかの悪用されたサーバー上で実行され、ポータルへの将来の「スパム契約」のために大量のターゲットを設定すると考えてください。

  • サーバー統計全体をレポートすることを実際に知っている場合は、いくつかのツールが必要です。いくつかのアプリとサービスは、あなたがそれを削減するのを助けるかもしれません。 Linuxサーバーを実行していると仮定します。

1)問題のあるIPをhtaccessブラックリストに追加し始めます。 「192.168.1.1から拒否」のように見え、403を禁止します。 biggensをブロックするだけで夢中になってはいけません。手順4)でサイトと照合して、ISPの本物を盗んでいないことを確認します。このファイルをコピーして、ファイアウォールを越えて任意のアカウント/アプリに貼り付けることができます。

2) APFをインストールします。 LinuxでSSH経由でファイアウォールを管理するのは本当に簡単です。 htをビルドするときに、APFに「apf -d 192.168.1.1」のように追加します。 HtはAPFのために冗長に見えますが、Htは移植可能です。

cPanel Hulkをインストールし、パスを忘れた場合にロックアウトされないようにIPをホワイトリストに登録してください。これは、ht + apfに追加するIPの素敵なソースにもなります。ブルートフォースログイン試行をインテリジェントに軽減できるように、いくつかのスマートがあります。

4) stopforumspam.comおよびprojecthoneypot.orgに接続して、それらのモジュールを実行します。どちらも、既知のリクエストを拒否し、新しいブルート/ネット/チナスパムを特定して報告するのに役立ちます。使用できるメールフィルターもありますが、スパムフィルターに関しては、Gmailがそれを所有しています。

5)ボットは決してあきらめないため、管理パスを保護します。 wordpressを実行する場合、管理パスを変更する、captchaを追加するなど。SSHを使用する場合は、ログインポートを未使用のものに変更し、SSHルートログインをオフにします。最初にログインする必要がある「radmin」を作成してから、rootでsuを実行します。

  • Captchaに関する注意。大量のサイトで独自のcaptchaを実行し、ファイアウォール/ htレベルでボットの狂乱を否定しないと、これらの「アンチスパム」ウィジェットでの画像生成のためにCPUサイクルが打撃を受ける可能性があります。

  • サーバーでCentOSを実行し、VPS機能を備えている場合、負荷に関する注意点として、CloudLinuxは強化と負荷制御に最適です。ボットが通過すると、CageFSはそれをアカウントに制限するために存在します。彼らがDDoSを決定したとしましょう....サーバーがクラッシュしないように、アカウント(サイト)の負荷を制限するためにLVEがあります。 「誤ったエンティティ管理」のシステム全体を強調するための良い追加:)

ちょっと考えてみてください。

3
dhaupin

問題の説明

まず、この問題を抱えているのはあなただけではありません。誰もがそうです。これまで見てきたのは、自動化されたボットがすべてのIPをクロールし、一般的な脆弱性を探した結果です。したがって、彼らは基本的にあなたが使用しているものを見つけようとし、phpmyadminを使用する場合、標準のユーザー名とパスワードの組み合わせを後で試します。

私はあなたが今見つけたこの種のものに驚いています(あなたはあなたがあなたのサーバーを始めたばかりかもしれません)。問題は、IPアドレスを永久にブロックできないことです(ほとんどの場合、これは感染したコンピューターであり、実際のユーザーはそれが何をしているのかを知らず、そのようなIPも多数あります)。

SEO効果

まったく効果がありません。誰かがあなたのコンピューター上の何かにアクセスしようとしたが、そこにいないことを意味するだけです

本当に重要ですか?

確かに、これらの人々はいくつかの問題についてあなたを探ろうとします。さらに、彼らはあなたのリソースを浪費し(あなたのサーバーは何らかの方法で反応する必要があります)、あなたのログファイルを汚染しています

それを修正する方法

私が修正しようとしたのと同じ問題があり、最高のツール(使用するシンプルさと私ができること)は見つけることができました fail2ban

また、同じ問題を修正する方法をすでに見つけており、ここに文書化することさえできたので、幸運にも幸運です(したがって、インストール方法と動作方法を見つける必要はありません)。 ServerFault に関する私の質問を確認してください。ただし、fail2banについて少し読んで、機能していることを確認してください。

1
Salvador Dali

多くの人がすでに言っているように、これは攻撃ではなく、サイトアプリやサーバー機能をプローブまたはスキャンする試みです。これらの無駄なトラフィックと潜在的に危険なスキャンをすべて除外する最良の方法は、WAF(Web Application Firewall)を実装することです。これにより、すべての異なる試行がキャッチされ、フラグが設定されてから、実際の正当なクリーントラフィックがサーバーおよびWebアプリに送信されます。

クラウドベースのDNS WAFまたは専用デバイスを使用できます。私は個人的にIncapsulaとF5 ASMを異なるクライアントサイトに使用しています。費用は月額500ドルと低く、非常に役立ちます。また、クライアントの保護を強化し、Webサーバー自体のリソースを削減することで、費用を節約し、速度を向上させます。さらに、これらのデバイスは、PCI 6.6準拠とレポートによるレビューを提供します。

お役に立てれば。

1
Tony-Caffe