Protéger votre blog d’un blast réalisé via des proxys anonymes

écrit par Aymeric

apache serveur HSL'un des blogs que j'héberge sur un serveur dédié été victime d'un blast bien sévère (ou mal paramétré?) hier soir...

Plusieurs tentatives de commentaires par seconde via la méthode POST, je vous laisse deviner la suite: un plantage du serveur Apache qui n'a pas tenu la charge, les requêtes en POST n'étant pas mises en cache par Varnish.

Voici comment j'ai pu bloquer l'attaque (pour que mon Apache ne soit pas cassé - cf photo).

Analyse des logs

J'ai tout d'abord dû rebooter le serveur électriquement puisque vu la charge CPU, la connexion SSH était inaccessible.
Ensuite via la commande #tail -100 /var/log/apache/access.log, j'ai pu constater de nombreux appels de la page /wp-comments.php d'un blog sur une des hôtes virtuelles.
L'adresse 'IP était différente à chaque fois mais comme je récupère l'en-tête %{X-Forwarded-For} dans mes logs de cette manière

LogFormat "%{X-Forwarded-For}i %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined

j'ai pu me rendre compte que c'était toujours la même IP qui se cachait derrière chaque proxy!

En effet, quand vous passer par un proxy anonyme (et non un High Anonymous Proxy - Elite), votre adresse IP n'est pas complètement masquée puisqu'elle est transportée dans les en-têtes HTTP via HTTP_X_FORWARDED_FOR.
Il me suffisait donc de bloquer l'adresse IP initiale du spammeur dans la configuration d'Apache.

Blocage de l'IP dans Apache

J'ai ouvert mon fichier de configuration Apache (ou .htaccess si vous n'y avez pas accès) en ajoutant la directive suivante:

RewriteCond %{HTTP:X-FORWARDED-FOR} ^123.45.67.89$
RewriteRule .* - [F]

* 123.45.67.89 est à remplacer par l'IP qui vous attaque.

Dès qu'une requête contenant l'adresse IP spécifiée dans l'en-tête X-forwarded-For est faite, une erreur 403 est retournée.
Me voilà débarrassé du spammeur, le serveur Apache tourne à nouveau correctement, sans utiliser toutes les ressources CPU: serveur OK 🙂
J'espère que cela vous sera utile.

écrit dans Apache par Aymeric | 37 commentaires

37 commentaires "Protéger votre blog d’un blast réalisé via des proxys anonymes"

  • TiPi Com and Web dit:
  • Diije dit:
    • Aymeric dit:
  • Robin dit:
  • Renardudezert dit:
    • Aymeric dit:
  • Antonin dit:
  • Jérôme dit:
  • Mikiweb dit:
  • Jice dit:
  • loran750 dit:
  • Guib dit:
  • KubX dit:
    • Aymeric dit:
  • Santé dit:
  • Christian dit:
  • Eroan dit:
  • GeekPress dit:
    • Aymeric dit:
      • GeekPress dit:
        • Aymeric dit:
          • GeekPress dit:
          • Aymeric dit:
  • Yoann dit:
  • ZeMag dit:
    • GeekPress dit:
  • Mickael dit:
  • Guillaume dit:
  • Tristan dit:
  • Sacrémenteur dit:
    • Aymeric dit:
  • arthus dit:
  • Thomas dit: