Documentos de Académico
Documentos de Profesional
Documentos de Cultura
attaques DOS
Dany Fernandes et Papa Amadou Sarr
Mai 2010
Sommaire
Remerciements ................................................................ 3
Introduction .................................................................. 4
1. Une attaque connue : le dni de service ........................................... 5
1.1. Quest ce que le dni de service ............................................. 5
1.2. Dni de service distribu ................................................... 5
1.3. Les principaux types dattaque .............................................. 6
1.4. Historique des grandes attaques ............................................. 7
1.5. La nouvelle arme des pirates ................................................ 7
2. Le Syn Flooding ............................................................. 8
2.1. Nature de lattaque ....................................................... 8
2.2. Ralisation de lattaque .................................................... 9
2.3. Rsultats de lattaque .................................................... 11
2.4. Mesures de protection .................................................... 11
2.5. Dtection de lattaque .................................................... 17
2.6. Raction de lattaquant ................................................... 19
3. Les honeypots ............................................................. 20
3.1 Types de honeypots ...................................................... 20
3.2 Les honeynets........................................................... 21
3.3 Honeynets virtuels ....................................................... 21
3.4 Avantages et inconvnients des honeypots .................................... 22
3.5 Quelques solutions existantes .............................................. 22
3.6 Honeyd .................................................................. 23
4. Conclusion ................................................................ 25
Rfrences .................................................................. 26
Annexes .................................................................... 27
Remerciements
Avant dentamer ce rapport, nous tenons remercier le tuteur de notre projet, M. Osman
Salem pour toute laide quil nous a apport durant ces 5 mois de projets. Nous remercions
galement Dominique Seret pour lintrt port notre projet et galement pour son cours dSSIC
du premier semestre qui nous a donn envie de poursuivre dans la scurit informatique. Enfin,
nous remercions Ahmed Mehaoua pour son cours de rseau avanc qui nous a permis davoir les
bases de rseau ncessaire la ralisation du projet.
Introduction
Aujourdhui, les rseaux informatiques sont de plus en plus dvelopps, que se soit chez les
particuliers ou dans le domaine professionnel. Lexpansion des systmes informatiques mais surtout
de linternet ces dernires annes ont rendu les rseaux indispensables pour les entreprises.
Mais si toutes ces innovations ont apports de trs nombreux avantages aux entreprises, elles
sont accompagnes de nouveaux risques inhrents ces nouvelles technologies, le piratage
informatique. En effet, ces attaques sont de plus en plus nombreuses, efficaces et simple mettre en
uvre. Elles sont utilises pour lespionnage industrielle (vols dinformations confidentielles) ou
simplement du parasitage (destruction de donnes numriques ou arrt de service). Dans le cadre de
notre projet, nous nous intresserons aux attaques de types dnis de service, qui sont les plus
rependues. Ce type dattaque nest pas dangereux pour les donnes numriques du rseau, mais a
pour objectif de rendre indisponible un service propos par une entreprise, par exemple un site de
commerce en ligne ; une entreprise ne peut se permettre davoir son site indisponible pendant
plusieurs heures ou jours.
Dans un premier temps, nous allons dfinir ce quest le dni de service, pour comprendre
leur fonctionnement et leur mise en uvre. Nous verrons ensuite quels sont les moyens qui sont
notre disposition pour se prmunir de ce genre dattaque.
ordre tous les htes distants. Ensuite, ceux-ci vont attaquer la cible suivant une technique choisie
par le hacker. Il existe des attaques de type agressives , dont le but de faire crasher compltement
la cible, ou encore des attaques de type "stream" (TCP ACK sur des ports au hasard).
Les DDoS se sont dmocratises depuis quelques annes. En effet, leur dbut, ces attaques
ncessitaient de bonnes connaissances de la part des attaquants. Mais prsents, il existe des outils
pour organiser et mettre en place l'attaque. Ainsi le processus de recherche des htes secondaires
(ou zombies) a t automatis. En reprant certaines failles courantes sur les machines prsentes sur
Internet, l'attaquant finit par se rendre matre (accs administrateur) de centaines voir de milliers de
machines non protges. Il installe ensuite les clients pour l'attaque secondaire et essaye galement
d'effacer ses traces. Une fois le rseau en place, il n'y a plus qu' donner l'ordre pour inonder la
victime finale de paquets inutiles.
Il est intressant de noter que les victimes dans ce type d'attaques ne sont pas que celles qui
subissent le dni de service; tous les htes secondaires sont galement des machines compromises
jusqu'au plus haut niveau (accs root), tout comme l'hte matre. La menace provient du fait que les
outils automatisant le processus ont t trs largement diffuss sur Internet. Il n'y a plus besoin
d'avoir des connaissances pointues pour la mettre en place.
Ce type dattaque reste trs difficile contrer ou viter : il sagit donc dune menace que beaucoup
craignent. En effet, cette attaque est trs dvastatrice, et ne provient plus seulement dune seule
machine, mais dun rseau tout entier. Sachant le nombre de machines non scurises prsentes sur
Internet, on peut imaginer lampleur dune telle attaque.
Il nest donc pas vident de sen protger tant donn que l'identit des attaquants change souvent et
que le temps ncessaire pour organiser une protection adquate est bien souvent suprieur au temps
ncessaire pour mettre mal la victime. Il est donc avant tout primordial de localiser linitiateur et
de reprer sa signature. La dtection d'un trafic suspect peut servir de prvention.
La pile TCP/IP peut s'avrer incapable de grer cette exception et le reste du trafic.
Smurfing : consiste envoyer un ping en diffusion sur un rseau (A) avec une adresse IP
source correspondant celle de la cible (B). Le flux entre le port ping de la cible (B) et du
rseau (A) sera multipli par le nombre de machines sur le rseau (A), conduisant une
saturation de la bande passante du rseau (A) et du systme de traitement des paquets de (B).
Lattaque land : consiste envoyer des paquets TCP comportant une adresse source IP et un
numro de port identiques ceux de la victime. Le host attaqu pense alors qu'il parle lui
mme ce qui gnralement provoque un crash.
Les bombes e-mail : le mail bombing consiste envoyer de gros ou de nombreux fichiers
un utilisateur pour saturer sa bote de rception de courrier lectronique.
Lattaque Unreachable Host : cette attaque envoie des messages ICMP "Host Unreachable"
une cible, provoquant la dconnexion des sessions et la paralysie de la victime, mme si ils
sont envoys faible cadence.
Ce cyber crime fut perptr par un groupe de trois pirates russes, jusqu' ce que la police locale ne
les arrte. Leurs cibles taient des banques et des socits de paris britanniques (bookmakers) que
les pirates soumettaient des dnis de service distribus et des extorsions de fonds en change de
leur arrt, soit entre 15 000 et 45 000 euros. Les attaques avaient lieu lors des pics d'audience des
sites de paris, perturbant fortement leurs activits.
Cet exemple ne fait quillustrer le fait que cette nouvelle arme est maintenant utilise de plus en
plus couramment. Toutes les socits grant de l'argent sont menaces, aucune n'est l'abri. Toute
socit accessible par Internet est ouverte est potentiellement en danger. On remarque dailleurs le
nombre d'attaques de ce genre augmente chaque anne.
2. Le Syn Flooding
Parmi les attaques prcdemment cites, nous nous sommes principalement focaliser sur les
attaques de type Syn Flood pour saturer un service en l'inondant de requtes. Sa mise en uvre a
requis l'utilisation d'attaques sous-jacentes comme l'IP-Spoofing, PING-Flood.
mcanisme d'expiration permettant de rejeter les paquets au bout d'un certain dlai. Nanmoins,
avec un nombre de paquets SYN trs important, si les ressources utilises par la machine cible pour
stocker les requtes en attente sont puises, elle entre dans un tat o elle ne peut fournir le service.
Bien utilis, HPING permet d'effectuer un dni de service avec par exemple la commande suivante:
hping3 -i u10 192.168.0.11 -p 80 -S
qui envoi l'adresse 192.168.0.11, sur le port 80, des paquets de type SYN l'intervalle de 10
micro-secondes.
Mais avant tout, pour raliser une attaque, la premire tape consiste scanner les ports ouverts
d'une machine donne pour en chercher les vulnrabilits. Pour cela, nous avons utilis l'outil nmap:
nmap -p 1-100 192.168.0.11
avons fait une attaque dans un rseau local, il nous a donc suffit de dconnecter la machine dont
nous avons usurp l'identit pour l'empcher de rpondre la machine attaque, et donc l'empcher
de librer de l'espace mmoire.
Ce nombre correspond au temps d'attente avant retransmission d'une requte qui n'a pas t
acquitt. Il est de 75 secondes par dfaut. On peut le paramtrer 30 secondes par exemple.
2.4.2. SYN-cookies
Le problme dans l'attaque de SYN FLOODING est le remplissage de la file d'attente des
connexions moitis ouvertes. A chaque fois qu'un paquet SYN est reu les informations
concernant la connexion sont stockes dans une file. Une fois que l'attaquant envoy un nombre
suffisant de paquets SYN la file se rempli compltement et de nouvelles connexions ne sont plus
possibles, ce qui engendre l'indisponibilit du service. Il faudrait donc supprimer cette file d'attente.
Le serveur n'a en fait pas besoin de stocker les informations de la connexion, contenues dans le
paquet SYN (adresse IP et port du client et du serveur), vu qu'elles sont galement prsentes dans le
paquet ACK envoy par le client.
Un paquet ACK doit avoir les caractristiques du paquet SYN/ACK envoy par le serveur aprs une
demande de connexion. Ces informations sont les suivantes : adresse IP et port du client, adresse IP
et port du serveur, numro de squence du client, numro de squence du serveur. Ce dernier est
choisi par le serveur. Le but est de choisir ce numro en fonction des autres informations qui restent
11
identiques pour le paquet SYN initial et le paquet ACK du client. Il suffit ensuite de ne traiter les
paquets ACK dont le numro de squence du serveur correspond une fonction des autres
informations prsentes dans ce paquet (adresses IP, ports). On a donc insr des informations dans
le numro de squence du serveur, il n'y a donc plus besoin de stocker les informations de la
connexion dans une file d'attente.
Le numro de squence est calcul de la manire suivante :
les 5 premiers bits valent t mod 32 o t est un compteur temporel allant de paire avec un
secret.
les 3 bits suivant correspondent au MSS (Maximum Segment Size) slectionn par le
serveur. Cet encodage est indispensable puisque le serveur ne conserve pas ltat de la
connexion en cours de compltion et oublie donc plusieurs options TCP comme le MSS, le
window scale etc.
les derniers 24 bits correspondent au secret slectionn par le serveur.
Ce secret est un hash MD5 de ladresse source, de ladresse de destination, du port source, du port
de destination et enfin du compteur t.
Les SYN-cookies ne sont en fait activ que lorsqu'un flood est dtect, c'est--dire lorsque la file
d'attente des paquets SYN est pleine. Avant cela les demandes de connexions sont traites de
manire tout fait classique. Grce cette technique le service inond de paquets SYN continuera
rpondre aux demandes de connexions licites.
Les SYN-cookies sont implments dans le noyau Linux ainsi que dans FreeBSD mais pas activs
par dfaut. Ils ne sont pas prsents sous Windows mais il existe d'autres faons de se protger de
cette attaque sur ce systme.
Malheureusement les SYN-cookies ne sont pas compatibles avec certaines options TCP, notamment
celles spcifies dans les paquets SYN d'tablissement de connexion, vu qu'ils ne conservent aucun
tat avant la compltion effective de la connexion. Par exemple, un encodage du MSS dans le
paquet SYN t adapt en utilisant 2 bits de numro de squence pour reprsenter 4 valeurs MSS
communes prdfinies. Il ne peut pas non plus retransmettre de paquet SYN/ACK en cas de
disparit d'tats entre le client et le serveur d des pertes par exemple. C'est principalement pour
cette raison qu'ils ne sont pas activs par dfaut. Ils ne devraient l'tre que sur des serveurs
susceptibles d'tre victime d'une attaque de SYN flooding.
Un autre inconvnient des SYN-cookies est qu'ils utilisent un peu plus le CPU qu'une connexion ne
les utilisant pas, vu quils doivent gnrer un numro de squence en utilisant certaines
informations du paquet SYN (adresses IP, ports). Mais cela reste raisonnable, ce n'est qu'une petite
contrainte.
Enfin, tant donn que l'authentification de la connexion est base uniquement sur la valeur du
champ d'acquittement du paquet ACK envoy par le client, si un attaquant arrive deviner le
protocole d'authentification utilis par le serveur, il peut se faire passer pour n'importe qui. De plus
il peut galement inonder de paquets ACK le serveur pour tenter de crer une connexion. Et enfin,
un serveur utilisant des syncookies ne pourra pas effectuer un filtrage de paquets ACK, ce qui peut
permettre ventuellement un attaquant de passer travers un pare-feu qui filtre les
paquets SYN de demande de connexion.
Pour activer les SYN-cookies :
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
12
2.4.3. Firewall
Les firewalls sont des quipements rseaux qui permettent de filtrer les paquets entrants et
sortants afin de prvenir toutes attaques de lextrieur. Ils se basent sur un fonctionnement
squentiel et un ensemble de rgles pour autoriser seulement les connexions lgitimes. Dans le
cadre des DoS, le problme majeur est que les attaquant utilisent des connexions lgitimes pour
perptrer leurs attaques. De plus, les firewalls ne peuvent pas efficacement diffrencier les
connexions lgitimes et illgitimes. Par contre ils peuvent se rvler trs efficace pour contrer un
attaquant. En se basant sur les informations fournis par des quipements de dtections, on peut
appliquer des rgles trs prcises qui bloqueront uniquement les connexions malfaisantes, en se
basant sur le protocole, lIP ou le port.
De nombreux firewalls hardware ou software permettent de se prmunir contre les attaquants. Parmi
eux, un des plus courants est le firewall intgr au noyau Linux : Netfilter et son interface iptables.
Il prsente lavantage dtre open source donc gratuit et dtre assez facile apprhender. De plus,
cela na aucune influence sur sa puissance et sa modularit.
Quelques exemples de rgles simples pour bloquer certaines attaques :
TPC syn flood:
iptables -A INPUT -p tcp --syn -m limit --limit 1/second -j ACCEPT
UDP flood:
iptables -A INPUT -p udp -m limit --limit 1/second -j ACCEPT
PING flood:
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/second -j ACCEPT
Bien matriser un firewall peut tre une trs bonne protection contre la majorit des attaques et des
attaquants. Il est ncessaire de surveiller les connexions qui transitent sur son rseau pour tre
capable de bien se protger contre toutes menaces.
2.4.4 Des moyens de prventions
2.4.4.1 La dtection
Nous avons vu prcdemment qu'il est trs facile de mettre en place une attaque de type dni de
service qui soit efficace. Pour se prmunir de ces attaques, on doit pouvoir tre capable de dtecter
de manire efficace une attaque. Cependant, il peut tre difficile d'identifier un paquet licite d'un
paquet provenant d'un attaquant. Mais il existe plusieurs outils qui permettent avec plus ou moins
d'efficacit de dtecter/bloquer une attaque.
2.4.4.2 Les IDS
Un IDS (Intrusion Detection System) est un outil ou un ensemble d'outil dont l'objectif est de
surveiller le trafic entrant et sortant du rseau, dans le but de dtecter une attaque ou une intrusion
dans le systme et dclencher diffrentes alertes en fonction de sa configuration. Un IDS analyse le
rseau en temps rel, il ncessite donc des ressources matriels mais aussi en bande passante.
Il existe deux types d'IDS:
Les NIDS (Network Based IDS) assure la scurit au niveau rseau. Il va donc couter tout le trafic
du rseau et gnrer des alertes en cas de comportement anormal. Il se peut que l'on place plusieurs
NIDS dans le rseau comme le montre le schma suivant:
13
LIPS est un Systme de protection contre les intrusions et non plus seulement de reconnaissance et
de signalisation des intrusions comme la plupart des IDS le sont.
2.4.4.3 Les IPS
Le fonctionnement d'un IPS est similaire celui d'un IDS. Il capture le trafic du rseau puis
l'analyse. Mais au lieu d'alerter l'utilisateur d'une intrusion ou d'une attaque, l'IPS bloque
directement les intrusions en supprimant les paquets illgitimes. Pour informer l'utilisateur, l'IPS
peut aussi remplir un fichier de journalisation qui contiendra la liste des paquets supprims et
ventuellement un message indiquant la raison de cette suppression.
Cet outil est trs efficace pour contrer les attaques ou intrusions extrieurs mais possdes quelques
inconvnient:
Puisque l'IPS bloque ou supprime directement les paquets qu'il considre illgitimes sans en
alerter l'administrateur, il se peut que des faux positifs soient rejets par erreur, notamment si
le service est utilis trs fortement, l'IPS peut considrer qu'il subit un dni de service si ces
rgles sont mal dfinies.
Un autre inconvnient rside dans le fait que, dans le cadre d'un NIPS, si l'attaquant arrive
spoofer l'adresse IP d'un quipement du rseau, alors l'IPS bloquera cet quipement lorsqu'il
dtectera l'attaque. Mais il existe maintenant des techniques qui permettent d'viter ce genre
de problme, en crivant une liste des adresses IP ne pas supprimer.
Dernier inconvnient, lorsqu'une attaque et lance et arrte par l'IPS, celui-ci est dtect par
l'attaquant qui va essayer de contourner l'IPS.
C'est pourquoi les IDS sont plus utiliss que les IPS, bien que certains IDS ont des fonctionnalits
qui permettent de bloquer le trafic illgitime comme un IPS. C'est notamment le cas de Snort, l'IDS
que nous avons utiliss dans le cadre de notre projet.
2.4.4.4 Snort
Dfinition de snort:
Snort est un systme de dtection d'intrusion libre sous licence GPL. l'origine crit par Martin
Roesch, il appartient actuellement Sourcefire (dont l'acquisition par Check Point avait t prvue
en 2005 mais a t annule par la suite). Des versions commerciales intgrant du matriel et des
services de supports sont vendues par Sourcefire.
Snort est capable d'effectuer aussi en temps rel des analyses de trafic et de logger les paquets sur
un rseau IP. Il peut effectuer des analyses de protocole, recherche/correspondance de contenu et
peut tre utilis pour dtecter une grande varit d'attaques et de sondes comme des dpassements
de buffers, scans, attaques sur des CGI, sondes SMB, essai d'OS fingerprintings et bien plus.
Cependant, comme tout logiciel, Snort n'est pas infaillible et demande une mise jour rgulire.
Snort peut galement tre utilis avec d'autres projets open sources tels que SnortSnarf, ACID, sguil
et BASE (Basic Analysis and Security Engine) afin de fournir une reprsentation visuelle des
donnes concernant les ventuelles intrusions.
Source: http://fr.wikipedia.org/wiki/Snort
Fonctionnement de Snort:
Snort est compos de 4 blocs:
1. Le sniffer de paquets et le dcodeur se basent sur la librairie libpcap pour lire les trames qui
circulent sur le rseau
2. Le prprocesseur peut ensuite reprer les malformations, anomalies, etc. et les rparer.
15
3. Le moteur de dtection se base sur les flux normaliss et r-assembls pour reprer
d'ventuelles
4. Enfin, les vnements sont inscrits (logs au format unifi, base de donnes, etc.).
NetFilter est un module du noyau de Linux disponible depuis la version 2.4 du noyau. Il fournit
trois principales fonctionnalits:
- Filter : filtrage de paquet (Accepter ou rejetter des paquets)
-NAT :
change
la
source
ou
la
destination
IP
d'un
paquet
rseau
-Packet Mangling : Modifie les paquets (utilis par exemple pour la qualit de service, QoS)
Iptables est un outil permettant de configurer NetFilter.
Netfilter met dans une queue de message les paquets vers Snort_Inline qui n'ont pas t rejets par
iptables, dans l'espace utilisateur (user space) avec l'aide du module du noyau Linux ip_queue et
libipq. Puis, si un paquet correspond une signature d'attaque de Snort_Inline, il est marqu par
libipq et revient vers le noyau o est rejet.
Notre rgle permet Snort de dtecter tous les paquets de demande de connexion vers la cible. Dans
notre cas, les critres de ces paquets sont:
Grce cette rgle, Snort supprime tous les paquets correspondant aux critres prcits. Cependant,
la plupart de ces paquets sont probablement licites, car appartenant au trafic normal. Etant donn
que le but est de dtecter un comportement anormal, cest--dire une grande affluence de demande
de connexions, nous avons ajout notre rgle la dfinition dun seuil de tolrance :
drop tcp any any -> any 80 (msg : "Attention attaque synflloding"; flow: stateless; flags: S;
detection_filter: track by_dst,count 10,seconds 1; sid:1000001;)
Nous avons donc dfini ce seuil grce au paramtre detection_filter . Celui-ci possde les options
suivantes :
count: spcifie le nombre doccurrences provoquant lalerte
seconds: spcifie lintervalle de temps
track: by_dst , vrifie le nombre doccurrences par destination
Le choix des paramtres du seuil
Le choix des paramtres se rvle fort important, dautant plus quils sont troitement lis. En effet,
il existe 2 politiques :
la premire consiste minimiser la valeur des paramtres, cest--dire choisir un nombre
doccurrences trs petit pour un intervalle de temps peu lev. Dans ce cas, lattaque est trs
17
De mme, si le pirate emploie une adresse qui ne soit pas prsente sur le rseau, certains routeurs
sont configurs pour rpondre par un paquet ICMP de type host unreachable (il se peut que le
routeur rponde aussi avec des RST, ce qui empche la bonne ralisation de lattaque, nanmoins il
peut tre intressant de dtecter cette tentative) :
alert icmp any any -> any any (msg:"Host unreachable"; itype: 3; icode: 1; threshold: type both,
track by_dst, count 100, seconds 20; sid:1000002;)
Ces rgles elles seules ne suffisent pas mais elles permettent daffiner la diffrenciation des
bonnes alertes des mauvaises.
19
3. Les honeypots
Dans le cadre de notre projet TER du second semestre, nous avons choisi de nous intresser aux
honeypots ou pots de miel .
Un honeypot est une ressource de larchitecture de scurit dont le but est de se faire passer pour
une cible relle afin dtre attaque ou compromise. Autrement dit les honeypots sont des machines
de production destines attirer les pirates. Ceux-ci, persuads davoir pntrer le rseau, ont tous
leurs faits et gestes contrls.
Les diffrentes implmentations des honeypots reposent sur leur niveau dinteraction. Le terme
interaction dsigne linteraction entre le pirate et le systme pirat. Les honeypots sont
principalement diviss en deux catgories : les honeypots faible interaction et les honeypots
forte interaction :
Les honeypots faible interaction sont les honeypots les plus simples. Ils ne fournissent pas
de vritables services, ils se contentent de les simuler par lintermdiaire de script comme
Honeyd le propose et que nous allons utiliser par la suite.
Les honeypots forte interaction par contre fournissent de vrais services sur une machine
plus ou moins scurise. Nanmoins les risques sont trs nombreux puisque la machine est
trs vulnrable. Il faut donc sassurer que larchitecture sous jacente soit bien scurise.
recouvrement) dune manire directe, mais ils offrent des renseignements prcieux sur les
attaquants et leur comportement. Ces informations permettent une meilleure connaissance de la
communaut des attaquants (blackhat community), ce qui aide les professionnels de la scurit
informatique dans lamlioration de mthodes et mcanismes de protection.
3.6 Honeyd
1) Test avec une commande ping
Aprs l'installation d'honeyd (voir annexe), nous allons lancer Honeyd en mode interactif pour
vrifier si un de nos htes configurs rpond la commande ping. Lanons Honeyd en mode
interactif. Pour ce faire taper dans la console :
honeyd -d -p /etc/honeypot/nmap.prints -l /var/log/honeypot/honeyd.log -f
/etc/honeypot/honeyd.conf -i lo 10.0.0.0/8
Maintenant dans un autre terminal nous allons tenter de pinguer un de nos htes configurs. Pour
cela il suffit de taper la commande suivante :
ping 10.3.0.1
Nous nous rendons compte que Honeyd a bien reu notre ping grce au Reply quon voit au niveau
du terminal o on a lanc notre Honeyd :
Il est possible de trouver de nouveaux scripts sur le site officiel ladresse suivante :
http://www.honeyd.org/contrib.php Il est important de ne pas oublier tous les droits dexcutions
aux nouveaux scripts aprs leurs tlchargements.
A prsent nous allons lancer Honeyd et vrifier si un de nos htes que nous avons configurs rpond
lappel dun script. Nous avons choisi dmuler un service Telnet donc nous tenterons daccder
un de nos htes configurs par le port 23.
honeyd -p /etc/honeypot/nmap.prints -l /var/log/honeypot/honeyd.log -f /etc/honeypot/honeyd.conf i lo 10.0.0.0/8
Dans une autre console nous allons tenter daccder un de nos htes sur le port 23. Pour cela taper
dans la console :
telnet 10.3.0.1 23
Nous pouvons nous rendre compte queffectivement Honeyd a bien reu notre tentative daccs au
port 23. Honeyd est entirement mis en place il est alors possible de leurrer des attaquants
potentiels.
3) Rsultat
Grce son systme de script nous pouvons aisment nous rendre compte que Honeyd est un
honeypot trs souple. Attention tout de mme car Honeyd na pas t conu pour fonctionner dans
un systme de production mais plutt dans le domaine de la recherche pour pouvoir amliorer
lavenir la scurit dun rseau.
24
4. Conclusion
Les attaques par dni de services existent depuis de nombreuses annes et sont parfois mdiatiss.
Elles ont su se dvelopps au fur et mesure du dveloppement des systmes informatiques, tout en
tant simple mettre en uvre. Bien quaujourdhui, il existe des outils de dtections et de
protection contre le dni de service, ils sont toujours complexes mettre en place avec une
efficacit pas toujours optimale. Avoir une multitude doutil ne suffit pas, il faut surtout tre ractif
lorsque lon subit une attaque, mais aussi avoir une bonne politique de scurit, non pas pour
supprimer totalement les risques, car le risque zro nexiste pas, mais au moins limiter limpact
dune attaque de type dni de service face au service que lon protge. Mais aujourdhui, les pirates
ont accs des ressources de plus en plus importantes, leurs attaques sont donc de plus en plus
difficiles contrer. La lutte contre les pirates nest donc pas prte de sarrter.
25
Rfrences
http://www.honeynet.org/
http://www.ubuntu-fr.org/
http://openmaniak.com/
http://www.ouah.org/hpin2.htm
http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_9-4/syn_flooding_attacks.html
http://www.symantec.com/connect/fr/articles/hardening-tcpip-stack-syn-attacks
http://www.linux-france.org
http://www.commentcamarche.net
http://tomicki.net/syn.flooding.php
http://emergingthreats.net/
http://www.student.montefiore.ulg.ac.be/
26
Annexes
Installation de snort :
1re tape Installation de Libnet
Libnet est une librarie requise par snort. La version de snort utilize requiert la version 1.0.x de
Libnet et nous avons choisi la version 1.0.2a :
cd /usr/src
wget http://www.packetfactory.net/libnet/dist/deprecated/libnet-1.0.2a.tar.gz
tar xzvf libnet-1.0.2a.tar.gz
cd Libnet-1.0.2a
./configure
make
make install
Modifier le fichier snort.conf pour que la variable RULE_PATH rfrence le nouveau fichier de
stockage des rgles
27
Installation dOinkmaster
Il est ncessaire d'installer les rgles de signature Snort et de les maintenir jour. Il existe plusieurs
site maintenant des liste de signature.
apt-get install oinkmaster
Site officiel de snort (http://www.snort.org) : Pour tlcharger les rgles Snort, nous avons besoin de
crer un compte gratuit sur le site web de Snort. Une fois connect avec votre compte Snort, vous
pouvez obtenir un code en bas de page.
Ouvrir le fichier /etc/oinkmaster.conf :
sudo gedit /etc/oinkmaster.conf
Modifiez le paramtre "url" :
url = http://www.snort.org/pubbin/oinkmaster.cgi/code/snortrules-snapshot-2.8.6.tar.gz
Ajoutez la ligne suivante:
modifysid * "^alert" | "drop"
Cration du dossier de sauvegarde.
mkdir /etc/snort_inline/backup
Ajouter un utilisateur appel oinkmaster :
useradd oinkmaster
Dfinir les permissions :
chown -R oinkmaster /etc/snort_inline/backup
chown -R oinkmaster /etc/snort_inline/rules
chown -R oinkmaster /var/run/oinkmaster
chmod 644 /etc/snort_inline/snort_inline.conf
28
Installation de Honeyd
Pour installer Honeyd, nous avons utilis Aptitude, en tapant la commande suivante : apt-get install
honeyd. Voici les principaux fichiers installs :
/etc/init.d/honeyd
/etc/logrotate.d/honeyd
/etc/default/honeyd
/usr/lib/honeyd
/usr/share/honeyd
/usr/share/doc/honeyd
/usr/include/honeyd
/usr/bin/honeyd
Nous tenons rappeler quon a utilis Ubuntu 9.10 qui est une distribution
GNU/Linux libre et gratuite.
Linstallation de Honeyd va aussi installer les dpendances suivantes :
-libpcap0.8
-rrdtool
-librrd4
- libdumbnetl
-farpd
-honeyd-common
La libpcap est une bibliothque de fonctions servant dinterface la capture de
paquets et est indpendante du systme.
RRDtool est un outil de gestion de base de donnes RRD permettant la sauvegarde
haute performance et le trac de graphiques, de donnes chronologiques.
Libdumbnetl est une bibliothque rseau, portative qui fournit une interface
simplifie pour plusieurs routines rseau
Farpd est un dmon ARP rpondant nimporte quel dmon ARP dun ensemble
dadresses Ip.
1- Fichier de configuration
Le fichier de configuration utilis est similaire au fichier install par dfaut. Pour le
29
visualiser cest simple. IL suffit de prciser dans la console avec quel diteur on souhaite
le visualiser (gedit par exemple) et prciser le chemin du fichier. Voici la commande :
gedit /etc/honeypot/honeyd.conf
2- Mise en place
Dans cette section nous allons utiliser la configuration par dfaut propose par
Honeyd dans le fichier honeyd.conf visualiser prcedemment.
route entry 10.0.0.1
route 10.0.0.1 link 10.2.0.0/24
route 10.0.0.1 add net 10.3.0.0/16 10.3.0.1 latency 8ms bandwidth 10Mbps
route 10.3.0.1 link 10.3.0.0/24
route 10.3.0.1 add net 10.3.1.0/24 10.3.1.1 latency 7ms loss 0.5
route 10.3.1.1 link 10.3.1.0/24
Pour faire fonctionner ce rseau virtuel ci-dessus il faudra au pralable dclarer une
route relle dans la table de routage pour latteindre. La passerelle utilise pour cette
route sera linterface lookpack (localhost) afin de ne pas perturber le rseau existant.
Pour cela il faudra taper dans la console la commande suivante :
route add -net 10.0.0.0 netmask 255.0.0.0 gw localhost
Voici un shema montrant la configuration actuelle :
30
Excution
Lexcution de fait laide la commande qui suit dans notre console :
honeyd -d -p /etc/honeypot/nmap.prints -l /var/log/honeypot/honeyd.log -f
/etc/honeypot/honeyd.conf -i lo 10.0.0.0/8
Attention : Avant lexcution il est ncessaire de crer le fichier honeyd.log et de lui administrer
tous les droits. Ceci est possible en tapant dans notre console la commande suivante :
touch honeyd.log
chmod 777 honeyd.log
Les dtails des paramtres de lexcution :
-d signifie quon lance notre honeyd en mode interactif
-p fichier des fingerprints
-f fichier de configuration
Voici ce quon voit lcran. Ceci signifie que tout fonctionne bien. Faisons un ctrl+C pour
arrter la commande. Puis nous allons maintenant lancer notre dmon honeyd. Mais avant cela nous
31
32