Mikrotik: HTTP リクエストが多すぎるホストを禁止する

Mikrotik: HTTP リクエストが多すぎるホストを禁止する

昨日、私の質素な Web サーバーの異常な動作に気付きました。サーバーが適度に熱くなり、HDD ヘッドがピクピクと動き、LAN アクティビティが異常に高くなっていました。

ログを確認したところ、あるホストがファイル名のブルートフォース攻撃を使用して Web サーバーをスキャンしてドキュメントを検索していることがわかりました。

RouterOS で実装できる、このようなブルー​​ト フォース攻撃に対する保護機能はありますか?

答え1

はい、保護はあります。基本的に、そのようなホストを検出するファイアウォール ルールを追加する必要があります (基準: 同じホストからの複数の TCP/ポート 80 接続)。ルールがある場合は、そのソース IP をアドレス リストに追加します。

/ip firewall filter add chain=input protocol=tcp dst-port=80 connection-limit=200,32  \
action=add-src-to-address-list  address-list=blocked-addr address-list-timeout=1d 

次に、そのアドレスリストからの着信接続をブロックします。

/ip firewall filter add chain=input src-address-list=blocked-addr action=drop

制限を調整する必要があります (ここでは 200)。また、チェーンも調整する必要があります (Web サーバーが mikrotik デバイスの場合は入力、別の Web サーバーの場合は転送)。

これはウィキから引用したものです: http://wiki.mikrotik.com/wiki/DoS_attack_protection

答え2

Benoit からの回答では、同時リクエストを行うホストをブロックできます。ただし、ホストが接続を開くのと同じ速さで接続を閉じる場合、フィルタリングできるホストがあまりない可能性があります。別のロジックとしては、dst-limitレート制限のあるホストを使用することです。

  • レート制限リストを追加します:
/ip firewall address-list
add list=rate-limit
  • 次にフィルタリングルールを設定します。
    • WAN 上のすべての新しい接続のレート制限チェーンにジャンプします。
    • 過去1分間に10回の接続があり、そのうち5回はバースト接続されたか、dst-address2分間の非アクティブ後にリセットされたかを確認します。
    • dst-limit に達した場合、戻りアクションはスキップされ、レート制限チェーンの次のアクション ( add-src-to-address-list10 分のタイムアウトを持つレート制限リストへのアクション) が実行されます。
/ip firewall filter
add chain=forward action=jump jump-target=rate-limit connection-state=new in-interface-list=WAN
chain=rate-limit action=return dst-limit=10/1m,5,dst-address/2m
chain=rate-limit action=add-src-to-address-list address-list=rate-limit address-list-timeout=10m
  • 最後に、ドロップを生データに追加して、リソースを節約します。
/ip firewall raw
add action=drop chain=prerouting src-address-list=rate-limit

接続数やタイミングを調整して、特定のニーズに合わせて微調整することができます。ファイアウォール/接続タブでパブリックIPのフィルターを使用して監視すると、

関連情報