OVH Community, votre nouvel espace communautaire.

Sécurité / Develloppement / Solutions anti ddos


thomidefix
22/02/2011, 04h52
que de bonne idée bonne continuation l'ami

garderer
02/02/2011, 09h01
Pour le système de redondance nous allons le renomer en load balancing, il est disponible sur les bons serveurs de ovh.

D'après un ami le système de load balancing pourrais ouvrir une faille importante à moin de réfléchir vraiment au système. Est dans tous les cas le service n'est pas garantie car il y aura une déco obligatoire des utilisateurs, pendant le changement automatique du serveur. Le système est à réfléchir. Sinon j'attend de l'aide pour réservé tant de ressource pour un processus merci de m'aider.

Sinon vive Linux.

Cordialement Garderer

http://www.frenchosting.com/

garderer
01/02/2011, 17h56
Bonjour,

Je suis client OVH maintenant depuis au moins 2 ans.

J'ai reçues beaucoup d'attaques "udp" environs une tous les 2 mois, concurence déloyale, lamers etc...

Definitions Flood UDP : Le flood udp a pour rôle de saturer un traffic pour éviter de communiqué avec la machine cible, il sature aussi les ressources car il y'a un traitement des trâmes.

Je ne critiquerais pas OVH façes à leurs procédures de NullRoute en cas d'attaque, car si il l'on choisie ainsi, c'est que il y'a une raison.

Pour moi je n'acheterais pas le firewall pour différentes raisons :

-Le prix.
-De deux si une attaque entrante est supérieur à 100 Mbit's "firewall cicsco ASA 5505" alors tous le traffic sera bloqué... or la plupart des attaques que j'ai reçues venez de EXON ou encore de machine privée ou vps soit de 10 Gbit's ou 1 Gbit's de LAN Ovh.



Je ne sait pas si OVH à fait quelque chose, mais je reçoit parfois du flood du concurent (sa commence par un D ) l'attaque entrante et de 30 mbit's, est étant aussi client chez eux il ferme rapidement la machine grâce a un petit abuse, avec comme contenue un graphique est des logs iptables et tcpdump.



Depuis le temps que j'y travaille, j'ai trouvé quelques techniques façes aux problèmes (OS : Debian) :

Je conseille d'utiliser la commande "iptables -A INPUT -p udp -j LOG" pour au moins avoir les logs. pour les scripts "chmod 777 nomduscript.sh" PERMISSIONS.


-J'ai banni toutes les ranges de OVH et (le concurent sa commence par un D ) et quelques serveurs webs ou il et possible de flood via php, en autorisant mes ip dédiés et mir1.ovh.net pour l'update du kernel, tous cela en retirant le monitoring via le manager.

Code:
iptables -A FORWARD -s 94.23.0.0/16 -j DROP
iptables -A INPUT -s 94.23.0.0/16 -j DROP
iptables -I FORWARD -s 94.23.0.0/16 -j DROP
iptables -I INPUT -s 94.23.0.0/16 -j DROP

iptables -A FORWARD -s 91.121.0.0/16 -j DROP
iptables -A INPUT -s 91.121.0.0/16 -j DROP
iptables -I FORWARD -s 91.121.0.0/16 -j DROP
iptables -I INPUT -s 91.121.0.0/16 -j DROP

iptables -A FORWARD -s 188.165.0.0/16 -j DROP
iptables -A INPUT -s 188.165.0.0/16 -j DROP
iptables -I FORWARD -s 188.165.0.0/16 -j DROP
iptables -I INPUT -s 188.165.0.0/16 -j DROP

iptables -A FORWARD -s 178.33.0.0/16 -j DROP
iptables -A INPUT -s 178.33.0.0/16 -j DROP
iptables -I FORWARD -s 178.33.0.0/16 -j DROP
iptables -I INPUT -s 178.33.0.0/16 -j DROP

iptables -A FORWARD -s 87.98.0.0/16 -j DROP
iptables -A INPUT -s 87.98.0.0/16 -j DROP
iptables -I FORWARD -s 87.98.0.0/16 -j DROP
iptables -I INPUT -s 87.98.0.0/16 -j DROP

iptables -A FORWARD -s IP_DE_VOTRE_SERVEUR -j ACCEPT
iptables -A INPUT -s  IP_DE_VOTRE_SERVEUR -j ACCEPT
iptables -I FORWARD -s  IP_DE_VOTRE_SERVEUR -j ACCEPT
iptables -I INPUT -s  IP_DE_VOTRE_SERVEUR -j ACCEPT


