Bonjour j'avais déjà posté des solutions, pour éviter le DDOS ici
http://forum.ovh.com/showthread.php?t=67535
On passe maintenant à autre chose.
Script ADDOS
Je vous présente aujourd'hui un script, qui et nomé ADDOS (Alerte-DDOS, Anti-DDOS).
- ADDOS c'est quoi ?
Addos est un script gratuit qui permet de détecter et de bloquer via iptables les ip effectuant des attaques de type ddos.
- Le DDOS ?
Le ddos (Distibuate denial of service) sert à remplir la bande passante d'un serveur, ou les ressources d'un serveur.
Il entraine par la suite, la chute de celui-ci.
- ADDOS comment ça marche ?
Il y a deux versions :
Sur un serveur physique, le script va observer la bande passante utilisé par le serveur, si la bande passante dépasse la limite incrémenté par vous même, alors le serveur passera à une vérification par ip.
Il fera 200 phases de vérifications d'ip. Si le nombre de requêtes en 2 secondes par ip, dépasse le nombre que vous avez définie à la configuration, alors le script procédera à un BAN iptables, suivie d'un envoi de mail détaillé, via postfix (inutile d'avoir un serveur mail entier mais juste sortant).
Une autre version pour la virtualisation, qui elle ne regardera pas la bande passante, mais directement le nombre de requetes par ip, il est plus difficile d'observer un réseaux en virtualisation.
-ADDOS fonctionne sur quel système d'exploitation ?
Addos fonctionne sous Debian 6 actuellement.
- à savoir :
Le script a des limites, il s'avère que si vous reçevez des attaques.
Exemple: plus de 30 serveurs en fonction de la capacité serveur.
Alors le script arrivera sûrement à vous envoyer le mail, mais pas à bloquer les sources des attaques. Nous avons effectuer des tests, qui sont très positifs.
Avec le script le serveur reste stable, mais par contre sans, il s'avère que il ne tient pas très longtemps...
Dans tous les cas celui-ci ne pourra que vous aider dans votre administration.
- Quelle utilité ?
Le script va donc vous loguer les attaques reçues et vous les faire parvenir par mail, il est donc plus rapide de faire des abus! Il essaye de bloquer les sources, mais il est limité si la bande passante du serveur et remplie, ou si le serveur sature niveau traitement. Privilégié donc la bande passante, et les ressources, oui c'est sur il faut y mettre le prix.
- Attention :
En fonction de vos limites un "wget" peut s'avérer difficile, je vous conseille donc de le désactiver, si vous faites des manipulations de téléchargements, ou d'augmenter les limites.
- Attention pour le script dédié à la virtualisation :
Pour éviter des bugs sur le script de virtualisation les ban iptables ont été désactivés. Car le réseaux n'est pas gêré de la même façon.
Il sera peut être nécaissaire d'installer le package gcc
Code:
apt-get install gcc
Si vous n'arrivez pas à lancer le script avec "stoped" faites un
Code:
killall -9 scriptaddosV.sh.x
Le script devrait fonctionner alors sur debian 5 utilisé par proxmox 1.9
Problème d'envoi du mail d'alerte ?
Tapez la commande :
Code:
echo 'test' | mail -s "TEST" votreadresse@email.com
Si cela ne fonctionne pas essayez d'installer le package :
Code:
apt-get install postfix
Répondez-y, puis si il vous pose des questions sur la configuration séléctionnez "Site Internet"
FONCTIONNEMENT & INSTALLATION
Se rendre dans le bin
Ajouter les SOURCES avec nano :
Script pour un serveur physique [scriptaddos.sh] :
Code:
http://www.multiupload.ch/DQ1SHV1FHX
Script pour un serveur virtualisé (Sur serveur maître) [scriptaddosV.sh]
En page [2] sur le forum
Ajout des permissions :
Pour Serveur physique
Code:
chmod 777 scriptaddos.sh.x
Pour Serveur virtualisé
Code:
chmod 777 scriptaddosV.sh.x
Exécution :
Il est préférable d'éxécuter le script en tâche de fond (screen)
Lancer une screen :
Dans la screen tapez
Pour serveur physique :
Pour serveur virtualisé :
Code:
./scriptaddosV.sh.x
N'oubliez pas d'avoir souscrit à la licence gratuite.
Rappel de la gestion d'une screen :
Obtenir la liste des screen
Rejoindre la screen
Fermer le script ou quitter la screen et la fermer :
Fermer la screen :
Quittez la screen, en la laissant fonctionner en tâche de fond :
Configuration du script :
-Le script vous demandera votre e-mail
-Indiquez l'ip du serveur WAN
-Si vous ne virtualisez pas, indiquer le débit maximum de la bande passante. N'hésitez pas à la première exécution à incrémenter une grande valeur.
-Indiquer le nombre de requêtes maximale par ip, n'hésitez pas a la première exécution à mettre une grande valeur.
Le script procède aux installation des packages, et les scripts nécaissaires, avant l'éxécution un mail de test sera envoyé. Il est conseillé d'utiliser une adresse gmail. Vérifiez sa réception.
Si celui ci ne fonctionne pas. Il n'y a pas de suivi si vous rencontrez des problèmes d'envoie de mail.
Essayez de faire fonctionner la commande :
echo 'MAIL DE VERIFICATION' | mail -s "MAIL VERIF"
votreadresse@provider.fr
Fonctionnement :
Le script va donc observer la bande passante du serveur, si vous possédez le script pour serveur physique.
Et si vous posséder le script pour virtualisation, il va donc vous afficher des erreurs si vous n'avez pas de traffic (normal il ne trouve pas les ip pour comparer).
Si les phases de conditions sont respectés, le serveur, ou les serveurs, qui attaquent seront bloqués iptables et un mail d'alerte sera envoyé.
Voici un exemple du mail :
Code:
-------------- A.DDOS ----------------
Pour le IP.IP.IP.IP | DATE : 29-01-2012-07:46:04 PM
La bande passante utilise et de 33821 kbit/s
L adresse ip attaquante et SIP.SIP.SIP.SIP
Elle a effectué 91592 requetes en 2 secondes
--------------------------------------
IP SIP.SIP.SIP.SIP a été bloqué du serveur via iptables
---------------------------------------
####################################### WHOIS #########
% This is the RIPE Database query service.
% The objects are in RPSL format.
%
% The RIPE Database is subject to Terms and Conditions.
% See http://www.ripe.net/...-conditions.pdf
% Note: this output has been filtered.
% To receive output for a database update, use the "-B" flag.
% Information related to 'SIP.SIP.0.0 - SIP.SIP.255.255'
inetnum: SIP.SIP.0.0 - SIP.SIP.255.255
netname: FR-OVH-20100119
descr: Ovh Systems
country: FR
org: ORG-OS3-RIPE
admin-c: OK217-RIPE
tech-c: OTC2-RIPE
status: ALLOCATED PA
mnt-by: RIPE-NCC-HM-MNT
mnt-lower: OVH-MNT
mnt-routes: OVH-MNT
mnt-domains: OVH-MNT
source: RIPE # Filtered
organisation: ORG-OS3-RIPE
org-name: Ovh Systems
org-type: LIR
address: OVH SAS
140 quai du Sartel
59100 Roubaix
France
phone: +33 3 20 20 09 57
fax-no: +33 3 20 20 09 58
admin-c: GM84-RIPE
admin-c: OK217-RIPE
admin-c: OTC2-RIPE
mnt-ref: OVH-MNT
mnt-ref: RIPE-NCC-HM-MNT
mnt-by: RIPE-NCC-HM-MNT
source: RIPE # Filtered
role: OVH Technical Contact
address: OVH SAS
address: 2 rue Kellermann
address: 59100 Roubaix
address: France
admin-c: OK217-RIPE
tech-c: GM84-RIPE
nic-hdl: OTC2-RIPE
abuse-mailbox: abuse@ovh.net
mnt-by: OVH-MNT
source: RIPE # Filtered
person: Octave Klaba
address: OVH SAS
address: 2 rue Kellermann
address: 59100 Roubaix
address: France
phone: +33 9 74 53 13 23
nic-hdl: OK217-RIPE
abuse-mailbox: abuse@ovh.net
mnt-by: OVH-MNT
source: RIPE # Filtered
% Information related to 'SIP.SIP.0.0/15AS16276'
route: SIP.SIP.0.0/15
descr: OVH ISP
descr: Paris, France
origin: AS16276
mnt-by: OVH-MNT
source: RIPE # Filtered
####################################### PING ##########
PING www-cctld.l.google.com (74.125.230.248) 56(84) bytes of data.
64 bytes from par08s10-in-f24.1e100.net (74.125.230.248): icmp_req=1 ttl=56 time=4.46 ms
--- www-cctld.l.google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 4.464/4.464/4.464/0.000 ms
####################################### CREDITS ########
Script cree par Garderer
####################################### LOGS ###########
SIP.SIP.SIP.SIP.38560 > IP.IP.IP.IP.80: [udp sum ok] UDP, length 50
SIP.SIP.SIP.SIP.38560 > IP.IP.IP.IP.80: [udp sum ok] UDP, length 50
SIP.SIP.SIP.SIP.38560 > IP.IP.IP.IP.80: [udp sum ok] UDP, length 50
SIP.SIP.SIP.SIP.38560 > IP.IP.IP.IP.80: [udp sum ok] UDP, length 50
SIP.SIP.SIP.SIP.38560 > IP.IP.IP.IP.80: [udp sum ok] UDP, length 50
SIP.SIP.SIP.SIP.38560 > IP.IP.IP.IP.80: [udp sum ok] UDP, length 50
SIP.SIP.SIP.SIP.38560 > IP.IP.IP.IP.80: [udp sum ok] UDP, length 50
SIP.SIP.SIP.SIP.38560 > IP.IP.IP.IP.80: [udp sum ok] UDP, length 50
SIP.SIP.SIP.SIP.38560 > IP.IP.IP.IP.80: [udp sum ok] UDP, length 50
SIP.SIP.SIP.SIP.38560 > IP.IP.IP.IP.80: [udp sum ok] UDP, length 50
SIP.SIP.SIP.SIP.38560 > IP.IP.IP.IP.80: [udp sum ok] UDP, length 50
SIP.SIP.SIP.SIP.38560 > IP.IP.IP.IP.80: [udp sum ok] UDP, length 50
SIP.SIP.SIP.SIP.38560 > IP.IP.IP.IP.80: [udp sum ok] UDP, length 50
SIP.SIP.SIP.SIP.38560 > IP.IP.IP.IP.80: [udp sum ok] UDP, length 50
SIP.SIP.SIP.SIP.38560 > IP.IP.IP.IP.80: [udp sum ok] UDP, length 50
SIP.SIP.SIP.SIP.38560 > IP.IP.IP.IP.80: [udp sum ok] UDP, length 50
SIP.SIP.SIP.SIP.38560 > IP.IP.IP.IP.80: [udp sum ok] UDP, length 50
SIP.SIP.SIP.SIP.38560 > IP.IP.IP.IP.80: [udp sum ok] UDP, length 50
SIP.SIP.SIP.SIP.38560 > IP.IP.IP.IP.80: [udp sum ok] UDP, length 50
SIP.SIP.SIP.SIP.38560 > IP.IP.IP.IP.80: [udp sum ok] UDP, length 50
########################################################
Bonne utilisation, et bonne administration.