5

NGINX 用のアンチ アプリケーション レイヤー攻撃モジュールを開発しており、1 秒あたり (毎秒) のリクエストをカウントする必要があります。アイデアは、リクエストレートが増加したときにフィルタリングをオンにする攻撃の自動検出器を作成することです。

現時点では、毎秒アクセス ログを読み取り、リクエスト レートを計算するシェル スクリプトの助けを借りてこれが行われています。問題は、これがパフォーマンス効率があまり良くないことです。

どうすればこれを達成できるかについてのアイデアがあれば、あなたの考えを共有してください。

ありがとうございました!

4

2 に答える 2

1

HttpLimitReqModule を使用できます。

http {
limit_req_zone  $binary_remote_addr  zone=one:10m   rate=1r/s;

...

server {

    ...

    location /search/ {
        limit_req   zone=one  burst=5;
    }

参照: http://wiki.nginx.org/HttpLimitReqModule

于 2012-06-21T08:40:33.363 に答える
-1

tail -f -saccess_log で使用します。それはかなり効果的です。

于 2012-06-21T18:04:59.970 に答える