IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Discussion :

Programme de protection contre le déni de service


Sujet :

Développement

  1. #1
    EJ
    EJ est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 84
    Points : 49
    Points
    49
    Par défaut Programme de protection contre le déni de service
    Bonjour, je dois écrire un pogramme qui potège un serveur contre le déni de service et le mieux serait de protéger contre le déni de service distribué également.
    Le principe pour l'instant est d'avoir 2 socket, un qui reçoit le traffic et un qui renvoie le traffic "correct" sur le serveur protégé et jette le traffic "attaquant".
    Pour savoir qu'on est en train de synflooder ma machine, mon prof a dit (c'est un boulot scolaire) que si SYN et RESET de la même IP se suivent, il était quasiment sûr qu’il s’agissait d'un SYNFlood.
    Première question: comment détecter qu'il s'agit d'un SYN et d'un RESET? En effet je n'ai pas bien compris comment tester le contenu de mes paquets. On m'a parlé dela librarie libpcap mais les liens que j'ai trouvés ne m'avancent pas beaucoup( http://www.hsc.fr/ressources/breves/pcap.html.fr ).
    De ce côté-là, l'algo de détection ressemble pour moi à un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Regarde le paquet
    Si syn && reset alors jette
    sinon envoie au serveur
    Ensuite, il va falloir tester si une adresse est spoofée. Alors là c'est bien simple, je n'ai pas la moindre idée de comment je vais pouvoir savoir ça... Des liens comme http://www.phrack.org/phrack/48/P48-14 et http://www.frameip.com/smartspoofing/ m'explique le fonctionnement des différents spoofing mais pas vraiment de principe pour s'en protéger.
    Je pédale un peu dans la semoule et Google n'est plus mon ami... >_<
    Merci d'avance

  2. #2
    Membre éprouvé
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Points : 1 166
    Points
    1 166
    Par défaut
    Salut

    Tu programmes sous Linux ?
    Regarde à cette adresse : http://la-cave.homelinux.com/Hacking/Sniffing/Programmation%20d'un%20Sniffer.txt
    Ca explique comment programmer un sniffer. Entres autres, ça explique comment récupérer les packets ACK, RST et SYN. Tu peux t'en inspirer.
    Et je pense qu'un sniffer c'est pas mal aussi pour détecter les paquets "louches".

    Après, je sais comment se protéger du spoofing mais détecter si une adresse est spoofée, je vois pas. Il y a certainement une méthode. Je vais voir.

    Nas'

  3. #3
    Membre émérite
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Points : 2 568
    Points
    2 568
    Par défaut
    Bonjour, je dois écrire un pogramme qui potège un serveur contre le déni de service
    Bonjour,

    Si tu places 2 sockets, cela va "bien" marcher sur papier...

    Si tu penses par exemple qu'il y a 1 millions de requêtes sur le socket 1, même si il renvoie les "bonnes" connexion sur le socket 2, il y aura toujours 1 millions de requêtes sur le socket 1, qui va prendre 1 million de fois le temps de leurs traitement, et qui va nécessiter 1 millions de fois l'arrivé des divers paquets sur la bande passante, qui va aussi tronquer d'autant la bande passante des autres sockets et le temps du traitement des bons paquets.

    Donc le deny de service n’est pas aussi facile à éviter, enfin cela n’est que mon avis.

    Un des moyens serait de rediriger les bon sockets connectés sur le socket 1 et de les basculer sur une autre adresse ip, avec un deuxième serveur avec le socket 2, mais si la cible connaît le serveur numéro 2, il peut aussi lancer son dénie de service sur celui-ci, à moins de détecter l’attaque, de changer d’ip pour le serveur 2 et d’informer le serveur 1 pour que celui-ci redirige vers le nouvelle ip du serveur 2….

    Si un denie de service est lancé sur le serveur 1, le serveur 2 fonctionne normalement, donc pas de nouvelles connections, mais les nouveaux utilisateurs n’ont plus d’accès…

    Si une attaque sur les 2 en même temps, même cas de figure qu’avant….
    Avec sécurisation du serveur 2 mais le serveur 1 devrait rester fixe…

    Je ne sais pas si c’est vraiment compréhensible ce que je viens de dire
    Mais ce n’est vraiment pas un sujet simple, si tu as une solution à exposer, j’aimerais bien l’étudier !

  4. #4
    EJ
    EJ est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 84
    Points : 49
    Points
    49
    Par défaut
    Bon j'ai eu un peu du mal avec ce que vous m'avez dit et bref je patauge pas mal.
    Pour l'histoire des 2 sockets, je dis pas que c'est génial mais on n'a pas trouvé mieux pour l'instant.
    Pour le sniffer j'ai regardé mais j'ai un peu du mal... J'ai récup un synflooder pour analyser le fonctionnement mais y'a encore des trucs que je pige pas...
    Il est ici, j'ai commenté ce que j'ai cru comprendre...
    http://flying.kodama.free.fr/reseau/flood.c

    Pour le spoofé je crois qu'on laisse tomber parce qu'on n'a plus trop le temps, là... >_<

  5. #5
    EJ
    EJ est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 84
    Points : 49
    Points
    49
    Par défaut
    Bon on s'est dépatouillés avec nos socket, ça intéresse que je poste le code ou non?

  6. #6
    Membre régulier
    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juillet 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 89
    Points : 106
    Points
    106
    Par défaut
    Oui

  7. #7
    ovh
    ovh est déconnecté
    Rédacteur
    Avatar de ovh
    Homme Profil pro
    Architecte devops web full stack
    Inscrit en
    Mai 2002
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte devops web full stack

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 841
    Points : 6 514
    Points
    6 514
    Par défaut
    Linux a des mécanismes de base pour se protéger du spoofing et du flood :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
    echo "1" > /proc/sys/net/ipv4/tcp_syncookies
    Quant à détecter le spoofing rien de plus simple : il suffit de vérifier que sur l'interface réseau connectée à internet tu ne reçoives aucun paquet provenant de :
    10.0.0.0/8
    172.16.0.0/12
    192.168.0.0/16
    qui sont les plages d'adresses IP non routables réservées aux réseaux locaux.


  8. #8
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    je suis désoler je comprend pas grand chose a se que vous racontez mais j'ai un souci sur mon serveur de jeu (c'est un dedi ikoula) un type a décider de jeté son dévolu sur mon serveur et il parle de dénie de service justement;
    comment le contré je veux pas perdre mon argent pendent des mois a louer un serveur inutilisable
    ps un ami m'a dit que si j'arrive a avoir son ip je pourrai entré dans la console du dedi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    iptables -A INPUT -s 12.12.12.12 -j DROP
    (en remplacent les 12 par l'ip)

Discussions similaires

  1. Protection contre les SQL Injections ?
    Par kedare dans le forum JDBC
    Réponses: 9
    Dernier message: 05/05/2010, 10h42
  2. La meilleure protection contre le piratage des logiciels ?
    Par iubito dans le forum Débats sur le développement - Le Best Of
    Réponses: 184
    Dernier message: 23/12/2008, 13h35
  3. Réponses: 8
    Dernier message: 02/10/2006, 11h44
  4. [Sécurité] Protection contre le spam
    Par lhpp dans le forum Langage
    Réponses: 3
    Dernier message: 20/09/2006, 10h31
  5. PROTECTION CONTRE LES ASPIRATEURS DE SITE
    Par squalito dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/01/2005, 14h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo