ホームページ  >  に質問  >  本文

悪意のある DDO が nginx 上でクロールするのを防ぐ方法

まず第一に、他の人が私の Web サイトのコンテンツをクロールすることに私は反対しません。私は必ずしも他の人のクロールを厳密に制限するわけではありませんが、一部の人々のクロールにはまったく利益がありません。彼らは 1 つのスクリプトまたは複数のスクリプトを使用します。サーバーのコンテンツを取得することは、DDO と何ら変わりません。

私のサーバーでは現在そのような状況が発生しています。一時停止せずに悪意のあるクロールが行われ、ログ分析に深刻な影響を及ぼし、サーバーの負荷も増加しました。

この動作を防ぐにはどうすればよいですか? nginx サーバーを使用していますが、私の知る限り、特定の IP に対してのみ deny しか実行できませんが、拒否は今後もログに表示されますが、403 になります。さらに、手動による拒否は受動的すぎるため、特定の IP へのアクセス数が急激に増加したことを賢明に判断して、その IP を禁止できるでしょうか。

黄舟黄舟2712日前1006

全員に返信(4)返信します

  • 某草草

    某草草2017-05-16 17:32:17

    1. ngx_http_limit_conn_module は、単一 IP の接続数を制限するために使用できます
    http://nginx.org/en/docs/http/ngx_htt...

    2. ngx_http_limit_req_module を使用して、単一 IP の 1 秒あたりのリクエスト数を制限できます
    http://nginx.org/en/docs/http/ngx_htt...

    3. nginx_limit_speed_module を使用して IP 速度を制限できます
    https://github.com/yaoweibin/nginx_li...

    返事
    0
  • 世界只因有你

    世界只因有你2017-05-16 17:32:17

    主にfail2ban (http://www.fail2ban.org/)を使用した解決策も提供します。 failed2ban はログをスキャンすることで iptable の使用を禁止するかどうかを非同期に決定するため、元のシステムへの影響は比較的小さく、nginx の再設定は必要ありません。ただし、アクセス数が多すぎるかどうかはわかりません。

    まず/etc/fail2ban/jail.conf

    を追加します リーリー

    次に/etc/fail2ban/filter.d/nginx-bansniffer.confを見つけて、404の判定を

    に変更します リーリー

    最後に fail2ban サービスを再起動します。上記の設定では、120 秒ごとに 120 回以上のアクセスがある IP アドレスを 1 時間禁止します。

    返事
    0
  • 高洛峰

    高洛峰2017-05-16 17:32:17

    1. ユーザーエージェントに基づいてスパイダークローリングを防止します

    リーリー

    2. オペレーティング システムのファイアウォールにルールを作成して、同じ IP への同時接続の数を制限します
    Linux での iptables を例にとると、次の設定では、1 分間に同じ IP に対して最大 15 個の接続の確立が制限され、超過した接続は iptables によって破棄され、nginx に到達しません。 リーリー

    3. 各 IP のアクセス頻度をカウントする bash スクリプトを作成し、設定した上限を超えた IP を自動的にブラックリストに追加します

    ブラックリスト内の IP については、スクリプトを使用して iptables または nginx.conf に自動的に書き込み、数分間ブロックするか、許可されるアクセス頻度を減らします

    Yahoo にいたときは、外部からの WEB サービスの悪用を防ぐためにルールをカスタマイズできた、YDoD (Yahoo! 国防総省) という Apache モジュールを使用していました。探し回ってもオープンソースが見つかりませんでした。しかし、原理は上で述べたことと似ています。

    返事
    0
  • PHPz

    PHPz2017-05-16 17:32:17

    ngx_lua_wafを試してみる
    https://github.com/loveshell/ngx_lua_waf
    機能:

    リーリー

    返事
    0
  • キャンセル返事