SlideShare una empresa de Scribd logo
1 de 60
Descargar para leer sin conexión
Rapport de projet de sécurité informatique :




Réalisé par :
                                                     Encadré par :
    Mohamed ZAOUI
                                                             Prof : Ahmed   ASIMI




                          Année universitaire : 2010/2011
Firewall - Nessus – Nmap - Hping



                           Introduction générale


    La sécurité d'un système informatique fait souvent l'objet de métaphores. En effet, on la
compare régulièrement à une chaîne en expliquant que le niveau de sécurité d'un système est
caractérisé par le niveau de sécurité du maillon le plus faible. Ainsi, une porte blindée est
inutile 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 prendre
en compte les aspects suivants :

      La sensibilisation des utilisateurs aux problèmes de sécurité
      La sécurité logique, c'est-à-dire la sécurité au niveau des données, notamment les
       données de l'entreprise, les applications ou encore les systèmes d'exploitation.
      La sécurité des télécommunications : technologies réseau, serveurs de
       l'entreprise, réseaux d'accè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 l'entreprise, 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 d'accéder à la manne d'information disponible sur le réseau des réseaux, et de
pouvoir communiquer avec l'extérieur. Cette ouverture vers l'extérieur est indispensable... et
dangereuse en même temps. Ouvrir l'entreprise vers le monde signifie aussi laisser place
ouverte aux étrangers pour essayer de pénétrer le réseau local de l'entreprise, et y accomplir
des actions douteuses, parfois gratuites, de destruction, vol d'informations confidentielles, ...
Les mobiles sont nombreux et dangereux.

Pour parer à ces attaques, une architecture sécurisée est nécessaire. Pour cela, le coeur d'une
tel architecture est basé sur un firewall. Cet outil a pour but de sécuriser au maximum le
réseau local de l'entreprise, de détecter les tentatives d'intrusion et d'y parer au mieux
possible. Cela représente une sécurité supplémentaire rendant le réseau ouvert sur Internet
beaucoup plus sûr. De plus, il peut permettre de restreindre l'accès interne vers l'exté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
Firewall - Nessus – Nmap - Hping



                                         Table des matières

Chapitre 1 : La sécurité informatique

1.         Introduction .............................................................................................................. 7

2.         Historique ................................................................................................................ 7

3.         Pourquoi les systèmes sont vulnérables ? .................................................................... 7

4.         Pourquoi un système ne peut être sûr à 100% .............................................................. 8

5.         Méthodes utilisées pour les attaques ........................................................................... 8

6.         Outils des attaquants ................................................................................................. 8

7.         Objectifs de la sécurité informatique........................................................................... 8

8.         Nécessité d'une approche globale ............................................................................... 9

9.         Pourquoi un firewall .................................................................................................. 9

Chapitre 2 : Pare-feu (firewall)

            Introduction .......................................................................................................... 11

            Qu’es ce qu’un pare-feu. ........................................................................................ 11

I.         Les protections que doit offrir tout système informatique ........................................... 12

II.        De quoi protège un pare-feu? ................................................................................... 12

III.       De quoi ne protège pas un pare-feu? ......................................................................... 13

IV.        Que dire des virus?.................................................................................................. 13

V.         Quelles sont les points à prendre en compte pour un pare-feu?.................................... 13

VI.        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 ................................................................................................................... 16
VII.       Les différents types de pare-feux .............................................................................. 17

           1. Les pare-feux bridge .................................................................................................... 17
           2. Les pare-feux matériels ................................................................................................. 18


       3                                                                                                             Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
                3. Les pare-feux logiciels .................................................................................................. 18
VIII.           Attaques, outils, défenses ........................................................................................ 20

                1. Scénarios d'attaques (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..................................................................................................................................25

IX.             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................................................................................................30




Chapitre 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
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 : ................................................................................................................... 42



Chapitre 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........................................................................................................................50



Chapitre 5 : NESSUS



      I.        Présentation ............................................................................................................ 52
                1. Avantages ..................................................................................................................... 52
                2. Inconvénients ............................................................................................................... 53
      II.       Installation et utilisation .......................................................................................... 53
                1. Installation.................................................................................................................... 53
                1. Utilisation ..................................................................................................................... 54
Conclusion ............................................................................................................................................59
Bibliographie .....................................................................................................................................60




            5                                                                                                                 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping




    Chapitre 1 : La sécurité informatique




6                                           Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping

 1. Introduction
Avec le développement de l'utilisation d'internet, de plus en plus d'entreprises ouvrent leur
système d'information à leurs partenaires ou leurs fournisseurs, il est donc essentiel de
connaître les ressources de l'entreprise à protéger et de maîtriser le contrôle d'accès et les
droits des utilisateurs du système d'information. Il en va de même lors de l'ouverture de
l'accès                de                l'entreprise              sur               internet.
Par ailleurs, avec le nomadisme, consistant à permettre aux personnels de se connecter au
système d'information à partir de n'importe quel endroit, les personnels sont amenés à
« transporter » une partie du système d'information hors de l'infrastructure sécurisé de
l'entreprise.

 2. Historique
Certaines histoires d'intrusions sont bien connues, elles ont été relayées par les médias, et font
aujourd'hui 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, l'administrateur système qui
       découvrit les faits, en a tiré un livre devenu désormais un classique: The Coockoo's
       Egg ( L’œuf de coucou).

      En 1988, l'Internet Worm (ver ), un programme qui s'auto- 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 d'informations volées.

Cependant, aussi inquiétantes que puissent être ces histoires, elles ne représentent qu'une
infime partie du problème. Accompagnant la croissance du nombre de machines
interconnectées dans Internet et la conscience dans le grand public du développement des
"Autoroutes de l'Information", le nombre d'intrusions 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
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é informatique
Le système d'information est généralement défini par l'ensemble des données et des
ressources matérielles et logicielles de l'entreprise permettant de les stocker ou de les faire
circuler. Le système d'information représente un patrimoine essentiel de l'entreprise, qu'il
convient                                       de                                    protéger.
La sécurité informatique, d'une manière générale, consiste à assurer que les ressources
matérielles ou logicielles d'une organisation sont uniquement utilisées dans le cadre prévu.
La sécurité informatique vise généralement cinq principaux objectifs :

      L'intégrité, c'est-à-dire garantir que les données sont bien celles que l'on croit être ;
      La confidentialité, consistant à assurer que seules les personnes autorisées aient accès
       aux ressources échangées ;
       8                                                                       Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
       La disponibilité, permettant de maintenir le bon fonctionnement du système
        d'information ;
       La non répudiation, permettant de garantir qu'une transaction ne peut être niée ;
       L'authentification, consistant à assurer que seules les personnes autorisées aient accès
        aux ressources.

 8. Nécessité d'une approche globale
  La sécurité d'un système informatique fait souvent l'objet de métaphores. En effet, on la
compare régulièrement à une chaîne en expliquant que le niveau de sécurité d'un système est
caractérisé par le niveau de sécurité du maillon le plus faible. Ainsi, une porte blindée est
inutile 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 prendre
en compte les aspects suivants :

       La sensibilisation des utilisateurs aux problèmes de sécurité
       La sécurité logique, c'est-à-dire la sécurité au niveau des données, notamment les
        données de l'entreprise, les applications ou encore les systèmes d'exploitation.
       La sécurité des télécommunications : technologies réseau, serveurs de
        l'entreprise, réseaux d'accè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 l'entreprise, postes de
        travail des personnels, etc.

 9. Pourquoi un firewall
De nos jours, toutes les entreprises possédant un réseau local possèdent aussi un accès à
Internet, afin d'accéder à la manne d'information disponible sur le réseau des réseaux, et de
pouvoir communiquer avec l'extérieur. Cette ouverture vers l'extérieur est indispensable... et
dangereuse en même temps. Ouvrir l'entreprise vers le monde signifie aussi laisser place
ouverte aux étrangers pour essayer de pénétrer le réseau local de l'entreprise, et y accomplir
des actions douteuses, parfois gratuites, de destruction, vol d'informations confidentielles, ...
Les             mobiles           sont            nombreux             et           dangereux.

Pour parer à ces attaques, une architecture sécurisée est nécessaire. Pour cela, le coeur d'une
tel architecture est basé sur un firewall. Cet outil a pour but de sécuriser au maximum le
réseau local de l'entreprise, de détecter les tentatives d'intrusion et d'y parer au mieux
possible. Cela représente une sécurité supplémentaire rendant le réseau ouvert sur Internet
beaucoup plus sûr. De plus, il peut permettre de restreindre l'accès interne vers l'extérieur. En
effet, des employés peuvent s'adonner à des activités que l'entreprise ne cautionne pas, le
meilleur exemple étant le jeu en ligne. En plaçant un firewall limitant ou interdisant l'accès à
ces services, l'entreprise peut donc avoir un contrôle sur les activités se déroulant dans son
enceinte.

Le firewall propose donc un véritable contrôle sur le trafic réseau de l'entreprise. Il permet
d'analyser, de sécuriser et de gérer le trafic réseau, et ainsi d'utiliser le réseau de la façon pour
laquelle il a été prévu et sans l'encombrer avec des activités inutiles, et d'empêcher une
personne sans autorisation d'accéder à ce réseau de donnée.


        9                                                                          Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping



     Chapitre 2 : Le par-feu (Firewall)




10                                            Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping

 10. Introduction

        La technologie des pare-feux est apparue dans les années 80 pour palier à un nouveau
problème de sécurité lié à l’émergence de l’Internet. En 1988, un employé de NASA Armes
Research Center en Californie a envoyé un mémo par courrier électronique à son collègue qui
a 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 a
collaboré à la recherche de nouveaux moyens de protection contre ces nouvelles menaces. A
la suite de cela nous avons pu voire apparaître de nouveaux produits de protection contre
ces 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 pour
fonction de sécuriser un réseau domestique ou professionnel en définissant les types de
communication autorisés ou interdits.


   L'origine du terme pare-feu se trouve au théâtre. Le pare-feu ou coupe-feu est un
mécanisme qui permet, une fois déclenché, d'éviter au feu de se propager de la salle vers la
scène. En informatique un pare-feu est donc une allégorie d'une 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ène
toujours à quelque chose bloquant ou empêchant autre chose de pénétrer librement quelque
part.

 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ès
entre deux réseaux. Plusieurs méthodes sont utilisées à l’heure actuelle. Deux mécanismes
sont 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’autres
tendent à tout laisser passer. La chose la plus importante à comprendre est qu’il représente
une politique de contrôle d’accès.

Vous devez avoir une idée précise de cette politique dans son ensemble pour savoir ce que
vous devez autoriser ou interdire.




                              Fig1. Pare-feu entre deux réseaux.

    11                                                                     Mohamed ZAOUI
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, le
premier chois de ton soucie est, Quesque vous allez protéger quand vous serez connecter a
internet, les trois Risc potentiel sont :

Vos données : les informations que vous stoquez dans vote pc
Vos ressources : le matériel.
Votre réputation



II. De quoi protège un pare-feu?

       Certains pare-feux laissent uniquement passer le courrier électronique. De cette
maniè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 étant
des services dangereux.

Généralement, les pare-feux sont configurés pour protéger contre les accès non authentifié du
réseau externe. Ceci, plus qu’autre chose, empêche les vandales de se logger sur des machines
de votre réseau interne, mais autorise les utilisateurs de communiquer librement avec
l’extérieur.

       Les pare-feux sont également intéressants dans le sens où ils constituent un point
unique où l’audit et la sécurité peuvent être imposés. Tous les échanges passeront par lui. Il
pourra donner des résumés de trafic, des statistiques sur ce trafic, ou encore toutes les
connexions entre les deux réseaux.




     12                                                                             Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping

III.    De quoi ne protège pas un pare-feu?

       Un pare-feu ne protège pas des attaques qui ne passent pas par lui… Certaines
entreprises achètent des pare-feux à des prix incroyables alors que certains de leurs employés
sont 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… Par
exemple, 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 idiots
qui sont à l’intérieur de l’entreprise… Si un espion industriel décide de faire sortir des
données, il y arrivera, surtout sur disquette… Il vaut mieux vérifier qui a accès aux
informations 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 de
coder des fichiers pour les transférer. En d’autres termes, un pare-feu ne pourra pas remplacer
l’attention et la conscience des utilisateurs qui doivent respecter un certain nombre de règles
pour éviter les problèmes… La première étant bien évidemment de ne jamais ouvrir un fichier
attaché à 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. Les
virus passent également très facilement par disquette… Les virus sur Internet son bien moins
important que les virus sur disquette.

Quoiqu’il en soit, de plus en plus de vendeurs de pare-feux vous offrent des pare-feux qui
détectent les virus. Ils permettent probablement d’arrêter les virus simples. Ne comptez pas
sur 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 la
responsabilité 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 tout
interdire et tout autoriser, il y a différent degrés de paranoïa. Le choix final doit être le résultat
d’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 les
risques, 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. Un
pare-feu complet peut être gratuit, ou coûter 100 000 dollars. La solution gratuite, comme la
configuration d’un routeur, ne coûte rien sinon beaucoup de temps et de café. D’autres
solutions coûteront cher au départ et peu ensuite… Il est important de considérer le prix de
départ, mais aussi celui du support.
       13                                                                          Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
Un pare-feu coûte cher et prend beaucoup de temps à administrer… Vérifiez que vous avez
des 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

        C'est la méthode de filtrage la plus simple, elle opère au niveau de la couche réseau et
transport du modèle OSI. La plupart des routeurs d'aujourd'hui permettent d'effectuer du
filtrage simple de paquet. Cela consiste à accorder ou refuser le passage de paquet d'un réseau
à un autre en se basant sur :

  - L'adresse 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éralement
appelées des ACL (Access Control Lists).

        ii) Les limite
        Le premier problème vient du fait que l'administrateur réseau est rapidement contraint
à autoriser un trop grand nombre d'accès, pour que le pare-feu offre une réelle protection. Par
exemple, pour autoriser les connexions à Internet à partir du réseau privé, l'administrateur
devra accepter toutes les connexions Tcp provenant de l'Internet 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 - c'est à dire,
supportant un débit important - n'est pas sans répercussion sur le débit lui-même. Enfin, ce
type de filtrage ne résiste pas à certaines attaques de type IP Spoofing / IP Flooding, la
mutilation de paquet, ou encore certaines attaques de type DoS. Ceci est vrai sauf dans le
cadre des routeurs fonctionnant en mode distribué. Ceci permettant de gérer les Acl
directement sur les interfaces sans remonter à la carte de traitement central. Les performances
impactées par les Acl sont alors quasi nulles.

   2.      Le filtrage de paquet avec état (Stateful).

        i) Le Principe

        L'amélioration par rapport au filtrage simple, est la conservation de la trace des
sessions et des connexions dans des tables d'états internes au pare-feu. Le pare-feu prend alors
ses décisions en fonction des états de connexions, et peut réagir dans le cas de situations
protocolaires anormales. Ce filtrage permet aussi de se protéger face à certains types
d'attaques DoS.

       Dans l'exemple précédent sur les connexions Internet, on va autoriser l'établissement
des connexions à la demande, ce qui signifie que l'on aura plus besoin de garder tous les ports
      14                                                                       Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
supérieurs à 1024 ouverts. Pour les protocoles Udp et Icmp, il n'y a pas de mode connecté. La
solution consiste à autoriser pendant un certain délai les réponses légitimes aux paquets
envoyés. Les paquets Icmp sont normalement bloqués par le pare-feu, qui doit en garder les
traces. Cependant, il n'est pas nécessaire de bloquer les paquets Icmp de type 3 (destination
inaccessible) et 4 (ralentissement de la source) qui ne sont pas utilisables par un attaquant. On
peut donc choisir de les laisser passer, suite à l'échec d'une connexion Tcp ou après l'envoi
d'un paquet Udp.




                                     Fig4. Pare-feu en stateful.

Pour le protocole Ftp (et les protocoles fonctionnant de la même façon), c'est plus délicat
puisqu'il va falloir gérer l'état de deux connexions. En effet, le protocole Ftp, gère un canal de
contrôle établi par le client, et un canal de données établi par le serveur. Le pare-feu devra
donc laisser passer le flux de données établi par le serveur. Ce qui implique que le pare-feu
connaisse le protocole Ftp, et tous les protocoles fonctionnant sur le même principe. Cette
technique est connue sous le nom de filtrage dynamique (Stateful Inspection) et a été inventée
par Checkpoint. Mais cette technique est maintenant gérée par d'autres fabricants.




                                    Pare-feu en stateful connections FTP.

       ii) Les limite

       Tout d'abord, il convient de s'assurer que les deux techniques sont bien implémentées
par les pare-feux, car certains constructeurs ne l'implémentent pas toujours correctement.
Ensuite une fois que l'accès à un service a été autorisé, il n'y a aucun contrôle effectué sur les
requê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
Firewall - Nessus – Nmap - Hping
protocoles maisons utilisant plusieurs flux de données ne passeront pas, puisque le système de
filtrage dynamique n'aura 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 l'indique réalisé au niveau de la couche
Application. Pour cela, il faut bien sûr pouvoir extraire les données du protocole de niveau 7
pour les étudier. Les requêtes sont traitées par des processus dédiés, par exemple une requête
de type Http sera filtrée par un processus proxy Http. Le pare-feu rejettera toutes les requêtes
qui ne sont pas conformes aux spécifications du protocole. Cela implique que le pare-feu
proxy connaisse toutes les règles protocolaires des protocoles qu'il doit filtrer.

       ii) Les limite

       Le premier problème qui se pose est la finesse du filtrage réalisé par le proxy. Il est
extrêmement difficile de pouvoir réaliser un filtrage qui ne laisse rien passer, vu le nombre de
protocoles de niveau 7. En outre le fait de devoir connaître les règles protocolaires de chaque
protocole filtré pose des problèmes d'adaptabilité à de nouveaux protocoles ou des protocoles
maisons.

Mais il est indéniable que le filtrage applicatif apporte plus de sécurité que le filtrage de
paquet avec état, mais cela se paie en performance. Ce qui exclut l'utilisation d'une
technologie 100 % proxy pour les réseaux à gros trafic au jour d'aujourd'hui. Néanmoins d'ici
quelques années, le problème technologique sera sans doute résolu.

   4. Que choisir

        Tout d'abord, il faut nuancer la supériorité du filtrage applicatif par rapport à la
technologie Stateful. En effet les proxys doivent être paramétrés suffisamment finement pour
limiter le champ d'action des attaquants, ce qui nécessite un très bonne connaissance des
protocoles autorisés à traverser le pare-feu. Ensuite un proxy est plus susceptible de présenter
une faille de sécurité permettant à un pirate d'en prendre le contrôle, et de lui donner un accès
sans restriction à tout le système d'information.

       Idéalement, il faut protéger le proxy par un pare-feu de type Stateful Inspection. Il vaut
mieux éviter d'installer les deux types de filtrage sur le même pare-feu, car la compromission
de l'un entraîne la compromission de l'autre. Enfin cette technique permet également de se
protéger contre l'ARP spoofing.




    16                                                                         Mohamed ZAOUI
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éseau
avec la fonction de filtrage en plus, d'où leur appellation de pare-feu. Leurs interfaces ne
possèdent pas d'adresse Ip, et ne font que transférer les paquets d'une interface a une autre en
leur appliquant les règles prédéfinies. Cette absence est particulièrement utile, car cela signifie
que 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 circuleront
jamais sur le réseau, et comme il ne fait que « transmettre » les paquets, il sera totalement
invisible sur le réseau. Cela rend impossible toute attaque dirigée directement contre le pare-
feu, étant donné qu'aucun paquet ne sera traité par ce dernier comme étant sa propre
destination. Donc, la seule façon de le contourner est de passer outre ses règles de drop. Toute
attaque 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. Un
câble vient se brancher sur une troisième interface, série ou même Ethernet, et qui ne doit être
utilisé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 plus
souvent en Stateless).


    17                                                                                       Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping

   2. Les pare-feux matériels

        Ils se trouvent souvent sur des routeurs achetés dans le commerce par de grands
constructeurs 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 souvent
relativement ardue, mais leur avantage est que leur interaction avec les autres fonctionnalités
du routeur est simplifiée de par leur présence sur le même équipement réseau. Souvent
relativement peu flexibles en terme de configuration, ils sont aussi peu vulnérables aux
attaques, car présent dans la « boite noire » qu'est le routeur. De plus, étant souvent très liés
au matériel, l'accès à leur code est assez difficile, et le constructeur a eu toute latitude pour
produire des système de codes « signés » afin d'authentifier le logiciel (système RSA ou
assimilés). Ce système n'est implanté que dans les pare-feux haut de gamme, car cela évite un
remplacement du logiciel par un autre non produit par le fabricant, ou toute modification de
ce dernier, rendant ainsi le pare-feu très sûr. Son administration est souvent plus aisée que les
pare-feu bridges, les grandes marques de routeurs utilisant cet argument comme argument de
vente. Leur niveau de sécurité est de plus très bon, sauf découverte de faille éventuelle comme
tout pare-feu. Néanmoins, il faut savoir que l'on est totalement dépendant du constructeur du
maté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. Cette
dépendance induit que si une possibilité nous intéresse sur un pare-feu d'une autre marque,
son utilisation est impossible. Il faut donc bien déterminer à l'avance ses besoin et choisir le
constructeur 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 logiciels

Présents à la fois dans les serveurs et les routeurs « faits maison », on peut les classer en
plusieurs catégories :




    18                                                                         Mohamed ZAOUI
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 ordinateur
particulier, et non pas un groupe d'ordinateurs. Souvent payants, ils peuvent être contraignants
et quelque fois très peu sécurisés. En effet, ils s'orientent plus vers la simplicité d'utilisation
plutôt que vers l'exhaustivité, afin de rester accessible à l'utilisateur 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 et
un contrôle plus adéquat, ils ont généralement pour but d'avoir le même comportement que les
pare-feux matériels des routeurs, à ceci prêt qu'ils sont configurables à la main. Le plus
courant est iptables (anciennement ipchains), qui utilise directement le noyau linux. Toute
fonctionnalité des pare-feux de routeurs est potentiellement réalisable sur une telle
plateforme.

       i) Avantages

    - Personnalisables

    - Niveau de sécurité très bon




    19                                                                             Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping

       ii) Inconvénients

        Nécessite une administration système supplémentaire Ces pare-feux logiciels ont
néanmoins une grande faille : ils n'utilisent pas la couche bas réseau. Il suffit donc de passer
outre le noyau en ce qui concerne la récupération de ces paquets, en utilisant une librairie
spéciale, pour récupérer les paquets qui auraient été normalement « droppés » par le pare-feu.
Néanmoins, cette faille induit de s'introduire sur l'ordinateur en question pour y faire des
modifications... chose qui induit déjà une intrusion dans le réseau, ou une prise de contrôle
physique de l'ordinateur, ce qui est déjà Synonyme d'inefficacité de la part du pare-feu.

VIII. Attaques, outils, défenses

   1. Scénarios d'attaques (Pénétrations de réseaux)




                                          Fig8. Scénarios d'attaques.

        Qu'est-ce qu'une backdoor ? Une backdoor est un accès (« caché ») sur votre système
qui permet à un pirate d'en prendre le contrôle à distance. Il existe une multitude de sortes de
backdoor, et en général dans ce domaine, l'imagination des pirates rivalise avec l'incrédulité
des utilisateurs. Voici quelques scénarios d'attaques plus ou moins classique.

       i) Premier cas : Pas de protection

        Considérons un ordinateur victime sur lequel on a installé une backdoor en exploitant
une des failles du système. L'attaquant a alors la possibilité d'utiliser tous les services présents
sur cet ordinateur. Il lui suffit d'envoyer 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 alors
d'installer un pare-feu avec états (Un pare-feu sans état nous semblant quelque peu léger). Le
trafic entrant est maintenant stoppé comme il se doit. Malheureusement, le pirate étant rusé et
malicieux, il a pris soin de s'arranger pour que sa backdoor initie elle-même les sessions. Du
coup le pare-feu laisse passer les requêtes de l'attaquant qui sont considérées comme des
réponses par celui-ci.




    20                                                                            Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping




                            Fig9. Scénarios d'attaques 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 cheval
de Troie d'initier les sessions avec la machine de l'attaquant. Il s'agit donc de bloquer les flux
sortants. 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 puisqu'il devra se
renseigner sur les flux autorisés à sortir par le proxy, et les utiliser pour passer le proxy. Par
exemple on peut encapsuler des ordres dans du HTTP (Ip over Http),dans du SSL (Ip over
Ssl), DNS (Ip over Dns), Smtp (Ip over Smtp).




                  Fig10. Scénarios d'attaques en présence de pare-feu et un serveur proxy.


Dans le cas d'un proxy avec authentification, le pirate fera preuve de grande imagination en
réalisant un trojan capable de profiter des applications (comme IE par exemple) qui une fois
qu'elles se sont authentifiées sont utilisées pour passer le proxy.

       iv) Quatrième cas : Protection locale via un pare-feu personnel

       L'idée du pare-feu personnel est de surveiller le trafic entrant et sortant de la machine
infectée. Malheureusement ceux-ci sont fortement attaquables, on peut :

Passer au-dessus du pare-feu via une application autorisée. ® Appel de CreateRemoteThread
permettant de l'injection de code à la volée sous Windows.



    21                                                                                       Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
Passer en dessous du pare-feu via une bibliothèque adaptée (Winpcap sous Windows ou pcap
sous Linux).

Attaquer le pare-feu lui-même en tant qu'applicatif (Arrêt du processus).

       v) Cinquième cas : piratage de VPN
        Imaginons qu'un pirate mal intentionné installe un trojan sur l'ordinateur d'un
commercial. L'ordinateur 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'étant
pas dans le VPN ne fonctionnent pas. Malheureusement, il s'agit du même problème que pour
les pare-feu personnels et le trojan permet à l'attaquant d'accéder au réseau de l'entreprise via
le VPN.




                                      Fig11. piratage de VPN.

        On peut se rendre compte de l'importance de la robustesse du système d'exploitation,
sur lequel est installé le VPN. Après une attaque réussie et la prise de contrôle en root de la
machine par le pirate, celui-ci va essayer d'installer ce que l'on appelle un rootkit.
Il existe deux types de rootkit, les rootkit simples et les rootkit noyaux. Les rootkit simples se
contentent de remplacer toute une collection de programmes système (ps, netstat, ifconfig, ....)
lui permettant d'effacer les traces de son passage et ainsi masquer complètement sa backdoor.
Un simple outils tel que Tripwire permet de vérifier l'intégrité des commandes, en enregistrant
de façon cryptée les signatures (générées par une fonction de hashage) des fichiers de
commandes en question.

       Les rootkit noyaux sont beaucoup plus difficiles à détecter, puisqu'ils modifient le
noyau 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 elles
même sont appelées par la commande ps. Evidemment un rootkit noyau modifie en plus les
routines de journalisassions du système, masque les connexions réseaux, ... Pour se protéger
des rootkit noyaux, le plus simple est de s'en prémunir. Pour cela, l'idéal est de patcher son
noyau pour empêcher l'installation d'un rootkit, et de désactiver les LKM (Loadable Kernel
Modules qui permettent au root d'introduire un nouveau code dans le système d'exploitation
pendant que ce dernier est en cours d'exécution), malheureusement cela ne suffit pas toujours

    22                                                                          Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
(voir kinsmod.c). Il existe un outil pour Linux capable d'un certain nombre de vérification de
modules de backdoor. Cet outil s'appelle rkscan et permet de détecter les versions de rootkits
les plus populaires.

   2.    Les techniques et outils de découvertes de pare-feu
        Il existe beaucoup d'outils et beaucoup de techniques permettant d'identifier un pare-
feu. L'objectif de ce paragraphe est d'en exposer quelques-uns et quelques-unes. Il est évident
que la plupart des outils utilisés par les pirates pour découvrir les pare-feux sont utilisables
pour 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 du
pare-feu ne pose pas de gros problèmes, un simple traceroute (ou tracert.exe) suffira, bien que
dans certains cas netcat apporte de meilleurs résultats.


Exemple :

C:> nc -v -n 10.10.1.8 25
(UNKNOWN) [10.10.1.8] 25 (?) open
421 10.10.1.8 Sorry, the firewall does not provide mail service to you.

Ensuite l'attaquant 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 d'y détecter une
faille dans le filtrage de paquet. Pour identifier les règles d'un pare-feu, il faut utiliser un
scanner de port. Il existe de nombreux scanner de ports, les plus connus sont Firewalk, Nmap
et Hping2 :

        i) Firewalk

       Le Firewalking est une technique qui permet de déterminer les règles de filtrages de
