Originariamente avevo pubblicato questo post su webmasters.stackexchange.com , ma mi è stato detto che avrei avuto una ricezione migliore qui.
Negli ultimi giorni, ho sofferto di quello che sembra essere un attacco DDOS (presumibilmente involontario). Ho ricevuto così tante richieste da un agente che si identifica come "Mozilla / 4.0 (compatibile; ICS)" che Apache mangia attraverso tutta la memoria disponibile.
Di conseguenza, vorrei bloccare tutte le richieste accompagnate da questo agente utente, quindi ho provato a farlo in httpd.conf:
SetEnvIfNoCase User-Agent "Mozilla/4.0 (compatible; ICS)" bad_user
Deny from env=bad_user
Ma quando riavvio Apache si lamenta dell'utilizzo deny
qui. Senza doverlo racchiudere in un blocco location
o in un directory
blocco, il che significherebbe che dovrei aggiungere un nuovo blocco per ogni sito, c'è un modo in cui posso negare l'accesso all'intero server?
AGGIORNAMENTO: l'errore che ottengo
- Riavvio del server Web apache2
Errore di sintassi sulla riga 4 di /etc/apache2/httpd.conf: negare non consentito qui [esito negativo]
<Location>
in quanto ignora qualsiasi altra restrizione di autorizzazione<Directory>
, a meno che non si aggiungaAuthMerging And
. Vedi l'avvertenza sulla sicurezzaRequire
nei documenti di apache: httpd.apache.org/docs/2.4/mod/mod_authz_core.html#require