map $http_user_agent $scanner_key {
default "";
~*nuclei $binary_remote_addr;
~*fscan $binary_remote_addr;
~*python-requests $binary_remote_addr;
~*go-http-client $binary_remote_addr;
}
limit_req_zone $scanner_key
zone=scanner_limit:10m
rate=2r/s;
serverまたは対象location内:
limit_req zone=scanner_limit burst=5 nodelay;
mapのデフォルトを空文字にすると、通常利用者はこの専用制限の対象外になります。
ただし、User-Agentは偽装できるため、これは補助ルールです。
以下はJadeProxの公開IOCを利用した防御用ルール例です。
IPSインラインモードではdrop、監視だけを行うIDSモードではalertへ変更します。