Traque sur internet

Niveau : Star Star StarEmpty Empty
Résumé : conn­track

I’m back !
Désolé de vous avoir fait atten­dre, j’étais en quel­que sorte en vacan­ces.

Fire­wall

Cette fois nous allons par­ler de fire­wall. Comme vous le savez, net­fil­ter, le fire­wall inté­gré à linux, est sta­te­full par défaut. Ce qui veut dire que si on ne lui dit pas de ne pas le faire, il trace l’état de tou­tes les con­nexions qui le tra­ver­sent. C’est grâce à cela qu’il sait fil­trer les con­nexions avec des règles “sim­ples” ou qu’il est capa­ble de fil­trer pro­pre­ment le ftp.

Pour cela il garde en mémoire une table des con­nexions éta­blies, qu’il peut com­mu­ni­quer au reste du monde, autre­ment appelé espace uti­li­sa­teur. Il expose ces infos dans /proc/net/ip_conn­track* (entre autre, mais n’hési­tez pas à regar­der le con­tenu de ce réper­toire pour plein de cho­ses inté­res­san­tes).

La com­mande conn­track, du paquet épo­nyme sert à mani­pu­ler la table en ques­tion. Toute machine ayant un fire­wall, ou pres­que, on peut s’amu­ser à l’uti­li­ser sur son PC. Mais c’est bien plus rigolo de faire ça sur un rou­teur ;->

D’ailleurs, si vous avez un ser­veur qui ne fait pas fire­wall et qui gère beau­coup de con­nexions (un ser­veur de twit­ter par exem­ple), vous pou­vez désac­ti­ver le “con­nec­tion tra­cking” pour sou­la­ger le noyau de cette tâche. Mais il faut entiè­re­ment désac­ti­ver le module, ce qui n’est pas des plus sim­ple.

Conn­track

D’abord, com­men­çons par lis­ter les con­nexions con­nues :

$ conntrack -L

Pour une machine qui ne fait pas rou­teur, la liste est simi­laire à celle obte­nue par nets­tat -atu. Notez les infor­ma­tions inté­res­san­tes : état de la con­nexion, détail de la con­nexion (remar­quez la répé­ti­tion néces­saire pour le NAT), et sur­tout nom­bre de paquets et d’octets pas­sés par cette con­nexion. Ce comp­teur peut être réi­ni­tia­lisé avec l’option -z de conn­track :

$ conntrack -L -z

Pra­ti­que quand on veut détec­ter les chan­ge­ments.

Vous pou­vez aussi regar­der ce qui se passe en direct sur votre rou­teur :

$ conntrack -E

Mais lisez bien le manuel, pour limi­ter la sor­tie, car sur un vrai rou­teur, il faut fil­trer. Man conn­track con­tient tou­tes les expli­ca­tions.

Et le plus rigolo sur un rou­teur par­tagé, on enlève l’entrée :

# Attention, il faut tout spécifier pour être sûr qu'on parle de la bonne connexion
$ conntrack -D -s 1.2.3.4 -d 4.3.2.1 -p tcp --orig-port-src 5678 --orig-port-dst 22

Cela devrait cou­per la con­nexion si le fire­wall est bien con­fi­guré (et pro­ba­ble­ment aussi s’il est mal con­fi­guré). C’est tout de même moins arti­sa­nal que l’ancienne tech­ni­que.

Vus : 279
Publié par Peck : 100