iptables -A FORWARD -s 88.191.0.0/16 -j DROP
iptables -A INPUT -s 88.191.0.0/16 -j DROP
iptables -I FORWARD -s 88.191.0.0/16 -j DROP
iptables -I INPUT -s 88.191.0.0/16 -j DROP
Rajouté aussi vos ip failover en ACCEPT
Et la je suis plutôt étonné parfois sa flood pas, défois oui donc instable ou ralentie. et si l'attaque est supérieur à 3 serveurs alors il se retrouveras down obligatoirement et irrémédiablement.



-Script shell log vers Abuse


Grâce à un ami je nome (Sleek) qui c'est occupé de la partie tcpdump. j'ai mis en place un script qui reset les logs toutes les 6 minutes et qui rend visible "/var/log/messages" et "tcpdump" et "auth.log" via le serveur web.

Donc si je reçoit une attaques je peut parfois allez sur apache pour avoir l'ip est faire immédiatement l'abuse et parfois si l'abuse est inéficace (la plupart du temps) j'intervient à ma façons...

Seul souci les logs ne sont parfois pas visible depuis apache.

Pour faire un abuse : faire un whois, www.ping.eu pour les windowsien ^^. Obtenir le mail d'abuse ou se rendre sur le site de l'hébergeur et les contacter, en montrant le plus de preuvent possible (graphique, logs).

Lancé le script en screen :

Code:
#!/bin/bash


echo "####### Script LOG #######"
echo "Coded by Garderer & TCPDUMP by Sleek (Debian)"
sleep 2

echo "Le script doit être lancé dans une screen"

sleep 2

echo "Installation apache2"
apt-get install apache2 -y

echo " "
echo "[ ! ] Mentionné moi le raccourcie des logs IPTABLES souhaité pour que il soit visible à partir d'apache2 ( /var/www/fichierlog )  bien respecté les /"
read chemin
echo "[ ! ] Mentionné moi le raccourcie des logs TCPDUMP souhaité pour que il soit visible à partir d'apache2 ( /var/www/fichierlog2 ) bien respecté les /"
read chemin2
echo "Je crée donc les fichiers log"
ln -s /var/log/messages $chemin
chmod 7777 $chemin
sleep 1

echo "- Installation TCPDUMP"

apt-get install tcpdump -y

echo "- CMD LOG IPTABLES"

iptables -A INPUT -p udp -j LOG
iptables -A INPUT -p tcp -j LOG

echo "- Mise a Jour Kernel"

apt-get update && apt-get upgrade -y


echo "- Supression des Logs"


cd /var/log/

rm -rf /var/log/daemon.log
rm -rf /var/log/auth.log
rm -rf /var/log/debug 
rm -rf /var/log/dmesg 
rm -rf /var/log/dpkg.log
rm -rf /var/log/fail2ban.log
rm -rf /var/log/faillog
rm -rf /var/log/kern.log
rm -rf /var/log/lastlog
rm -rf /var/log/lpr.log
rm -rf /var/log/mail.err
rm -rf /var/log/mail.info 
rm -rf /var/log/mail.log
rm -rf /var/log/mail.warn
rm -rf /var/log/mysql.err
rm -rf /var/log/mysql.log
rm -rf /var/log/pycentral.log
rm -rf /var/log/rkhunter.log
rm -rf /var/log/syslog
rm -rf /var/log/user.log
rm -rf /var/log/wtmp

clear

echo "- Initialisation ..."

sleep 1

echo "- Lancement de la boucle"

cd /var/www/


a=5

while [ a > 0 ]
do


: > $chemin2 & tcpdump -nvv >> $chemin2 & : > /var/log/messages & echo "- Capture en cours" & sleep 500


killall tcpdump
rm -rf /var/www/0

done


exit 0
-Script shell automatique iptables.

Certains peuvent connaître DDOS Defaltes qui pour moi après beaucoup de test et de vérification ne fonctionne pas.

Donc j'ai fait un script shell perso.

Le script est fonctionnelle dans son ensemble je suis apte à se que nous la communauté nous l'améliorons façes à sont problème de ressource.

Toutes les secondes le script va utilisé le package qui indique la bande passante utilisé.