niveau 4 (Transport) sur les équipements (routeurs, pare-feu, passerelles) qui acheminent des
paquets de niveau 3 (Réseau).

        Le principe de cette technique repose sur le champ Ttl (Time To Live) des en-têtes IP
des paquets. C'est à dire le nombre d'équipement (routeur) que peut traverser le paquet. Le
logiciel traceroute utilise aussi la technique du Ttl. Lorsque l'on envoie un paquet Udp avec
un Ttl de 1, le premier routeur recevant le paquet émettra un paquet Icmp Ttl-exceeded. Et
l'on répète le procédé en augmentant le Ttl de 1 à chaque fois. En fait ce procédé peut être
réalisé avec d'autres 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 sur
un segment situé après le pare-feu. En fait si le paquet est autorisé par le pare-feu, il pourra le
passer et expirera comme prévu en envoyant un message "Icmp Ttl expired in transit". A
l'inverse, si le paquet est bloqué par l'ACL du pare-feu, il sera abandonné et aucune réponse
ne 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 l'interface externe,

    23                                                                           Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
mais le problème est que ses performances risquent d'en prendre un sérieux coup car des
clients 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 disponible
sous linux, Windows et même MAC. En règle générale, Nmap vérifie que l'hôte à scanner est
connecté au réseau. Il réalise pour cela à la fois un Tcp ping sur le port 80 et un ping Icmp
normal. Ce comportement peut être détecté par un IDS (Inspection Detection System) et pour
cela on peut changer le comportement de Nmap.



       iii) HPING

        HPING est différent de Nmap d'abord parce qu'il est beaucoup plus configurable. On
peut facilement modifier n'importe quel octet de l'entête TcpIP. Cela permet d'être réellement
créatif au niveau des techniques de balayage à des fins de reconnaissance. On peut bien sûr
insérer des données malveillantes dans les paquets (buffer overflow, trojan, ...) et les utiliser
pour 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 d'un réseau utilisant différents protocoles, le ToS et la
      fragmentation.

   4- De faire du firewalk.

   5- De l'empreinte de système d'exploitation.

       iv) NESSUS

         Nessus a été écrit par Renaud Deraison (depuis début 1998), un grand maître de Linux
et de la sécurité. Nessus est devenu le Linux de l'évaluation de la vulnérabilité, il surpasse
certains de ses concurrents commerciaux. Nessus emploie un modèle de plug-in extensible qui
permet à la sécurité d'ajouter à la demande des modules d'exploration. Nessus utilise un
langage 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 serveur
réalise les attaques et tourne sur un système UNIX; les clients initialisent les attaques et
existent sur différentes plates-formes X11, Win32 et un client Java. Le fait d'être open source
et d'utiliser des plug-in permet à Nessus d'être mis à jour régulièrement au niveau de sa base
de données d'attaques et d'être à la pointe de la technologie. Nessus compte à l'heure actuel
plus de 500 contrôles de vulnérabilités, dont certains ne sont pas disponibles dans les scanners
commerciaux.

    24                                                                         Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping

   3. Les réactions des pare-feu aux attaques classiques

       i) IP spoofing

        L'IP spoofing consiste à modifier les paquets IP afin de faire croire au pare-feu qu'ils
proviennent d'une adresse IP considérée comme « de confiance ». Par exemple, une IP
présente dans le réseau local de l'entreprise. Cela laissera donc toute latitude au hacker de
passer outre les règles du pare-feu afin d'envoyer ses propres paquets dans le réseau de
l'entreprise. Les derniers pare-feux peuvent offrir une protection contre ce type d'attaque,
notamment en utilisant un protocole VPN, par exemple IPSec. Cela va crypter les entêtes des
paquets, et ainsi rendre impossible leur modification par un intrus, et surtout, l'intrus ne
pourra générer de paquets comme provenant de ce réseau local, ce dernier n'ayant 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 possibles
vers un serveur, générant beaucoup de trafic inutile, et bloquant ainsi l'accès aux utilisateurs
normaux. Le DDOS, pour Distributed DOS, implique venir de différentes machines
simultanées, cette action étant le plus souvent déclenchée par un virus : ce dernier va d'abord
infecter nombre de machines, puis à une date donnée, va envoyer depuis chaque ordinateur
infecté des paquets inutiles vers une cible donnée. On appelle aussi ce type d'attaque « flood
». Les pare-feux ici n'ont que peu d'utilité. En effet, une attaque DOS ou DDOS utilise le plus
souvent des adresses sources différentes (le but n'est pas de récupérer une réponse ici) et
souvent, impossible de distinguer ces paquets des autres... Certains pare-feux offrent une
protection basique contre ce genre d'attaque, par exemple en droppant les paquets si une
source devient trop gourmande, mais généralement, ces protections sont inutiles. Cette attaque
brute 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 du
système. Le pare-feu va, dans quasiment tous les cas, pouvoir bloquer ces scans en annoncent
le port comme « fermé ». Elles sont aussi aisément détectables car elles proviennent de la
même source faisant les requêtes sur tous les ports de la machine. Il suffit donc au pare-feu de
bloquer 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 exemple
un serveur Http, Ftp, etc. Le problème est que ce type d'attaque est très souvent considéré
comme des requêtes tout a fait « valides » et que chaque attaque est différente d'une autre, vu
que le bug passe souvent par reproduction de requêtes valides non prévues par le
programmeur du logiciel. Autrement dit, il est quasiment impossible au pare-feu d'intercepter
ces attaques, qui sont considérées comme des requêtes normales au système, mais exploitant
un bug du serveur le plus souvent. La seule solution est la mise à jour périodique des logiciels
utilisés afin de barrer cette voie d'accès au fur et à mesure qu'elles sont découvertes.


    25                                                                          Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping

IX.      Configuration d’un firewall sous Linux

    1. Présentation générale
Un pare-feu (firewall) est une passerelle que l’on place sur un réseau pour sécuriser les
communications 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 et
n'offrent 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 les
utilisateurs et développeurs pourraient déployer comme un add-on construit autour du noyaux
Linux. Il a été conçu pour être modulaire et extensible. Iptables est un module qui s'insère
dans la structure de NetFilter et autorise l'utilisateur à accéder aux règles et commandes de
filtrage/manipulation du noyau.
Le but de cette partie est d’expliquer comment configurer un pare-feu avec les iptables sous
Linux.

    2. Démarrage

Tout d’abord iptables est une commande que seul root peut lancer. Ensuite, vérifier la version
de votre noyau :
> uname -a
Si la version du noyau est antérieure à 2.4, il faudra installer iptables (cf. installation) Pour
voir si la commande est présente :
> which iptables
Pour voir si le module est installé :
> lsmod | grep iptable

    3. Installation de iptables (succinct)

IpTables a besoin d'un kernel de génération 2.4 compilé avec des options spéciales. Ceci ne
pose pas de problèmes avec les noyaux 2.4 génériques des principales distributions basées sur
cette génération de kernel.

              Le noyau

Si vous désirez re-compiler votre kernel (make dep; make clean; make bzImage), il faut
spécifier les options nécessaires au fonctionnement d'iptables 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
Firewall - Nessus – Nmap - Hping
Déplacez votre ancien répertoire de module

> mv /lib/module/votre_version /lib/module/votre_version.old
Puis compilez et installez les modules (make modules; make modules_install), Copiez alors le
nouveau kernel
> cp /usr/src/linux/arch/i386/boot/bzImage /boot
            Netfilter

Récupérer sur le site officiel les sources (http://www.samba.org/netfilter).
Désarchiver et compiler (make, make install).

            Chargement des modules

Il est nécessaire de charger ces modules à chaque boot puis de lancer les règles de
filtrage/masquage, avant de pouvoir utiliser iptables :
# modprobe ip_tables
Il faut faire un script qui sera lancé à chaque démarrage (à rajouter dans /etc/rc.d/init.d suivant
le système). Et selon les besoins, on peut éventuellement charger d’autres modules (cf.
modules)

   4. Fonctionnement d’iptables
Le noyau contient par défaut trois tables : Filter, NAT et Mangle. Une table permet de définir
un comportement précis du firewall Linux.
     La table FILTER va contenir toutes les règles pour le filtrage des paquets.
     La table NAT permet d'effectuer des translations d'adresses.
     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 le
paquet est destiné à un processus local ou à un hôte sur un autre réseau. Deux cas peuvent se
présenter :
     Le paquet lui est destiné : le paquet traverse la chaîne INPUT. S'il n'est 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. S'il n'est pas
       rejeté, il va vers la sortie.

    27                                                                           Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping

      Si le paquet est destiné à un hôte sur un autre réseau : il traverse la chaîne
       FORWARD. S'il n'est pas rejeté, il poursuit alors sa route.




   5. Configuration des tables
Suivant la syntaxe utilisée, la commande iptables va permettre de spécifier des règles de
sé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înes
Les paquets sont récupérer suivant leurs : adresse source, adresse destination, protocole et
numéro de port. Pour chaque règle de sélection, on peut soit accepter le paquet, soit l'ignorer,
soit renvoyer une erreur. Pour voir les commandes les plus usuelles :
> man iptables

            Commandes principales

Ces options spécifient une action particulière à effectuer. Seule l'une d'elles peut être spécifiée
sur la ligne de commande, sauf indication contraire.




    28                                                                           Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
              Commandes pour matcher




    6. Mise en place du pare-feu
Lors de la mise en place d'un pare-feu, on doit :
    effacer toute les règles existantes et s'assurer qu'aucune règle n'est 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 qu'on jette :
> iptables -N LOG_DROP
> iptables -A LOG_DROP -j LOG --log-prefix '[IPTABLES DROP] : '
> iptables -A LOG_DROP -j DROP
Et 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 une
connexion 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 connexion
dé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
Firewall - Nessus – Nmap - Hping

       Pour supprime toutes les trames rentrantes dans l'espace utilisateur, sauf HTTP (avec
        '!')
> iptables -I INPUT -p tcp -sport ! 80 -j DROP

    7. Mise en place de modules
Les modules permettent de rajouter des fonctionnalités à NetFilter. Prenons l’exemple pour
FTP. Charger le module :
> modprobe ip_conntrack_ftp
Ensuite, il faut vérifier que le trafic FTP est autorisé (cf. Pour accepter le trafic FTP). C’est
indispensable 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 ACCEPT
Enfin 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 --state
ESTABLISHED -j ACCEPT
> iptables -A OUTPUT -o eth0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state
ESTABLISHED,RELATED -j ACCEPT
(sport et deport signifie l’intervalle des ports acceptés. En effet, la connexion se fait sur le port
20/21 mais les transferts se font sur d’autres ports
De nombreuses autres règles de filtrages relativement fines peuvent être mise en place avec
iptables. Nous avons vu seulement la table FILTER. Les autres tables fonctionnent de la
même manière. Il y a certaines limitations de NetFilter : par exemple il n'intègre pas des
fonctionnalités de limitation de bande passante ou il n'intègre pas des fonctionnalités
d'introduction d'un pourcentage d'erreur dans les communications.




    30                                                                             Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping




Chapitre 3 : NMAP (Network Mapper)




31                                        Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping

I) Description

Nmap (“Network Mapper”) est un scanner de ports open source. Il est conçu pour détecter les
ports ouverts, les services hébergés et les informations sur le système d’exploitation d’un
ordinateur distant. Ce logiciel est devenu une référence pour les administrateurs réseaux car
l’audit des résultats de nmap fournit des indications sur la sécurité d'un réseau.

   Syntaxe :

nmap [ <Types de scans> ...] [ <Options> ] { <spécifications des cibles> }




II) Fonctionnement


Pour scanner les ports d'un ordinateur distant, Nmap utilise diverses techniques
d'analyse basées sur des protocoles tels que TCP, IP, UDP ou ICMP.
 De même, il se base sur les réponses particulières qu'il obtient à des requêtes particulières
pour obtenir une empreinte de la pile IP, souvent spécifique du système qui l'utilise. C'est par
cette méthode que l'outil permet de reconnaitre la version d'un système d'exploitation et aussi
la version des services en écoute.


III)   Installation

- Téléchargez la dernière version de Nmap depuis
       http://nmap.org/download.html
- Décompressez l'archive téléchargée puis installez-le comme suit :
       Tar xjvf nmap-X.YZ.tar.bz2
       Cd nmap- X.YZ
       ./configure
       Make
       Make install


IV)    Interface graphique


NmapFE, écrite au départ par Zach Smith, était l'interface graphique officielle de Nmap pour
les versions 2.2 à 4.22. À partir de la version 4.23 de Nmap, NmapFE a été remplacé par
Zenmap, une nouvelle interface graphique basée sur UMIT et développée par Adriano
Monteiro Marques.
De nombreuses interfaces web sont également disponibles pour utiliser Nmap à partir d'un
navigateur web. On peut citer LOCALSCAN, nmap-web et Nmap- CGI.



      32                                                                      Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
Enfin, il existe des interfaces graphiques disponibles sous Microsoft Windows. On peut citer
NMapWin, qui n'est pas mis à jour depuis la version v1.4.0, et NMapW développé par
Syhunt.




V) Options disponibles



   1) Spécification des cibles

Tout ce qui n'est pas une option (ou l'argument d'une option) dans la ligne de commande de
Nmap est considéré comme une spécification d'hôte cible. Le cas le plus simple est de
spécifier une adresse IP cible ou un nom d'hôte à scanner.

  Si vous désirez scanner un réseau entier d'hôtes consécutifs, Nmap supporte l'adressage du
style CIDR.

La notation CIDR est concise mais pas toujours des plus pratiques. Par exemple, vous
voudriez scanner 192.168.0.0/16 mais éviter toutes les adresses se terminant par .0 ou .255 car
se sont souvent des adresses de diffusion (broadcast). Nmap permet de le faire grâce à
l'adressage par intervalles. Plutôt que de spécifier une adresse IP normale, vous pouvez
spécifier pour chaque octet de l'IP une liste d'intervalles 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 ne
sont pas limités aux octets finals: 0-255.0-255.13.37 exécutera un scan de toutes les adresses
IP se terminant par 137.37. Ce genre de spécifications peut s'avérer utile pour des statistiques
sur Internet ou pour les chercheurs.

