Upload
laurette-brossard
View
114
Download
4
Embed Size (px)
Citation preview
BetaSondeBetaSonde JRES JRES 20032003
DDRR
Outils de collecte pour réseaux gigabit
Une alternative à la technologie Cisco Netflow
david.rideau AT david.rideau AT grenet.frgrenet.fr
JRESJRES 20032003BetaSondeBetaSonde 22/33/33
DDRR
…Pour ne plus se faire pirater !!!…Pour essayer de se faire pirater un peu moins :-()
De quoi va-t-on discuter ?
D'une "beta" Sonde
Pour réseaux haut-débit
Indépendante du matériel actif
Qui génère des Netflows Cisco
Compatible avec NetMET et NetSEC
Dont le concept de "flows" pourra être exploité…
OpenSource
JRESJRES 20032003BetaSondeBetaSonde 33/33/33
DDRR
NetMET NetSEC
Netflows Cisco
RéseauEn
ÉtoileRouteur
d'entrée de site
Dans quel contexte ?
Mirr
orin
g
NetMET NetSEC
Netflows BetaSonde
Réseau extérieur
JRESJRES 20032003BetaSondeBetaSonde 44/33/33
DDRR
BetaSondeBetaSonde JRES JRES 20032003
DDRR
Commençons par le moins drôle…
Théorèmes et Définitions
JRESJRES 20032003BetaSondeBetaSonde 66/33/33
DDRR Qu'est-ce qu'un Flow ?
Données EthernetEntête
Ethernet
EntêteIP Données IP
EntêteUDP/TCP
Données UDP/TCP
SrcAddr
DstAddr
Protocol
DOctets
Input
Output
SrcPort
DstPort Clé d'identificationdu Flow
FirstDPkts Last
Créer = TS= 1 TS
Cumuler += TS++ NewTS
JRESJRES 20032003BetaSondeBetaSonde 77/33/33
DDRR Qu'est-ce qu'un Netflow V5 ?
Un Netflow est un Un Netflow est un datagramme UDPdatagramme UDP
Count SysUptimeVersion UnixNSecsUnixSecsReservedFlowSequence
Entête de Netflow V5 = Entête de Netflow V5 = 24 octets24 octets
30 flows 30 flows dede 48 octets 48 octets dans le corps du Netflow dans le corps du NetflowDstAddr NextHopSrcAddr
DstPortSrcPort
DOctets FirstDPkts LastProtpad1flag Tos DstASSrcAS
OutputInput
Srcmask
Dstmask Pad2
2424 + + 30 x 4830 x 48 = 1464 octets de données = 1464 octets de données
+ + 88 (entête UDP) (entête UDP)
c'est l'Amérique :-)c'est l'Amérique :-)
+ + 2020 (entête IP) (entête IP)
= = 14921492 octets inférieur à 1500 (MTU octets inférieur à 1500 (MTU ethernet)ethernet)
FlowSequence
DstAddrSrcAddr
DstPortSrcPort
DOctets FirstDPkts LastProt
OutputInput
JRESJRES 20032003BetaSondeBetaSonde 88/33/33
DDRR
Octobre 2002
Mars 2003
Juillet 2003
Octobre 2003
Août 2003
Du concept à la Version "beta"
Début du projet
Version 0dans le guidon !
Ntop :-(
Reflexions…
Version 1
RTT :-)
Tests…Concluants :-)
JRES 2003Champagne !
JRESJRES 20032003BetaSondeBetaSonde 99/33/33
DDRR La Version beta
Stocker le flowExtraire le flow
Interface réseau
Capturer toutes les trames
Interface réseau
Envoyer les Netflows V5
Créer processus
Processus
Collecte
Créer processus
Processus
Export
Allouer la mémoire
Stock de Flows
en Mémoire partagée
Programme
principal
Gestion mémoire
Etape Critique !!!
JRESJRES 20032003BetaSondeBetaSonde 1010/33/33
DDRR Le mot d'ordre : efficacité
Allocation dynamique en une seule étape pour N flows
SrcAddrSrcAddr
Clé d'identificationClé d'identification
DstAddrDstAddrProtProt SrcPortSrcPort DstPortDstPort PèrePère FilsGFilsG FilsDFilsD
ChaînageChaînage
firstfirst lastlast dPktsdPkts dOctetsdOctets
DonnéesDonnées
indiceindice
00
11
n - 1n - 1
22
33
n - 2n - 2
Espace libreEspace libre
Flows en cours d'utilisationFlows en cours d'utilisation
Flows à exporterFlows à exporter
currentcurrent
firstfirst
exportexport
maxmax
JRESJRES 20032003BetaSondeBetaSonde 1111/33/33
DDRR
clécléindiceindice firstfirst lastlast dPktsdPkts
eebbaahhii
00
11
22
33
44
100100
110110
200200
400400
600600
100100
110110
830830
480480
700700
11
88
44
22
6464
10241024
81928192
40964096
20482048
6553665536
dOctetsdOctets
Cumuler dans un flow existant
aa
bb
hh
iiee
Existe ?Existe ?
OuiOuiCumulerCumuler
UpdateUpdate+1+1
+=+=
870870 22 20482048
Trame 1 (ts = 870)
Flow 1 (dOctets = 1024 ; clé = e)
JRESJRES 20032003BetaSondeBetaSonde 1212/33/33
DDRR
ss55
Créer un nouveau flow
ss
Trame 1 (ts = 870)
Flow 1 (dOctets = 1024 ; clé = e)
eebbaahhii
cléclé
00
11
22
33
44
indiceindice
100100
110110
200200
400400
600600
firstfirst
870870
110110
830830
480480
700700
lastlast
22
88
44
22
6464
dPktsdPkts
20482048
81928192
40964096
20482048
6553665536
dOctetsdOctets
Existe ?Existe ?
NonNon
CréerCréer
aa
bb
hh
iiee
===1=1 = =
900900 900900 11 10241024
Trame 2 (ts = 900)
Flow 2 (dOctets = 1024 ; clé = s)
JRESJRES 20032003BetaSondeBetaSonde 1313/33/33
DDRR Equilibrer l'arbre binaire
Trame 1 (ts = 870)
Flow 1 (dOctets = 1024 ; clé = e)
Trame 2 (ts = 900)
Flow 2 (dOctets = 1024 ; clé = s)
Rotation GaucheRotation Gauche
ee
ii
ss
hh
bb
aa
AlerteAlerteDéséquilibreDéséquilibre
Arbre Arbre ré-équilibréré-équilibré
aa
bb
hh
iiee
ss
JRESJRES 20032003BetaSondeBetaSonde 1414/33/33
DDRR Exporter les flows
ee
ii
ss
hh
bb
aa
ss55 900900 900900 11 10241024
eebbaahhii
cléclé
00
11
22
33
44
indiceindice
100100
110110
200200
400400
600600
firstfirst
870870
110110
830830
480480
700700
lastlast
22
88
44
22
6464
dPktsdPkts
20482048
81928192
40964096
20482048
6553665536
dOctetsdOctetsRacine = NULLRacine = NULL
EEXXPPOORRTT
.... .. .. .. ..
.... .. .. .. ..
.... .. .. .. ..
Créer nouveaux Flows Créer nouveaux Flows iciici
JRESJRES 20032003BetaSondeBetaSonde 1515/33/33
DDRR
BetaSondeBetaSonde JRES JRES 20032003
DDRRQuels résultats obtenus ?
Une plateforme adaptéeQuelques chiffresQuelques graphes
JRESJRES 20032003BetaSondeBetaSonde 1717/33/33
DDRR
bes.grenet.fr PC Bi-Processeur Intel P4 2,2 Ghz2 Go de RAM
2 Ethernet Gigabit
Plateforme de test
NetMET
seth.grenet.fr
Netflo
ws Cisc
o
SitesUniversitaires
Grenobloiset
Grands Organismes de Recherchetigre1.grenet.fr
Cisco 6500
Renater
Mirr
orin
g
JRESJRES 20032003BetaSondeBetaSonde 1818/33/33
DDRR
Quelques chiffres sur 3 semaines
76,8 millions de netflows générés
15,2 milliards de paquets traités
2,3 milliards de flows distincts
Soit 416 Go de moyenne par
jour
Dont
Dont
Pou
rPou
r 11PourPour
29,94829,948
JRESJRES 20032003BetaSondeBetaSonde 1919/33/33
DDRR
Quelques chiffres… 2/2
Environ 4,6 Mo par seconde
Débit moyen
Pic de trafic le 23/10 à 13:31:17
48774 paquets reçus, dont 47271 traités
1 netflow pour 200 paquets traités
Taux de compression
soit 29 298 589 octets
en une seconde
1 octet généré pour 80 traités
JRESJRES 20032003BetaSondeBetaSonde 2020/33/33
DDRR
Trois semaines, 0 paquet perdu
Nombre de paquets reçus par heure
0
10
20
30
40
50
60
70
80
90
Mil
lio
ns Week-EndWeek-End Jours ouvrésJours ouvrés Vacances ToussaintVacances Toussaint
JRESJRES 20032003BetaSondeBetaSonde 2121/33/33
DDRR NetMET, le 22 octobre 2003
NetM
ET
NetM
ET
0:00 2:00 4:00 6:00 8:00 10:00 12:00 14:00 16:00 18:00 20:00 22:00 0:00
Beta
Son
de
Beta
Son
de
JRESJRES 20032003BetaSondeBetaSonde 2222/33/33
DDRR Ressources mémoires
0
200
400
600
800
1 000
1 200
1 400
1 600
1 800
2 000
0:00 6:00 12:00 18:00
Mill
iers
de
Flo
ws
pa
r m
inu
te
Total des Flows
Création de Flows
Cumulation sur Flow Existant
MémoireUtilisée
JRESJRES 20032003BetaSondeBetaSonde 2323/33/33
DDRR Deux Processus asynchrones
0
5
10
15
20
25
30
35
40
45
50
15:00 15:01 15:02 15:03 15:04 15:05 15:06 15:07 15:08 15:09
Mill
iers
de
Flo
ws
pa
r s
ec
on
de
Cumulation sur Flow Existant Exportation de Flows Création de Flows
Export toutes les minutes Flows exportés
à recréer
JRESJRES 20032003BetaSondeBetaSonde 2424/33/33
DDRR
BetaSondeBetaSonde JRES JRES 20032003
DDRRPour finir…
Points forts, faiblesEvolutions
Détection de scan
JRESJRES 20032003BetaSondeBetaSonde 2626/33/33
DDRR Quels avantages ?
Économie de CPU du routeur
Sélection du trafic (libpcap)
Métrologie indépendante
Packaging avec NetSEC sans netflow
JRESJRES 20032003BetaSondeBetaSonde 2727/33/33
DDRR Quels inconvénients ?
Qualification des flows TCP
Besoin d'un commutateur (mirroring)
JRESJRES 20032003BetaSondeBetaSonde 2828/33/33
DDRR Demain
Évolution de protocoles
Interface Homme-Machine
Paramétrage du programme
Filtrage libpcap
Spécification modulaire
JRESJRES 20032003BetaSondeBetaSonde 2929/33/33
DDRR Détecter un scan : facile !
Isoler une provenance commune
Fixer un seuil d'alerte
Des flows triés par adresse IP
Conserver les flux suffisamment longtemps (scans lents)
JRESJRES 20032003BetaSondeBetaSonde 3030/33/33
DDRR
Bloquer un scan : plus difficile ?
Agir sur le routeur d'entrée de site
Temps de réaction
Alerter l'administrateur réseau
Bloquer l'attaque à venir
JRESJRES 20032003BetaSondeBetaSonde 3131/33/33
DDRR Plateforme Linux OpenSource
P1P2
Gigabit
Libpcap
Mémoire Partagée
Netflow
Pirate KillerLangage C / C++
JRESJRES 20032003BetaSondeBetaSonde 3232/33/33
DDRR
JRESJRES 20032003BetaSondeBetaSonde 3333/33/33
DDRR Questions
??
BetaSondeBetaSonde JRES JRES 20032003
DDRR
Outils de collecte pour réseaux gigabit
Une alternative à la technologie Cisco Netflow
[email protected]@grenet.frr