Linux sécurité des réseaux Rappels et audits réseaux Frédéric Bongat (IPSL) Philippe Weill (SA) 1
Introduction Sécurité des réseaux sous Linux Les réseaux Audit réseau 2
3
TCP/IP : protocoles de communication Flux de données : Via la pile TCP/IP d'une machine qui désigne la structure en couches du traitement dont est l'objet une requête ou réponse Conception en mode multi-couches. Ceci indique que nous avons une fonctionnalité sur un niveau, et une autre à un autre niveau, etc. Organisation des données en paquets (datagrammes) avec encapsulation des données Référence les hôtes sur la base d'adresses physique et d'adresses logiques dans les couches de la pile Mac: Media Access Controller 4
La pile TCP/IP : modèle OSI... 5
Trame réseau: Les datagrammes (1) Couche 3 / réseau : IP (pas orienté connexion, aucune vérification de la réception des paquets, protocole routé) ICMP(collecte d'informations, résolution des problèmes réseau Type Code Checksum Types importants : 0 (echo reply) : réponse au message de type 8 3 (unreachable) : destinataire inaccessible 5 (redirect) : le routeur remarque que la route qu'a choisi 6 l'ordinateur émetteur n'est pas optimale 8 (echo request) : demande de renvoi d'informations
Datagrammes (2) Couche 4 / transport : TCP (fiable, orienté connexion, lent, optimisé pour Internet) Drapeaux UDP (peu fiable, sans connexion, rapide, optimisé pour les Intranets) 7
Champ des drapeaux Drapeau TCP SYN Représentation S Signification du drapeau Il signale une requête d'établissement d'une session, il s'agit de la première partie ACK FIN RESET PUSH URGENT Ack F R P Urg Ce drapeau est en général utilisé pour acquitter la reception des données en provenance Ce drapeau indique l'intention de l'expéditeur de clore sa connexion avec l'hôte Ce drapeau indique l'intention de l'expéditeur d'interrompre immédiatement sa connexion La fonction de la fonction push et du flag PUSH est de forcer la transmission immédiate de toutes les données latentes entre les deux TCP. L'application indique dans la commande SEND si les données soumises lors d'un appel doivent être émises par l'activation du flag PUSH Ce drapeau indique qu'il doit être donné la priorité à des données urgentes sur d'autre données 8
Etablissement d une connexion TCP Connexion exclusive et unique Repose sur des principes d'acquittements de paquets Le handshake : initialisation d'une connexion 9
Gestion des numéros de séquence d une connexion Tcp ou Udp Tcp Udp 10
Tcpdump Permet la collecte de tout le trafic à partir de l'interface réseau par défaut et envoie toutes les sorties vers la console Filtre permet de spécifier les enregistrements que l on désire collecter. permet de préciser le(s) champ(s) d'un datagramme IP qui doi(ven)t être examiné(s) et retenu(s) si les conditions spécifiées sont satisfaites Collecte Redirection des sorties vers des fichiers (format binaire) tcpdump i eth0 w /tmp/fichlier.dump (enregistrement) tcpdump i eth0 r /tmp/fichier.dump (lecture) 11
Condition host src dst port icmp, ip, arp, rarp, udp, tcp less, great or, and, not Exemple d utilisation de tcpdump Détail Affiche les trames pour le host défini en paramètre Affiche les trames ayant pour origine le host défini en paramètre Affiche les trames ayant pour destination le host défini en paramètre Affiche les paquets du port précisé Affiche les paquets du protocole précisé Affiche les paquets d'une taille inférieure/supérieure à celle précisée en paramètre Affiche les paquets avec conditions Exemple tcpdump -i eth0 host 10.1.0.1 tcpdump -i eth0 10.1.0.1 tcpdump -i eth0 src host 10.1.0.1 tcpdump -i eth0 dst host 10.1.0.1 tcpdump -i eth0 port 21 tcpdump -i eth0 icmp tcpdump -i eth0 less 60 Tcpdump i eth0 dst host 10.1.0.1 and dst port 22 12
Tcpdump interprétation 13
Audit réseau 14
Audit réseau Apport d un audit Analyses et cartographies complètes d un périmètre donné Vérifier le niveau de sécurité et la bonne implémentation de sa politique de sécurité surveiller la sécurité de son parc informatique Plusieurs type d audits réseaux Audit ouvert : accès à toutes informations Audit fermé : pas d information, mais observation et sollicitation du système Audit intrusif : tentative de pénétration d un système On audite son réseau uniquement! 15
Audit réseau : nmap Le scanner de port nmap Sert à déterminer à l'aide d'un outil logiciel quelles sont: les adresses IP actives sur le réseau, les ports ouverts correspondant à des services accessibles, et le système d'exploitation utilisé par ces serveurs Envoi des requêtes successives sur les différents ports et analyse les réponses afin de déterminer lesquels sont actifs. 16
Audit réseau : nmap Les techniques de scan La plupart des types de scans ne sont disponibles que pour les utilisateurs privilégiés Toute sa perspicacité est basée sur les paquets renvoyés par les machines cibles (ou les firewall qui les protègent). Les réponses ne sont pas toujours dignes de confiance -ss : le scan SYN est celui par défaut Il envoie un paquet SYN et attend sa réponse Une réponse SYN/ACK indique que le port est en écoute (ouvert), tandis qu'une RST (reset) indique le contraire La connexion est donc interrompue (rapide), mais doit être root -sa : scan TCP Ack Les systèmes non-filtrés réagissent en retournant un paquet RST, et Les ports qui ne répondent pas ou renvoient certains messages d'erreur ICMP sont considérés comme filtrés furtif 17
Audit réseau : nmap Les techniques de scan (suite) -st : scan TCP connect C est le type de scan par défaut quand le SYN n'est pas utilisable (non root) Etablie une connexion sur les ports demandés C'est plus long et demande plus de paquets pour obtenir la même information, mais il est peu discret -sn; -sf; -sx : scans TCP Null, FIN et Xmas Utilise le fait que pour les paquets envoyés à des ports sans aucun des drapeaux SYN, RST ou ACK activés provoque l émission d un paquet RST Scans furtifs qui peuvent même traverser certains pare-feux ou routeurs filtrants sans état de connexion Risque de pertes de paquets avant arrivée à destination Certains OS ne répondent pas correctement (RST même port ouvert) -su : le scan UDP Un scan Udp est très lent (les ports ouverts et filtrés ne renvoient que rarement des réponses : problème d expiration de délai de retransmission) 18
Audit réseau : nmap Les états de port reconnus par Nmap ouvert (open) Une application accepte des connexions TCP ou des paquets UDP sur ce port fermé (closed) Un port fermé est accessible (il reçoit et répond aux paquets émis par Nmap), mais il n'y a pas d'application en écoute filtré (filtered) Nmap ne peut pas déterminer si un port est ouvert car les dispositifs de filtrage des paquets empêchent les paquets de tests d'atteindre leur port cible (ralentissement du scan) non-filtré (unfiltered) Le port est accessible, mais Nmap est incapable de déterminer s'il est ouvert ou fermé ouvert filtré (open filtered) Nmap renvoie cette information quand il est incapable de déterminer l'état entre un port ouvert et filtré (lorsque les ports ouverts ne renvoient pas de réponse ou paquet nmap est dropé par un filtre) 19
Audit réseau : nmap Quelques options intéressantes: -p <port ranges> : N'audite que les ports spécifiés nmap -p U:53,111,137,T:21-25,80 10.1.0.1 -F : le scan rapide se limite aux ports connus -sv : détection de version des services Modes hostiles -D : le principe est de le surcharger de fausses attaques simultanées (avec de fausses adresses sources) tout en lançant une attaque réelle -T <Paranoid Sneaky Polite Normal Aggressive Insane> : règle un profil de comportement au niveau du délai -T0 : 5 min (paranoïd), -T5 : 5 ms, -T3 : profil par défaut Détection de système d exploitation -O : Active la détection du système d'exploitation 20