Même si les cibles sont souvent spécifiées dans les lignes de commandes, les options
suivantes sont également disponibles pour sélectionner des cibles :

    33                                                                          Mohamed ZAOUI
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ôtes

Une des toutes premières étapes dans la reconnaissance d'un réseau est de réduire un
ensemble (quelques fois énorme) de plages d'IP à une liste d'hôtes actifs ou intéressants.
Scanner tous les ports de chacune des IP est lent et souvent inutile. Bien sûr, ce qui rend un
hô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 auditeurs
de sécurité peuvent s'intéresser à tout équipement qui dispose d'une adresse IP. Alors que
l'administrateur se satisferait d'un ping ICMP pour repérer les hôtes de son réseau, l'auditeur
pourrait utiliser un ensemble varié de douzaines de paquets de tests (probes) dans le but de
contourner les restrictions des pare-feux.

Parce que les besoins de découverte des hôtes sont si différents, Nmap propose une grande
panoplie d'options pour individualiser les techniques utilisées. La découverte d'hôte est
souvent appelée « scan ping » (ping scan), mais celle-ci va bien au delà d'une simple requête
echo ICMP associée à l'incontournable outil ping. Les options suivantes contrôlent la
découverte des hôtes.

-sL (Liste simplement)

       Cette forme dégénérée de découverte d'hô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 n'effectuer que le scan ping (la découverte des hôtes),
       puis d'afficher la liste des hôtes disponibles qui ont répondu au scan. Aucun autre test
       (comme le scan des ports ou la détection d'OS) n'est 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 n'examine 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
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 l'imagine 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 n'existe pas. Ainsi,
       l'hôte distant devrait systématiquement répondre par un paquet RST qui trahirait son
       existence.

       L'option -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 l'option --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 n'est 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 n'est que peu
       souhaitable pour ce type de scan particulier.

       L'avantage principal de ce type de scan est qu'il permet de contourner les pare-feux et
       dispositifs de filtrage qui n'observent 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 l'option -PE pour activer ce comportement de requête echo.

       Les requêtes timestamp et masque d'adresse 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 d'adresses privées de
       la RFC 1918, la grande majorité des adresses IP sont inutilisées à un instant donné.
       Quand Nmap essaie d'envoyer un paquet IP brut (raw packet) comme une requête
       ICMP echo, le système d'exploitation doit déterminer l'adresse matérielle (ARP)
       correspondant à la cible IP pour correctement adresser la trame Ethernet. Ceci est
       souvent lent et problématique, car les systèmes d'exploitation n'ont pas été écrits pour

    35                                                                        Mohamed ZAOUI
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 d'algorithmes optimisés
       pour gérer le scan ARP. Si Nmap reçoit une réponse à ces requêtes, il n'a pas besoin
       de poursuivre avec les ping basés sur IP car il sait déjà que l'hô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 d'hô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 l'en-tête IP. La
       liste des protocoles prend le même format qu'avec 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 l'hô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 l'hôte. Par exemple, un paquet RST en provenance d'un port fermé ou un
       echo relpy pour un hôte connecté. L'information 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 l'implémentation de
       l'appel 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 n'est 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 qu'il 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 n'est effectué que si une machine est considérée comme active.

Les bases du scan de ports

Même si le nombre de fonctionnalités de Nmap a considérablement augmenté au fil des ans, il
reste un scanner de ports efficace, et cela reste sa fonction principale. La commande de base
nmap <target> scanne plus de 1 660 ports TCP de l'hôte <target>. Alors que de nombreux
autres scanners de ports ont partitionné les états des ports en ouverts ou fermés, Nmap a une
granularité 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écrivent
comment Nmap les perçoit. Par exemple, un scan Nmap depuis le même réseau que la cible

    36                                                                           Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
pourrait voir le port 135/tcp comme ouvert alors qu'un scan au même instant avec les mêmes
options au travers d'Internet pourrait voir ce même port comme filtré.

        Les six états de port reconnus par Nmap

ouvert (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
        n'y a pas d'application en écoute. Comme un port fermé est accessible, il peut être
        intéressant de le scanner de nouveau plus tard au cas où il s'ouvrirait. 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) d'atteindre 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 d'informations. Quelques fois ils répondent avec un message d'erreur 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 d'une surcharge du réseau et pas du filtrage.

non-filtré (unfiltered)

        L'état non-filtré signifie qu'un port est accessible, mais que Nmap est incapable de
        déterminer s'il 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. L'absence de réponse peut aussi signifier qu'un dispositif de filtrage des
        paquets a rejeté le test ou les réponses attendues. Ainsi, Nmap ne peut s'assurer ni que
        le port est ouvert, ni qu'il est filtré. Les scans UDP, protocole IP, FIN, Null et Xmas
        catégorisent les ports ainsi.
     37                                                                          Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping

fermé|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 lorsqu'il n'est 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 s'il voulait vraiment ouvrir une connexion. Une réponse SYN/ACK
       indique que le port est en écoute (ouvert), tandis qu'une RST (reset) indique le
       contraire. Si aucune réponse n'est 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 n'est pas utilisable.
       Nmap demande au système d'exploitation qui l'exécute d'établir une connexion au port
       de la machine cible grâce à l'appel système connect().

       Si le scan SYN est disponible, il vaut mieux l'utiliser. Nmap a bien moins de contrôles
       sur l'appel système haut niveau connect() que sur les paquets bruts, ce qui le rend
       moins efficace. L'appel 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 d'Internet 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. C'est 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 l'option-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
Firewall - Nessus – Nmap - Hping
       autres messages d'erreur « unreachable ICMP (type 3, codes 1, 2, 9, 10, or 13) »
       rendront le port filtré. À l'occasion, il arrive qu'un service répond par un paquet UDP,
       prouvant que le port est dans l'état ouvert. Si aucune réponse n'est 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 qu'un 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 (d'autres sont possibles en utilisant l'option --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)

       N'active aucun des bits (les drapeaux de l'en-tête TCP vaut 0).

       Scan FIN (-sF)

       N'active 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 qu'une absence de réponse signifiera qu'il est
       dans l'état ouvert|filtré. Le port est marqué comme filtré si un message d'erreur ICMP
       « unreachable (type 3, code 1, 2, 3, 9, 10 ou 13) » est reçu.

       L'avantage principal de ces types de scans est qu'ils peuvent furtivement traverser
       certains pare-feux ou routeurs filtrants sans état de connexion (non-statefull). Un autre
       avantage est qu'ils sont même un peu plus furtifs que le scan SYN. N'y 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 jusqu'ici, 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 s'ils sont avec ou sans états
       (statefull/stateless) et quels ports sont filtrés.

       Le scan ACK n'active que le drapeau ACK des paquets (à moins que vous n'utilisiez
       l'option --scanflags). Les systèmes non-filtrés réagissent en retournant un paquet RST.
       Nmap considère alors le port comme non-filtré, signifiant qu'il est accessible avec un
    39                                                                          Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
       paquet ACK, mais sans savoir s'il est réellement ouvert ou fermé. Les ports qui ne
       répondent pas ou renvoient certains messages d'erreur 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
       qu'il exploite un détail de l'implémentation de certains systèmes pour identifier les
       ports fermés des autres, au lieu de toujours afficher non-filtré lorsqu'un 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é lorsqu'un 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. L'option --scanflagsvous permet de créer votre propre type de scan
       en spécifiant vos propres combinaisons de drapeaux TCP

       L'argument de l'option --scanflags peut être soit un nombre comme 9 (PSH et FIN),
       mais l'utilisation 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 n'est 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 n'est 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 scan
En plus de toutes les méthodes de scan abordées précédemment, Nmap propose des options
permettant la spécification des ports à scanner ainsi que l'ordre (au hasard ou séquentiel) dans
lequel le scan doit se faire. Par défaut, Nmap scanne tous les ports jusqu'au 1 024


    40                                                                         Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
inclusivement ainsi que les ports supérieurs listés dans le fichier nmap-servicespour le ou les
protocoles 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 l'option -
       sO). Ceci est bien plus rapide que de scanner les 65 535 ports d'un hôte.

-r (Ne mélange pas les ports)

       Par défaut, Nmap mélange au hasard l'ordre des ports (sauf que certains ports
       couramment accessibles sont placés vers le début de la liste pour des raisons
       d'efficacité). Ce mélange est normalement souhaitable, mais vous pouvez spécifier
       l'option -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 l'option -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 d'adresses. Ici toutes les adresses de 192.168.0 à 192.168.255 :
         nmap 192.168.0-255

   •   Connaitre le système d'exploitation de la machine (TCP/IP fingerprint) :
        nmap -O 127.0.0.1

   •   Si nmap n'arrive 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
Firewall - Nessus – Nmap - Hping
   •   Scanner un port précis. Ici, c'est 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.1



VII) 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, vous
découvrirez vos propres faiblesses et éventuelles erreurs humaines d'administration.

        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. N'hésitez pas à utiliser Nmap contre vos serveurs pour savoir quels
ports sont en écoute.




    42                                                                              Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping




       Chapitre 4 : Hping




43                                      Mohamed ZAOUI
sécurité informatique
sécurité informatique
sécurité informatique
sécurité informatique
sécurité informatique
sécurité informatique
sécurité informatique
sécurité informatique
sécurité informatique
sécurité informatique
sécurité informatique
sécurité informatique
sécurité informatique
sécurité informatique
sécurité informatique
sécurité informatique
sécurité informatique

Más contenido relacionado

La actualidad más candente

Rapport projet fin d'étude
Rapport projet fin d'étudeRapport projet fin d'étude
Rapport projet fin d'étudeHibaFarhat3
 
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...Alphorm
 
mémoire de projet de fin d'études
mémoire de projet de fin d'études mémoire de projet de fin d'études
mémoire de projet de fin d'études MortadhaBouallagui
 
Sécurité informatique - Etat des menaces
Sécurité informatique - Etat des menacesSécurité informatique - Etat des menaces
Sécurité informatique - Etat des menacesMaxime ALAY-EDDINE
 
Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...Mohammed LAAZIZLI
 
IDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAUIDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAUCHAOUACHI marwen
 
Mise en place d'un reseau securise par Cisco ASA
Mise en place d'un reseau securise par Cisco ASAMise en place d'un reseau securise par Cisco ASA
Mise en place d'un reseau securise par Cisco ASAOusmane BADJI
 
Supervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec NagiosSupervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec Nagioschristedy keihouad
 
Installation et Configuration de Pfsense
Installation et Configuration de PfsenseInstallation et Configuration de Pfsense
Installation et Configuration de PfsenseIsmail Rachdaoui
 
Mise en place d’un système de détection
Mise en place d’un système de détectionMise en place d’un système de détection
Mise en place d’un système de détectionManassé Achim kpaya
 
La sécurité des réseaux sans fil
La sécurité des réseaux sans filLa sécurité des réseaux sans fil
La sécurité des réseaux sans filsmiste
 
Rapport mise en place d'un sevrer VPN .
   Rapport mise en place d'un sevrer VPN .   Rapport mise en place d'un sevrer VPN .
Rapport mise en place d'un sevrer VPN .Mouad Lousimi
 
Mise en place d'une solution de détection des pirates et des malwares dans le...
Mise en place d'une solution de détection des pirates et des malwares dans le...Mise en place d'une solution de détection des pirates et des malwares dans le...
Mise en place d'une solution de détection des pirates et des malwares dans le...Mohamed Ben Bouzid
 
Sensibilisation sur la cybersécurité
Sensibilisation sur la cybersécuritéSensibilisation sur la cybersécurité
Sensibilisation sur la cybersécuritéOUSMANESoumailaYaye
 
Mise en place de la solution d’authentification Radius sous réseau LAN câblé
Mise en place de la solution d’authentification Radius sous réseau LAN câbléMise en place de la solution d’authentification Radius sous réseau LAN câblé
Mise en place de la solution d’authentification Radius sous réseau LAN câbléCharif Khrichfa
 
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...Alaaeddine Tlich
 
INITIATION A LA SÉCURITÉ INFORMATIQUE.pptx
INITIATION A LA SÉCURITÉ INFORMATIQUE.pptxINITIATION A LA SÉCURITÉ INFORMATIQUE.pptx
INITIATION A LA SÉCURITÉ INFORMATIQUE.pptxLeandre Cof's Yeboue
 

La actualidad más candente (20)

Rapport projet fin d'étude
Rapport projet fin d'étudeRapport projet fin d'étude
Rapport projet fin d'étude
 
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
 
Rapport finiale
Rapport finialeRapport finiale
Rapport finiale
 
mémoire de projet de fin d'études
mémoire de projet de fin d'études mémoire de projet de fin d'études
mémoire de projet de fin d'études
 
Sécurité informatique - Etat des menaces
Sécurité informatique - Etat des menacesSécurité informatique - Etat des menaces
Sécurité informatique - Etat des menaces
 
Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...
 
IDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAUIDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAU
 
Mise en place d'un reseau securise par Cisco ASA
Mise en place d'un reseau securise par Cisco ASAMise en place d'un reseau securise par Cisco ASA
Mise en place d'un reseau securise par Cisco ASA
 
Supervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec NagiosSupervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec Nagios
 
La Sécurité informatiques
La Sécurité informatiquesLa Sécurité informatiques
La Sécurité informatiques
 
Installation et Configuration de Pfsense
Installation et Configuration de PfsenseInstallation et Configuration de Pfsense
Installation et Configuration de Pfsense
 
Mise en place d’un système de détection
Mise en place d’un système de détectionMise en place d’un système de détection
Mise en place d’un système de détection
 
La sécurité des réseaux sans fil
La sécurité des réseaux sans filLa sécurité des réseaux sans fil
La sécurité des réseaux sans fil
 
Sécuriter informatiques
Sécuriter informatiquesSécuriter informatiques
Sécuriter informatiques
 
Rapport mise en place d'un sevrer VPN .
   Rapport mise en place d'un sevrer VPN .   Rapport mise en place d'un sevrer VPN .
