ボットからの過度の攻撃からサーバーを保護したいと思います。
プライベート ネットワークにあるサーバー (物理) が継続的に私のサーバーにアクセスするシナリオを考えてみましょう。アクセスの背後にあるサーバーを、たとえばブラウザー ID などで識別し、アクセスを制限するメカニズムはありますか?
マシン/サーバーが Web サイトからデータを要求すると、ルーター/ロード バランサーを通過するときに IP アドレスと MAC アドレスが上書きされます。理想的には、ボットの設計者はボットがロード バランサーの背後にあることを確認しますが、物理サーバー アドレスまたはその MAC アドレスを見つける方法が必要なので、許可されるヒット数に制限を設けることができます。
または、ヒットを制限しようとするのではなく、「サーバーをスケールアップして、できるだけ多くのトランザクションを許可する必要がありますか」が唯一の/理想的な選択肢ですか? このようなアルゴリズムを実装する複雑さを考慮してください。
答え1
fail2ban をインストールし、ボット jail を構成します。簡単です。
答え2
ファイアウォールがアドレスを表示できない原因である場合、その情報を取得するにはファイアウォールに対処する必要があります。おそらくログから取得することになります。
私は非常に混雑したパブリック サーバーを扱ったことがあります。まず、私が懸念していることがいくつかあります。
- サーバーがそれを処理できることを確認してください(これは常に発生するため)
- コードがそれを処理できるかどうか確認する(効率的/最適化された/インテリジェント)
- 迷惑なIPを一時的にブロックする
それがうまくいかない場合は、もっと創意工夫してください。