Your SlideShare is downloading. ×
sécurité informatique
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

sécurité informatique

7,731

Published on

Ce document est composé de cinq chapitres : …

Ce document est composé de cinq chapitres :

Chapitre 1 : La sécurité informatique
Chapitre 2 : Le par-feu (Firewall)
Chapitre 3 : NMAP (Network Mapper)
Chapitre 4 : Hping
Chapitre 5 : Nessus

0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,731
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1,951
Comments
0
Likes
9
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Rapport de projet de sécurité informatique :Réalisé par : Encadré par :  Mohamed ZAOUI  Prof : Ahmed ASIMI Année universitaire : 2010/2011
  • 2. Firewall - Nessus – Nmap - Hping Introduction générale La sécurité dun système informatique fait souvent lobjet de métaphores. En effet, on lacompare régulièrement à une chaîne en expliquant que le niveau de sécurité dun système estcaractérisé par le niveau de sécurité du maillon le plus faible. Ainsi, une porte blindée estinutile dans un bâtiment si les fenêtres sont ouvertes sur la rue.Cela signifie que la sécurité doit être abordée dans un contexte global et notamment prendreen compte les aspects suivants :  La sensibilisation des utilisateurs aux problèmes de sécurité  La sécurité logique, cest-à-dire la sécurité au niveau des données, notamment les données de lentreprise, les applications ou encore les systèmes dexploitation.  La sécurité des télécommunications : technologies réseau, serveurs de lentreprise, réseaux daccès, etc.  La sécurité physique, soit la sécurité au niveau des infrastructures matérielles : salles sécurisées, lieux ouverts au public, espaces communs de lentreprise, postes de travail des personnels, etc.De nos jours, toutes les entreprises possédant un réseau local possèdent aussi un accès àInternet, afin daccéder à la manne dinformation disponible sur le réseau des réseaux, et depouvoir communiquer avec lextérieur. Cette ouverture vers lextérieur est indispensable... etdangereuse en même temps. Ouvrir lentreprise vers le monde signifie aussi laisser placeouverte aux étrangers pour essayer de pénétrer le réseau local de lentreprise, et y accomplirdes actions douteuses, parfois gratuites, de destruction, vol dinformations confidentielles, ...Les mobiles sont nombreux et dangereux.Pour parer à ces attaques, une architecture sécurisée est nécessaire. Pour cela, le coeur dunetel architecture est basé sur un firewall. Cet outil a pour but de sécuriser au maximum leréseau local de lentreprise, de détecter les tentatives dintrusion et dy parer au mieuxpossible. Cela représente une sécurité supplémentaire rendant le réseau ouvert sur Internetbeaucoup plus sûr. De plus, il peut permettre de restreindre laccès interne vers lextérieur.Ce document est composé de cinq chapitres :  Chapitre 1 : La sécurité informatique  Chapitre 2 : Le par-feu (Firewall)  Chapitre 3 : NMAP (Network Mapper)  Chapitre 4 : Hping  Chapitre 5 : Nessus 2 Mohamed ZAOUI
  • 3. Firewall - Nessus – Nmap - Hping Table des matièresChapitre 1 : La sécurité informatique1. Introduction .............................................................................................................. 72. Historique ................................................................................................................ 73. Pourquoi les systèmes sont vulnérables ? .................................................................... 74. Pourquoi un système ne peut être sûr à 100% .............................................................. 85. Méthodes utilisées pour les attaques ........................................................................... 86. Outils des attaquants ................................................................................................. 87. Objectifs de la sécurité informatique........................................................................... 88. Nécessité dune approche globale ............................................................................... 99. Pourquoi un firewall .................................................................................................. 9Chapitre 2 : Pare-feu (firewall) Introduction .......................................................................................................... 11 Qu’es ce qu’un pare-feu. ........................................................................................ 11I. Les protections que doit offrir tout système informatique ........................................... 12II. De quoi protège un pare-feu? ................................................................................... 12III. De quoi ne protège pas un pare-feu? ......................................................................... 13IV. Que dire des virus?.................................................................................................. 13V. Quelles sont les points à prendre en compte pour un pare-feu?.................................... 13VI. Les différents types de filtrages ................................................................................ 14 1. Le filtrage simple de paquet (Stateless) ......................................................................... 14 2. Le filtrage de paquet avec état (Stateful). ...................................................................... 14 3. Le filtrage applicatif (ou pare-feu de type proxy ou proxying applicatif). ....................... 16 4. Que choisir ................................................................................................................... 16VII. Les différents types de pare-feux .............................................................................. 17 1. Les pare-feux bridge .................................................................................................... 17 2. Les pare-feux matériels ................................................................................................. 18 3 Mohamed ZAOUI
  • 4. Firewall - Nessus – Nmap - Hping 3. Les pare-feux logiciels .................................................................................................. 18VIII. Attaques, outils, défenses ........................................................................................ 20 1. Scénarios dattaques (Pénétrations de réseaux) .............................................................. 20 i) Premier cas : Pas de protection ......................................................................................... 20 ii) Deuxième cas : Filtrer les flux entrants illégaux ................................................................ 20 iii) Troisième cas : Bloquer les flux entrants et sortants .......................................................... 21 iv) Quatrième cas : Protection locale via un pare-feu personnel .............................................. 21 v) Cinquième cas : piratage de VPN...................................................................................... 22 2. Les techniques et outils de découvertes de pare-feu ....................................................... 23 i) Firewalk ........................................................................................................................... 23 ii) Nmap ............................................................................................................................... 24 iii) HPING ............................................................................................................................. 24 iv) NESSUS .......................................................................................................................... 24 3. Les réactions des pare-feu aux attaques classiques ........................................................ 25 i) IP spoofing ....................................................................................................................... 25 ii) DOS et DDOS .................................................................................................................. 25 iii) Port scanning .................................................................................................................... 25 iv) Exploit..................................................................................................................................25IX. Configuration d’un firewall sous Linux..................................................................... 26 1. Présentation générale .................................................................................................... 26 2. Démarrage .................................................................................................................... 26 3. Installation de iptables (succinct) .................................................................................. 26 4. Fonctionnement d’iptables ............................................................................................ 27 5. Configuration des tables ............................................................................................... 28 6. Mise en place du pare-feu ............................................................................................. 29 7. Mise en place de modules................................................................................................30Chapitre 3 : NMAP I) Description ..................................................................................................................... 32 II) Fonctionnement .............................................................................................................. 32 III) Installation..................................................................................................................... 32 IV) Interface graphique ........................................................................................................ 32 V) Options disponibles ....................................................................................................... 33 1) Spécification des cibles ................................................................................................ 33 4 Mohamed ZAOUI
  • 5. Firewall - Nessus – Nmap - Hping 2) Découverte des hôtes .................................................................................................... 34 3) Techniques de scan de ports ......................................................................................... 38 4) Spécifications des ports et ordre du scan ....................................................................... 40 VI) Exemples d’utilisation de nmap : .................................................................................... 41 VII) Conclusion : ................................................................................................................... 42Chapitre 4 : HPING I. Déscription ............................................................................................................. 44 II. Fonctionnement ...................................................................................................... 44 III. Les commandes principales ..................................................................................... 44 1. Commande de base ....................................................................................................... 44 2. Commandes de protocole .............................................................................................. 46 3. Commandes du protocole IP ......................................................................................... 46 4. Commandes des protocoles TCP/UDP .......................................................................... 47 5. Commandes permettant de faire de léchange de fichier ................................................. 47 IV. Exemple d’utilisation de Hping ................................................................................ 48 V. Conclusion........................................................................................................................50Chapitre 5 : NESSUS I. Présentation ............................................................................................................ 52 1. Avantages ..................................................................................................................... 52 2. Inconvénients ............................................................................................................... 53 II. Installation et utilisation .......................................................................................... 53 1. Installation.................................................................................................................... 53 1. Utilisation ..................................................................................................................... 54Conclusion ............................................................................................................................................59Bibliographie .....................................................................................................................................60 5 Mohamed ZAOUI
  • 6. Firewall - Nessus – Nmap - Hping Chapitre 1 : La sécurité informatique6 Mohamed ZAOUI
  • 7. Firewall - Nessus – Nmap - Hping 1. IntroductionAvec le développement de lutilisation dinternet, de plus en plus dentreprises ouvrent leursystème dinformation à leurs partenaires ou leurs fournisseurs, il est donc essentiel deconnaître les ressources de lentreprise à protéger et de maîtriser le contrôle daccès et lesdroits des utilisateurs du système dinformation. Il en va de même lors de louverture delaccès de lentreprise sur internet.Par ailleurs, avec le nomadisme, consistant à permettre aux personnels de se connecter ausystème dinformation à partir de nimporte quel endroit, les personnels sont amenés à« transporter » une partie du système dinformation hors de linfrastructure sécurisé delentreprise. 2. HistoriqueCertaines histoires dintrusions sont bien connues, elles ont été relayées par les médias, et fontaujourdhui partie de la légende du piratage informatique. Quelques faits :  En 1986, de nombreux ordinateurs du gouvernement U.S. ont été infiltrés par des pirates Ouest Allemands enrôlés par le KGB. Chris Stoll, ladministrateur système qui découvrit les faits, en a tiré un livre devenu désormais un classique: The Coockoos Egg ( L’œuf de coucou).  En 1988, lInternet Worm (ver ), un programme qui sauto- reproduisait, contamina le système informatique académique de tout le pays.  En 1994, un ingénieur de MCI communication a été inculpé pour avoir intercepté 60.000 numéros de cartes téléphoniques depuis un central téléphonique.  En 1995, Kevin Mitnick, 31 ans, a été arrêté après une longue carrière de délinquant informatique, comprenant le vol de 20.000 numéros de cartes de crédits, en pénétrant des ordinateurs de Pacific Bell, Digital Equipment Corporation et en détournant pour environ 1 million de dollars dinformations volées.Cependant, aussi inquiétantes que puissent être ces histoires, elles ne représentent quuneinfime partie du problème. Accompagnant la croissance du nombre de machinesinterconnectées dans Internet et la conscience dans le grand public du développement des"Autoroutes de lInformation", le nombre dintrusions explose littéralement. La nécessitéd’une protection efficace s’est donc naturellement imposée. 3. Pourquoi les systèmes sont vulnérables ?  La sécurité est cher et difficile. Les organisations n’ont pas de budget pour ça.  La sécurité ne peut être sûr à 100%, elle est même souvent inefficace.  La politique de sécurité est complexe et basée sur des jugements humains.  Les organisations acceptent de courir le risque, la sécurité n’est pas une priorité.  De nouvelles technologies (et donc vulnérabilités) émergent en permanence.  Les systèmes de sécurité sont faits, gérés et configurés par des hommes. 7 Mohamed ZAOUI
  • 8. Firewall - Nessus – Nmap - Hping  Il n’existe pas d’infrastructure pour les clefs et autres éléments de cryptographie. L’état interdit la cryptographie dans certains cas (exportation, par exemple) dans certains pays, ce qui empêche le cryptage systématique au niveau du système d’exploitation. 4. Pourquoi un système ne peut être sûr à 100%  Il est impossible de garantir la sécurité totale d’un système pour les raisons suivantes  Les bugs dans les programmes courants et les systèmes d’exploitation sont nombreux.  La cryptographie a ses faiblesses : les mots de passe peuvent être cassés.  Même un système fiable peut être attaqué par des personnes abusant de leurs droits.  Plus les mécanismes de sécurité sont stricts, moins ils sont efficaces.  On peut s’attaquer aux systèmes de sécurité eux-mêmes… 5. Méthodes utilisées pour les attaques  La négligence interne des utilisateurs vis à vis des droits et autorisations d’accès.  Se faire passer pour un ingénieur pour obtenir des infos comme le mot de passe.  Beaucoup de mot de passe sont vulnérables à une attaque systématique.  Les clefs de cryptographie trop courtes peuvent être cassées.  L’attaquant se met à l’écoute sur le réseau et obtient des informations.  IP spoofing : changer son adresse IP et passer pour quelqu’un de confiance.  Injecter du code dans la cible comme des virus ou un cheval de Troie.  Exploitation des faiblesses des systèmes d’exploitation, des protocoles ou des applications. 6. Outils des attaquants  Programmes et scripts de tests de vulnérabilité et d’erreurs de configuration (satan).  Injection de code pour obtenir l’accès à la machine de la victime (cheval de Troie).  Echange de techniques d’attaques par forums et publications.  Utilisation massive de ressources pour détruire des clefs par exemple.  Les attaquant utilisent des outils pour se rendre anonyme et invisible sur le réseau. 7. Objectifs de la sécurité informatiqueLe système dinformation est généralement défini par lensemble des données et desressources matérielles et logicielles de lentreprise permettant de les stocker ou de les fairecirculer. Le système dinformation représente un patrimoine essentiel de lentreprise, quilconvient de protéger.La sécurité informatique, dune manière générale, consiste à assurer que les ressourcesmatérielles ou logicielles dune organisation sont uniquement utilisées dans le cadre prévu.La sécurité informatique vise généralement cinq principaux objectifs :  Lintégrité, cest-à-dire garantir que les données sont bien celles que lon croit être ;  La confidentialité, consistant à assurer que seules les personnes autorisées aient accès aux ressources échangées ; 8 Mohamed ZAOUI
  • 9. Firewall - Nessus – Nmap - Hping  La disponibilité, permettant de maintenir le bon fonctionnement du système dinformation ;  La non répudiation, permettant de garantir quune transaction ne peut être niée ;  Lauthentification, consistant à assurer que seules les personnes autorisées aient accès aux ressources. 8. Nécessité dune approche globale La sécurité dun système informatique fait souvent lobjet de métaphores. En effet, on lacompare régulièrement à une chaîne en expliquant que le niveau de sécurité dun système estcaractérisé par le niveau de sécurité du maillon le plus faible. Ainsi, une porte blindée estinutile dans un bâtiment si les fenêtres sont ouvertes sur la rue.Cela signifie que la sécurité doit être abordée dans un contexte global et notamment prendreen compte les aspects suivants :  La sensibilisation des utilisateurs aux problèmes de sécurité  La sécurité logique, cest-à-dire la sécurité au niveau des données, notamment les données de lentreprise, les applications ou encore les systèmes dexploitation.  La sécurité des télécommunications : technologies réseau, serveurs de lentreprise, réseaux daccès, etc.  La sécurité physique, soit la sécurité au niveau des infrastructures matérielles : salles sécurisées, lieux ouverts au public, espaces communs de lentreprise, postes de travail des personnels, etc. 9. Pourquoi un firewallDe nos jours, toutes les entreprises possédant un réseau local possèdent aussi un accès àInternet, afin daccéder à la manne dinformation disponible sur le réseau des réseaux, et depouvoir communiquer avec lextérieur. Cette ouverture vers lextérieur est indispensable... etdangereuse en même temps. Ouvrir lentreprise vers le monde signifie aussi laisser placeouverte aux étrangers pour essayer de pénétrer le réseau local de lentreprise, et y accomplirdes actions douteuses, parfois gratuites, de destruction, vol dinformations confidentielles, ...Les mobiles sont nombreux et dangereux.Pour parer à ces attaques, une architecture sécurisée est nécessaire. Pour cela, le coeur dunetel architecture est basé sur un firewall. Cet outil a pour but de sécuriser au maximum leréseau local de lentreprise, de détecter les tentatives dintrusion et dy parer au mieuxpossible. Cela représente une sécurité supplémentaire rendant le réseau ouvert sur Internetbeaucoup plus sûr. De plus, il peut permettre de restreindre laccès interne vers lextérieur. Eneffet, des employés peuvent sadonner à des activités que lentreprise ne cautionne pas, lemeilleur exemple étant le jeu en ligne. En plaçant un firewall limitant ou interdisant laccès àces services, lentreprise peut donc avoir un contrôle sur les activités se déroulant dans sonenceinte.Le firewall propose donc un véritable contrôle sur le trafic réseau de lentreprise. Il permetdanalyser, de sécuriser et de gérer le trafic réseau, et ainsi dutiliser le réseau de la façon pourlaquelle il a été prévu et sans lencombrer avec des activités inutiles, et dempêcher unepersonne sans autorisation daccéder à ce réseau de donnée. 9 Mohamed ZAOUI
  • 10. Firewall - Nessus – Nmap - Hping Chapitre 2 : Le par-feu (Firewall)10 Mohamed ZAOUI
  • 11. Firewall - Nessus – Nmap - Hping 10. Introduction La technologie des pare-feux est apparue dans les années 80 pour palier à un nouveauproblème de sécurité lié à l’émergence de l’Internet. En 1988, un employé de NASA ArmesResearch Center en Californie a envoyé un mémo par courrier électronique à son collègue quia pu lire « Nous sommes actuellement attaqué par un virus Internet appelé Morris Worm ».Ce virus était la première attaque à grande échelle sur Internet. La communauté d’Internet acollaboré à la recherche de nouveaux moyens de protection contre ces nouvelles menaces. Ala suite de cela nous avons pu voire apparaître de nouveaux produits de protection contreces attaques comme les anti-virus et les pare-feux. Un pare-feu est un élément du réseau informatique, logiciel et/ou matériel, qui a pourfonction de sécuriser un réseau domestique ou professionnel en définissant les types decommunication autorisés ou interdits. Lorigine du terme pare-feu se trouve au théâtre. Le pare-feu ou coupe-feu est unmécanisme qui permet, une fois déclenché, déviter au feu de se propager de la salle vers lascène. En informatique un pare-feu est donc une allégorie dune porte empêchant feu est appeléPériphérique de protection en bordure (en anglais : Border Protection Device, ou BPD).Peu importe le domaine dans lequel on parle de pare-feu, la définition nous ramènetoujours à quelque chose bloquant ou empêchant autre chose de pénétrer librement quelquepart. 11. Qu’es ce qu’un pare-feu. Un pare-feu est un système ou un groupe de système qui gère les contrôles d’accèsentre deux réseaux. Plusieurs méthodes sont utilisées à l’heure actuelle. Deux mécanismessont utilisés : le premier consiste à interdire le trafic, et le deuxième à l’autoriser.Certains pare-feux mettent beaucoup d’énergie à empêcher quiconque de passer alors d’autrestendent à tout laisser passer. La chose la plus importante à comprendre est qu’il représenteune politique de contrôle d’accès.Vous devez avoir une idée précise de cette politique dans son ensemble pour savoir ce quevous devez autoriser ou interdire. Fig1. Pare-feu entre deux réseaux. 11 Mohamed ZAOUI
  • 12. Firewall - Nessus – Nmap - Hping Fig2. Pare-feu entre l’internet et 1 pc. Fig3. Pare-feu entre l’internet et un réseau de pc.I. Les protections que doit offrir tout système informatique Le pare-feu est un système de protection basic, si vous allez installer un pare-feu, lepremier chois de ton soucie est, Quesque vous allez protéger quand vous serez connecter ainternet, les trois Risc potentiel sont :Vos données : les informations que vous stoquez dans vote pcVos ressources : le matériel.Votre réputationII. De quoi protège un pare-feu? Certains pare-feux laissent uniquement passer le courrier électronique. De cettemanière, ils interdisent toute autre attaque qu’une attaque basée sur le service de courrier.D’autres pare-feux, moins strictes, bloquent uniquement les services reconnus comme étantdes services dangereux.Généralement, les pare-feux sont configurés pour protéger contre les accès non authentifié duréseau externe. Ceci, plus qu’autre chose, empêche les vandales de se logger sur des machinesde votre réseau interne, mais autorise les utilisateurs de communiquer librement avecl’extérieur. Les pare-feux sont également intéressants dans le sens où ils constituent un pointunique où l’audit et la sécurité peuvent être imposés. Tous les échanges passeront par lui. Ilpourra donner des résumés de trafic, des statistiques sur ce trafic, ou encore toutes lesconnexions entre les deux réseaux. 12 Mohamed ZAOUI
  • 13. Firewall - Nessus – Nmap - HpingIII. De quoi ne protège pas un pare-feu? Un pare-feu ne protège pas des attaques qui ne passent pas par lui… Certainesentreprises achètent des pare-feux à des prix incroyables alors que certains de leurs employéssont parfois connectés par modem au monde extérieur.Il est important de noter qu’un pare-feu doit être à la mesure de la politique de sécuritéglobale du réseau. Il ne sert à rien de mettre une porte blindée sur une maison en bois… Parexemple, un site contenant des documents isolé du reste du réseau !Une autre chose contre laquelle un pare-feu ne peut vous protéger est les traitres et les idiotsqui sont à l’intérieur de l’entreprise… Si un espion industriel décide de faire sortir desdonnées, il y arrivera, surtout sur disquette… Il vaut mieux vérifier qui a accès auxinformations que de mettre un pare-feu dans ce cas !IV. Que dire des virus? Les pare-feux ne protège pas très bien des virus. Il y a trop de manières différentes decoder des fichiers pour les transférer. En d’autres termes, un pare-feu ne pourra pas remplacerl’attention et la conscience des utilisateurs qui doivent respecter un certain nombre de règlespour éviter les problèmes… La première étant bien évidemment de ne jamais ouvrir un fichierattaché à un mail sans être sûr de sa provenance.Il faut prendre des mesures globales et importantes contre les virus. Avant de traquer les virusà l’entrée du réseau, il faut s’assurer que chaque poste de travail dispose d’un anti-virus. Lesvirus passent également très facilement par disquette… Les virus sur Internet son bien moinsimportant que les virus sur disquette.Quoiqu’il en soit, de plus en plus de vendeurs de pare-feux vous offrent des pare-feux quidétectent les virus. Ils permettent probablement d’arrêter les virus simples. Ne comptez passur leur protection !V. Quelles sont les points à prendre en compte pour un pare-feu? Il y a un certain nombre de règles qui doivent être prise par le chanceux qui a reçu laresponsabilité de configurer et de gérer le pare-feu.Le plus important est de refléter la politique de sécurité choisit par l’organisation. Entre toutinterdire et tout autoriser, il y a différent degrés de paranoïa. Le choix final doit être le résultatd’une politique globale de sécurité plus que d’une décision d’un ingénieur…La deuxième est de savoir le degré de contrôle que vous voulez. Après avoir analysés lesrisques, il faut définir ce qui doit être autorisé et interdit.Le troisième point est financier : c’est de savoir le budget que vous allouez au pare-feu. Unpare-feu complet peut être gratuit, ou coûter 100 000 dollars. La solution gratuite, comme laconfiguration d’un routeur, ne coûte rien sinon beaucoup de temps et de café. D’autressolutions coûteront cher au départ et peu ensuite… Il est important de considérer le prix dedépart, mais aussi celui du support. 13 Mohamed ZAOUI
  • 14. Firewall - Nessus – Nmap - HpingUn pare-feu coûte cher et prend beaucoup de temps à administrer… Vérifiez que vous avezdes bijoux avant d’acheter un coffre-fort hi-teck !VI. Les différents types de filtrages 1. Le filtrage simple de paquet (Stateless) i) Le principe Cest la méthode de filtrage la plus simple, elle opère au niveau de la couche réseau ettransport du modèle OSI. La plupart des routeurs daujourdhui permettent deffectuer dufiltrage simple de paquet. Cela consiste à accorder ou refuser le passage de paquet dun réseauà un autre en se basant sur : - Ladresse IP Source/Destination. - Le numéro de port Source/Destination. - Et bien sur le protocole de niveaux 3 ou 4.Cela nécessite de configurer le pare-feu ou le routeur par des règles de filtrages, généralementappelées des ACL (Access Control Lists). ii) Les limite Le premier problème vient du fait que ladministrateur réseau est rapidement contraintà autoriser un trop grand nombre daccès, pour que le pare-feu offre une réelle protection. Parexemple, pour autoriser les connexions à Internet à partir du réseau privé, ladministrateurdevra accepter toutes les connexions Tcp provenant de lInternet avec un port supérieur à1024. Ce qui laisse beaucoup de choix à un éventuel pirate. Il est à noter que de définir des ACL sur des routeurs haut de gamme - cest à dire,supportant un débit important - nest pas sans répercussion sur le débit lui-même. Enfin, cetype de filtrage ne résiste pas à certaines attaques de type IP Spoofing / IP Flooding, lamutilation de paquet, ou encore certaines attaques de type DoS. Ceci est vrai sauf dans lecadre des routeurs fonctionnant en mode distribué. Ceci permettant de gérer les Acldirectement sur les interfaces sans remonter à la carte de traitement central. Les performancesimpactées par les Acl sont alors quasi nulles. 2. Le filtrage de paquet avec état (Stateful). i) Le Principe Lamélioration par rapport au filtrage simple, est la conservation de la trace dessessions et des connexions dans des tables détats internes au pare-feu. Le pare-feu prend alorsses décisions en fonction des états de connexions, et peut réagir dans le cas de situationsprotocolaires anormales. Ce filtrage permet aussi de se protéger face à certains typesdattaques DoS. Dans lexemple précédent sur les connexions Internet, on va autoriser létablissementdes connexions à la demande, ce qui signifie que lon aura plus besoin de garder tous les ports 14 Mohamed ZAOUI
  • 15. Firewall - Nessus – Nmap - Hpingsupérieurs à 1024 ouverts. Pour les protocoles Udp et Icmp, il ny a pas de mode connecté. Lasolution consiste à autoriser pendant un certain délai les réponses légitimes aux paquetsenvoyés. Les paquets Icmp sont normalement bloqués par le pare-feu, qui doit en garder lestraces. Cependant, il nest pas nécessaire de bloquer les paquets Icmp de type 3 (destinationinaccessible) et 4 (ralentissement de la source) qui ne sont pas utilisables par un attaquant. Onpeut donc choisir de les laisser passer, suite à léchec dune connexion Tcp ou après lenvoidun paquet Udp. Fig4. Pare-feu en stateful.Pour le protocole Ftp (et les protocoles fonctionnant de la même façon), cest plus délicatpuisquil va falloir gérer létat de deux connexions. En effet, le protocole Ftp, gère un canal decontrôle établi par le client, et un canal de données établi par le serveur. Le pare-feu devradonc laisser passer le flux de données établi par le serveur. Ce qui implique que le pare-feuconnaisse le protocole Ftp, et tous les protocoles fonctionnant sur le même principe. Cettetechnique est connue sous le nom de filtrage dynamique (Stateful Inspection) et a été inventéepar Checkpoint. Mais cette technique est maintenant gérée par dautres fabricants. Pare-feu en stateful connections FTP. ii) Les limite Tout dabord, il convient de sassurer que les deux techniques sont bien implémentéespar les pare-feux, car certains constructeurs ne limplémentent pas toujours correctement.Ensuite une fois que laccès à un service a été autorisé, il ny a aucun contrôle effectué sur lesrequêtes et réponses des clients et serveurs. Un serveur Http pourra donc être attaquéimpunément (Comme quoi il leur en arrive des choses aux serveurs WEB !). Enfin les 15 Mohamed ZAOUI
  • 16. Firewall - Nessus – Nmap - Hpingprotocoles maisons utilisant plusieurs flux de données ne passeront pas, puisque le système defiltrage dynamique naura pas connaissance du protocole. 3. Le filtrage applicatif (ou pare-feu de type proxy ou proxying applicatif). i) Le principe Le filtrage applicatif est comme son nom lindique réalisé au niveau de la coucheApplication. Pour cela, il faut bien sûr pouvoir extraire les données du protocole de niveau 7pour les étudier. Les requêtes sont traitées par des processus dédiés, par exemple une requêtede type Http sera filtrée par un processus proxy Http. Le pare-feu rejettera toutes les requêtesqui ne sont pas conformes aux spécifications du protocole. Cela implique que le pare-feuproxy connaisse toutes les règles protocolaires des protocoles quil doit filtrer. ii) Les limite Le premier problème qui se pose est la finesse du filtrage réalisé par le proxy. Il estextrêmement difficile de pouvoir réaliser un filtrage qui ne laisse rien passer, vu le nombre deprotocoles de niveau 7. En outre le fait de devoir connaître les règles protocolaires de chaqueprotocole filtré pose des problèmes dadaptabilité à de nouveaux protocoles ou des protocolesmaisons.Mais il est indéniable que le filtrage applicatif apporte plus de sécurité que le filtrage depaquet avec état, mais cela se paie en performance. Ce qui exclut lutilisation dunetechnologie 100 % proxy pour les réseaux à gros trafic au jour daujourdhui. Néanmoins diciquelques années, le problème technologique sera sans doute résolu. 4. Que choisir Tout dabord, il faut nuancer la supériorité du filtrage applicatif par rapport à latechnologie Stateful. En effet les proxys doivent être paramétrés suffisamment finement pourlimiter le champ daction des attaquants, ce qui nécessite un très bonne connaissance desprotocoles autorisés à traverser le pare-feu. Ensuite un proxy est plus susceptible de présenterune faille de sécurité permettant à un pirate den prendre le contrôle, et de lui donner un accèssans restriction à tout le système dinformation. Idéalement, il faut protéger le proxy par un pare-feu de type Stateful Inspection. Il vautmieux éviter dinstaller les deux types de filtrage sur le même pare-feu, car la compromissionde lun entraîne la compromission de lautre. Enfin cette technique permet également de seprotéger contre lARP spoofing. 16 Mohamed ZAOUI
  • 17. Firewall - Nessus – Nmap - Hping Fig6. 2pare-feux en stateful entre l’internet, une DMZ et Réseau privé.VII. Les différents types de pare-feux 1. Les pare-feux bridge Ces derniers sont relativement répandus. Ils agissent comme de vrais câbles réseauavec la fonction de filtrage en plus, doù leur appellation de pare-feu. Leurs interfaces nepossèdent pas dadresse Ip, et ne font que transférer les paquets dune interface a une autre enleur appliquant les règles prédéfinies. Cette absence est particulièrement utile, car cela signifieque le pare-feu est indétectable pour un hacker lambda. En effet, quand une requête ARP estémise sur le câble réseau, le pare-feu ne répondra jamais. Ses adresses Mac ne circulerontjamais sur le réseau, et comme il ne fait que « transmettre » les paquets, il sera totalementinvisible sur le réseau. Cela rend impossible toute attaque dirigée directement contre le pare-feu, étant donné quaucun paquet ne sera traité par ce dernier comme étant sa propredestination. Donc, la seule façon de le contourner est de passer outre ses règles de drop. Touteattaque devra donc « faire » avec ses règles, et essayer de les contourner. Dans la plupart des cas, ces derniers ont une interface de configuration séparée. Uncâble vient se brancher sur une troisième interface, série ou même Ethernet, et qui ne doit êtreutilisée que ponctuellement et dans un environnement sécurisé de préférence.Ces pare-feux se trouvent typiquement sur les Switch. i) Avantages - Impossible de léviter (les paquets passeront par ses interfaces) - Peu coûteux ii) Inconvénients - Possibilité de le contourner (il suffit de passer outre ses règles) - Configuration souvent contraignante - Les fonctionnalités présentes sont très basiques (filtrage sur adresse IP, port, le plussouvent en Stateless). 17 Mohamed ZAOUI
  • 18. Firewall - Nessus – Nmap - Hping 2. Les pare-feux matériels Ils se trouvent souvent sur des routeurs achetés dans le commerce par de grandsconstructeurs comme Cisco ou Nortel. Intégrés directement dans la machine, ils font office de« boite noire », et ont une intégration parfaite avec le matériel. Leur configuration est souventrelativement ardue, mais leur avantage est que leur interaction avec les autres fonctionnalitésdu routeur est simplifiée de par leur présence sur le même équipement réseau. Souventrelativement peu flexibles en terme de configuration, ils sont aussi peu vulnérables auxattaques, car présent dans la « boite noire » quest le routeur. De plus, étant souvent très liésau matériel, laccès à leur code est assez difficile, et le constructeur a eu toute latitude pourproduire des système de codes « signés » afin dauthentifier le logiciel (système RSA ouassimilés). Ce système nest implanté que dans les pare-feux haut de gamme, car cela évite unremplacement du logiciel par un autre non produit par le fabricant, ou toute modification dece dernier, rendant ainsi le pare-feu très sûr. Son administration est souvent plus aisée que lespare-feu bridges, les grandes marques de routeurs utilisant cet argument comme argument devente. Leur niveau de sécurité est de plus très bon, sauf découverte de faille éventuelle commetout pare-feu. Néanmoins, il faut savoir que lon est totalement dépendant du constructeur dumatériel pour cette mise à jour, ce qui peut être, dans certains cas, assez contraignant. Enfin,seules les spécificités prévues par le constructeur du matériel sont implémentées. Cettedépendance induit que si une possibilité nous intéresse sur un pare-feu dune autre marque,son utilisation est impossible. Il faut donc bien déterminer à lavance ses besoin et choisir leconstructeur du routeur avec soin. Fig7. Quelques pare-feu "matériels" i) Avantages - Intégré au matériel réseau. - Administration relativement simple. - Bon niveau de sécurité. ii) Inconvénients - Dépendant du constructeur pour les mises à jour. - Souvent peu flexibles. 3. Les pare-feux logicielsPrésents à la fois dans les serveurs et les routeurs « faits maison », on peut les classer enplusieurs catégories : 18 Mohamed ZAOUI
  • 19. Firewall - Nessus – Nmap - Hping exemple de 2 pare-feux logiciel: jetico et zone alarm. 1.1. Les pare-feux personnels Ils sont assez souvent commerciaux et ont pour but de sécuriser un ordinateurparticulier, et non pas un groupe dordinateurs. Souvent payants, ils peuvent être contraignantset quelque fois très peu sécurisés. En effet, ils sorientent plus vers la simplicité dutilisationplutôt que vers lexhaustivité, afin de rester accessible à lutilisateur final. i) Avantages - Sécurité en bout de chaîne (le poste client) - Personnalisable assez facilement ii) Inconvénients - Facilement contournable - Difficiles a départager de par leur nombre énorme. 1.2. Les pare-feux plus « sérieux » Tournant généralement sous linux, car cet OS offre une sécurité réseau plus élevée etun contrôle plus adéquat, ils ont généralement pour but davoir le même comportement que lespare-feux matériels des routeurs, à ceci prêt quils sont configurables à la main. Le pluscourant est iptables (anciennement ipchains), qui utilise directement le noyau linux. Toutefonctionnalité des pare-feux de routeurs est potentiellement réalisable sur une telleplateforme. i) Avantages - Personnalisables - Niveau de sécurité très bon 19 Mohamed ZAOUI
  • 20. Firewall - Nessus – Nmap - Hping ii) Inconvénients Nécessite une administration système supplémentaire Ces pare-feux logiciels ontnéanmoins une grande faille : ils nutilisent pas la couche bas réseau. Il suffit donc de passeroutre le noyau en ce qui concerne la récupération de ces paquets, en utilisant une librairiespéciale, pour récupérer les paquets qui auraient été normalement « droppés » par le pare-feu.Néanmoins, cette faille induit de sintroduire sur lordinateur en question pour y faire desmodifications... chose qui induit déjà une intrusion dans le réseau, ou une prise de contrôlephysique de lordinateur, ce qui est déjà Synonyme dinefficacité de la part du pare-feu.VIII. Attaques, outils, défenses 1. Scénarios dattaques (Pénétrations de réseaux) Fig8. Scénarios dattaques. Quest-ce quune backdoor ? Une backdoor est un accès (« caché ») sur votre systèmequi permet à un pirate den prendre le contrôle à distance. Il existe une multitude de sortes debackdoor, et en général dans ce domaine, limagination des pirates rivalise avec lincrédulitédes utilisateurs. Voici quelques scénarios dattaques plus ou moins classique. i) Premier cas : Pas de protection Considérons un ordinateur victime sur lequel on a installé une backdoor en exploitantune des failles du système. Lattaquant a alors la possibilité dutiliser tous les services présentssur cet ordinateur. Il lui suffit denvoyer ses ordres à la backdoor et de récupérer les réponses. ii) Deuxième cas : Filtrer les flux entrants illégaux La sécurité de notre système ne nous semblant pas infaillible, nous décidons alorsdinstaller un pare-feu avec états (Un pare-feu sans état nous semblant quelque peu léger). Letrafic entrant est maintenant stoppé comme il se doit. Malheureusement, le pirate étant rusé etmalicieux, il a pris soin de sarranger pour que sa backdoor initie elle-même les sessions. Ducoup le pare-feu laisse passer les requêtes de lattaquant qui sont considérées comme desréponses par celui-ci. 20 Mohamed ZAOUI
  • 21. Firewall - Nessus – Nmap - Hping Fig9. Scénarios dattaques en présence de pare-feu. iii) Troisième cas : Bloquer les flux entrants et sortants Dans le cas précédent, le problème était dû aux flux sortants qui permettait au chevalde Troie dinitier les sessions avec la machine de lattaquant. Il sagit donc de bloquer les fluxsortants. Pour cela la défense insère donc un proxy afin de contrôler ce qui sort du réseau.Malheureusement le trojan peut encore sortir, certes avec plus de difficultés puisquil devra serenseigner sur les flux autorisés à sortir par le proxy, et les utiliser pour passer le proxy. Parexemple on peut encapsuler des ordres dans du HTTP (Ip over Http),dans du SSL (Ip overSsl), DNS (Ip over Dns), Smtp (Ip over Smtp). Fig10. Scénarios dattaques en présence de pare-feu et un serveur proxy.Dans le cas dun proxy avec authentification, le pirate fera preuve de grande imagination enréalisant un trojan capable de profiter des applications (comme IE par exemple) qui une foisquelles se sont authentifiées sont utilisées pour passer le proxy. iv) Quatrième cas : Protection locale via un pare-feu personnel Lidée du pare-feu personnel est de surveiller le trafic entrant et sortant de la machineinfectée. Malheureusement ceux-ci sont fortement attaquables, on peut :Passer au-dessus du pare-feu via une application autorisée. ® Appel de CreateRemoteThreadpermettant de linjection de code à la volée sous Windows. 21 Mohamed ZAOUI
  • 22. Firewall - Nessus – Nmap - HpingPasser en dessous du pare-feu via une bibliothèque adaptée (Winpcap sous Windows ou pcapsous Linux).Attaquer le pare-feu lui-même en tant quapplicatif (Arrêt du processus). v) Cinquième cas : piratage de VPN Imaginons quun pirate mal intentionné installe un trojan sur lordinateur duncommercial. Lordinateur possédant entre autre un système Windows et un client VPN.Normalement, le client VPN fonctionne de telle sorte que toutes les liaisons réseaux nétantpas dans le VPN ne fonctionnent pas. Malheureusement, il sagit du même problème que pourles pare-feu personnels et le trojan permet à lattaquant daccéder au réseau de lentreprise viale VPN. Fig11. piratage de VPN. On peut se rendre compte de limportance de la robustesse du système dexploitation,sur lequel est installé le VPN. Après une attaque réussie et la prise de contrôle en root de lamachine par le pirate, celui-ci va essayer dinstaller ce que lon appelle un rootkit.Il existe deux types de rootkit, les rootkit simples et les rootkit noyaux. Les rootkit simples secontentent de remplacer toute une collection de programmes système (ps, netstat, ifconfig, ....)lui permettant deffacer les traces de son passage et ainsi masquer complètement sa backdoor.Un simple outils tel que Tripwire permet de vérifier lintégrité des commandes, en enregistrantde façon cryptée les signatures (générées par une fonction de hashage) des fichiers decommandes en question. Les rootkit noyaux sont beaucoup plus difficiles à détecter, puisquils modifient lenoyau et donc modifient son comportement. Par exemple rendre invisible un processus àchaque appel (non pas de la commande ps) mais des fonctions systèmes du noyau, qui ellesmême sont appelées par la commande ps. Evidemment un rootkit noyau modifie en plus lesroutines de journalisassions du système, masque les connexions réseaux, ... Pour se protégerdes rootkit noyaux, le plus simple est de sen prémunir. Pour cela, lidéal est de patcher sonnoyau pour empêcher linstallation dun rootkit, et de désactiver les LKM (Loadable KernelModules qui permettent au root dintroduire un nouveau code dans le système dexploitationpendant que ce dernier est en cours dexécution), malheureusement cela ne suffit pas toujours 22 Mohamed ZAOUI
  • 23. Firewall - Nessus – Nmap - Hping(voir kinsmod.c). Il existe un outil pour Linux capable dun certain nombre de vérification demodules de backdoor. Cet outil sappelle rkscan et permet de détecter les versions de rootkitsles plus populaires. 2. Les techniques et outils de découvertes de pare-feu Il existe beaucoup doutils et beaucoup de techniques permettant didentifier un pare-feu. Lobjectif de ce paragraphe est den exposer quelques-uns et quelques-unes. Il est évidentque la plupart des outils utilisés par les pirates pour découvrir les pare-feux sont utilisablespour une activité tout aussi louable telle que la vérification du bon fonctionnement du pare-feu et de la robustesse du réseau. Dans un premier temps il convient de localiser le ou les pare-feux. La localisation dupare-feu ne pose pas de gros problèmes, un simple traceroute (ou tracert.exe) suffira, bien quedans certains cas netcat apporte de meilleurs résultats.Exemple :C:> nc -v -n 10.10.1.8 25(UNKNOWN) [10.10.1.8] 25 (?) open421 10.10.1.8 Sorry, the firewall does not provide mail service to you.Ensuite lattaquant cherchera à identifier le pare-feu, soit en espérant exploiter une faillemême du pare-feu, soit il cherchera à identifier les règles du pare-feu afin dy détecter unefaille dans le filtrage de paquet. Pour identifier les règles dun pare-feu, il faut utiliser unscanner de port. Il existe de nombreux scanner de ports, les plus connus sont Firewalk, Nmapet Hping2 : i) Firewalk Le Firewalking est une technique qui permet de déterminer les règles de filtrages deniveau 4 (Transport) sur les équipements (routeurs, pare-feu, passerelles) qui acheminent despaquets de niveau 3 (Réseau). Le principe de cette technique repose sur le champ Ttl (Time To Live) des en-têtes IPdes paquets. Cest à dire le nombre déquipement (routeur) que peut traverser le paquet. Lelogiciel traceroute utilise aussi la technique du Ttl. Lorsque lon envoie un paquet Udp avecun Ttl de 1, le premier routeur recevant le paquet émettra un paquet Icmp Ttl-exceeded. Etlon répète le procédé en augmentant le Ttl de 1 à chaque fois. En fait ce procédé peut êtreréalisé avec dautres protocoles de niveau 4 comme Tcp ou de niveau 3 comme Icmp.Firewalk fonctionne en construisant des paquets avec un IP Ttl calculé de façon à expirer surun segment situé après le pare-feu. En fait si le paquet est autorisé par le pare-feu, il pourra lepasser et expirera comme prévu en envoyant un message "Icmp Ttl expired in transit". Alinverse, si le paquet est bloqué par lACL du pare-feu, il sera abandonné et aucune réponsene sera envoyée ou bien un paquet de filtre admin Icmp de type 13 sera envoyé.Il est possible de bloquer les paquets Icmp Ttl EXPIRED au niveau de linterface externe, 23 Mohamed ZAOUI
  • 24. Firewall - Nessus – Nmap - Hpingmais le problème est que ses performances risquent den prendre un sérieux coup car desclients se connectant légitimement ne sauront jamais ce qui est arrivé à leur connexion. ii) Nmap Nmap (Network Mapper) est certainement le scanner de port le plus célèbre disponiblesous linux, Windows et même MAC. En règle générale, Nmap vérifie que lhôte à scanner estconnecté au réseau. Il réalise pour cela à la fois un Tcp ping sur le port 80 et un ping Icmpnormal. Ce comportement peut être détecté par un IDS (Inspection Detection System) et pourcela on peut changer le comportement de Nmap. iii) HPING HPING est différent de Nmap dabord parce quil est beaucoup plus configurable. Onpeut facilement modifier nimporte quel octet de lentête TcpIP. Cela permet dêtre réellementcréatif au niveau des techniques de balayage à des fins de reconnaissance. On peut bien sûrinsérer des données malveillantes dans les paquets (buffer overflow, trojan, ...) et les utiliserpour pénétrer des réseaux.HPING2 permet de : 1- Tester les règles de pare-feu. 2- De faire du scan sophistiqué. 3- De tester les performances dun réseau utilisant différents protocoles, le ToS et la fragmentation. 4- De faire du firewalk. 5- De lempreinte de système dexploitation. iv) NESSUS Nessus a été écrit par Renaud Deraison (depuis début 1998), un grand maître de Linuxet de la sécurité. Nessus est devenu le Linux de lévaluation de la vulnérabilité, il surpassecertains de ses concurrents commerciaux. Nessus emploie un modèle de plug-in extensible quipermet à la sécurité dajouter à la demande des modules dexploration. Nessus utilise unlangage de script NASL (Nessus Attack Script Language) pour écrire des tests de sécuritérapidement et facilement. Nessus est basé sur une architecture client-Serveur, le serveurréalise les attaques et tourne sur un système UNIX; les clients initialisent les attaques etexistent sur différentes plates-formes X11, Win32 et un client Java. Le fait dêtre open sourceet dutiliser des plug-in permet à Nessus dêtre mis à jour régulièrement au niveau de sa basede données dattaques et dêtre à la pointe de la technologie. Nessus compte à lheure actuelplus de 500 contrôles de vulnérabilités, dont certains ne sont pas disponibles dans les scannerscommerciaux. 24 Mohamed ZAOUI
  • 25. Firewall - Nessus – Nmap - Hping 3. Les réactions des pare-feu aux attaques classiques i) IP spoofing LIP spoofing consiste à modifier les paquets IP afin de faire croire au pare-feu quilsproviennent dune adresse IP considérée comme « de confiance ». Par exemple, une IPprésente dans le réseau local de lentreprise. Cela laissera donc toute latitude au hacker depasser outre les règles du pare-feu afin denvoyer ses propres paquets dans le réseau delentreprise. Les derniers pare-feux peuvent offrir une protection contre ce type dattaque,notamment en utilisant un protocole VPN, par exemple IPSec. Cela va crypter les entêtes despaquets, et ainsi rendre impossible leur modification par un intrus, et surtout, lintrus nepourra générer de paquets comme provenant de ce réseau local, ce dernier nayant pas la clénécessaire au cryptage. Les algorithmes utilisés dans de tels protocoles sont de type RSA. ii) DOS et DDOS Le DOS, ou Denial Of Service attack, consiste à envoyer le plus de paquets possiblesvers un serveur, générant beaucoup de trafic inutile, et bloquant ainsi laccès aux utilisateursnormaux. Le DDOS, pour Distributed DOS, implique venir de différentes machinessimultanées, cette action étant le plus souvent déclenchée par un virus : ce dernier va dabordinfecter nombre de machines, puis à une date donnée, va envoyer depuis chaque ordinateurinfecté des paquets inutiles vers une cible donnée. On appelle aussi ce type dattaque « flood». Les pare-feux ici nont que peu dutilité. En effet, une attaque DOS ou DDOS utilise le plussouvent des adresses sources différentes (le but nest pas de récupérer une réponse ici) etsouvent, impossible de distinguer ces paquets des autres... Certains pare-feux offrent uneprotection basique contre ce genre dattaque, par exemple en droppant les paquets si unesource devient trop gourmande, mais généralement, ces protections sont inutiles. Cette attaquebrute reste un des gros problèmes actuels, car elle est très difficilement évitable. iii) Port scanning Ceci constitue en fait une « pré-attaque » (Etape de découverte). Elle consiste àdéterminer quels ports sont ouverts afin de déterminer quelles sont les vulnérabilités dusystème. Le pare-feu va, dans quasiment tous les cas, pouvoir bloquer ces scans en annoncentle port comme « fermé ». Elles sont aussi aisément détectables car elles proviennent de lamême source faisant les requêtes sur tous les ports de la machine. Il suffit donc au pare-feu debloquer temporairement cette adresse afin de ne renvoyer aucun résultat au scanner. iv) Exploit Les exploits se font en exploitant les vulnérabilités des logiciels installés, par exempleun serveur Http, Ftp, etc. Le problème est que ce type dattaque est très souvent considérécomme des requêtes tout a fait « valides » et que chaque attaque est différente dune autre, vuque le bug passe souvent par reproduction de requêtes valides non prévues par leprogrammeur du logiciel. Autrement dit, il est quasiment impossible au pare-feu dintercepterces attaques, qui sont considérées comme des requêtes normales au système, mais exploitantun bug du serveur le plus souvent. La seule solution est la mise à jour périodique des logicielsutilisés afin de barrer cette voie daccès au fur et à mesure quelles sont découvertes. 25 Mohamed ZAOUI
  • 26. Firewall - Nessus – Nmap - HpingIX. Configuration d’un firewall sous Linux 1. Présentation généraleUn pare-feu (firewall) est une passerelle que l’on place sur un réseau pour sécuriser lescommunications entrantes et sortantes. Il existe deux familles de pare-feu : les firewalls àfiltrage de paquets et les firewalls de type proxy. Ils ne travaillent pas de la même façon etnoffrent pas les mêmes sécurités.Selon la version du noyau Linux utilisée, plusieurs types de firewall filtrant existent :  jusquà la version 2.1.102, c’est ipfwadm qui est implémenté,  depuis la version 2.1.102, on utilise ipchains,  à partir du noyau 2.4, iptables/NetFilter est implémenté en plus.NetFilter permet d’offrir une infrastructure dédiée au filtrage/manipulation de paquets, que lesutilisateurs et développeurs pourraient déployer comme un add-on construit autour du noyauxLinux. Il a été conçu pour être modulaire et extensible. Iptables est un module qui sinsèredans la structure de NetFilter et autorise lutilisateur à accéder aux règles et commandes defiltrage/manipulation du noyau.Le but de cette partie est d’expliquer comment configurer un pare-feu avec les iptables sousLinux. 2. DémarrageTout d’abord iptables est une commande que seul root peut lancer. Ensuite, vérifier la versionde votre noyau :> uname -aSi la version du noyau est antérieure à 2.4, il faudra installer iptables (cf. installation) Pourvoir si la commande est présente :> which iptablesPour voir si le module est installé :> lsmod | grep iptable 3. Installation de iptables (succinct)IpTables a besoin dun kernel de génération 2.4 compilé avec des options spéciales. Ceci nepose pas de problèmes avec les noyaux 2.4 génériques des principales distributions basées surcette génération de kernel.  Le noyauSi vous désirez re-compiler votre kernel (make dep; make clean; make bzImage), il fautspécifier les options nécessaires au fonctionnement diptables comme CONFIG_PACKET,CONFIG_NETFILTER, CONFIG_IP_NF_CONNTRACK, CONFIG_IP_NF_FTP,CONFIG_IP_NF_IRC, CONFIG_IP_NF_IPTABLES, CONFIG_IP_NF_FILTER,CONFIG_IP_NF_NAT, CONFIG_IP_NF_MATCH_STATE,CONFIG_IP_NF_TARGET_LOG, CONFIG_IP_NF_MATCH_LIMIT,CONFIG_IP_NF_TARGET_MASQUERADE 26 Mohamed ZAOUI
  • 27. Firewall - Nessus – Nmap - HpingDéplacez votre ancien répertoire de module> mv /lib/module/votre_version /lib/module/votre_version.oldPuis compilez et installez les modules (make modules; make modules_install), Copiez alors lenouveau kernel> cp /usr/src/linux/arch/i386/boot/bzImage /boot  NetfilterRécupérer sur le site officiel les sources (http://www.samba.org/netfilter).Désarchiver et compiler (make, make install).  Chargement des modulesIl est nécessaire de charger ces modules à chaque boot puis de lancer les règles defiltrage/masquage, avant de pouvoir utiliser iptables :# modprobe ip_tablesIl faut faire un script qui sera lancé à chaque démarrage (à rajouter dans /etc/rc.d/init.d suivantle système). Et selon les besoins, on peut éventuellement charger d’autres modules (cf.modules) 4. Fonctionnement d’iptablesLe noyau contient par défaut trois tables : Filter, NAT et Mangle. Une table permet de définirun comportement précis du firewall Linux.  La table FILTER va contenir toutes les règles pour le filtrage des paquets.  La table NAT permet deffectuer des translations dadresses.  La table MANGLE permet de marquer des paquets entrants (PREROUTING) et générés localement (OUTPUT). Ce marquage va permettre de traiter spécifiquement les paquets marqués dans les tables de routage.Une table est un ensemble de chaînes, elles-mêmes composées de règles.Sur un firewall, lorsqu’un paquet arrive, la fonction de décision de routage va déterminer si lepaquet est destiné à un processus local ou à un hôte sur un autre réseau. Deux cas peuvent seprésenter :  Le paquet lui est destiné : le paquet traverse la chaîne INPUT. Sil nest pas rejeté, il est transmis au processus sollicité. Il sera traiter. Peu éventuellement émettre un paquet en réponse. Ce nouveau paquet traverse la chaîne OUTPUT. Sil nest pas rejeté, il va vers la sortie. 27 Mohamed ZAOUI
  • 28. Firewall - Nessus – Nmap - Hping  Si le paquet est destiné à un hôte sur un autre réseau : il traverse la chaîne FORWARD. Sil nest pas rejeté, il poursuit alors sa route. 5. Configuration des tablesSuivant la syntaxe utilisée, la commande iptables va permettre de spécifier des règles desélection des paquets IP. On va pouvoir :  Ajouter des règles / chaînes.  Supprimer des règles / chaînes.  Modifier des règles / chaînes.  Afficher les règles / chaînesLes paquets sont récupérer suivant leurs : adresse source, adresse destination, protocole etnuméro de port. Pour chaque règle de sélection, on peut soit accepter le paquet, soit lignorer,soit renvoyer une erreur. Pour voir les commandes les plus usuelles :> man iptables  Commandes principalesCes options spécifient une action particulière à effectuer. Seule lune delles peut être spécifiéesur la ligne de commande, sauf indication contraire. 28 Mohamed ZAOUI
  • 29. Firewall - Nessus – Nmap - Hping  Commandes pour matcher 6. Mise en place du pare-feuLors de la mise en place dun pare-feu, on doit :  effacer toute les règles existantes et sassurer quaucune règle nest appliquée> iptables -F> iptables –L  appliquer une politique par défaut qui refuse tous les paquets> iptables –P INPUT DROP> iptables -P OUTPUT DROP> iptables -P FORWARD DROP  Pour logguer tout ce quon jette :> iptables -N LOG_DROP> iptables -A LOG_DROP -j LOG --log-prefix [IPTABLES DROP] : > iptables -A LOG_DROP -j DROPEt ensuite> iptables -A FORWARD -j LOG_DROP> iptables -A INPUT -j LOG_DROP> iptables -A OUTPUT -j LOG_DROP  Pour accepter tout ce qui se passe sur l’interface lo par exemple> iptables -A INPUT -i lo -j ACCEPT> iptables -A OUTPUT -o lo -j ACCEPT  Pour refuser les connexion sortantes vers les services non sécurisés telnet, FTP, et rsh> iptables -A INPUT -t DENY -p tcp --dport telnet,ftp,shell  _ Pour accepter le trafic FTP> iptables -A INPUT -i eth0 -p tcp -sport 21 -m state --state ESTABLISHED -j ACCEPT(pour accepter les trames FTP qui rentrent sur l’interface eth0 seulement si c’est uneconnexion déjà établis)> iptables -A OUTPUT -o eth0 -p tcp -dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT(pour accepter les trames FTP qui sortent si c’est une nouvelle connexion ou une connexiondéjà établis)  Pour empêcher un ping sur une machine du réseau 192.168.2.0> iptables –A FORWARD –i eth0 –d 192.168.2.0 –p icmp –j DROP 29 Mohamed ZAOUI
  • 30. Firewall - Nessus – Nmap - Hping  Pour supprime toutes les trames rentrantes dans lespace utilisateur, sauf HTTP (avec !)> iptables -I INPUT -p tcp -sport ! 80 -j DROP 7. Mise en place de modulesLes modules permettent de rajouter des fonctionnalités à NetFilter. Prenons l’exemple pourFTP. Charger le module :> modprobe ip_conntrack_ftpEnsuite, il faut vérifier que le trafic FTP est autorisé (cf. Pour accepter le trafic FTP). C’estindispensable pour que la connexion puisse sétablir.Ensuite c’est ici que ip_conntrack_ftp va servir :> iptables -A INPUT -i eth0 -p tcp -sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT (RELATED signifiant que le paquet initie une nouvelle connexion)> iptables -A OUTPUT -o eth0 -p tcp -dport 20 -m state --state ESTABLISHED –j ACCEPTEnfin pour que le serveur puisse établir la connexion pour les données (en mode actif) :> iptables -A INPUT -i eth0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --stateESTABLISHED -j ACCEPT> iptables -A OUTPUT -o eth0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --stateESTABLISHED,RELATED -j ACCEPT(sport et deport signifie l’intervalle des ports acceptés. En effet, la connexion se fait sur le port20/21 mais les transferts se font sur d’autres portsDe nombreuses autres règles de filtrages relativement fines peuvent être mise en place aveciptables. Nous avons vu seulement la table FILTER. Les autres tables fonctionnent de lamême manière. Il y a certaines limitations de NetFilter : par exemple il nintègre pas desfonctionnalités de limitation de bande passante ou il nintègre pas des fonctionnalitésdintroduction dun pourcentage derreur dans les communications. 30 Mohamed ZAOUI
  • 31. Firewall - Nessus – Nmap - HpingChapitre 3 : NMAP (Network Mapper)31 Mohamed ZAOUI
  • 32. Firewall - Nessus – Nmap - HpingI) DescriptionNmap (“Network Mapper”) est un scanner de ports open source. Il est conçu pour détecter lesports ouverts, les services hébergés et les informations sur le système d’exploitation d’unordinateur distant. Ce logiciel est devenu une référence pour les administrateurs réseaux carl’audit des résultats de nmap fournit des indications sur la sécurité dun réseau. Syntaxe :nmap [ <Types de scans> ...] [ <Options> ] { <spécifications des cibles> }II) FonctionnementPour scanner les ports dun ordinateur distant, Nmap utilise diverses techniquesdanalyse basées sur des protocoles tels que TCP, IP, UDP ou ICMP. De même, il se base sur les réponses particulières quil obtient à des requêtes particulièrespour obtenir une empreinte de la pile IP, souvent spécifique du système qui lutilise. Cest parcette méthode que loutil permet de reconnaitre la version dun système dexploitation et aussila version des services en écoute.III) Installation- Téléchargez la dernière version de Nmap depuis http://nmap.org/download.html- Décompressez larchive téléchargée puis installez-le comme suit : Tar xjvf nmap-X.YZ.tar.bz2 Cd nmap- X.YZ ./configure Make Make installIV) Interface graphiqueNmapFE, écrite au départ par Zach Smith, était linterface graphique officielle de Nmap pourles versions 2.2 à 4.22. À partir de la version 4.23 de Nmap, NmapFE a été remplacé parZenmap, une nouvelle interface graphique basée sur UMIT et développée par AdrianoMonteiro Marques.De nombreuses interfaces web sont également disponibles pour utiliser Nmap à partir dunnavigateur web. On peut citer LOCALSCAN, nmap-web et Nmap- CGI. 32 Mohamed ZAOUI
  • 33. Firewall - Nessus – Nmap - HpingEnfin, il existe des interfaces graphiques disponibles sous Microsoft Windows. On peut citerNMapWin, qui nest pas mis à jour depuis la version v1.4.0, et NMapW développé parSyhunt.V) Options disponibles 1) Spécification des ciblesTout ce qui nest pas une option (ou largument dune option) dans la ligne de commande deNmap est considéré comme une spécification dhôte cible. Le cas le plus simple est despécifier une adresse IP cible ou un nom dhôte à scanner. Si vous désirez scanner un réseau entier dhôtes consécutifs, Nmap supporte ladressage dustyle CIDR.La notation CIDR est concise mais pas toujours des plus pratiques. Par exemple, vousvoudriez scanner 192.168.0.0/16 mais éviter toutes les adresses se terminant par .0 ou .255 carse sont souvent des adresses de diffusion (broadcast). Nmap permet de le faire grâce àladressage par intervalles. Plutôt que de spécifier une adresse IP normale, vous pouvezspécifier pour chaque octet de lIP une liste dintervalles séparés par des virgules. Par exemple,192.168.0-255.1-254 évitera toutes les adresses se terminant par .0 ou .255. Les intervalles nesont pas limités aux octets finals: 0-255.0-255.13.37 exécutera un scan de toutes les adressesIP se terminant par 137.37. Ce genre de spécifications peut savérer utile pour des statistiquessur Internet ou pour les chercheurs.Même si les cibles sont souvent spécifiées dans les lignes de commandes, les optionssuivantes sont également disponibles pour sélectionner des cibles : 33 Mohamed ZAOUI
  • 34. Firewall - Nessus – Nmap - Hping-iL <inputfilename> (Lit la liste des hôtes/réseaux cibles depuis le fichier)-iR <num hosts> (Choisit des cibles au hasard)--exclude <host1[,host2][,host3],...> (Exclut des hôtes/des réseaux des cibles)--excludefile <exclude_file> (Exclut des hôtes/des réseaux des cibles depuis le fichier) 2) Découverte des hôtesUne des toutes premières étapes dans la reconnaissance dun réseau est de réduire unensemble (quelques fois énorme) de plages dIP à une liste dhôtes actifs ou intéressants.Scanner tous les ports de chacune des IP est lent et souvent inutile. Bien sûr, ce qui rend unhôte intéressant dépend grandement du but du scan. Les administrateurs de réseau peuventêtre uniquement intéressés par les hôtes où un certain service est actif tandis que les auditeursde sécurité peuvent sintéresser à tout équipement qui dispose dune adresse IP. Alors queladministrateur se satisferait dun ping ICMP pour repérer les hôtes de son réseau, lauditeurpourrait utiliser un ensemble varié de douzaines de paquets de tests (probes) dans le but decontourner les restrictions des pare-feux.Parce que les besoins de découverte des hôtes sont si différents, Nmap propose une grandepanoplie doptions pour individualiser les techniques utilisées. La découverte dhôte estsouvent appelée « scan ping » (ping scan), mais celle-ci va bien au delà dune simple requêteecho ICMP associée à lincontournable outil ping. Les options suivantes contrôlent ladécouverte des hôtes.-sL (Liste simplement) Cette forme dégénérée de découverte dhôtes liste simplement chaque hôte du(des) réseau(x) spécifié(s), sans envoyer aucun paquet aux cibles. Par défaut, Nmap utilise toujours la résolution DNS inverse des hôtes pour connaître leurs noms.-sP (Scan ping) Cette option indique à Nmap de neffectuer que le scan ping (la découverte des hôtes), puis dafficher la liste des hôtes disponibles qui ont répondu au scan. Aucun autre test (comme le scan des ports ou la détection dOS) nest effectué.-PN (Pas de scan ping) Cette option évite complètement létape de découverte des hôtes de Nmap. En temps normal, Nmap utilise cette étape pour déterminer quelles sont les machines actives pour effectuer un scan approfondi. Par défaut, Nmap nexamine en profondeur, avec le scan des ports ou la détection de version, que les machines qui sont actives.-PS [portlist](Ping TCP SYN) Cette option envoie un paquet TCP vide avec le drapeau (flag) SYN activé. La destination par défaut de ce paquet est le port 80 (configurable à la compilation en changeant la définition DEFAULT_TCP_PROBE_PORT dans nmap.h ), mais un autre port peut être spécifié en paramètre (ex.: -PS22,23,25,80,113,1050,35000), 34 Mohamed ZAOUI
  • 35. Firewall - Nessus – Nmap - Hping auquel cas les paquets de tests (probes) seront envoyés en parallèle sur chaque port cible.-PA [portlist](Ping TCP ACK) Le ping TCP ACK ressemble fortement aux tests SYN précédemment évoqués. À la différence que, comme on limagine bien, le drapeau TCP ACK est utilisé à la place du drapeau SYN. Un tel paquet ACK acquitte normalement la réception de données dans une connexion TCP précédemment établie, or ici cette connexion nexiste pas. Ainsi, lhôte distant devrait systématiquement répondre par un paquet RST qui trahirait son existence. Loption -PA utilise le même port par défaut que le test SYN (80), mais peut aussi prendre une liste de ports de destination dans le même format-PU [portlist](Ping UDP) Une autre option de découverte des hôtes est le ping UDP, qui envoie un paquet UDP vide (à moins que loption --data-length ne soit utilisée) aux ports spécifiés. La liste des ports est écrite dans le même format que les options -PS et -PA précédemment évoquées. Si aucun port nest spécifié, le port par défaut est le 31338. Cette valeur par défaut peut être modifiée à la compilation en changeant la définition DEFAULT_UDP_PROBE_PORT dans le fichier nmap.h. Un numéro de port très peu courant est utilisé par défaut, car envoyer des paquets sur un port ouvert nest que peu souhaitable pour ce type de scan particulier. Lavantage principal de ce type de scan est quil permet de contourner les pare-feux et dispositifs de filtrage qui nobservent que TCP.-PE; -PP; -PM (Types de ping ICMP) En plus des inhabituels types de découverte des hôtes TCP et UDP précédemment évoqués, Nmap peut également envoyer les paquets standard émis par léternel programme ping. Utilisez loption -PE pour activer ce comportement de requête echo. Les requêtes timestamp et masque dadresse peuvent être émises avec les options -PP et -PM, respectivement.-PR (Ping ARP) Un des usages les plus courant de Nmap est de scanner un LAN Ethernet. Sur la plupart des LANS, particulièrement ceux qui utilisent les plages dadresses privées de la RFC 1918, la grande majorité des adresses IP sont inutilisées à un instant donné. Quand Nmap essaie denvoyer un paquet IP brut (raw packet) comme une requête ICMP echo, le système dexploitation doit déterminer ladresse matérielle (ARP) correspondant à la cible IP pour correctement adresser la trame Ethernet. Ceci est souvent lent et problématique, car les systèmes dexploitation nont pas été écrits pour 35 Mohamed ZAOUI
  • 36. Firewall - Nessus – Nmap - Hping gérer des millions de requêtes ARP contre des hôtes indisponibles en un court intervalle de temps. Les requêtes ARP sont prises en charge par Nmap qui dispose dalgorithmes optimisés pour gérer le scan ARP. Si Nmap reçoit une réponse à ces requêtes, il na pas besoin de poursuivre avec les ping basés sur IP car il sait déjà que lhôte est actif. Ceci rend le scan ARP bien plus rapide et fiable que les scans basés sur IP.-PO [protolist] (IP Protocol Ping) Une autre otpion de découverte dhôtes est le Ping IPProto, qui envoie des paquets IP avec les numéros de protocole(s) spécifiés dans le champ Protocol de len-tête IP. La liste des protocoles prend le même format quavec la liste des ports dans les options de découverte en TCP et UDP présentées précédement.--reason (Raisons données à létat de lhôte et des ports) Montre les raisons pour lesquelles chaque port est désigné par un état spécifique et un hôte connecté ou non. Cette option affiche le type de paquet qui à déterminé létat du port ou de lhôte. Par exemple, un paquet RST en provenance dun port fermé ou un echo relpy pour un hôte connecté. Linformation que Nmap peut fournir est déterminée par le type de scan ou de ping. Le scan SYN et le ping SYN (-sS et -PT) sont très détaillés, mais les TCP connect scan et ping (-sT) sont limités par limplémentation de lappel système connect. Cette fonctionnalité est automatiquement activée par le mode de deboguage (-d) et les résultats sont enregistrés dans la sortie XML même si cette option nest pas spécifiée.-n (Pas de résolution DNS) Indique à Nmap de ne jamais faire la résolution DNS inverse des hôtes actifs quil a trouvé. Comme la résolution DNS est souvent lente, ceci accélère les choses.-R (Résolution DNS pour toutes les cibles) Indique à Nmap de toujours faire la résolution DNS inverse des adresses IP cibles. Normalement, ceci nest effectué que si une machine est considérée comme active.Les bases du scan de portsMême si le nombre de fonctionnalités de Nmap a considérablement augmenté au fil des ans, ilreste un scanner de ports efficace, et cela reste sa fonction principale. La commande de basenmap <target> scanne plus de 1 660 ports TCP de lhôte <target>. Alors que de nombreuxautres scanners de ports ont partitionné les états des ports en ouverts ou fermés, Nmap a unegranularité bien plus fine. Il divise les ports selon six états: ouvert (open), fermé (closed),filtré (filtered), non-filtré (unfiltered), ouvert|filtré (open|filtered), et fermé|filtré(closed|filtered).Ces états ne font pas partie des propriétés intrinsèques des ports eux-mêmes, mais décriventcomment Nmap les perçoit. Par exemple, un scan Nmap depuis le même réseau que la cible 36 Mohamed ZAOUI
  • 37. Firewall - Nessus – Nmap - Hpingpourrait voir le port 135/tcp comme ouvert alors quun scan au même instant avec les mêmesoptions au travers dInternet pourrait voir ce même port comme filtré. Les six états de port reconnus par Nmapouvert (open) Une application accepte des connexions TCP ou des paquets UDP sur ce port. Trouver de tels ports est souvent le but principal du scan de ports. Les gens soucieux de la sécurité savent pertinemment que chaque port ouvert est un boulevard pour une attaque. Les attaquants et les pen-testers veulent exploiter ces ports ouverts, tandis que les administrateurs essaient de les fermer ou de les protéger avec des pare-feux sans gêner leurs utilisateurs légitimes.fermé (closed) Un port fermé est accessible (il reçoit et répond aux paquets émis par Nmap), mais il ny a pas dapplication en écoute. Comme un port fermé est accessible, il peut être intéressant de le scanner de nouveau plus tard au cas où il souvrirait. Les administrateurs pourraient désirer bloquer de tels ports avec un pare-feu, mais ils apparaîtraient alors dans létat filtré décrit dans la section suivante.filtré (filtered) Nmap ne peut pas toujours déterminer si un port est ouvert car les dispositifs de filtrage des paquets empêchent les paquets de tests (probes) datteindre leur port cible. Le dispositif de filtrage peut être un pare-feu dédié, des règles de routeurs filtrants ou un pare-feu logiciel. Ces ports ennuient les attaquants car ils ne fournissent que très peu dinformations. Quelques fois ils répondent avec un message derreur ICMP de type 3 code 13 (« destination unreachable: communication administratively prohibited »), mais les dispositifs de filtrage qui rejettent les paquets sans rien répondre sont bien plus courants. Ceci oblige Nmap à essayer plusieurs fois au cas où ces paquets de tests seraient rejetés à cause dune surcharge du réseau et pas du filtrage.non-filtré (unfiltered) Létat non-filtré signifie quun port est accessible, mais que Nmap est incapable de déterminer sil est ouvert ou fermé. Seul le scan ACK, qui est utilisé pour déterminer les règles des pare-feux, catégorise les ports dans cet état. Scanner des ports non-filtrés avec un autre type de scan, comme le scan Windows, SYN ou FIN peut aider à savoir si un port est ouvert ou pas.ouvert|filtré (open|filtered) Nmap met dans cet état les ports dont il est incapable de déterminer létat entre ouvert et filtré. Ceci arrive pour les types de scans où les ports ouverts ne renvoient pas de réponse. Labsence de réponse peut aussi signifier quun dispositif de filtrage des paquets a rejeté le test ou les réponses attendues. Ainsi, Nmap ne peut sassurer ni que le port est ouvert, ni quil est filtré. Les scans UDP, protocole IP, FIN, Null et Xmas catégorisent les ports ainsi. 37 Mohamed ZAOUI
  • 38. Firewall - Nessus – Nmap - Hpingfermé|filtré (closed|filtered) Cet état est utilisé quand Nmap est incapable de déterminer si un port est fermé ou filtré. Cet état est seulement utilisé par le scan Idle basé sur les identifiants de paquets IP. 3) Techniques de scan de ports-sS (Scan TCP SYN) Le scan SYN est celui par défaut et le plus populaire pour de bonnes raisons. Il peut être exécuté rapidement et scanner des milliers de ports par seconde sur un réseau rapide lorsquil nest pas entravé par des pare-feux. Cette technique est souvent appelée le scan demi-ouvert (half-open scanning), car il nétabli pas pleinement la connexion TCP. Il envoie un paquet SYN et attend sa réponse, comme sil voulait vraiment ouvrir une connexion. Une réponse SYN/ACK indique que le port est en écoute (ouvert), tandis quune RST (reset) indique le contraire. Si aucune réponse nest reçue après plusieurs essais, le port est considéré comme étant filtré.-sT (Scan TCP connect()) Le scan TCP connect() est le type de scan par défaut quand le SYN nest pas utilisable. Nmap demande au système dexploitation qui lexécute détablir une connexion au port de la machine cible grâce à lappel système connect(). Si le scan SYN est disponible, il vaut mieux lutiliser. Nmap a bien moins de contrôles sur lappel système haut niveau connect() que sur les paquets bruts, ce qui le rend moins efficace. Lappel système complète les connexions ouvertes sur les ports cibles au lieu de les annuler lorsque la connexion est à demie ouverte, comme le fait le scan SYN.-sU (Scan UDP) Même si les services les plus connus dInternet son basés sur le protocole TCP, les services UDP sont aussi largement utilisés. DNS, SNMP ou DHCP (ports 53, 161/162 et 67/68) sont les trois exemples les plus courants. Comme le scan UDP est généralement plus lent et plus difficile que TCP, certains auditeurs de sécurité les ignorent. Cest une erreur, car les services UDP exploitables sont courants et les attaquants eux ne les ignoreront pas. Par chance, Nmap peut aider à répertorier les ports UDP. Le scan UDP est activé avec loption-sU. Il peut être combiné avec un scan TCP, comme le scan SYN ( -sS), pour vérifier les deux protocoles lors de la même exécution de Nmap. Le scan UDP envoie un en-tête UDP (sans données) à chaque port visé. Si un message ICMP « port unreachable (type 3, code 3) » est renvoyé, le port est alors fermé. Les 38 Mohamed ZAOUI
  • 39. Firewall - Nessus – Nmap - Hping autres messages derreur « unreachable ICMP (type 3, codes 1, 2, 9, 10, or 13) » rendront le port filtré. À loccasion, il arrive quun service répond par un paquet UDP, prouvant que le port est dans létat ouvert. Si aucune réponse nest renvoyée après plusieurs essais, le port est considéré comme étant ouvert|filtré. Cela signifie que le port peut être soit ouvert, soit quun dispositif de filtrage bloque les communications. Le scan de versions ( -sV) peut être utilisé pour différencier les ports ouverts de ceux filtrés.-sN; -sF; -sX (Scans TCP Null, FIN et Xmas) Ces trois types de scans (dautres sont possibles en utilisant loption --scanflags décrite dans la section suivante) exploitent une subtile faille de la RFC TCP pour différencier les ports entre ouverts et fermés. Scan Null (-sN) Nactive aucun des bits (les drapeaux de len-tête TCP vaut 0). Scan FIN (-sF) Nactive que le bit FIN. Scan Xmas (-sX) Active les drapeaux FIN, PSH et URG, illuminant le paquet comme un arbre de Noël (NDT: la fracture cognitive entre la culture anglo-saxonne et française se ressent fortement dans cette traduction...). Ces trois types de scan ont exactement le même comportement, sauf pour les drapeaux TCP utilisés dans des paquets de tests (probes packets). Si un RST est reçu, le port est considéré comme étant fermé, tandis quune absence de réponse signifiera quil est dans létat ouvert|filtré. Le port est marqué comme filtré si un message derreur ICMP « unreachable (type 3, code 1, 2, 3, 9, 10 ou 13) » est reçu. Lavantage principal de ces types de scans est quils peuvent furtivement traverser certains pare-feux ou routeurs filtrants sans état de connexion (non-statefull). Un autre avantage est quils sont même un peu plus furtifs que le scan SYN. Ny comptez pas trop dessus cependant -- la plupart des IDS modernes sont configurés pour les détecter.-sA (Scan TCP ACK) Ce type de scan est différent des autres abordés jusquici, dans le sens où ils ne peuvent pas déterminer si un port est ouvert(ni même ouvert|filtré). Il est utilisé pour établir les règles des pare-feux, déterminant sils sont avec ou sans états (statefull/stateless) et quels ports sont filtrés. Le scan ACK nactive que le drapeau ACK des paquets (à moins que vous nutilisiez loption --scanflags). Les systèmes non-filtrés réagissent en retournant un paquet RST. Nmap considère alors le port comme non-filtré, signifiant quil est accessible avec un 39 Mohamed ZAOUI
  • 40. Firewall - Nessus – Nmap - Hping paquet ACK, mais sans savoir sil est réellement ouvert ou fermé. Les ports qui ne répondent pas ou renvoient certains messages derreur ICMP (type 3, code 1, 2, 3, 9, 10, ou 13), sont considérés comme filtrés.-sW (Scan de fenêtre TCP) Le scan de fenêtre TCP est exactement le même que le scan ACK à la différence près quil exploite un détail de limplémentation de certains systèmes pour identifier les ports fermés des autres, au lieu de toujours afficher non-filtré lorsquun RST est renvoyé. Sur certains systèmes, les ports ouverts utilisent une taille de fenêtre TCP positive (même pour les paquets RST), tandis que les ports fermés ont une fenêtre de taille nulle. Ainsi, au lieu de toujours afficher non-filtré lorsquun RST est reçu, le scan de fenêtre indique que le port est ouvert ou fermé selon que la taille de fenêtre TCP de ce paquet RST est respectivement positive ou nulle.-sM (Scan TCP Maimon) Cette technique est la même que les scans NUll, FIN et Xmas, à la différence près que le paquet de test est ici un FIN/ACK.--scanflags (Scan TCP personnalisé) Les utilisateurs réellement experts de Nmap ne veulent pas se limiter aux seuls types de scans proposés. Loption --scanflagsvous permet de créer votre propre type de scan en spécifiant vos propres combinaisons de drapeaux TCP Largument de loption --scanflags peut être soit un nombre comme 9 (PSH et FIN), mais lutilisation des noms symboliques est plus facile. Mélanger simplement les drapeaux URG, ACK, PSH, RST, SYN et FIN.-sI <zombie host[:probeport]>(Scan passif -- idlescan) Cette méthode de scan avancé permet de faire un véritable scan de port TCP en aveugle, (dans le sens où aucun paquet nest envoyé directement à la cible depuis votre vraie adresse IP).-sO (Scan du protocole IP) Le scan du protocole IP permet de déterminer quels protocoles IP (TCP, ICMP, IGMP, etc.) sont supportés par les cibles. Ce nest donc pas techniquement un scan de ports, car Nmap essaie les différents numéros de protocoles IP à la place des numéros de ports TCP ou UDP. 4) Spécifications des ports et ordre du scanEn plus de toutes les méthodes de scan abordées précédemment, Nmap propose des optionspermettant la spécification des ports à scanner ainsi que lordre (au hasard ou séquentiel) danslequel le scan doit se faire. Par défaut, Nmap scanne tous les ports jusquau 1 024 40 Mohamed ZAOUI
  • 41. Firewall - Nessus – Nmap - Hpinginclusivement ainsi que les ports supérieurs listés dans le fichier nmap-servicespour le ou lesprotocoles demandés).-p <port ranges>(Ne scanne que les ports spécifiés) Cette option spécifie quels ports vous voulez scanner et remplace le comportement par défaut. Les ports peuvent être spécifiés un à un ou par plages (séparés par des tirets, notamment 1-1023).-F (Scan rapide (limite aux ports connus) Cette option indique que vous souhaitez seulement scanner les ports listés dans le fichier nmap-services fourni avec Nmap (ou le fichier des protocoles avec loption - sO). Ceci est bien plus rapide que de scanner les 65 535 ports dun hôte.-r (Ne mélange pas les ports) Par défaut, Nmap mélange au hasard lordre des ports (sauf que certains ports couramment accessibles sont placés vers le début de la liste pour des raisons defficacité). Ce mélange est normalement souhaitable, mais vous pouvez spécifier loption -r pour effectuer un scan de port séquentiel.VI) Exemples d’utilisation de nmap : • Voir tous les ports TCP ouverts sur une machine, utilisation de messages SYN, donc pas de log sur la machine cible : nmap -sS 127.0.0.1 • La même chose mais avec loption -F (fast scan) et -n (sans résolution DNS) : nmap -F -n -sS 127.0.0.1 • Voir tous les ports UDP ouverts sur une machine : nmap -sU 127.0.0.1 • Voir si une machine est sur le réseau (scan Ping) : nmap -sP 127.0.0.1 • Scanner une plage dadresses. Ici toutes les adresses de 192.168.0 à 192.168.255 : nmap 192.168.0-255 • Connaitre le système dexploitation de la machine (TCP/IP fingerprint) : nmap -O 127.0.0.1 • Si nmap narrive pas à determiner la version, on pourra lui demander de nous donner une liste des systèmes qui pourraient potentiellement correspondre : nmap -O --osscan-guess 127.0.0.1 41 Mohamed ZAOUI
  • 42. Firewall - Nessus – Nmap - Hping • Scanner un port précis. Ici, cest le port http : nmap -p 80 127.0.0.1 • Scanner une plage de ports. Ici on scan du port 0 au 80 et tous ceux supérieurs à 60000 ) : nmap -p 0-80,60000 127.0.0.1 • Désactiver la résolution DNS inverse des hôtes, augmente la rapidité : nmap -n 127.0.0.1VII) Conclusion : Dans un souci de sécurité, il faut mieux que vous soyez le premier à effectuer ces tests,avant que des pirates avec des objectifs différents le fassent pour vous. Ainsi, vousdécouvrirez vos propres faiblesses et éventuelles erreurs humaines dadministration. Nmap permet de pouvoir prévoir les futures attaques, et aussi de pouvoir connaîtrequels services tournent sur une machine. Une installation faite un peu trop vite peut laisser desservices en écoute (donc des ports ouverts sans que cela ne soit nécessaire) et doncvulnérables à une attaque. Nhésitez pas à utiliser Nmap contre vos serveurs pour savoir quelsports sont en écoute. 42 Mohamed ZAOUI
  • 43. Firewall - Nessus – Nmap - Hping Chapitre 4 : Hping43 Mohamed ZAOUI
  • 44. Firewall - Nessus – Nmap - Hping I. DéscriptionHping est un outil, en ligne de commande, d’assembleur et d’analyseur de paquets TCP/IP.Hping est une autre alternative à la commande de base ping. Il est relativement évolué etpermet de gérer plusieurs protocoles.Son domaine dapplications est plus large que celui de ping ou même fping :On peut en effet non seulement effectuer des requêtes ICMP pour vérifier la connectivité,mais aussi et surtout des requêtes TCP ou UDP sur le port voulu pour vérifier létat de ce portsur une machine distante, et ceci de façon discrète. On peut aussi grâce à cette fonctionnalitévérifier le fonctionnement de la pile TCP/IP sur les deux hôtes mis en jeux (source etdestinataire).Hping a d’abord servi comme un outil de sécurité dans le passé, depuis il a évolué et permetaujourd’hui de tester la sécurité des réseaux et de leurs utilisateurs.Voici une liste des différents tests que l’on peut faire avec hping :  Test de firewall  Port scanning avancé  Test de réseau en utilisant différents protocoles, TOS, et fragmentation  Traceroute avec les protocoles supportés  Audit des piles TCP/IP  Découverte de « path MTU »  Détermination d’OS à distance I. FonctionnementPar défaut, hping envoie des requêtes TCP sur le port 0 de lhôte de destination, avec aucundrapeau (flag) positionné, ce qui aura pour effet de ne pas être inscrit dans les logs dans laplupart des cas. Le retour sera une réponse TCP avec les drapeaux RST et ACK positionnés silhôte distant est connecté avec une configuration TCP/IP fonctionnelle.On peut à volonté positionner tous les drapeaux du segment TCP, ce qui permet de vérifier lespolitiques des firewalls, et den déduire létat des ports scannés de cette manière.Une autre fonctionnalité intéressante est de vérifier létat dune connexion. On pourra en effetdéduire cette information en jouant sur la taille et la fragmentation des segments transmis. II. Les commandes principalesIl existe plusieurs familles de commandes pour Hping. 1. Commande de baseil suffit dindiquer ladresse réseau à tester 44 Mohamed ZAOUI
  • 45. Firewall - Nessus – Nmap - HpingIl faut tout de même noter que la requête envoyée par défaut est un segment TCP et nonICMPLoption –i (--interval) permet de préciser lintervalle de temps en secondes entre chaquerequête.Largument -c (--count) permet de stipuler le nombre de requêtes qui doivent être émises.L’option -q (--quiet) permet dactiver le quiet mode, pour ne pas afficher une ligne parrequête, mais seulement le résumé final.-V (--verbose) permet dactiver le mode Verbose, qui affiche tous les détails des requêtesémises. 45 Mohamed ZAOUI
  • 46. Firewall - Nessus – Nmap - Hping 2. Commandes de protocolePlusieurs commandes permettent de sélectionner le protocole démission des requêtes.-0 active le mode RAW IP, qui permet de signer la requête.-1 sélectionne de mode ICMP, qui équivaut alors à la simple commande ping-2 sélectionne le mode UDP, qui émet des segments UDP-9 active le mode listen, qui permet de recevoir des paquets signés 3. Commandes du protocole IPLoption -a permet de spoofer une adresse IP, cest à dire de se faire passer pour quelquundautreIl faut noter que, utilisée seule, cette option ne permet pas de recevoir les réponses auxrequêtes émisesL’option -G récupère la route utilisée pour atteindre lhôte distantIl faut savoir que certains matériels réseau ne supportent pas cette option (certains routeursnotamment) 46 Mohamed ZAOUI
  • 47. Firewall - Nessus – Nmap - HpingL’option -t (--ttl) permet de spécifier le champ TTL (Time To Live) du protocole IPLa majorité des champs du protocole IP (comme par exemple le code du protocole supérieur)sont modifiables par des arguments de cette manière, nous ne les détaillerons pas tous ici. 4. Commandes des protocoles TCP/UDPL’option –p (--destport) précise le port destination que lon va joindre. Cet outil est trèspratique pour faire du scannage de port et ainsi déterminer les sécurités utilisées par unfirewall par exemple.Loption -s permet de spécifier le port source de la requête. Cette fonction trouve son utilitélorsquon veut passer outre un firewall spécialement configuré par exemple pour unetransmission de fichier. 5. Commandes permettant de faire de léchange de fichier-E permet de spécifier le fichier à envoyer 47 Mohamed ZAOUI
  • 48. Firewall - Nessus – Nmap - Hping-e permet de préciser la signature des paquets à envoyer-B permet dactiver la retransmission de paquet gérée par TCP, et permet alors davoir untransfert fiableExemple : III. Exemple d’utilisation de HpingComme vous pouvez le voir le système répond avec un paquet TCP avec lesdrapeaux RST et ACK positionnés. Ainsi vous êtes capables deffectuer un ping TCP, utilequand ICMP est filtré. Par défaut le port 0 est utilisé par ce quil est très étrange quil soit àlétat LISTEN (ndt : en écoute). Si nous envoyons un paquet TCP sans drapeau à un port àlétat LISTEN de nombreuses piles TCP/IP ne renverront pas de réponse. Ainsi nous sommes capables de savoir si un port est dans létat LISTEN. Par exemple :Puisque le port 80 de www.debian.org est en mode LISTEN nous nobtenonsaucune réponse.Mais quarrive-t-il si nous essayons de hpinger un port bloqué par unfirewall ? Cela dépend de la politique / mise en oeuvre du firewall.Habituellement nous obtenons un paquet ICMP ou rien. Par exemple : 48 Mohamed ZAOUI
  • 49. Firewall - Nessus – Nmap - HpingLe firewall de yahoo ne permet pas de connexion au port 79, ainsi ilrépond avec un paquet ICMP Packet filtered (ICMP unreachable code 13).Cependant il y a beaucoup de firewalls qui jettent simplement le paquet.Par exemple :Aucune réponse de microsoft. Est-ce que le port est bloqué ou en modeLISTEN ? Découvrir cela est très simple. Nous essayons juste de fixer ledrapeau ACK au lieu denvoyer un paquet TCP sans drapeau. Si le systèmerépond peut-être que ce port est en mode LISTEN (mais il est possiblequil y ait une règle qui refuse les paquets TCP sans drapeau maisautorise les paquets ACK).Encore aucune réponse, ainsi ce port semble être filtré. De toute façon ilest possible que microsoft utilise un firewall intelligent qui sait quepour me connecter je dois dabord envoyer un paquet SYN.Ok.. il semble que le port 79 de microsoft soit réellement filtré.Juste par clarté nous envoyons quelques paquets ACK au port 80 de www.debian.org : 49 Mohamed ZAOUI
  • 50. Firewall - Nessus – Nmap - HpingNous pouvons voir les réponses même si le port 80 est en mode LISTEN parcequun port en mode LISTEN ne devrait pas répondre à des paquets TCPseulement avec un drapeau NULL, FIN, Xmas, Ymas. ACK et RST sont deuxdrapeaux TCP importants qui permettent de tester des ACL (ndt : listes decontrôle daccès) et de deviner le champ ip->id en ne produisant aucunévènements (habituellement). IV. Conclusionhping montre de réels atouts face aux solutions de test plus anciennes telles que ping ou fping.En effet, il apporte la nouveauté de pouvoir réaliser simplement des requêtes entièrementparamétrables avec les protocoles TCP/UDP. Cette possibilité permet plusieurs fonctionsavancées qui savèrent très utiles, comme tester la politique dun firewall sur des ports bienparticuliers, ou le transfert de fichiers à travers un firewall paranoïaque, ou encore le testdune liaison.Au final, on peut dire que hping apport à la commande ping laspect quantitatif, cest à direquen plus de savoir si un hôte est connecté ou non, on peut obtenir de nombreuxrenseignements sur la sécurité de cet hôte et de la liaison qui nous joint à lui. 50 Mohamed ZAOUI
  • 51. Firewall - Nessus – Nmap - Hping Chapitre 5 : Nessus51 Mohamed ZAOUI
  • 52. Firewall - Nessus – Nmap - HpingI. Présentaion Nessus est un outil daudit automatique de réseau. . Il signale les faiblesses potentielles ouavérées sur les machines testées. Il permet, via un mode client-serveur, de lancer des attaquessur un réseau ou plusieurs réseaux (partager la charge dattaque sur ces réseaux avec un clientet plusieurs serveurs), donc sur les serveurs que comporte(nt) ce(s) réseau(x). Cet outilpossède une base dattaques importante, et permet ainsi de tester certaines versions obsolètesde services connus (Apache / IIS). Il permet aussi de tester les applications Web connues (trèsfortement utilisées par la communauté, style PHPNuke, phpBB, et autres). Nessus possèdeaussi dautres plugins intéressants comme Hydra, qui permet de tester la robustesse des motsde passe des applications Web.Nessus est constitué de 2 parties: Le serveur (contient une base de données regroupant différents types de vulnérabilités) qui effectue les tests de sécurité. Le client peut être situé sur une autre machine, et invoquer des fonctions distantes sur le serveur afin de tester la sécurité sur une ou plusieurs machines ou réseaux. Lutilisateur se connecte sur le serveur grâce au client et après authentification, il ordonneau serveur de procéder aux tests dune ou plusieurs machines. Le client reçoit ensuite lesrésultats du test. 1. Avantages :a. Nessus est un outil très complet dans son domaine. Les paramètres sur lesquels on peut agirsont très nombreux, ce qui donne limpression que cet outil est très complet.b. La présentation du rapport de scan est très pratique, sous forme tableau dynamiquerassemblant les sous réseaux observés, les IP précises observées, les ports détectés, lasensibilité du port, et enfin une explication sur le warning présenté.c. Linterface graphique est la bienvenue et peut présenter de manière visuelle toutes lesoptions disponibles.d. Nessus prévient si lon coche une option qui peut être dangereuse ou bloquante pour uncertain temps.e. Son architecture permet son extensibilité. Le développement dune attaque nest pas trèscompliqué en langage Nessus (NASL - Nessus Attack Scripting Language), ou même en C.f. Les informations sur le niveau de sécurité résultant de ces attaques sont reportées dans lesrapports. Des explications sont données sur la raison pour laquelle un trou de sécurité a étédétecté. 52 Mohamed ZAOUI
  • 53. Firewall - Nessus – Nmap - Hping 2. Inconvénients :1. Le grand nombre de paramètres sur lesquels on peut agir sans tout le temps biencomprendre ce quils font. En effet le détail et la signification des attaques, des options descans ne sont pas toujours très clairs par leur simple nom.2. La fermeture du code source depuis la version 3. Les versions antérieures étaient totalementouvertes sous licence GPL. Nessus est un bon logiciel pour débuter dans la sécurité desréseaux et pour comprendre quels sont les points vulnérables dun réseau. Il ne remplacera pascependant une bonne analyse méthodique d’un expert sécurité.II. Installation et utilisation : 1. InstallationTélécharger Nessus depuis le site www.nessus.org pour Windows Etape 1 Etape 2 Etape 3 Etape 4 53 Mohamed ZAOUI
  • 54. Firewall - Nessus – Nmap - Hping Etape 5 Etape 6Note: Nessus peut être lancé à partir de la ligne de commande : 2. UtilisationAprès s’être enregistré auprès de Teenable et avoir validé notre version de Nessus, ouvrons lapartie « Nessus Server Manager » :Ajouter un utilisateur :Cliquer sur “Manage Users…” pour créer et gérer des comptes pour Nessus server: 54 Mohamed ZAOUI
  • 55. Firewall - Nessus – Nmap - HpingPour créer un utilisateur, cliquer sur le bouton “+” puis entrer un nouveau utilisateur avec unmot de passe : 55 Mohamed ZAOUI
  • 56. Firewall - Nessus – Nmap - Hping  Lancer le serveur en cliquant sur « Start Nessus Server« .On ouvre notre navigateur préféré et on y insère l’URL suivante :https://votre_adresse_ip_ou_est_le_serveur:8834Exemple : https://127.0.0.1:8834Après authentification, l’interface suivante se présente à nous : 56 Mohamed ZAOUI
  • 57. Firewall - Nessus – Nmap - Hping4 onglets principaux sont disponibles :  Reports : contient les résultats des scans effectués. Il est possible d’en importer via l’option ‘upload‘.  Scans : permet de définir les scans à effectuer. En cliquant sur ‘add‘, vous pouvez définir le type de scan, la politique à appliquer (voir point suivant), et indiquer une cible (possibilité d’importer une liste).  Policies : ce menu est le plus essentiel. Il permet de définir tout un tas d’options pour les scans à effectuer. 4 sous options disponibles : o General : l’onglet Général vous permet de nommer la politique et de configurer diverses opérations d’analyse. Six cases d’options sont disponibles pour contrôler le comportement du scanner. Quelques options utiles : safe Checks (permet de désactiver les plugins pouvant faire planter l’hôte distant), scan de ports en custom list (permet de définir une range de ports à scanner), etc. o Credentials : l’onglet de crédentiels permet de configurer des informations d’authentification lors du scan. Cette option permet à Nessus des tests en boîte blanche afin d’effectuer une plus grande variété de contrôles qui se traduisent par des résultats plus précis. o Plugins : l’onglet plugins permet à l’utilisateur de choisir des contrôles de sécurité spécifiques au moyen de divers modules (Backdoors, DNS, Databases, Firewall etc.). Attention au module « Denial Of Service » surtout si vous n’avez pas choisi l’option safe checks dans l’onglet général. o Preferences : l’onglet préférences permet d’affiner divers paramètres. Le menu déroulant propose des éléments de configuration supplémentaires pour la catégorie sélectionnée. Il est important de noter que ceci est une liste dynamique dépendante des plugins et des politiques que l’on a sélectionné. 57 Mohamed ZAOUI
  • 58. Firewall - Nessus – Nmap - Hping  Users : l’onglet permet d’ajouter/supprimer des utilisateurs ayant accès à Nessus.Résultat d’un scan : 58 Mohamed ZAOUI
  • 59. Firewall - Nessus – Nmap - Hping Conclusion  Enfin, afin de garantir un niveau de protection maximal, il est nécessaire dadministrer le pare-feu et notamment de surveiller son journal dactivité afin dêtre en mesure de détecter les tentatives dintrusion et les anomalies. La mise en place dun firewall doit donc se faire en accord avec une véritable politique de sécurité.  Nmap permet de pouvoir prévoir les futures attaques, et aussi de pouvoir connaître quels services tournent sur une machine. Une installation faite un peu trop vite peut laisser des services en écoute (donc des ports ouverts sans que cela ne soit nécessaire) et donc vulnérables à une attaque. Nhésitez pas à utiliser Nmap contre vos serveurs pour savoir quels ports sont en écoute.  lattaquant cherchera à identifier le pare-feu, soit en espérant exploiter une faille même du pare-feu, soit il cherchera à identifier les règles du pare-feu afin dy détecter une faille dans le filtrage de paquet. Pour identifier les règles dun pare-feu, il faut utiliser un scanner de port. Il existe de nombreux scanner de ports, les plus connus sont Nmap et Hping.59 Mohamed ZAOUI
  • 60. Firewall - Nessus – Nmap - HpingBibliographie  http://xenod.free.fr/  http://www.linux-france.org/  http://www.tenable.com/products/nessus  http://nmap.org/  http://www.hping.org/  http://wiki.hping.org/  http://www.commentcamarche.net/contents/protect/firewall.php3 60 Mohamed ZAOUI

×