Rapport mise en place d'un sevrer VPN .
 
Mise en place d'une solution de détection des pirates et des malwares dans le...
Mise en place d'une solution de détection des pirates et des malwares dans le...Mise en place d'une solution de détection des pirates et des malwares dans le...
Mise en place d'une solution de détection des pirates et des malwares dans le...
 
Sensibilisation sur la cybersécurité
Sensibilisation sur la cybersécuritéSensibilisation sur la cybersécurité
Sensibilisation sur la cybersécurité
 
Mise en place de la solution d’authentification Radius sous réseau LAN câblé
Mise en place de la solution d’authentification Radius sous réseau LAN câbléMise en place de la solution d’authentification Radius sous réseau LAN câblé
Mise en place de la solution d’authentification Radius sous réseau LAN câblé
 
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
 
INITIATION A LA SÉCURITÉ INFORMATIQUE.pptx
INITIATION A LA SÉCURITÉ INFORMATIQUE.pptxINITIATION A LA SÉCURITÉ INFORMATIQUE.pptx
INITIATION A LA SÉCURITÉ INFORMATIQUE.pptx
 

Similar a sécurité informatique

rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...
rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...
rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...yosra fraiji
 
Ubiquité et intelligence ambiante
Ubiquité et intelligence ambianteUbiquité et intelligence ambiante
Ubiquité et intelligence ambianteSarah
 
Thèse shellcode polymorphiques
Thèse shellcode polymorphiquesThèse shellcode polymorphiques
Thèse shellcode polymorphiquesNabil Babaci
 
Rapport Auditeurs Cigref Inhesj - Sécurité des objets connectés - Décembre 2014
Rapport Auditeurs Cigref Inhesj - Sécurité des objets connectés - Décembre 2014Rapport Auditeurs Cigref Inhesj - Sécurité des objets connectés - Décembre 2014
Rapport Auditeurs Cigref Inhesj - Sécurité des objets connectés - Décembre 2014polenumerique33
 
Livre blanc cloud_computing_securitã©.vdef
Livre blanc cloud_computing_securitã©.vdefLivre blanc cloud_computing_securitã©.vdef
Livre blanc cloud_computing_securitã©.vdefkeithowen
 
Livre Blanc Cloud Computing / Sécurité
Livre Blanc Cloud Computing / Sécurité Livre Blanc Cloud Computing / Sécurité
Livre Blanc Cloud Computing / Sécurité Syntec Numérique
 
Automatisation d'une maison intelligente via une application android
Automatisation d'une maison intelligente via une application androidAutomatisation d'une maison intelligente via une application android
Automatisation d'une maison intelligente via une application androidAbderrahim Bouharaoua
 
Wifi professionnel la norme 802.11, le déploiement, la sécurité 3ème edition
Wifi professionnel la norme 802.11, le déploiement, la sécurité   3ème editionWifi professionnel la norme 802.11, le déploiement, la sécurité   3ème edition
Wifi professionnel la norme 802.11, le déploiement, la sécurité 3ème editionelpunk
 
anssi-guide-passerelle_internet_securisee-v3.pdf
anssi-guide-passerelle_internet_securisee-v3.pdfanssi-guide-passerelle_internet_securisee-v3.pdf
anssi-guide-passerelle_internet_securisee-v3.pdfBadr Belhajja
 
Anssi - Recommandations pour la sécurisation des sites web
Anssi - Recommandations pour la sécurisation des sites webAnssi - Recommandations pour la sécurisation des sites web
Anssi - Recommandations pour la sécurisation des sites webBee_Ware
 
PFA___Hlabba_Bacem.pdf
PFA___Hlabba_Bacem.pdfPFA___Hlabba_Bacem.pdf
PFA___Hlabba_Bacem.pdfBacemHlabba
 
Rapport De Stage SéCurité Wimax Mobile
Rapport De Stage   SéCurité Wimax MobileRapport De Stage   SéCurité Wimax Mobile
Rapport De Stage SéCurité Wimax MobileValentin Paquot
 
Si dans le tourisme
Si dans le tourismeSi dans le tourisme
Si dans le tourismeHassan Amibh
 

Similar a sécurité informatique (20)

Protection-dun-réseau-dentreprise-via-un-firewall.pdf
Protection-dun-réseau-dentreprise-via-un-firewall.pdfProtection-dun-réseau-dentreprise-via-un-firewall.pdf
Protection-dun-réseau-dentreprise-via-un-firewall.pdf
 
rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...
rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...
rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...
 
siem.pdf
siem.pdfsiem.pdf
siem.pdf
 
Ubiquité et intelligence ambiante
Ubiquité et intelligence ambianteUbiquité et intelligence ambiante
Ubiquité et intelligence ambiante
 
Thèse shellcode polymorphiques
Thèse shellcode polymorphiquesThèse shellcode polymorphiques
Thèse shellcode polymorphiques
 
Cours réseauxf
Cours réseauxfCours réseauxf
Cours réseauxf
 
DjemahMassicilia.pdf
DjemahMassicilia.pdfDjemahMassicilia.pdf
DjemahMassicilia.pdf
 
Rapport Auditeurs Cigref Inhesj - Sécurité des objets connectés - Décembre 2014
Rapport Auditeurs Cigref Inhesj - Sécurité des objets connectés - Décembre 2014Rapport Auditeurs Cigref Inhesj - Sécurité des objets connectés - Décembre 2014
Rapport Auditeurs Cigref Inhesj - Sécurité des objets connectés - Décembre 2014
 
Livre blanc cloud_computing_securitã©.vdef
Livre blanc cloud_computing_securitã©.vdefLivre blanc cloud_computing_securitã©.vdef
Livre blanc cloud_computing_securitã©.vdef
 
Livre Blanc Cloud Computing / Sécurité
Livre Blanc Cloud Computing / Sécurité Livre Blanc Cloud Computing / Sécurité
Livre Blanc Cloud Computing / Sécurité
 
Automatisation d'une maison intelligente via une application android
Automatisation d'une maison intelligente via une application androidAutomatisation d'une maison intelligente via une application android
Automatisation d'une maison intelligente via une application android
 
Wifi professionnel la norme 802.11, le déploiement, la sécurité 3ème edition
Wifi professionnel la norme 802.11, le déploiement, la sécurité   3ème editionWifi professionnel la norme 802.11, le déploiement, la sécurité   3ème edition
Wifi professionnel la norme 802.11, le déploiement, la sécurité 3ème edition
 
anssi-guide-passerelle_internet_securisee-v3.pdf
anssi-guide-passerelle_internet_securisee-v3.pdfanssi-guide-passerelle_internet_securisee-v3.pdf
anssi-guide-passerelle_internet_securisee-v3.pdf
 
Hardware trojan
Hardware trojanHardware trojan
Hardware trojan
 
VOIP.pdf
VOIP.pdfVOIP.pdf
VOIP.pdf
 
These
TheseThese
These
 
Anssi - Recommandations pour la sécurisation des sites web
Anssi - Recommandations pour la sécurisation des sites webAnssi - Recommandations pour la sécurisation des sites web
Anssi - Recommandations pour la sécurisation des sites web
 
PFA___Hlabba_Bacem.pdf
PFA___Hlabba_Bacem.pdfPFA___Hlabba_Bacem.pdf
PFA___Hlabba_Bacem.pdf
 
Rapport De Stage SéCurité Wimax Mobile
Rapport De Stage   SéCurité Wimax MobileRapport De Stage   SéCurité Wimax Mobile
Rapport De Stage SéCurité Wimax Mobile
 
Si dans le tourisme
Si dans le tourismeSi dans le tourisme
Si dans le tourisme
 

Más de Mohammed Zaoui

Más de Mohammed Zaoui (8)

Mise en place du Firewall IPCop
Mise en place du Firewall IPCopMise en place du Firewall IPCop
Mise en place du Firewall IPCop
 
أقوال وحكم 2
أقوال وحكم 2أقوال وحكم 2
أقوال وحكم 2
 
أقوال وحكم
أقوال وحكمأقوال وحكم
أقوال وحكم
 
Programmation linéniaire
Programmation linéniaire Programmation linéniaire
Programmation linéniaire
 
Routage adhoc
Routage adhocRoutage adhoc
Routage adhoc
 
Web 2
Web 2Web 2
Web 2
 
Rapport sécurité
Rapport sécuritéRapport sécurité
Rapport sécurité
 
Uml
UmlUml
Uml
 

