A sugestão para o conjunto de regras principal é boa, mas a regra real que você deve usar é
modsecurity_crs_11_brute_force.conf
Esta regra é especialmente para o seu caso: protege determinado URL de ser forçado a brute e bloqueia o IP que inicia este ataque de força bruta . Você pode configurar esta regra no arquivo de configuração
modsecurity_crs_10_setup.conf
Neste arquivo de configuração, modifique a variável tx.brute_force_protected_urls
na regra 900014 com as URLs que você deseja proteger:
SecAction \
"id:'900014', \
phase:1, \
t:none, \
setvar:'tx.brute_force_protected_urls=#/error/404.html#, #/error/403.html#', \
setvar:'tx.brute_force_burst_time_slice=60', \
setvar:'tx.brute_force_counter_threshold=2', \
setvar:'tx.brute_force_block_timeout=300', \
nolog, \
pass"
A variável tx.brute_force_burst_time_slice
especifica o período de tempo em segundos dentro de um certo limite deve ser excedido . Pelo que entendi bem, use 60. A variável tx.brute_force_block_timeout
define a hora em que o IP do forcado de brute é bloqueado . A variável tx.brute_force_counter_threshold
é um pouco complicada. Ele define com que frequência você pode acessar um URL antes de ser bloqueado. Não é o número exato, mas com o valor 2 ou 3 você deve obter um resultado muito bom para sua regra de bloqueio após 10 solicitações.