English version Outils Retour à la case départ

Un coupeur de connexions

A quoi sert-il ?

Couic a été conçu pour appliquer une politique de sécurité sur un réseau interne : il écoute tout ce qui passe et tire.

Comment marche t-il ?

Actuellement, couic est basé sur les bibliothèques libnet et libpcap. La première mouture prenait en argument une expression à la tcpdump, ce qui manquait quelque peu d'ergonomie. J'ai ajouté un langage de configuration mais il est un peu "surprenant".

Couic ferme les connexions TCP à coup de paquets RST et tente de perturber les transferts UDP avec des réponses ICMP "host unreachable / bad port".

Où est le manuel ?

Il n'y en a pas ! Pour la syntaxe de l'expression, voir le manuel de tcpdump. Pour le langage de commande, voir grammar.y
Couic connait les options :
-i eth0
indique l'interface réseau sur laquelle écouter.
-f file
Lit les commandes dans un fichier
-t
Prend en argument une expression tcpdump et tue tout ce qui correspond.

Quelques exemples avec tcpdump

  1. Bloquer tout ce qui passe sur un réseau
    couic -t tcp or udp
  2. Bloquer tout traffic vers ou en provenance de la machine truc
    couic -t \( tcp or udp \) and host truc
  3. Interdire telnet sur tout le réseau
    couic -t tcp and port 23

Des exemples avec le langage de commande

  1. Bloquer tout ce qui passe sur un réseau
    {any/tcp any/udp} { }
  2. Bloquer tout traffic vers ou en provenance de la machine truc.
    {any/tcp any/udp} { deny truc }
  3. Interdire telnet sur tout le réseau
    {23/tcp} { }
  4. Autoriser telnet seulement entre les machines A et B
    {23/tcp} {
    allow between A and B
    }
  5. Autoriser telnet seulement depuis les machines du réseau 192.168.17.0
    {23/tcp} {
    allow from 192.168.17.0/24 to any
    }

Le nom...

Couic est un nom très stupide qui ne veut rien dire du tout. On m'a proposé de le renommer en Cutting Off Unwanted IP Connections. C'est indéniablement bien mieux; comme c'est un peu long, vous pouvez abréger en couic.

Reste à faire

Limitations

  1. Couic est peu efficace face à des protocoles qui font de petits transferts UDP. Il est incapable de bloquer le DNS, par exemple.
  2. Couic est évidemment impuissant sur un réseau commuté.
  3. Couic est une arme à double tranchant qui peut gravement perturber un réseau. Avant de faire de mauvaises blagues à vos collègues, sachez qu'arpwatch repère facilement les paquets émis par couic et que ce genre de gag peut vous coûter trois ans de cabane en France... Et probablement dans d'autres pays.

Licence, copyright

Ce code est distribué gratuitement sous la GNU Public Licence, donc sans aucune garantie. En particulier, je prie les entreprises qui auront été victimes d'une utilisation malicieuse de couic de laver leur linge sale en famille.
D'après la loi française, le droit intellectuel est inaliénable donc je peux toujours m'opposer à toute utilisation "incorrecte" de cet outil. J'entends par "incorrecte" tout ce qui est illégal (voir paragraphe précédent) ou commercial et contraire à la GPL, ou tout autre coup tordu susceptible de nuire à qui que ce soit (moi compris, bien entendu).

Source

Forum

J'ai créé une liste pour discutter du développement de ce fantastique outil qui va révolutionner la sécurité réseau ;-)
Voir http://www.egroups.com/group/couic
Inscriptions à couic-subscribe@egroups.com


English version Outils Retour à la case départ
Michel Arboi
Last modified: Sun Mar 25 16:18:27 CEST 2007