sécurité informatique

  • 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é d'un système informatique fait souvent l'objet de métaphores. En effet, on la compare régulièrement à une chaîne en expliquant que le niveau de sécurité d'un système est caractérisé par le niveau de sécurité du maillon le plus faible. Ainsi, une porte blindée est inutile 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 prendre en compte les aspects suivants :  La sensibilisation des utilisateurs aux problèmes de sécurité  La sécurité logique, c'est-à-dire la sécurité au niveau des données, notamment les données de l'entreprise, les applications ou encore les systèmes d'exploitation.  La sécurité des télécommunications : technologies réseau, serveurs de l'entreprise, réseaux d'accè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 l'entreprise, 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 d'accéder à la manne d'information disponible sur le réseau des réseaux, et de pouvoir communiquer avec l'extérieur. Cette ouverture vers l'extérieur est indispensable... et dangereuse en même temps. Ouvrir l'entreprise vers le monde signifie aussi laisser place ouverte aux étrangers pour essayer de pénétrer le réseau local de l'entreprise, et y accomplir des actions douteuses, parfois gratuites, de destruction, vol d'informations confidentielles, ... Les mobiles sont nombreux et dangereux. Pour parer à ces attaques, une architecture sécurisée est nécessaire. Pour cela, le coeur d'une tel architecture est basé sur un firewall. Cet outil a pour but de sécuriser au maximum le réseau local de l'entreprise, de détecter les tentatives d'intrusion et d'y parer au mieux possible. Cela représente une sécurité supplémentaire rendant le réseau ouvert sur Internet beaucoup plus sûr. De plus, il peut permettre de restreindre l'accès interne vers l'exté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ères Chapitre 1 : La sécurité informatique 1. Introduction .............................................................................................................. 7 2. Historique ................................................................................................................ 7 3. Pourquoi les systèmes sont vulnérables ? .................................................................... 7 4. Pourquoi un système ne peut être sûr à 100% .............................................................. 8 5. Méthodes utilisées pour les attaques ........................................................................... 8 6. Outils des attaquants ................................................................................................. 8 7. Objectifs de la sécurité informatique........................................................................... 8 8. Nécessité d'une approche globale ............................................................................... 9 9. Pourquoi un firewall .................................................................................................. 9 Chapitre 2 : Pare-feu (firewall) Introduction .......................................................................................................... 11 Qu’es ce qu’un pare-feu. ........................................................................................ 11 I. Les protections que doit offrir tout système informatique ........................................... 12 II. De quoi protège un pare-feu? ................................................................................... 12 III. De quoi ne protège pas un pare-feu? ......................................................................... 13 IV. Que dire des virus?.................................................................................................. 13 V. Quelles sont les points à prendre en compte pour un pare-feu?.................................... 13 VI. 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 ................................................................................................................... 16 VII. 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 .................................................................................................. 18 VIII. Attaques, outils, défenses ........................................................................................ 20 1. Scénarios d'attaques (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..................................................................................................................................25 IX. 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................................................................................................30 Chapitre 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 : ................................................................................................................... 42 Chapitre 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........................................................................................................................50 Chapitre 5 : NESSUS I. Présentation ............................................................................................................ 52 1. Avantages ..................................................................................................................... 52 2. Inconvénients ............................................................................................................... 53 II. Installation et utilisation .......................................................................................... 53 1. Installation.................................................................................................................... 53 1. Utilisation ..................................................................................................................... 54 Conclusion ............................................................................................................................................59 Bibliographie .....................................................................................................................................60 5 Mohamed ZAOUI
  • 6. Firewall - Nessus – Nmap - Hping Chapitre 1 : La sécurité informatique 6 Mohamed ZAOUI
  • 7. Firewall - Nessus – Nmap - Hping 1. Introduction Avec le développement de l'utilisation d'internet, de plus en plus d'entreprises ouvrent leur système d'information à leurs partenaires ou leurs fournisseurs, il est donc essentiel de connaître les ressources de l'entreprise à protéger et de maîtriser le contrôle d'accès et les droits des utilisateurs du système d'information. Il en va de même lors de l'ouverture de l'accès de l'entreprise sur internet. Par ailleurs, avec le nomadisme, consistant à permettre aux personnels de se connecter au système d'information à partir de n'importe quel endroit, les personnels sont amenés à « transporter » une partie du système d'information hors de l'infrastructure sécurisé de l'entreprise. 2. Historique Certaines histoires d'intrusions sont bien connues, elles ont été relayées par les médias, et font aujourd'hui 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, l'administrateur système qui découvrit les faits, en a tiré un livre devenu désormais un classique: The Coockoo's Egg ( L’œuf de coucou).  En 1988, l'Internet Worm (ver ), un programme qui s'auto- 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 d'informations volées. Cependant, aussi inquiétantes que puissent être ces histoires, elles ne représentent qu'une infime partie du problème. Accompagnant la croissance du nombre de machines interconnectées dans Internet et la conscience dans le grand public du développement des "Autoroutes de l'Information", le nombre d'intrusions 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é informatique Le système d'information est généralement défini par l'ensemble des données et des ressources matérielles et logicielles de l'entreprise permettant de les stocker ou de les faire circuler. Le système d'information représente un patrimoine essentiel de l'entreprise, qu'il convient de protéger. La sécurité informatique, d'une manière générale, consiste à assurer que les ressources matérielles ou logicielles d'une organisation sont uniquement utilisées dans le cadre prévu. La sécurité informatique vise généralement cinq principaux objectifs :  L'intégrité, c'est-à-dire garantir que les données sont bien celles que l'on 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 d'information ;  La non répudiation, permettant de garantir qu'une transaction ne peut être niée ;  L'authentification, consistant à assurer que seules les personnes autorisées aient accès aux ressources. 8. Nécessité d'une approche globale La sécurité d'un système informatique fait souvent l'objet de métaphores. En effet, on la compare régulièrement à une chaîne en expliquant que le niveau de sécurité d'un système est caractérisé par le niveau de sécurité du maillon le plus faible. Ainsi, une porte blindée est inutile 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 prendre en compte les aspects suivants :  La sensibilisation des utilisateurs aux problèmes de sécurité  La sécurité logique, c'est-à-dire la sécurité au niveau des données, notamment les données de l'entreprise, les applications ou encore les systèmes d'exploitation.  La sécurité des télécommunications : technologies réseau, serveurs de l'entreprise, réseaux d'accè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 l'entreprise, postes de travail des personnels, etc. 9. Pourquoi un firewall De nos jours, toutes les entreprises possédant un réseau local possèdent aussi un accès à Internet, afin d'accéder à la manne d'information disponible sur le réseau des réseaux, et de pouvoir communiquer avec l'extérieur. Cette ouverture vers l'extérieur est indispensable... et dangereuse en même temps. Ouvrir l'entreprise vers le monde signifie aussi laisser place ouverte aux étrangers pour essayer de pénétrer le réseau local de l'entreprise, et y accomplir des actions douteuses, parfois gratuites, de destruction, vol d'informations confidentielles, ... Les mobiles sont nombreux et dangereux. Pour parer à ces attaques, une architecture sécurisée est nécessaire. Pour cela, le coeur d'une tel architecture est basé sur un firewall. Cet outil a pour but de sécuriser au maximum le réseau local de l'entreprise, de détecter les tentatives d'intrusion et d'y parer au mieux possible. Cela représente une sécurité supplémentaire rendant le réseau ouvert sur Internet beaucoup plus sûr. De plus, il peut permettre de restreindre l'accès interne vers l'extérieur. En effet, des employés peuvent s'adonner à des activités que l'entreprise ne cautionne pas, le meilleur exemple étant le jeu en ligne. En plaçant un firewall limitant ou interdisant l'accès à ces services, l'entreprise peut donc avoir un contrôle sur les activités se déroulant dans son enceinte. Le firewall propose donc un véritable contrôle sur le trafic réseau de l'entreprise. Il permet d'analyser, de sécuriser et de gérer le trafic réseau, et ainsi d'utiliser le réseau de la façon pour laquelle il a été prévu et sans l'encombrer avec des activités inutiles, et d'empêcher une personne sans autorisation d'accé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 nouveau problème de sécurité lié à l’émergence de l’Internet. En 1988, un employé de NASA Armes Research Center en Californie a envoyé un mémo par courrier électronique à son collègue qui a 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 a collaboré à la recherche de nouveaux moyens de protection contre ces nouvelles menaces. A la suite de cela nous avons pu voire apparaître de nouveaux produits de protection contre ces 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 pour fonction de sécuriser un réseau domestique ou professionnel en définissant les types de communication autorisés ou interdits. L'origine du terme pare-feu se trouve au théâtre. Le pare-feu ou coupe-feu est un mécanisme qui permet, une fois déclenché, d'éviter au feu de se propager de la salle vers la scène. En informatique un pare-feu est donc une allégorie d'une 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ène toujours à quelque chose bloquant ou empêchant autre chose de pénétrer librement quelque part. 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ès entre deux réseaux. Plusieurs méthodes sont utilisées à l’heure actuelle. Deux mécanismes sont 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’autres tendent à tout laisser passer. La chose la plus importante à comprendre est qu’il représente une politique de contrôle d’accès. Vous devez avoir une idée précise de cette politique dans son ensemble pour savoir ce que vous 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, le premier chois de ton soucie est, Quesque vous allez protéger quand vous serez connecter a internet, les trois Risc potentiel sont : Vos données : les informations que vous stoquez dans vote pc Vos ressources : le matériel. Votre réputation II. De quoi protège un pare-feu? Certains pare-feux laissent uniquement passer le courrier électronique. De cette maniè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 étant des services dangereux. Généralement, les pare-feux sont configurés pour protéger contre les accès non authentifié du réseau externe. Ceci, plus qu’autre chose, empêche les vandales de se logger sur des machines de votre réseau interne, mais autorise les utilisateurs de communiquer librement avec l’extérieur. Les pare-feux sont également intéressants dans le sens où ils constituent un point unique où l’audit et la sécurité peuvent être imposés. Tous les échanges passeront par lui. Il pourra donner des résumés de trafic, des statistiques sur ce trafic, ou encore toutes les connexions entre les deux réseaux. 12 Mohamed ZAOUI
  • 13. Firewall - Nessus – Nmap - Hping III. De quoi ne protège pas un pare-feu? Un pare-feu ne protège pas des attaques qui ne passent pas par lui… Certaines entreprises achètent des pare-feux à des prix incroyables alors que certains de leurs employés sont 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… Par exemple, 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 idiots qui sont à l’intérieur de l’entreprise… Si un espion industriel décide de faire sortir des données, il y arrivera, surtout sur disquette… Il vaut mieux vérifier qui a accès aux informations 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 de coder des fichiers pour les transférer. En d’autres termes, un pare-feu ne pourra pas remplacer l’attention et la conscience des utilisateurs qui doivent respecter un certain nombre de règles pour éviter les problèmes… La première étant bien évidemment de ne jamais ouvrir un fichier attaché à 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. Les virus passent également très facilement par disquette… Les virus sur Internet son bien moins important que les virus sur disquette. Quoiqu’il en soit, de plus en plus de vendeurs de pare-feux vous offrent des pare-feux qui détectent les virus. Ils permettent probablement d’arrêter les virus simples. Ne comptez pas sur 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 la responsabilité 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 tout interdire et tout autoriser, il y a différent degrés de paranoïa. Le choix final doit être le résultat d’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 les risques, 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. Un pare-feu complet peut être gratuit, ou coûter 100 000 dollars. La solution gratuite, comme la configuration d’un routeur, ne coûte rien sinon beaucoup de temps et de café. D’autres solutions coûteront cher au départ et peu ensuite… Il est important de considérer le prix de départ, mais aussi celui du support. 13 Mohamed ZAOUI
  • 14. Firewall - Nessus – Nmap - Hping Un pare-feu coûte cher et prend beaucoup de temps à administrer… Vérifiez que vous avez des 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 C'est la méthode de filtrage la plus simple, elle opère au niveau de la couche réseau et transport du modèle OSI. La plupart des routeurs d'aujourd'hui permettent d'effectuer du filtrage simple de paquet. Cela consiste à accorder ou refuser le passage de paquet d'un réseau à un autre en se basant sur : - L'adresse 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éralement appelées des ACL (Access Control Lists). ii) Les limite Le premier problème vient du fait que l'administrateur réseau est rapidement contraint à autoriser un trop grand nombre d'accès, pour que le pare-feu offre une réelle protection. Par exemple, pour autoriser les connexions à Internet à partir du réseau privé, l'administrateur devra accepter toutes les connexions Tcp provenant de l'Internet 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 - c'est à dire, supportant un débit important - n'est pas sans répercussion sur le débit lui-même. Enfin, ce type de filtrage ne résiste pas à certaines attaques de type IP Spoofing / IP Flooding, la mutilation de paquet, ou encore certaines attaques de type DoS. Ceci est vrai sauf dans le cadre des routeurs fonctionnant en mode distribué. Ceci permettant de gérer les Acl directement sur les interfaces sans remonter à la carte de traitement central. Les performances impactées par les Acl sont alors quasi nulles. 2. Le filtrage de paquet avec état (Stateful). i) Le Principe L'amélioration par rapport au filtrage simple, est la conservation de la trace des sessions et des connexions dans des tables d'états internes au pare-feu. Le pare-feu prend alors ses décisions en fonction des états de connexions, et peut réagir dans le cas de situations protocolaires anormales. Ce filtrage permet aussi de se protéger face à certains types d'attaques DoS. Dans l'exemple précédent sur les connexions Internet, on va autoriser l'établissement des connexions à la demande, ce qui signifie que l'on aura plus besoin de garder tous les ports 14 Mohamed ZAOUI
  • 15. Firewall - Nessus – Nmap - Hping supérieurs à 1024 ouverts. Pour les protocoles Udp et Icmp, il n'y a pas de mode connecté. La solution consiste à autoriser pendant un certain délai les réponses légitimes aux paquets envoyés. Les paquets Icmp sont normalement bloqués par le pare-feu, qui doit en garder les traces. Cependant, il n'est pas nécessaire de bloquer les paquets Icmp de type 3 (destination inaccessible) et 4 (ralentissement de la source) qui ne sont pas utilisables par un attaquant. On peut donc choisir de les laisser passer, suite à l'échec d'une connexion Tcp ou après l'envoi d'un paquet Udp. Fig4. Pare-feu en stateful. Pour le protocole Ftp (et les protocoles fonctionnant de la même façon), c'est plus délicat puisqu'il va falloir gérer l'état de deux connexions. En effet, le protocole Ftp, gère un canal de contrôle établi par le client, et un canal de données établi par le serveur. Le pare-feu devra donc laisser passer le flux de données établi par le serveur. Ce qui implique que le pare-feu connaisse le protocole Ftp, et tous les protocoles fonctionnant sur le même principe. Cette technique est connue sous le nom de filtrage dynamique (Stateful Inspection) et a été inventée par Checkpoint. Mais cette technique est maintenant gérée par d'autres fabricants. Pare-feu en stateful connections FTP. ii) Les limite Tout d'abord, il convient de s'assurer que les deux techniques sont bien implémentées par les pare-feux, car certains constructeurs ne l'implémentent pas toujours correctement. Ensuite une fois que l'accès à un service a été autorisé, il n'y a aucun contrôle effectué sur les requê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 - Hping protocoles maisons utilisant plusieurs flux de données ne passeront pas, puisque le système de filtrage dynamique n'aura 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 l'indique réalisé au niveau de la couche Application. Pour cela, il faut bien sûr pouvoir extraire les données du protocole de niveau 7 pour les étudier. Les requêtes sont traitées par des processus dédiés, par exemple une requête de type Http sera filtrée par un processus proxy Http. Le pare-feu rejettera toutes les requêtes qui ne sont pas conformes aux spécifications du protocole. Cela implique que le pare-feu proxy connaisse toutes les règles protocolaires des protocoles qu'il doit filtrer. ii) Les limite Le premier problème qui se pose est la finesse du filtrage réalisé par le proxy. Il est extrêmement difficile de pouvoir réaliser un filtrage qui ne laisse rien passer, vu le nombre de protocoles de niveau 7. En outre le fait de devoir connaître les règles protocolaires de chaque protocole filtré pose des problèmes d'adaptabilité à de nouveaux protocoles ou des protocoles maisons. Mais il est indéniable que le filtrage applicatif apporte plus de sécurité que le filtrage de paquet avec état, mais cela se paie en performance. Ce qui exclut l'utilisation d'une technologie 100 % proxy pour les réseaux à gros trafic au jour d'aujourd'hui. Néanmoins d'ici quelques années, le problème technologique sera sans doute résolu. 4. Que choisir Tout d'abord, il faut nuancer la supériorité du filtrage applicatif par rapport à la technologie Stateful. En effet les proxys doivent être paramétrés suffisamment finement pour limiter le champ d'action des attaquants, ce qui nécessite un très bonne connaissance des protocoles autorisés à traverser le pare-feu. Ensuite un proxy est plus susceptible de présenter une faille de sécurité permettant à un pirate d'en prendre le contrôle, et de lui donner un accès sans restriction à tout le système d'information. Idéalement, il faut protéger le proxy par un pare-feu de type Stateful Inspection. Il vaut mieux éviter d'installer les deux types de filtrage sur le même pare-feu, car la compromission de l'un entraîne la compromission de l'autre. Enfin cette technique permet également de se protéger contre l'ARP 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éseau avec la fonction de filtrage en plus, d'où leur appellation de pare-feu. Leurs interfaces ne possèdent pas d'adresse Ip, et ne font que transférer les paquets d'une interface a une autre en leur appliquant les règles prédéfinies. Cette absence est particulièrement utile, car cela signifie que 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 circuleront jamais sur le réseau, et comme il ne fait que « transmettre » les paquets, il sera totalement invisible sur le réseau. Cela rend impossible toute attaque dirigée directement contre le pare- feu, étant donné qu'aucun paquet ne sera traité par ce dernier comme étant sa propre destination. Donc, la seule façon de le contourner est de passer outre ses règles de drop. Toute attaque 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. Un câble vient se brancher sur une troisième interface, série ou même Ethernet, et qui ne doit être utilisé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 plus souvent 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 grands constructeurs 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 souvent relativement ardue, mais leur avantage est que leur interaction avec les autres fonctionnalités du routeur est simplifiée de par leur présence sur le même équipement réseau. Souvent relativement peu flexibles en terme de configuration, ils sont aussi peu vulnérables aux attaques, car présent dans la « boite noire » qu'est le routeur. De plus, étant souvent très liés au matériel, l'accès à leur code est assez difficile, et le constructeur a eu toute latitude pour produire des système de codes « signés » afin d'authentifier le logiciel (système RSA ou assimilés). Ce système n'est implanté que dans les pare-feux haut de gamme, car cela évite un remplacement du logiciel par un autre non produit par le fabricant, ou toute modification de ce dernier, rendant ainsi le pare-feu très sûr. Son administration est souvent plus aisée que les pare-feu bridges, les grandes marques de routeurs utilisant cet argument comme argument de vente. Leur niveau de sécurité est de plus très bon, sauf découverte de faille éventuelle comme tout pare-feu. Néanmoins, il faut savoir que l'on est totalement dépendant du constructeur du maté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. Cette dépendance induit que si une possibilité nous intéresse sur un pare-feu d'une autre marque, son utilisation est impossible. Il faut donc bien déterminer à l'avance ses besoin et choisir le constructeur 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 logiciels Présents à la fois dans les serveurs et les routeurs « faits maison », on peut les classer en plusieurs 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 ordinateur particulier, et non pas un groupe d'ordinateurs. Souvent payants, ils peuvent être contraignants et quelque fois très peu sécurisés. En effet, ils s'orientent plus vers la simplicité d'utilisation plutôt que vers l'exhaustivité, afin de rester accessible à l'utilisateur 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 et un contrôle plus adéquat, ils ont généralement pour but d'avoir le même comportement que les pare-feux matériels des routeurs, à ceci prêt qu'ils sont configurables à la main. Le plus courant est iptables (anciennement ipchains), qui utilise directement le noyau linux. Toute fonctionnalité des pare-feux de routeurs est potentiellement réalisable sur une telle plateforme. 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 ont néanmoins une grande faille : ils n'utilisent pas la couche bas réseau. Il suffit donc de passer outre le noyau en ce qui concerne la récupération de ces paquets, en utilisant une librairie spéciale, pour récupérer les paquets qui auraient été normalement « droppés » par le pare-feu. Néanmoins, cette faille induit de s'introduire sur l'ordinateur en question pour y faire des modifications... chose qui induit déjà une intrusion dans le réseau, ou une prise de contrôle physique de l'ordinateur, ce qui est déjà Synonyme d'inefficacité de la part du pare-feu. VIII. Attaques, outils, défenses 1. Scénarios d'attaques (Pénétrations de réseaux) Fig8. Scénarios d'attaques. Qu'est-ce qu'une backdoor ? Une backdoor est un accès (« caché ») sur votre système qui permet à un pirate d'en prendre le contrôle à distance. Il existe une multitude de sortes de backdoor, et en général dans ce domaine, l'imagination des pirates rivalise avec l'incrédulité des utilisateurs. Voici quelques scénarios d'attaques plus ou moins classique. i) Premier cas : Pas de protection Considérons un ordinateur victime sur lequel on a installé une backdoor en exploitant une des failles du système. L'attaquant a alors la possibilité d'utiliser tous les services présents sur cet ordinateur. Il lui suffit d'envoyer 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 alors d'installer un pare-feu avec états (Un pare-feu sans état nous semblant quelque peu léger). Le trafic entrant est maintenant stoppé comme il se doit. Malheureusement, le pirate étant rusé et malicieux, il a pris soin de s'arranger pour que sa backdoor initie elle-même les sessions. Du coup le pare-feu laisse passer les requêtes de l'attaquant qui sont considérées comme des réponses par celui-ci. 20 Mohamed ZAOUI
  • 21. Firewall - Nessus – Nmap - Hping Fig9. Scénarios d'attaques 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 cheval de Troie d'initier les sessions avec la machine de l'attaquant. Il s'agit donc de bloquer les flux sortants. 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 puisqu'il devra se renseigner sur les flux autorisés à sortir par le proxy, et les utiliser pour passer le proxy. Par exemple on peut encapsuler des ordres dans du HTTP (Ip over Http),dans du SSL (Ip over Ssl), DNS (Ip over Dns), Smtp (Ip over Smtp). Fig10. Scénarios d'attaques en présence de pare-feu et un serveur proxy. Dans le cas d'un proxy avec authentification, le pirate fera preuve de grande imagination en réalisant un trojan capable de profiter des applications (comme IE par exemple) qui une fois qu'elles se sont authentifiées sont utilisées pour passer le proxy. iv) Quatrième cas : Protection locale via un pare-feu personnel L'idée du pare-feu personnel est de surveiller le trafic entrant et sortant de la machine infectée. Malheureusement ceux-ci sont fortement attaquables, on peut : Passer au-dessus du pare-feu via une application autorisée. ® Appel de CreateRemoteThread permettant de l'injection de code à la volée sous Windows. 21 Mohamed ZAOUI
  • 22. Firewall - Nessus – Nmap - Hping Passer en dessous du pare-feu via une bibliothèque adaptée (Winpcap sous Windows ou pcap sous Linux). Attaquer le pare-feu lui-même en tant qu'applicatif (Arrêt du processus). v) Cinquième cas : piratage de VPN Imaginons qu'un pirate mal intentionné installe un trojan sur l'ordinateur d'un commercial. L'ordinateur 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'étant pas dans le VPN ne fonctionnent pas. Malheureusement, il s'agit du même problème que pour les pare-feu personnels et le trojan permet à l'attaquant d'accéder au réseau de l'entreprise via le VPN. Fig11. piratage de VPN. On peut se rendre compte de l'importance de la robustesse du système d'exploitation, sur lequel est installé le VPN. Après une attaque réussie et la prise de contrôle en root de la machine par le pirate, celui-ci va essayer d'installer ce que l'on appelle un rootkit. Il existe deux types de rootkit, les rootkit simples et les rootkit noyaux. Les rootkit simples se contentent de remplacer toute une collection de programmes système (ps, netstat, ifconfig, ....) lui permettant d'effacer les traces de son passage et ainsi masquer complètement sa backdoor. Un simple outils tel que Tripwire permet de vérifier l'intégrité des commandes, en enregistrant de façon cryptée les signatures (générées par une fonction de hashage) des fichiers de commandes en question. Les rootkit noyaux sont beaucoup plus difficiles à détecter, puisqu'ils modifient le noyau 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 elles même sont appelées par la commande ps. Evidemment un rootkit noyau modifie en plus les routines de journalisassions du système, masque les connexions réseaux, ... Pour se protéger des rootkit noyaux, le plus simple est de s'en prémunir. Pour cela, l'idéal est de patcher son noyau pour empêcher l'installation d'un rootkit, et de désactiver les LKM (Loadable Kernel Modules qui permettent au root d'introduire un nouveau code dans le système d'exploitation pendant que ce dernier est en cours d'exé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 d'un certain nombre de vérification de modules de backdoor. Cet outil s'appelle rkscan et permet de détecter les versions de rootkits les plus populaires. 2. Les techniques et outils de découvertes de pare-feu Il existe beaucoup d'outils et beaucoup de techniques permettant d'identifier un pare- feu. L'objectif de ce paragraphe est d'en exposer quelques-uns et quelques-unes. Il est évident que la plupart des outils utilisés par les pirates pour découvrir les pare-feux sont utilisables pour 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 du pare-feu ne pose pas de gros problèmes, un simple traceroute (ou tracert.exe) suffira, bien que dans certains cas netcat apporte de meilleurs résultats. Exemple : C:> nc -v -n 10.10.1.8 25 (UNKNOWN) [10.10.1.8] 25 (?) open 421 10.10.1.8 Sorry, the firewall does not provide mail service to you. Ensuite l'attaquant 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 d'y détecter une faille dans le filtrage de paquet. Pour identifier les règles d'un pare-feu, il faut utiliser un scanner de port. Il existe de nombreux scanner de ports, les plus connus sont Firewalk, Nmap et Hping2 : i) Firewalk Le Firewalking est une technique qui permet de déterminer les règles de filtrages de niveau 4 (Transport) sur les équipements (routeurs, pare-feu, passerelles) qui acheminent des paquets de niveau 3 (Réseau). Le principe de cette technique repose sur le champ Ttl (Time To Live) des en-têtes IP des paquets. C'est à dire le nombre d'équipement (routeur) que peut traverser le paquet. Le logiciel traceroute utilise aussi la technique du Ttl. Lorsque l'on envoie un paquet Udp avec un Ttl de 1, le premier routeur recevant le paquet émettra un paquet Icmp Ttl-exceeded. Et l'on répète le procédé en augmentant le Ttl de 1 à chaque fois. En fait ce procédé peut être réalisé avec d'autres 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 sur un segment situé après le pare-feu. En fait si le paquet est autorisé par le pare-feu, il pourra le passer et expirera comme prévu en envoyant un message "Icmp Ttl expired in transit". A l'inverse, si le paquet est bloqué par l'ACL du pare-feu, il sera abandonné et aucune réponse ne 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 l'interface externe, 23 Mohamed ZAOUI
  • 24. Firewall - Nessus – Nmap - Hping mais le problème est que ses performances risquent d'en prendre un sérieux coup car des clients 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 disponible sous linux, Windows et même MAC. En règle générale, Nmap vérifie que l'hôte à scanner est connecté au réseau. Il réalise pour cela à la fois un Tcp ping sur le port 80 et un ping Icmp normal. Ce comportement peut être détecté par un IDS (Inspection Detection System) et pour cela on peut changer le comportement de Nmap. iii) HPING HPING est différent de Nmap d'abord parce qu'il est beaucoup plus configurable. On peut facilement modifier n'importe quel octet de l'entête TcpIP. Cela permet d'être réellement créatif au niveau des techniques de balayage à des fins de reconnaissance. On peut bien sûr insérer des données malveillantes dans les paquets (buffer overflow, trojan, ...) et les utiliser pour 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 d'un réseau utilisant différents protocoles, le ToS et la fragmentation. 4- De faire du firewalk. 5- De l'empreinte de système d'exploitation. iv) NESSUS Nessus a été écrit par Renaud Deraison (depuis début 1998), un grand maître de Linux et de la sécurité. Nessus est devenu le Linux de l'évaluation de la vulnérabilité, il surpasse certains de ses concurrents commerciaux. Nessus emploie un modèle de plug-in extensible qui permet à la sécurité d'ajouter à la demande des modules d'exploration. Nessus utilise un langage 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 serveur réalise les attaques et tourne sur un système UNIX; les clients initialisent les attaques et existent sur différentes plates-formes X11, Win32 et un client Java. Le fait d'être open source et d'utiliser des plug-in permet à Nessus d'être mis à jour régulièrement au niveau de sa base de données d'attaques et d'être à la pointe de la technologie. Nessus compte à l'heure actuel plus de 500 contrôles de vulnérabilités, dont certains ne sont pas disponibles dans les scanners commerciaux. 24 Mohamed ZAOUI
  • 25. Firewall - Nessus – Nmap - Hping 3. Les réactions des pare-feu aux attaques classiques i) IP spoofing L'IP spoofing consiste à modifier les paquets IP afin de faire croire au pare-feu qu'ils proviennent d'une adresse IP considérée comme « de confiance ». Par exemple, une IP présente dans le réseau local de l'entreprise. Cela laissera donc toute latitude au hacker de passer outre les règles du pare-feu afin d'envoyer ses propres paquets dans le réseau de l'entreprise. Les derniers pare-feux peuvent offrir une protection contre ce type d'attaque, notamment en utilisant un protocole VPN, par exemple IPSec. Cela va crypter les entêtes des paquets, et ainsi rendre impossible leur modification par un intrus, et surtout, l'intrus ne pourra générer de paquets comme provenant de ce réseau local, ce dernier n'ayant 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 possibles vers un serveur, générant beaucoup de trafic inutile, et bloquant ainsi l'accès aux utilisateurs normaux. Le DDOS, pour Distributed DOS, implique venir de différentes machines simultanées, cette action étant le plus souvent déclenchée par un virus : ce dernier va d'abord infecter nombre de machines, puis à une date donnée, va envoyer depuis chaque ordinateur infecté des paquets inutiles vers une cible donnée. On appelle aussi ce type d'attaque « flood ». Les pare-feux ici n'ont que peu d'utilité. En effet, une attaque DOS ou DDOS utilise le plus souvent des adresses sources différentes (le but n'est pas de récupérer une réponse ici) et souvent, impossible de distinguer ces paquets des autres... Certains pare-feux offrent une protection basique contre ce genre d'attaque, par exemple en droppant les paquets si une source devient trop gourmande, mais généralement, ces protections sont inutiles. Cette attaque brute 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 du système. Le pare-feu va, dans quasiment tous les cas, pouvoir bloquer ces scans en annoncent le port comme « fermé ». Elles sont aussi aisément détectables car elles proviennent de la même source faisant les requêtes sur tous les ports de la machine. Il suffit donc au pare-feu de bloquer 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 exemple un serveur Http, Ftp, etc. Le problème est que ce type d'attaque est très souvent considéré comme des requêtes tout a fait « valides » et que chaque attaque est différente d'une autre, vu que le bug passe souvent par reproduction de requêtes valides non prévues par le programmeur du logiciel. Autrement dit, il est quasiment impossible au pare-feu d'intercepter ces attaques, qui sont considérées comme des requêtes normales au système, mais exploitant un bug du serveur le plus souvent. La seule solution est la mise à jour périodique des logiciels utilisés afin de barrer cette voie d'accès au fur et à mesure qu'elles sont découvertes. 25 Mohamed ZAOUI
  • 26. Firewall - Nessus – Nmap - Hping IX. Configuration d’un firewall sous Linux 1. Présentation générale Un pare-feu (firewall) est une passerelle que l’on place sur un réseau pour sécuriser les communications 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 et n'offrent 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 les utilisateurs et développeurs pourraient déployer comme un add-on construit autour du noyaux Linux. Il a été conçu pour être modulaire et extensible. Iptables est un module qui s'insère dans la structure de NetFilter et autorise l'utilisateur à accéder aux règles et commandes de filtrage/manipulation du noyau. Le but de cette partie est d’expliquer comment configurer un pare-feu avec les iptables sous Linux. 2. Démarrage Tout d’abord iptables est une commande que seul root peut lancer. Ensuite, vérifier la version de votre noyau : > uname -a Si la version du noyau est antérieure à 2.4, il faudra installer iptables (cf. installation) Pour voir si la commande est présente : > which iptables Pour voir si le module est installé : > lsmod | grep iptable 3. Installation de iptables (succinct) IpTables a besoin d'un kernel de génération 2.4 compilé avec des options spéciales. Ceci ne pose pas de problèmes avec les noyaux 2.4 génériques des principales distributions basées sur cette génération de kernel.  Le noyau Si vous désirez re-compiler votre kernel (make dep; make clean; make bzImage), il faut spécifier les options nécessaires au fonctionnement d'iptables 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 - Hping Déplacez votre ancien répertoire de module > mv /lib/module/votre_version /lib/module/votre_version.old Puis compilez et installez les modules (make modules; make modules_install), Copiez alors le nouveau kernel > cp /usr/src/linux/arch/i386/boot/bzImage /boot  Netfilter Récupérer sur le site officiel les sources (http://www.samba.org/netfilter). Désarchiver et compiler (make, make install).  Chargement des modules Il est nécessaire de charger ces modules à chaque boot puis de lancer les règles de filtrage/masquage, avant de pouvoir utiliser iptables : # modprobe ip_tables Il faut faire un script qui sera lancé à chaque démarrage (à rajouter dans /etc/rc.d/init.d suivant le système). Et selon les besoins, on peut éventuellement charger d’autres modules (cf. modules) 4. Fonctionnement d’iptables Le noyau contient par défaut trois tables : Filter, NAT et Mangle. Une table permet de définir un comportement précis du firewall Linux.  La table FILTER va contenir toutes les règles pour le filtrage des paquets.  La table NAT permet d'effectuer des translations d'adresses.  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 le paquet est destiné à un processus local ou à un hôte sur un autre réseau. Deux cas peuvent se présenter :  Le paquet lui est destiné : le paquet traverse la chaîne INPUT. S'il n'est 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. S'il n'est 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. S'il n'est pas rejeté, il poursuit alors sa route. 5. Configuration des tables Suivant la syntaxe utilisée, la commande iptables va permettre de spécifier des règles de sé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înes Les paquets sont récupérer suivant leurs : adresse source, adresse destination, protocole et numéro de port. Pour chaque règle de sélection, on peut soit accepter le paquet, soit l'ignorer, soit renvoyer une erreur. Pour voir les commandes les plus usuelles : > man iptables  Commandes principales Ces options spécifient une action particulière à effectuer. Seule l'une d'elles peut être spécifiée sur la ligne de commande, sauf indication contraire. 28 Mohamed ZAOUI
  • 29. Firewall - Nessus – Nmap - Hping  Commandes pour matcher 6. Mise en place du pare-feu Lors de la mise en place d'un pare-feu, on doit :  effacer toute les règles existantes et s'assurer qu'aucune règle n'est 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 qu'on jette : > iptables -N LOG_DROP > iptables -A LOG_DROP -j LOG --log-prefix '[IPTABLES DROP] : ' > iptables -A LOG_DROP -j DROP Et 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 une connexion 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 connexion dé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 l'espace utilisateur, sauf HTTP (avec '!') > iptables -I INPUT -p tcp -sport ! 80 -j DROP 7. Mise en place de modules Les modules permettent de rajouter des fonctionnalités à NetFilter. Prenons l’exemple pour FTP. Charger le module : > modprobe ip_conntrack_ftp Ensuite, il faut vérifier que le trafic FTP est autorisé (cf. Pour accepter le trafic FTP). C’est indispensable 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 ACCEPT Enfin 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 --state ESTABLISHED -j ACCEPT > iptables -A OUTPUT -o eth0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT (sport et deport signifie l’intervalle des ports acceptés. En effet, la connexion se fait sur le port 20/21 mais les transferts se font sur d’autres ports De nombreuses autres règles de filtrages relativement fines peuvent être mise en place avec iptables. Nous avons vu seulement la table FILTER. Les autres tables fonctionnent de la même manière. Il y a certaines limitations de NetFilter : par exemple il n'intègre pas des fonctionnalités de limitation de bande passante ou il n'intègre pas des fonctionnalités d'introduction d'un pourcentage d'erreur dans les communications. 30 Mohamed ZAOUI
  • 31. Firewall - Nessus – Nmap - Hping Chapitre 3 : NMAP (Network Mapper) 31 Mohamed ZAOUI
  • 32. Firewall - Nessus – Nmap - Hping I) Description Nmap (“Network Mapper”) est un scanner de ports open source. Il est conçu pour détecter les ports ouverts, les services hébergés et les informations sur le système d’exploitation d’un ordinateur distant. Ce logiciel est devenu une référence pour les administrateurs réseaux car l’audit des résultats de nmap fournit des indications sur la sécurité d'un réseau. Syntaxe : nmap [ <Types de scans> ...] [ <Options> ] { <spécifications des cibles> } II) Fonctionnement Pour scanner les ports d'un ordinateur distant, Nmap utilise diverses techniques d'analyse basées sur des protocoles tels que TCP, IP, UDP ou ICMP. De même, il se base sur les réponses particulières qu'il obtient à des requêtes particulières pour obtenir une empreinte de la pile IP, souvent spécifique du système qui l'utilise. C'est par cette méthode que l'outil permet de reconnaitre la version d'un système d'exploitation et aussi la version des services en écoute. III) Installation - Téléchargez la dernière version de Nmap depuis http://nmap.org/download.html - Décompressez l'archive téléchargée puis installez-le comme suit : Tar xjvf nmap-X.YZ.tar.bz2 Cd nmap- X.YZ ./configure Make Make install IV) Interface graphique NmapFE, écrite au départ par Zach Smith, était l'interface graphique officielle de Nmap pour les versions 2.2 à 4.22. À partir de la version 4.23 de Nmap, NmapFE a été remplacé par Zenmap, une nouvelle interface graphique basée sur UMIT et développée par Adriano Monteiro Marques. De nombreuses interfaces web sont également disponibles pour utiliser Nmap à partir d'un navigateur web. On peut citer LOCALSCAN, nmap-web et Nmap- CGI. 32 Mohamed ZAOUI
  • 33. Firewall - Nessus – Nmap - Hping Enfin, il existe des interfaces graphiques disponibles sous Microsoft Windows. On peut citer NMapWin, qui n'est pas mis à jour depuis la version v1.4.0, et NMapW développé par Syhunt. V) Options disponibles 1) Spécification des cibles Tout ce qui n'est pas une option (ou l'argument d'une option) dans la ligne de commande de Nmap est considéré comme une spécification d'hôte cible. Le cas le plus simple est de spécifier une adresse IP cible ou un nom d'hôte à scanner. Si vous désirez scanner un réseau entier d'hôtes consécutifs, Nmap supporte l'adressage du style CIDR. La notation CIDR est concise mais pas toujours des plus pratiques. Par exemple, vous voudriez scanner 192.168.0.0/16 mais éviter toutes les adresses se terminant par .0 ou .255 car se sont souvent des adresses de diffusion (broadcast). Nmap permet de le faire grâce à l'adressage par intervalles. Plutôt que de spécifier une adresse IP normale, vous pouvez spécifier pour chaque octet de l'IP une liste d'intervalles 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 ne sont pas limités aux octets finals: 0-255.0-255.13.37 exécutera un scan de toutes les adresses IP se terminant par 137.37. Ce genre de spécifications peut s'avérer utile pour des statistiques sur Internet ou pour les chercheurs. Même si les cibles sont souvent spécifiées dans les lignes de commandes, les options suivantes 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ôtes Une des toutes premières étapes dans la reconnaissance d'un réseau est de réduire un ensemble (quelques fois énorme) de plages d'IP à une liste d'hôtes actifs ou intéressants. Scanner tous les ports de chacune des IP est lent et souvent inutile. Bien sûr, ce qui rend un hô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 auditeurs de sécurité peuvent s'intéresser à tout équipement qui dispose d'une adresse IP. Alors que l'administrateur se satisferait d'un ping ICMP pour repérer les hôtes de son réseau, l'auditeur pourrait utiliser un ensemble varié de douzaines de paquets de tests (probes) dans le but de contourner les restrictions des pare-feux. Parce que les besoins de découverte des hôtes sont si différents, Nmap propose une grande panoplie d'options pour individualiser les techniques utilisées. La découverte d'hôte est souvent appelée « scan ping » (ping scan), mais celle-ci va bien au delà d'une simple requête echo ICMP associée à l'incontournable outil ping. Les options suivantes contrôlent la découverte des hôtes. -sL (Liste simplement) Cette forme dégénérée de découverte d'hô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 n'effectuer que le scan ping (la découverte des hôtes), puis d'afficher la liste des hôtes disponibles qui ont répondu au scan. Aucun autre test (comme le scan des ports ou la détection d'OS) n'est 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 n'examine 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 l'imagine 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 n'existe pas. Ainsi, l'hôte distant devrait systématiquement répondre par un paquet RST qui trahirait son existence. L'option -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 l'option --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 n'est 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 n'est que peu souhaitable pour ce type de scan particulier. L'avantage principal de ce type de scan est qu'il permet de contourner les pare-feux et dispositifs de filtrage qui n'observent 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 l'option -PE pour activer ce comportement de requête echo. Les requêtes timestamp et masque d'adresse 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 d'adresses privées de la RFC 1918, la grande majorité des adresses IP sont inutilisées à un instant donné. Quand Nmap essaie d'envoyer un paquet IP brut (raw packet) comme une requête ICMP echo, le système d'exploitation doit déterminer l'adresse matérielle (ARP) correspondant à la cible IP pour correctement adresser la trame Ethernet. Ceci est souvent lent et problématique, car les systèmes d'exploitation n'ont 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 d'algorithmes optimisés pour gérer le scan ARP. Si Nmap reçoit une réponse à ces requêtes, il n'a pas besoin de poursuivre avec les ping basés sur IP car il sait déjà que l'hô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 d'hô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 l'en-tête IP. La liste des protocoles prend le même format qu'avec 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 l'hô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 l'hôte. Par exemple, un paquet RST en provenance d'un port fermé ou un echo relpy pour un hôte connecté. L'information 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 l'implémentation de l'appel 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 n'est 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 qu'il 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 n'est effectué que si une machine est considérée comme active. Les bases du scan de ports Même si le nombre de fonctionnalités de Nmap a considérablement augmenté au fil des ans, il reste un scanner de ports efficace, et cela reste sa fonction principale. La commande de base nmap <target> scanne plus de 1 660 ports TCP de l'hôte <target>. Alors que de nombreux autres scanners de ports ont partitionné les états des ports en ouverts ou fermés, Nmap a une granularité 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écrivent comment 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 - Hping pourrait voir le port 135/tcp comme ouvert alors qu'un scan au même instant avec les mêmes options au travers d'Internet pourrait voir ce même port comme filtré. Les six états de port reconnus par Nmap ouvert (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 n'y a pas d'application en écoute. Comme un port fermé est accessible, il peut être intéressant de le scanner de nouveau plus tard au cas où il s'ouvrirait. 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) d'atteindre 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 d'informations. Quelques fois ils répondent avec un message d'erreur 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 d'une surcharge du réseau et pas du filtrage. non-filtré (unfiltered) L'état non-filtré signifie qu'un port est accessible, mais que Nmap est incapable de déterminer s'il 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. L'absence de réponse peut aussi signifier qu'un dispositif de filtrage des paquets a rejeté le test ou les réponses attendues. Ainsi, Nmap ne peut s'assurer ni que le port est ouvert, ni qu'il est filtré. Les scans UDP, protocole IP, FIN, Null et Xmas catégorisent les ports ainsi. 37 Mohamed ZAOUI
  • 38. Firewall - Nessus – Nmap - Hping fermé|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 lorsqu'il n'est 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 s'il voulait vraiment ouvrir une connexion. Une réponse SYN/ACK indique que le port est en écoute (ouvert), tandis qu'une RST (reset) indique le contraire. Si aucune réponse n'est 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 n'est pas utilisable. Nmap demande au système d'exploitation qui l'exécute d'établir une connexion au port de la machine cible grâce à l'appel système connect(). Si le scan SYN est disponible, il vaut mieux l'utiliser. Nmap a bien moins de contrôles sur l'appel système haut niveau connect() que sur les paquets bruts, ce qui le rend moins efficace. L'appel 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 d'Internet 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. C'est 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 l'option-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 d'erreur « unreachable ICMP (type 3, codes 1, 2, 9, 10, or 13) » rendront le port filtré. À l'occasion, il arrive qu'un service répond par un paquet UDP, prouvant que le port est dans l'état ouvert. Si aucune réponse n'est 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 qu'un 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 (d'autres sont possibles en utilisant l'option --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) N'active aucun des bits (les drapeaux de l'en-tête TCP vaut 0). Scan FIN (-sF) N'active 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 qu'une absence de réponse signifiera qu'il est dans l'état ouvert|filtré. Le port est marqué comme filtré si un message d'erreur ICMP « unreachable (type 3, code 1, 2, 3, 9, 10 ou 13) » est reçu. L'avantage principal de ces types de scans est qu'ils peuvent furtivement traverser certains pare-feux ou routeurs filtrants sans état de connexion (non-statefull). Un autre avantage est qu'ils sont même un peu plus furtifs que le scan SYN. N'y 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 jusqu'ici, 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 s'ils sont avec ou sans états (statefull/stateless) et quels ports sont filtrés. Le scan ACK n'active que le drapeau ACK des paquets (à moins que vous n'utilisiez l'option --scanflags). Les systèmes non-filtrés réagissent en retournant un paquet RST. Nmap considère alors le port comme non-filtré, signifiant qu'il est accessible avec un 39 Mohamed ZAOUI
  • 40. Firewall - Nessus – Nmap - Hping paquet ACK, mais sans savoir s'il est réellement ouvert ou fermé. Les ports qui ne répondent pas ou renvoient certains messages d'erreur 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 qu'il exploite un détail de l'implémentation de certains systèmes pour identifier les ports fermés des autres, au lieu de toujours afficher non-filtré lorsqu'un 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é lorsqu'un 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. L'option --scanflagsvous permet de créer votre propre type de scan en spécifiant vos propres combinaisons de drapeaux TCP L'argument de l'option --scanflags peut être soit un nombre comme 9 (PSH et FIN), mais l'utilisation 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 n'est 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 n'est 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 scan En plus de toutes les méthodes de scan abordées précédemment, Nmap propose des options permettant la spécification des ports à scanner ainsi que l'ordre (au hasard ou séquentiel) dans lequel le scan doit se faire. Par défaut, Nmap scanne tous les ports jusqu'au 1 024 40 Mohamed ZAOUI
  • 41. Firewall - Nessus – Nmap - Hping inclusivement ainsi que les ports supérieurs listés dans le fichier nmap-servicespour le ou les protocoles 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 l'option - sO). Ceci est bien plus rapide que de scanner les 65 535 ports d'un hôte. -r (Ne mélange pas les ports) Par défaut, Nmap mélange au hasard l'ordre des ports (sauf que certains ports couramment accessibles sont placés vers le début de la liste pour des raisons d'efficacité). Ce mélange est normalement souhaitable, mais vous pouvez spécifier l'option -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 l'option -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 d'adresses. Ici toutes les adresses de 192.168.0 à 192.168.255 : nmap 192.168.0-255 • Connaitre le système d'exploitation de la machine (TCP/IP fingerprint) : nmap -O 127.0.0.1 • Si nmap n'arrive 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, c'est 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.1 VII) 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, vous découvrirez vos propres faiblesses et éventuelles erreurs humaines d'administration. 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. N'hésitez pas à utiliser Nmap contre vos serveurs pour savoir quels ports sont en écoute. 42 Mohamed ZAOUI
  • 43. Firewall - Nessus – Nmap - Hping Chapitre 4 : Hping 43 Mohamed ZAOUI