Je sauvegarde cela dans un fichier log incorporé dans /var/log

je découpe la dernière ligne de se fichier avec tail.

je récupère le chiffre de la bande passante.

Je déclare que si la bande passante utilisé est supérieur à tant (réglé en fonction de l'utilisation de mon serveur en testant sans bannir [prévoir une marge]) je vais bannir l'ip en découpant juste l'ip après "SRC=" de la dernières trame /var/log/messages

Si je prend la dernière ligne c'est que pendant un flood les logs sont bien flooder donc je suis sur et certain de tomber sur l'ip.

le script est dans un boucle avec un petit sleep qui ralentie celle-ci.

LE SOUCIS : le script se freeze pendant une attaque... il se bloque carement car il y'a trop de traitement "DOS" (merci a "Régulier" pour avoir tester lui aussi). La solution serais de réservé tant de ressource pour le script que il continue a fonctionner mais aucune idée de comment réaliser cela merci de m'aider vous la communauté.

Nom : antiddos.sh et antiddos2.sh il faut lancer les deux scripts en screen.

Code:
#!/bin/bash

#Script par Garderer
#testeur Régulier

> /var/log/banip
> /var/log/bandepassante2

f=10 # Nombre maxi de requete
a=5 # Boucle
v=6000


while [ a > 0 ]
do

bd=`tail -n 1 /var/log/bandepassante | cut -c1-10 | sed s/" "/""/g | cut -d "." -f1`
sleep 1
echo "- Bande Passante Utilisé : $bd" 


if [ $bd -gt $v ]

then

ip=`tail -n 1 /var/log/messages |cut -d "=" -f5|sed s/" DST"/""/g` 
echo "- IP SRC [$ip]"
e=`grep -c $ip /var/log/messages`
echo "- Nombre requêtes $e"


 


iptables -A FORWARD -s $ip -j DROP
iptables -A INPUT -s $ip -j DROP
iptables -A OUTPUT -s $ip -j DROP
iptables -I FORWARD -s $ip -j DROP
iptables -I INPUT -s $ip -j DROP
iptables -I OUTPUT -s $ip -j DROP

echo "- l'ip $ip est maintenant banni via iptables" >> /var/log/banip
  



fi

done
Pour antiddos2.sh

Code:
#!/bin/bash

/var/log/bandepassante

aptitude install ifstat -y
ifstat -z >> /var/log/bandepassante
-La Redondance



Je travail actuellement dessus, moi j'héberge plusieurs services avec un amie nous avons assemblé 4 serveurs dédiés mon principe de redondance et que les serveurs communique entre eux.



Exemple :



legende serveur1 serveur2 serveur3 serveur4



Prenons le cas du serveur1 :

Le serveur 1 envoie des backups toutes les heures aux serveur2; serveur3; serveur4.

Les serveurs serveur2; serveur3; serveur4 ping continuellement le serveur1.

Si il ne ping plus avec un système qui reconnais reeboot ou non, alors le serveur2 lance tous les scripts à lancé exemple (teamspeak [Logiciel vocal]) et redirige la redirection alpha.serveur1.no-ip.org automatiquement (lancement no-ip linux)

résultat les utilisateurs seront coupé et reconnecté.
Maintenant c'est le serveur3 qui surveille le 2. Si le serveur 1 reping on rebascule dessus.

En résumé c'est un système en crois et carré ^^ des 4 serveurs, supérieur au spamming tree.
si on flood la redirection ip, se que je doute fort (car il y'a un traitement à chaque fois de la résolution de l'host se qui ralentiras l'attaque) sinon il suffiras de routé la redirection IP vers gouv.fr comme sa même pas besoin d'un abuse (DCRI au rapport)



[En DEV]


-La discussion

Je vous assure que si vous savez vous exprimé, vous pourrez réglé une situation, faites preuvent de respect, tous le monde à le droits d'éxisté, de vivre, d'avoir un opignion.
Vous ne devriez pas avoir de souci si vous êtes sympatique.
Si la personne qui vous attaques n'as pas vraiment d'ambitions laissez le flooder il arreteras par lui même.




C'est la première fois ou je poste tous cela j'espère que cela pourras aider certains, ou encore que certains pourrons m'aider.
Nous sommes tous concernés, par se problème.

Cordialement Garderer.

http://www.frenchosting.com/ Site en Develloppement