L`analyse des ports
Transcription
L`analyse des ports
Avant de commencer Avant de débuter cet exposé sur l’analyse des ports, je vais vous expliquer quelques termes, quelques notions dont nous allons avoir besoin pour être à même de comprendre en quoi consiste le balayage de ports. Le protocole IP L’Internet Protocole est un protocole de communication en matière de réseau informatique. Conçu pour Internet, il permet un adressage unique pour les différentes machines connectées. Le protocole IP fait partie de la 3ème couche du modèle OSI. Le protocole TCP TCP pour protocole de contrôle de transmissions, c’est un protocole de transport fiable. Les applications envoient des flux de données et le protocole TCP les découpe en segments pour mieux les acheminer. Le protocole TCP fait partie de la 4ème couche du modèle OSI. Le protocole UDP UDP pour protocole de datagramme utilisateur, c’est un protocole de télécommunication utilisé par Internet. Moins fiable que le TCP, l’UDP ne nécessite pas d’authentification, nous ne sommes pas sûrs que les données soient bien arrivées, chez qui elles sont arrivées et en combien d’exemplaires. Le protocole UDP permet donc lui aussi de transporter des données et se trouve sur la 4ème couche du modèle OSI. Le pare-feu Un pare-feu est un logiciel qui régit les différents niveaux de sécurité au niveau d’un réseau : c’est-à-dire les différentes connexions reliant le réseau privé au réseau public, les différents paquets qui peuvent passer. Le modèle OSI Le modèle OSI est un système d’interconnexion en réseau, un modèle de communication entre ordinateurs. Il régit les différentes fonctions pour la communication et l’organisation d’un réseau. PERSEO Benoît 6ème U ECCSA 2011-2012 L’analyse de ports L’analyse de port – ou balayage de port – est une technique informatique visant à rechercher les ports ouverts d’une machine (ordinateur, serveur, …). Utilisé majoritairement par deux catégories de personnes : le balayage de port servira aux administrateurs réseaux afin de vérifier la sécurité de leur réseau, leur serveur ou alors permettra aux pirates informatiques de préparer une intrusion sur une machine en tentant de trouver une faille dans le système informatique. Le balayage de port est considéré comme une tentative d’intrusion par les pare-feu. Selon le niveau sur lequel ce dernier est réglé, il détectera oui ou non les intrusions. Avec un programme spécialisé dans le scan de ports tel que NMAP, il n’est pas toujours facile de détecter une intrusion car ce programme possède beaucoup de caractéristiques permettant le camouflage du balayage. Par exemple, un scan peut s’effectuer très lentement (jusqu’à plusieurs jours) et dans un ordre aléatoire avec plusieurs adresse IP, la machine victime armée de son pare-feu n’y verra que du feu. Qu’est-ce qu’un port ? Un port est comme une adresse web. Quand vous souhaitez vous rendre sur un site Internet, vous tapez son adresse et vous y êtes redirigé. Pareil pour les ports, imaginons que l’adresse du site corresponde au port 80, alors en me rendant sur le port 80, je serai redirigé vers le service, le protocole adéquat. Cela permet de distingué les différentes connexions possibles sur un ordinateur. Le port fait partie de la 4ème couche du modèle OSI qui est la couche de transport. Voici une liste non-exhaustive de ports : • 20/21, pour l'échange de fichiers via FTP • 22, pour l'accès à un shell sécurisé Secure SHell, également utilisé pour l'échange de fichiers sécurisés SFTP • 23, pour le port telnet • 25, pour l'envoi d'un courrier électronique via un serveur dédié SMTP • 53, pour la résolution de noms de domaine en adresses IP : DNS • 67/68, pour la connexion au DHCP • 80, pour la consultation d'un serveur HTTP par le biais d'un Navigateur web • 110, pour la récupération de son courrier électronique via POP • 143, pour la récupération de son courrier électronique via IMAP • 389, pour la connexion à un LDAP • 443, pour les connexions HTTP utilisant une surcouche de sécurité de type SSL : HTTPS • 500, port utilisé pour le canal d'échange de clés IPsec • 636, pour l'utilisation d'une connexion à un LDAP sécurisé par une couche SSL/TLS • 1723, pour l'utilisation du protocole de VPN PPTP • 3306, serveur de base de données MySQL • 3389, pour le RCP de microsoft (Remote connection protocol) • 6667, pour la connexion aux serveurs IRC • 25565, pour les serveurs Minecraft PERSEO Benoît 6ème U ECCSA 2011-2012 Un port à plusieurs états : Ouvert : On dira d’un port qu’il est ouvert s’il accepte des connexions TCP ou des paquets UDP. C’est ce que l’on recherche lorsqu’on fait un balayage de port. Toute personne se souciant un tant soit peu de la sécurité informatique et plus particulièrement de son réseau sait qu’un port ouvert est un point faible dans un réseau et permet facilement des attaques. Fermé : Un port fermé reste tout de même accessible – il répond aux paquets qu’on lui envoie – mais il n’y a pas d’application possible. C’est avec cet état qu’on va pouvoir déterminer l’OS. On pourrait bloquer ce genre de ports à l’aide d’un pare-feu mais ils ne seraient alors plus « fermés » mais « filtrés ». Filtré : Comme dit précédemment, si un pare-feu bloque certains ports, ils seront filtrés. C’est ce qui arrive quand le logiciel de balayage de ports ne peut déterminer si un port est ouvert ou non. Non-filtré : On obtiendra ce genre de réponse lorsque l’on utilisera la technique de balayage ACK, c’est lorsque le logiciel n’arrive pas à déterminer si le port est ouvert ou fermé malgré le fait qu’il soit accessible. Ouvert/filtré : Le logiciel de balayage classera les ports dans cette catégorie lorsqu’il n’arrivera pas à faire la différence en ouvert et filtré, cela arrive lorsque les ports ouverts ne renvoient pas de réponses. Cela peut aussi signifier qu’un logiciel de filtrage est présent et que les tests ont été refusés. Fermé/filtré : C’est la réponse que l’on obtiendra lorsque ça sera impossible pour le logiciel de balayage de déterminer si un port est fermé ou filtré. Ce genre de réponse est seulement utilisé par les Idle scan. Nmap Nmap est un logiciel gratuit et open source permettant l’analyse de ports. Il permet de détecter comment réagissent les ports d’une machine. Il donne aussi accès à des informations telles que le système d’exploitation utilisé, sa version, certains logiciels installés et surtout, il est d’une grande aide aux administrateurs réseaux souhaitant tester ou vérifier la sécurité de leur réseau. PERSEO Benoît 6ème U ECCSA 2011-2012 Différentes techniques de balayages de ports Il y a une douzaine de techniques de scan, en voici quelques-unes : Le scan TCP SYN : C’est celui utilisé par défaut par Nmap et le plus populaire. Sa vitesse d’exécution est très rapide, il peut scanner des milliers de réseaux par secondes lorsqu’il n’est pas gêné par un logiciel de filtrage. Il est très discret et permet une distinction claire entre les états ouvert, fermé et filtré. Le scan TCP connect() : Lorsque le scan TCP SYN est inutilisable, c’est celui-ci qui est utilisé par défaut. Cela peut aussi arriver lorsque l’utilisateur n’a pas les droits d’administrateurs afin d’utiliser les paquets bruts (types de paquets envoyés lors d’un scan TCP SYN) ou lors d’un scan d’adresse IPv6. Le scan TCP connect(), comme son nom l’indique, utilise la fonction connect() pour établir la connexion au port contrairement aux autres scans qui utilisent les paquets bruts : c’est une fonction d’appel système de haut-niveau qui est utilisée par exemple par les navigateurs web, les clients P2P ou des applications réseaux. Ce type de scan est moins efficace qu’un scan SYN car Nmap a moins de contrôle sur la fonction d’appel connect(). Aussi, beaucoup de machines tournant avec un système UNIX noteront cette tentative d’intrusion dans le journal des logs. Scan UDP : Moins connu et moins utilisé que le protocole TCP, le port UDP n’est pas a négligé car il est facilement exploitable (dû au fait qu’on le néglige) et ça, les pirates ne l’oublient pas. Grâce à Nmap, on peut combiner un scan UDP avec un scan TCP afin de répertorier les ports ouverts sur les deux protocoles. La faiblesse du scan UDP est sa vitesse d’exécution. Il obtient souvent une réponse de port ouvert/filtré et laissant Nmap dans le doute, ne sachant pas si le port est ouvert ou si un logiciel de filtrage bloque les tentatives de scan, le délai de transmission de Nmap expire alors et les paquets envoyés pour effectuer le test se perdent. Scan ACK : Contrairement aux autres scans, le scan ACK ne peut pas nous dire si le port est ouvert ni même ouvert/filtré. Ce type de scan est utilisé afin de déterminer le niveau de sécurisation utilisé par un pare-feu et quels sont les ports filtrés. Le scan ACK utilise le système de drapeau, dit flag en anglais. Cela fonctionne comme en programmation, un flag est une valeur booléenne qui donc renverra true ou false. Les systèmes non-filtrés renverront un paquet RST, Nmap considérera alors le port comme non-filtré, ce qui veut dire qu’il est accessible grâce à un scan ACK : c’est donc similaire au true mais on ne sait pas réellement si le port est ouvert ou fermé. Les ports ne répondant pas sont considérés comme filtré : c’est donc similaire au false. Scan Idle : C’est une technique de scan avancée, elle permet de faire un balayage de port dit « à l’aveugle », c’est-à-dire qu’aucun paquet n’est envoyé directement depuis votre vraie adresse IP. Cette une technique qui consiste à récolter des informations sur les ports ouverts de la cible en utilisant un exploit, une faille basé sur la prédictibilité de la génération des identifiants de fragmentation IP de l'hôte relais. Cela veut donc dire, que l’on se fait passer pour un ordinateur de confiance auprès de l’ordinateur ciblé, cela va permettre d’établir les ouvertures de ports entre eux et c’est d’une très grande furtivité car l’attaque vient d’une machine de confiance. PERSEO Benoît 6ème U ECCSA 2011-2012 Scan IP : Le scan IP n’est pas un scan de port à proprement parler car il va analyser les différents protocoles IP pour savoir lesquels sont supportés par les cibles mais la technique utilisée par Nmap suit à peu de choses près le même schéma qu’une analyse de ports. Comme le scan UDP, le scan IP va envoyer des paquets et attendre une réponse. Une fois cette réponse reçue, si elle est positive le protocole est ouvert, si elle est négative : le port est fermé, s’il n’y a pas de réponse, il est ouvert/filtré. Quelques protections Pour se protéger contre ce genre d’attaque, l’utilisateur lambda utilise un pare-feu. Celui-ci étant configurable sur plusieurs niveaux de sécurisation, ça ne bloque pas toutes les possibilités de scan. Les professionnels, eux, font appel à des logiciels que l’on appelle IDS pour « systèmes de détection d'intrusion ». C’est un logiciel qui écoute de manière furtive le réseau afin de repérer les activités anormales ou suspectes, ainsi il peut effectuer de la prévention. Il y a deux grands types d’IDS : • Les N-IDS : ils assurent la sécurité au niveau du réseau. • Les H-IDS : ils assurent la sécurité au niveau des hôtes. Le N-IDS nécessite un matériel dédié et est un système capable de contrôler les paquets qui circulent sur un ou plusieurs réseaux afin de savoir si quelque chose de suspect ou d’anormal se passe. Le N-IDS place plusieurs interfaces réseaux en mode furtif, de cette manière elles n’ont pas d’adresses IP et n’est rattaché à aucun protocole. On peut placer plusieurs N-IDS dans un réseau, par exemple un avant le réseau privé et un avant le réseau publique avec entre, un pare-feu. Le H-IDS quant à lui va analyser en profondeur le journal des logs et intercepter les paquets entrants et sortants des connexions qu’il pense être suspectes ou anormales (tentative d’intrusion, chevaux de Troie, exécution de code malicieux). Le balayage de port aux yeux de la justice Le balayage de ports n’est pas condamnable par la justice car il ne dépasse pas le stade préparatoire. Jusque-là, la personne malintentionnée n’est pas encore passée à l’acte et ce n’est donc pas punissable. Les informations que l'on peut récupérer grâce au scanning ne peuvent être qualifiées de confidentielles et donc cela n’est pas non plus punissable. Enfin, il n’y a pas d’intrusion à proprement parler, le pirate ne fait qu’analyser, regarder ce qu’il y a d’ouvert et de fermer, un peu comme un cambrioleur qui ferait du repérage pour un vol futur, ce n’est pas condamnable sauf si on sait clairement prouver les intentions de la personne. PERSEO Benoît 6ème U Les ports les plus scannés 445 : Port pour le réseau windows 1433 : Port de connexion au serveur MySQL 51972 : Port qui a rapport avec le système UNIX 3389 : Port utilisé pour se connecter aux serveurs d’un logiciel Microsoft 23 : Port utilisé pour effectuer des connexions Telnet ECCSA 2011-2012 PERSEO Benoît 6ème U ECCSA 2011-2012 Questions/réponses 1. Qu’est-ce que le balayage de port ? » Le balayage de port consiste à analyser les ports d’une machine (serveur, …) afin d’en vérifier la sécurité si on est administrateur réseau ou la vulnérabilité si on est un pirate informatique. 2. Quelles sont les différentes techniques de balayage ? » TCP SYN, TCP connect(), TCP UDP, TCP ACK, scan Idle ou scan IP. 3. Citer un programme de balayage de port » Nmap 4. Le balayage de port est-il punissable par la loi ? Justifier votre réponse. » Non car le pirate informatique ne viole en rien les utilisateurs, il ne fait qu’observer, il reste à la phase préparatoire. 5. Comment pouvons-nous nous protéger face aux tentatives d’intrusions ? » Soit grâce à un pare-feu en le configurant de manière optimale, soit grâce à un IDS. Sources • • • • • • • http://fr.wikipedia.org/wiki/Balayage_de_port http://fr.wikipedia.org/wiki/Nmap http://fr.wikipedia.org/wiki/Couche_de_transport http://fr.wikipedia.org/wiki/Mod%C3%A8le_OSI http://fr.wikipedia.org/wiki/Internet_Protocol http://fr.wikipedia.org/wiki/User_Datagram_Protocol http://nmap.org/