OVH Community, votre nouvel espace communautaire.

Se proteger contre le DoS ou le DDoS


MasterOfQuebec
19/11/2009, 02h34
Ceci n'est selon moi pas une vrais protection contre une attaque DOS ou le DDOS (si il s'agit d'un flood udp par exemple ceci ne pourra probablement rien y faire).

Tu as beau avoir le meilleur firewall qui est sur le marché ou celui qui est le mieux configuré si le mec envoi plus de données que la connexion de ton serveur peut en supporté (entre 100 mbits et 1 gbps normalement) tu ne peut plus en recevoir.

Le firewall que OVH propose ne protège pas contre ces attaques (selon les informations que je possède). Il peut uniquement réduire la charge du serveur dédié étant donnée que le firewall qui est installé sur ton dédié (si il y en a un), même si la plupart du temps quand il y a une attaque de 100 mbits par seconde la charge n'augmentera pas beaucoup.

Un des seuls moyens de se protéger contre ses attaques est d'avoir le plus de bande passante possible.

Les flood HTTP sont de plus en plus nombreux étant donné que avec une simple connexion ADSL ils peuvent rendre inaccessibles un site internet en quelques instant et sans avoir de connaissances. Peu de serveurs sont protégés contre ce type d'attaque qui est une attaque facilement bloquante en conditions normale. C'est pourquoi il s'agit selon-moi d'un très bon tutoriel pouvant aider beaucoup de gens.

Bonne continuation.

tdcmystere
18/11/2009, 23h40
oui bien sur , la possibilité d utiliser APF avec c'est un atout.

cmer81
18/11/2009, 21h53
Salut excellent tuto

Par contre le script

http://deflate.medialayer.com/ est utile sur les attaques tcp??

tdcmystere
18/11/2009, 21h45
ce n'etais que un exemple d'iptables chaqun choisis la methode la + approprié pour lui

fugitif
18/11/2009, 21h40
Citation Envoyé par tdcmystere
-- DOSSystemCommand: cette directive permet d'ajouter une commande de blocage d'ip
(exemple: "/sbin/iptables -A INPUT -p tcp --dport 80 -s %s -j REJECT" В %s )
Une remarque :
Cette commande (iptables) ne peu être lancer que par root. Elle ne fonctionne donc pas avec Debian / Ubuntu et sûrement pas mal d'autre distib.
Et si DoS il y a, il serait meilleur de DROP plutôt que REJECT.

tdcmystere
17/11/2009, 09h54
Bonjour a tous,

Après avoir lu tous les threads sur le DoS ou DDos et que a chaque fois y a les mémés questions j'ai décidé de poster ici quelques solutions et aussi la manière de connaitre si c'est vraiment une attaque ou pas.

on va commencer par voir ce qui passe par le port 80, pour cela on va utiliser tcpdump.

Code:
tcpdump -v -i eth0 dst port 80
Si l'output est très grand et défile a une vitesse très grande alors c'est possible que c'est une attaque.

on va maintenant loguer ce qui se passe sur eth0

Code:
tcpdump -v -n -w attack.log dst port 80 -c 250
-v niveau de log par default

-n on traduits les host's en ip's

-w enregistrement des logs dans un fichier

-c quantité des paquets a enregistrer

Maintenant on va passer a l'analyse de notre fichier Log

Code:
tcpdump -nr attack.log |awk '{print $3}' |grep -oE '[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}' |sort |uniq -c |sort -rn
on obtiens qqch dans ce genre

Code:
~# tcpdump -nr attack.log |awk '{print $3}' |grep -oE '[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}' |sort |uniq -c |sort -rn
reading from file attack.log, link-type EN10MB (Ethernet)
     90 87.88.49.46
     42 86.196.56.126
     39 79.88.188.76
     26 78.251.241.122
     16 82.249.101.183
     15 91.88.171.134
a gauche le nombre de connexions et a droite les ip's.

Si la liste est trop grande on peut ajouter le paramètre
Code:
head -20
après sort -m, pour en afficher juste 20 les plus grands.

Si vous voulez voir juste les ip's sans le nombre de connexions il suffit de retirer l'option
Code:
 -c
apres
Code:
uniq
.

créer un fichier ips.txt

Code:
nano ips.txt   et coller ici les ip's
Alors voila un script BASH qui permet de bloquer toutes les ip's sur la liste d'un coup

Code:
    #!/bin/bash
    BLOCKDB="ips.txt"
    IPS=$(grep -Ev "^#" $BLOCKDB)
    for i in $IPS
    do
    iptables -A INPUT -s $i -j DROP
Si une des vos pages est attaquée par la méthode GET vous pouvez stopper ca en mettant un peut de javascript sur votre page.

Code: