2009/6/22 jul <jul_...@yahoo.fr>:
> Bonjour,
>
> En réaction à la publication par rsnake d'un outil pour faire du DoS sur
> Apache en quelques paquets [1], je souhaitais savoir si des
> vérifications/mesures particulières ont été prises par les
> opérateurs/hébergeurs ?
>
> A priori, il semble que les contre-mesures soient limitées
> * Éventuellement, absorption par les load-balancers ou reverse proxy
> * Diminuer le Timeout Apache
> * Module pour limiter le nombre de connexion par IP
>
> Commentaires ?

Limiter par le nombre de connexions n'est pas toujours une solution viable
surtout lorsque les clients HTTP sont derrières un proxy HTTP ou du NAT.
(donc utilisant la même source IP)

Le TimeOut dans Apache semble une solution mais ne fait que demander
au "client" DoS d'augmenter le débit des connexions (en gros, il faut donc plus
de bande passante à l'attaquant). De plus, l'équilibre entre le TimeOut d'une
application serveur qui prends un peu de temps et le TimeOut du client peut
rendre cela encore plus difficile.

Pour l'instant, il semble qu'une bonne contre-mesure soit le
"load-balancer"/reverse
proxy. Je viens de le tester sur une machine sans aucune modification
sur la partie Apache httpd,
juste changer le port de 80 vers 8080 et le binding en localhost. En utilisant
Perlbal (http://www.danga.com/perlbal/) comme load balancer avec une
simple config
de ce genre :

CREATE POOL httpserver
  POOL httpserver ADD 127.0.0.1:8080

CREATE SERVICE balancer
  SET listen          =  1.2.3.4:80
  SET role            = reverse_proxy
  SET pool            = httpserver
  SET persist_client  = on
  SET persist_backend = on
  SET verify_backend  = on
ENABLE balancer

J'ai aussi augmenter la limite des fichiers ouverts pour Perlbal (via
un simple ulimit -n).

Cela semble bien résister à slowloris.pl mais bon il n'y a pas
vraiment de solutions
miracles pour ce vieux soucis du DoS avec sessions persistantes.

adulau

-- 
--                   Alexandre Dulaunoy (adulau) -- http://www.foo.be/
--                             http://www.foo.be/cgi-bin/wiki.pl/Diary
--         "Knowledge can create problems, it is not through ignorance
--                                that we can solve them" Isaac Asimov
---------------------------
Liste de diffusion du FRnOG
http://www.frnog.org/

Répondre à