À l'origine, j'ai publié cet article sur webmasters.stackexchange.com , mais on m'a dit que j'aurais une meilleure réception ici.
Depuis quelques jours, je souffre de ce qui semble être une attaque DDOS (probablement par inadvertance). J'ai reçu tellement de demandes d'un agent s'identifiant comme "Mozilla / 4.0 (compatible; ICS)" qu'apache mange à travers toute la mémoire disponible.
Par conséquent, je voudrais bloquer toutes les demandes accompagnées de cet agent utilisateur, j'ai donc essayé de le faire dans httpd.conf:
SetEnvIfNoCase User-Agent "Mozilla/4.0 (compatible; ICS)" bad_user
Deny from env=bad_user
Mais quand je redémarre apache, il se plaint de l'utiliser deny
ici. Sans avoir à l'envelopper dans un bloc location
ou directory
, ce qui signifierait que je devrais ajouter un nouveau bloc pour chaque site, existe-t-il un moyen de refuser l'accès à l'ensemble du serveur?
MISE À JOUR: L'erreur que j'obtiens
- Redémarrage du serveur Web apache2
Erreur de syntaxe sur la ligne 4 de /etc/apache2/httpd.conf: refus non autorisé ici [échec]
<Location>
car il remplace toutes les autres restrictions d'autorisation dans<Directory>
, sauf si vous ajoutezAuthMerging And
. Voir l'avertissement de sécurité surRequire
dans les documents apache: httpd.apache.org/docs/2.4/mod/mod_authz_core.html#require