lundi, novembre 03, 2008

Surveiller ses "ports" ouverts

Nous allons voir comment surveiller les sockets en écoute sur un mac de manière a renforcer la sécurité.

Je parle ici des ports au sens socket, donc réseau voir le wiki FR

  • Tout d'abord un petit éclaircissement sur ce qu'est un port et ce qu'est un socket, car parfois par abus de langage les deux sont mélangées a tort.

Un socket au niveau BSD du terme est un système de communication interprocessus, mais dans notre cas c'est la communication a travers le réseau qui nous intéresse.

D'une manière imagée un socket est soit l'oreille qui va écouter le réseau soit la voix qui vas parler sur le réseau. D'où les états des sockets : écoute, co° établie ...

Pour ne pas transformer tout cella en une quincophonie endiablée chacun parle et écoute sur un canal définit par un numéro: le port

De cette manière un échange réseau associé au port 22 ne seras pas en conflit avec le 24 par ex.

  • Apple, utilitaire de réseau
Sans doute avez vous testé l'utilitaire réseau d'apple et plus précisément l'onglet "portscan"
Pour scanner les ports ouverts sur une machine, vous pouvez bien entendu l'utiliser sur vous-même via l'adresse de la boucle locale (127.0.0.1 si celle-ci est resté par défaut ) ou plus simplement via 'localhost'

Ex : portscan en action


Portscan est utile car il permet de tester une configuration, voir des règles de Firewall.

Sur ce screenshot par exemple le port 3689 est ouvert en écoute et est près a accepter de nouveaux clients. Le protocole daap est le partage de musique d'iTunes, un simple arrêt de celui-ci est le socket ce ferme.

Les sockets en écoute sont générées par des softs agissant comme serveur, cella va du serveur SSH activé dans les préférences systèmes, au partage de fichier en passant même par word mac. (Je me demande bien a quoi celle peu servir >
  • Aller plus loin avec du BASH

Cette opération est longue si l'on scanne touts les ports possibles mais une commande existe en bash, qui elle va lister directement touts les dits ports qui ont été lancées au niveau du système.
=>
sudo lsof -i | grep LISTEN

sudo: droits administrateurs
lsof: affiche les sockets
paramètre de lsof : -i : n'affiche que les sockets réseau
| : "pipe"(lire paille-pe) permet d'effectuer une seconde commande sur le résultat de la première
grep LISTEN commande grep qui ici n'afficheras que les lignes ou figurent LISTEN
car nous recherchons les ports en écoute bien sur ....

L'avantage majeur de cette commande est qu'elle vous informe sur le processus qui a lancé tel ou tel socket, vous pouvez donc juger plus aisément si le soft est malveillant ou non.

Reprenons notre exemple précédent, le daap, le protocol de partage de musique d'iTunes ...
Si vous ne le saviez pas alors cette commande vous aurais permis de comprendre :




Ici le socket en écoute de protocole daap est associé au processus iTunes ...


on obtient aussi de cette manière le PID du processus, de cette façon on peu tuer celui-ci en cas de pépin ><

un bon vieux
(sudo) kill -9 n°PID
et basta ...

Attention cella tue le process en "bourrin mode" ^^

Aucun commentaire: