匿名ユーザー/ゲストのIPアドレスを表示する方法はありますか?
また、それぞれからの接続数を表示する方法はありますか?
私のサイトでは、過去数時間にわたり、毎分数百、数百ものページビューがあり、プロセッサ使用率も100%に達しています。
匿名ユーザー/ゲストのIPアドレスを表示する方法はありますか?
また、それぞれからの接続数を表示する方法はありますか?
私のサイトでは、過去数時間にわたり、毎分数百、数百ものページビューがあり、プロセッサ使用率も100%に達しています。
Nginx (または使用しているもの) のログを確認しましたか? それらはボットやノッカーです。IPアドレスに対処しても無駄です。数回試行すると変更されます (IPアドレスはそもそも役に立たず、常に変更されます)。ジオブロッキング (多くのサイトは実際には真にグローバルではありません) を開始し、サーバーレベルで多くのユーザーエージェントを禁止する必要があります。少なくとも、完全に不要で欲張りなSEOスクレイパー、IE5.xなどと自己識別するボットはすべて禁止してください。
標準のインストールを行った場合、レート制限が適用されているはずです(Rails内にも一部あります)。どのようにインストールしましたか?
そのレート制限は実際にどのように機能しているのでしょうか(いいえ、答えは検索していません)。IPアドレスごとに一定期間内にリクエストが一定量を超えると発動するのでしょうか?
いずれにせよ、URLがくだらないリストに記載されていて、中国、パキスタン、イラン、イラク、ベトナム、ロシアからのIPアドレス、そして主に米国、フランス、ドイツの大きなVPSサービスからの大量のトラフィックが発生するようなDDoS攻撃のような状況になった場合、3回試行してIPアドレスを変更しても、レート制限はあまり役に立ちません。
かつて、私は多くのくだらない検索を受けました。そして、その「多く」とは、DigitalOceanの5USDのドロップレットがクラッシュし、人間からのリクエストがほとんどゼロになったことを意味します。
これは、Discourseではなく、ほぼウェブサーバーの問題です。それらのノッカーは、アプリケーションよりも前に排除されるべきです。私の状況/ソリューションは、OPやここのほとんどのウェブマスターよりもはるかに簡単です。なぜなら、私はフィンランド出身で、私のフォーラムは純粋なフィンランド語だからです。そのため、世界中からのアクセスを禁止することができます(まあ、フィンランド国外に住むフィンランド人はそれを異なって見ますが ;))。
しかし、レート制限に関係なく、少なくとも偽のユーザーエージェントはすぐに停止するはずです。
SSHノッカーはどうでしょうか?それらもリソースを消費します。
DDoSの問題が発生している場合は、Cloudflare(これはほとんどお勧めしません)をお勧めします。Cloudflareテンプレートを使用し、最適化を無効にする(または設定方法を注意深く読む)ことを確認してください。
これは実際のDDoSではありません。しかし、同じ種類の要求が多数あると、DDoSのように動作し、結果は同じになります。私はVarnishとFail2banを使用しており、さらにジオブロッキングも利用していますが、これで十分です。
はい、標準的なインストールを行いました。
最初に考えたのは単にスラッシュドットされたことでしたが、24時間経ってもまだ攻撃を受けています。
迅速な一時的な解決策は、フロントドアを閉め、サイトを「ログイン必須」に設定することでした。これにより、サイトを開いてから60秒以内にCPU使用率が100%から3%に低下しました。
フロントドアを開けるとすぐに、/searchページが次のようなゴミで即座に攻撃されます。
/search?q=dogs+order:latest&page=2
/search?q=cats+order:latest&page=2
/search?q=fly+order:latest&page=2
など
これはサイトを再び一般公開してから60秒以内に発生します。
私たちは小さなニッチなグループであり、誰かが私たちを標的にする理由がわかりません ![]()
Google Analyticsによると、通常はアクティブユーザーが8〜10人ですが、サイトを一般公開に戻すとすぐに1,000人以上に急増します。すべての接続は、参照元なしで、米国のさまざまな地域から直接来ているように見えます。
数日間、メンバーのみにサイトを閉鎖しておき、問題が解消するかどうかを確認します。または、/searchをログインユーザーのみに制限できるかどうかを確認します。それができない場合は、おそらくCloudflareのルートを選択することになるでしょう。
皆さん、ありがとうございます ![]()
ああ。それは奇妙ですが、それがインターネットなのでしょうね。
おお。ユーザーエージェントは何ですか? ブロックされたクローラーのユーザーエージェント に追加できますか?
良い質問ですね!
Google Analyticsのレポートページで確認してみます ![]()
/var/discourse/shared/log/var-log/nginx/.... (またはそれに非常に似たもの) にも表示できると思います。「エージェント」で設定を検索すると、「クローラーのユーザーエージェントを遅くする」のような他の設定もあります。
見つかった場所: /var/discourse/shared/standalone/log/var-log/nginx/access.log
(現在ローカルにダウンロード中です)
@pfaffman ありがとうございます。何か気になる点がないか確認します。
ざっと見たところ、ユーザーエージェントの混合が様々であることがわかりました。
これは、スラッシュドットではなく、攻撃を疑わせるものでもあります ![]()
[12/Jan/2022:13:26:20 +0000] "greyarro.ws" 184.174.102.229 "GET /search?q=cats+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.57 Safari/537.36" "search/show" 302 1117 "-" 0.012 0.009 "-" "-" "-" "-" "-" "-" "-" "-"
[12/Jan/2022:13:27:22 +0000] "greyarro.ws" 173.211.78.162 "GET /search?q=cats+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.9390.0.4430.212 Safari/537.36" "search/show" 302 1117 "-" 0.012 0.009 "-" "-" "-" "-" "-" "-" "-" "-"
[12/Jan/2022:13:30:46 +0000] "greyarro.ws" 66.78.24.176 "GET /search?q=cats+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (X11; Linux x86_64; rv:89.0.2) Gecko/20100101 Firefox/89.0.2" "search/show" 302 1117 "-" 0.020 0.019 "-" "-" "-" "-" "-" "-" "-" "-"
[12/Jan/2022:16:10:32 +0000] "greyarro.ws" 38.18.59.158 "GET /search?q=cats+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.86 Safari/537.36" "search/show" 302 1117 "-" 0.008 0.011 "-" "-" "-" "-" "-" "-" "-" "-"
[12/Jan/2022:16:10:57 +0000] "greyarro.ws" 108.62.69.249 "GET /search?q=cats+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:88.0.1) Gecko/20100101 Firefox/88.0.1" "search/show" 302 1117 "-" 0.008 0.009 "-" "-" "-" "-" "-" "-" "-" "-"
そして:
[12/Jan/2022:16:11:07 +0000] "greyarro.ws" 38.18.49.252 "GET /search?q=dogs+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.78 Safari/537.36" "search/show" 302 1117 "-" 0.012 0.011 "-" "-" "-" "-" "-" "-" "-" "-"
[12/Jan/2022:16:28:08 +0000] "greyarro.ws" 206.180.185.39 "GET /search?q=dogs+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:88.0) Gecko/20100101 Firefox/88.0" "search/show" 302 1117 "-" 0.016 0.012 "-" "-" "-" "-" "-" "-" "-" "-"
[12/Jan/2022:16:28:08 +0000] "greyarro.ws" 38.18.55.132 "GET /search?q=dogs+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.57 Safari/537.36" "search/show" 302 1117 "-" 0.008 0.009 "-" "-" "-" "-" "-" "-" "-" "-"
[12/Jan/2022:16:28:10 +0000] "greyarro.ws" 184.174.54.113 "GET /search?q=dogs+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.69 Safari/537.36" "search/show" 302 1117 "-" 0.012 0.011 "-" "-" "-" "-" "-" "-" "-" "-"
[12/Jan/2022:16:28:14 +0000] "greyarro.ws" 184.174.72.90 "GET /search?q=dogs+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:89.0.1) Gecko/20100101 Firefox/89.0.1" "search/show" 302 1117 "-" 0.016 0.017 "-" "-" "-" "-" "-" "-" "-" "-"
ここで少し元のトピックから逸れているように感じますが、ご協力ありがとうございます ![]()
これらの設定は、ボットが制限とガイドに従う場合にのみ役立ちます。Googlebotでさえ常にそうとは限らず、悪いボットは決してそうしません。それがrobots.txtがあまり役に立たない理由の1つです。
免責事項。Discourseが遅くするために他の技術を使用しているかどうかはわかりません。
いいえ、逸れていません。あなたの質問は少し的外れでした
あなたは、質問すべきは「Discourseがボット攻撃/DDoS攻撃を受けているときにどうすればよいか」であるべきところを、些細な詳細について知りたがっていました。