Linux Pfa Ellouze-Anis

59
PFA 1 Projet d’ingénieur en Télécommunications AUDIT ET SECURITE DES RESEAUX A BASE DE PLATEFORME LINUX Présenté par : ELLOUZE ANIS Encadré par : Mr BOULEIMEN KAMEL 2004/2005

description

linux

Transcript of Linux Pfa Ellouze-Anis

  • PFA

    1

    Projet dingnieur en Tlcommunications

    AAUUDDIITT EETT SSEECCUURRIITTEE DDEESS RREESSEEAAUUXX AA BBAASSEE

    DDEE PPLLAATTEEFFOORRMMEE LLIINNUUXX

    Prsent par :

    ELLOUZE ANIS

    Encadr par :

    Mr BOULEIMEN KAMEL

    2004/2005

  • PFA

    2

    Sommaire

    INTRODUCTION GENERALE ................................................................................... 4

    LE SYSTEME DEXPLOITATION LINUX .................................................................. 6

    CHAPITRE 1 : LA SCURIT DES RSEAUX INFORMATIQUES.......................... 7

    Introduction........................................................................................................................................................... 7

    I- Politique de scurit au niveau du rseau ....................................................................................................... 7 1- Diffrents aspects de la scurit .................................................................................................................. 7 2- Objectifs ........................................................................................................................................................ 8

    II- les diffrent type dattaque ............................................................................................................................. 8 1- Abus de droits lgitimes............................................................................................................................... 9

    1.1 Le dni de service................................................................................................................................... 9 1.1.1 La technique du Denial Of Service............................................................................................... 9 1.1.2 Une technique de dni de service : le "smurf" .......................................................................... 10

    1.2 Le TCP/SYN Flooding......................................................................................................................... 10 1.3 Le Mail Bombing ................................................................................................................................. 11

    2- Usurpation d'identit ................................................................................................................................. 11 2.1 Spoofing IP ........................................................................................................................................... 11

    3- Injection de code ........................................................................................................................................ 13 3.1 Le Ver ................................................................................................................................................... 13 3.2 Les Chevaux de Troie.......................................................................................................................... 13 3.3 La Bombe Logique .............................................................................................................................. 14

    4- Ecoute.......................................................................................................................................................... 14 4.1 Les Scanners......................................................................................................................................... 14 4.2 Les Sniffers........................................................................................................................................... 14

    III- Les principaux types de vulnrabilits ....................................................................................................... 14 1. Les failles lies aux systmes et aux applications :................................................................................... 14

    1.1 Les installations par dfaut................................................................................................................. 15 1.2 Les mauvaises configurations ............................................................................................................. 15

    2. Les failles lies aux protocoles :................................................................................................................. 15 2.1 Le protocole DHCP ............................................................................................................................. 15 2.2 Le protocole DNS................................................................................................................................. 16 2.3 Le protocole FTP ................................................................................................................................. 16

    Conclusion ........................................................................................................................................................... 16

    CHAPITRE 2 : AUDIT ET CONFIGURATION DES SERVEURS ........................... 17

    Introduction......................................................................................................................................................... 17

    I- prsentation gnrale de laudit de scurit.................................................................................................. 17

    II- Laudit ............................................................................................................................................................ 18 1. Nmap ........................................................................................................................................................... 19 2. Nessus .......................................................................................................................................................... 20

    2.1. Installation .......................................................................................................................................... 21

  • PFA

    3

    2.2. Utilisation et configuration ................................................................................................................ 22 2.2.1 Configuration et lancement du serveur ..................................................................................... 22

    2.2.2 Configuration et lancement du client................................................................................................... 23 2.3 Audit du rseau.................................................................................................................................... 26

    2.3.1 Exemple de test : .......................................................................................................................... 26

    III- Solutions proposes ..................................................................................................................................... 28 1. Fermeture des ports .................................................................................................................................. 28 2 Configuration des serveurs......................................................................................................................... 32 2.1 SSH ............................................................................................................................................................ 32

    2.2 Samba / NetBIOS................................................................................................................................. 34 2.3 Xinetd ................................................................................................................................................... 35 2.4 Serveur FTP ......................................................................................................................................... 35 2.5 Serveur Telnet...................................................................................................................................... 36

    Conclusion ........................................................................................................................................................... 37

    CHAPITRE 3 : CONFIGURATION DU FIREWALL ET MISE EN PLACE DUN SYSTEME DE DETECTION DINTRUSION (IDS) : ................................................. 38

    Introduction......................................................................................................................................................... 39

    I- architecture du rseau .................................................................................................................................... 39

    II- Configuration du firewall.............................................................................................................................. 40 1. Netfilter ...................................................................................................................................................... 40

    1.1. Les tables :........................................................................................................................................... 41 1.1.1 La table FILTER ......................................................................................................................... 42 2.1.2 La table NAT :............................................................................................................................. 42 1.1.3 La table MANGLE ..................................................................................................................... 42

    1.2 La commande iptables......................................................................................................................... 43 1.2.1 Les rgles : ................................................................................................................................... 43 1.2.2 Configuration ............................................................................................................................... 44

    III- Le systme de dtection dintrusion .......................................................................................................... 48 1. Les diffrents types dIDS ......................................................................................................................... 48

    1.1 La dtection d'intrusion base sur l'hte (HIDS)............................................................................. 49 1.2 La Dtection d'Intrusion Rseau (NIDS)........................................................................................... 49

    1.2.1 Les capteurs (sonde) ................................................................................................................... 49 1.2.2 Placement des capteurs ............................................................................................................... 49

    2. Le produit disponible : Snort : .................................................................................................................. 50 2.1. Installation de Snort en mode RPM.................................................................................................. 50 2.2. Installation de Snort en mode source................................................................................................ 50 2.3 Utilisation de snort : ........................................................................................................................... 51

    2.3.1. Utilisation de snort en mode Sniffer .......................................................................................... 51 2.3.2. Utilisation de Snort en mode packet logger :............................................................................ 53 2.3.3. Utilisation de Snort en nids :...................................................................................................... 53

    2.4. Les rgles de snort .............................................................................................................................. 54

    Conclusion : ......................................................................................................................................................... 56

    CONCLUSION GENERALE..................................................................................... 57

  • PFA

    4

    Figure 1 : la technique du smurf (ping,pong).. 8 Figure 2: Spoofing IP (1) .. 9 Figure 3: Spoofing IP (2) .. 10

    Figure 4: Spoofing IP (3) .. 11 Figure 5: La stratgie de scurit . 16 Figure 6 : Nessus adduser . 21 Figure 7 : Nessus setup .. 22 Figure 8 : Droulement du scan 23 Figure 9 : Le rapport de Nessus 23 Figure 10 : rapport de Nessus (Windows 2000 Server) .. 25 Figure 11 : rapport de Nessus (Windows XP SP2) .. 26 Figure 12 : rapport de Nessus (Linux Fedora core 3) . 27 Figure 13 : Rsultat de scan du port 22 ... 31 Figure 14 : La position du passerelle linux dans le rseau . 38 Figure 15 ; les cinq chanes de Netfilter .. 39 Figure 16 Rsultat danalyse du trafic par snort 50 Figure 17 : Snort en mode snifer ... 51

    Liste des figures

  • PFA

    5

    Introduction gnrale

    Linformatique et les rseaux de tlcommunication sont devenus des outils de travail

    indispensables pour les tches critiques de la vie professionnelle. En plus une vritable

    rvolution, dans le fonctionnement des changes de donnes, sest effectue pour faciliter les

    transactions et assurer une change rapide de linformation.

    Cependant, louverture du systme dinformation et de tlcommunication vers

    lextrieur induit pour les entreprises une vulnrabilit de plus en plus lev, tant des

    attaques malveillantes quaux risques dus lerreur humaine. Ces attaques informatiques sont

    devenues une vritable menace pour les rseaux des entreprises. En gnral, elles sont

    ralises par des spcialistes qui sont appels des pirates ou des hackers qui visent pirater ou

    dtruire des donnes. Pour cela la matrise de la scurit des systmes dinformation et des

    tlcommunications est devenue primordiale pour les transactions et les activits

    quotidiennes.

    Cest dans ce cadre que notre projet se situe.

    Pour rsoudre les problmes de scurit des rseaux informatique, nous avons choisi

    dabord Linux comme plateforme de travail, puis nous avons opt notre stratgie de scurit.

    Pour ce faire, nous commencerons le premier chapitre par prsenter les diffrentes

    attaques quun rseau peut subir et les failles existantes dans certains protocoles

    Ensuit dans le deuxime chapitre, nous prsenterons ltape prliminaire du notre

    politique de scurit qui consiste faire laudit du notre rseau, nous prsenterons galement

    les outils utiliss. Aprs quoi nous prsenterons la premire tape de notre stratgie qui

    consiste fermer les ports des serveurs inutiles et configurer les serveurs utiles.

    En fin, dans le dernier chapitre, nous prsenterons en premier lieu le firewall Netfilter,

    qui sert filtrer le trafic, en proposant un script pour la configuration. Puis en deuxime lieu

    nous mettrons en place un systme de dtection dintrusion qui est capable de dtecter toute

    tentative dintrusion. .

  • PFA

    6

    Le systme dexploitation Linux

    Linux est un logiciel libre. Il disponible sur Internet sous forme de code source et de

    binaires (excutable). Il sagit dun open source, ce qui fait sa plus grande force, chacun peut

    examiner le code en langage C du systme, le modifier selon ses besoins, proposer des ajouts

    ou des amliorations.

    Linux est proprit de Linus Torvalds ainsi que d'autres contributeurs ce projet. Il

    n'est plus considr comme un systme en bta-test, depuis que la version 1.0 . En fait ce

    systme a plusieurs versions, une convention de numrotation spciale a t mise au point

    sous forme x.y.z . On peut connatre si cette version est stable ou non par valeur de y ,

    si y est pair donc cette version est sable. Et Lorsque il y a des corrections des bogues dans ce

    cas z est incrment.

    Ce qui est trs intressant sur Linux, c'est que son code source est distribu, et librement

    modifiable. Les utilisateurs de ce systme peuvent participer l'laboration de Linux. Quand

    il y a un bug, le premier utilisateur qui en est victime prvient les dveloppeurs, et dans les

    jours qui suivent, un patch tlchargeable sera mis la disposition.

    Actuellement, il existe plusieurs distributions Linux : RedHat, Mandrake, Debian

    La distribution RedHat 9.0 a t la dernire distribution libre de RedHat qui a alors dcid

    d'en faire une distribution commerciale payante ddie aux entreprises. RedHat a lanc en

    parallle le projet Fedora, une distribution libre GPL. La version du noyau est 2.4.20.

    Les raisons de choix de linux :

    Tout d'abord, Linux est un systme d'exploitation stable et l'un des systmes les plus

    fiables et robustes existants l'heure actuelle. Sur le plan scurit, Linux offre des outils de

    scurit open source tels que les IDS (Snort, Portsentry), les pare feux (IPTABLES Netfilter,

    Astaro) Les outils de logs (Swatch), les services dauthentification (SSH, Kerberos), les outils

    danalyse de vulnrabilit (Nessus, Nmap). En plus, Linux peut tre configurable de la

    manire quil soit capable de scuriser de faon optimale les rseaux.

  • PFA

    7

    Chapitre 1 : la scurit des rseaux informatiques

    Introduction

    Depuis quelques dcennies, les attaques informatiques deviennent de plus en plus

    complexes avec lvolution rapide des outils et les rseaux informatiques. La plupart de

    systmes dinformations des organisations (entreprises, gouvernements, particuliers..) sont

    relis par un rseau avec connexion lInternet. Et comme nous savons, une connexion

    lInternet est devenue de plus en plus dangereuse. Chaque point dentre constitue un point

    dattaque potentiel. Donc il est vident quune entreprise ou une gouvernement adopte une

    politique de scurit. En effet, les donnes caractre personnelles ont une grande valeur

    marchande. Les ordinateurs de ces organisations sont en gnrale des mines dinformations.

    On peut tout savoir juste en pntrant sur ces ordinateurs.

    Aujourdhui, mettre en place une infrastructure informatique scurise est une ncessit.

    La scurit 100% certes ne peut pas exister mais il faut sen rapprocher le plus.

    Dans ce chapitre, nous allons parler de la politique scurit au niveau du rseau

    informatique et les diffrentes attaques quun rseau peut subir.

    I- Politique de scurit au niveau du rseau

    La mise en uvre dune politique de scurit globale est assez difficile, car if faut tenir

    compte de la diversit des aspects considrer. Une politique de scurit peut se dfinir par

    un certain nombre de caractristiques : les niveaux o elle intervient, les objectifs de cette

    politique et enfin les outils utiliss pour assurer cette scurit. Chaque aspect doit tre pris en

    compte de faon atteindre les objectifs de scurit dsirs en utilisant de faon coordonne

    les diffrents outils disposition..

    1- Diffrents aspects de la scurit

    Une politique de scurit slabore plusieurs niveaux :

    Tout dabord laccs aux donnes (authentification, contrle dintgrit) doit tre

    scuris. Ensuite, il est essentiel pour un responsable de scurit de sinformer

    continuellement, des nouvelles attaques existantes, des outils disponibles de faon pouvoir

  • PFA

    8

    maintenir jour son systme de scurit et combler les failles de scurit qui pourraient

    exister

    2- Objectifs

    Les objectifs dune politique de scurit sont de garantir la scurit des informations et

    du rseau de lentreprise. Ces impratifs peuvent tre dfinis plusieurs niveaux :

    Disponibilit : les donnes doivent rester accessibles aux utilisateurs (une attaque de type DoS, par exemple, vise empcher les utilisateurs normaux dun

    service dy accder)

    Confidentialit : les donnes ne doivent tre visibles que pour des personnes autorises.

    Intgrit : il faut pouvoir garantir que les donnes protges nont pas t modifies par une personne non autorise.

    Non rpudiation : on doit pouvoir certifier, quand un fichier a subi des modifications, la personne qui la modifi.

    3- Outils

    Pour assurer une bonne protection des donnes, diffrents outils sont disponibles. Ils

    sont en gnral utiliss ensemble, de faon combler les diffrentes failles existantes dans le

    systme. Voici quelques uns :

    Le firewall : Utilis pour filtrer le trafic entrant sur le rseau.

    Les antivirus : Sont aussi utiliss sur les diffrentes machines branches sur le rseau afin de vrifier si des virus ont pu se propager.

    les VPN (Virtual Private Network) : Permettent un cryptage des donnes qui transitent sur un rseau public.

    Les systmes de dtection dintrusion (IDS) : Limiter les attaques sur les rseaux.

    II- les diffrent type dattaque

  • PFA

    9

    Il existe un grand nombre dattaques permettant une personne mal intentionne de

    sapproprier des ressources, de les bloquer ou de les modifier. Certaines requirent plus de

    comptences que dautres. Ces attaques ont plusieurs types savoir :

    Abus de droits lgitimes

    Usurpation d'identit

    Injection de code

    Ecoute

    1- Abus de droits lgitimes

    1.1 Le dni de service

    Les attaques par Denial Of Service souvent abrg DOS, consistent paralyser

    temporairement (rendre inactif pendant un temps donn) des serveurs afin qu'ils ne puissent

    tre utiliss et consults. Elles sont un flau touchant tous serveurs mais aussi tous particuliers

    relis lInternet. Le but d'une telle attaque n'est pas de rcuprer ou d'altrer des donnes,

    mais de nuire des socits dont l'activit repose sur un systme d'information en l'empchant

    de fonctionner.

    D'un point de vue technique, ces attaques ne sont pas trs compliques. En effet, les

    attaques par dni de service n'exploitent non pas les failles d'un systme d'exploitation

    particulier, mais celle de l'architecture TCP/IP. Les attaques par dni de service consistent en

    un envoi de paquets IP de taille excessivement importante, ce qui a pour cause la saturation de

    la machine victime, qui ne peut plus assurer les services rseaux qu'elle propose (d'o le terme

    dni de service).

    1.1.1 La technique du Denial Of Service

    Il n'y a pas de technique proprement dite dans ce type d'attaques. Mais en gnral, le

    DOS se fait par le biais de l'envoi d'un datagramme IP de 65536 octets fabriqu grce la

  • PFA

    10

    fragmentation. Une fois le datagramme refragment sur l'hte distant, on obtiendra un

    dbordement de mmoire provoquant un plantage de la machine cible.

    1.1.2 Une technique de dni de service : le "smurf"

    La technique du smurf est base sur l'utilisation des serveurs broadcast pour

    paralyser un rseau. Un serveur broadcast est un serveur capable de dupliquer un message et

    de l'envoyer toutes les machines prsentes sur le mme rseau. Le scnario d'une attaque est

    le suivant :

    La machine attaquante A envoie un ping un serveur broadcast en falsifiant sa propre

    adresse IP par ladresse IP de B . Lorsque le serveur broadcast va dispatcher le ping sur

    tout le rseau, toutes les machines du rseau vont rpondre par un pong , que le serveur

    broadcast va rediriger vers la machine B . Ainsi lorsque la machine attaquante adresse le

    ping plusieurs serveurs broadcast situs sur des rseaux diffrents, l'ensemble des

    rponses de tous les ordinateurs des diffrents rseaux vont tre reroutes sur la machine

    B , ce qui provoque pour ce dernire un dbordement de mmoire .

    Figure 1 : la technique du smurf (ping,pong)

    De cette faon, l'essentiel du travail de l'attaquant consiste trouver une liste de tous les

    serveurs broadcast et d'arriver falsifier l'adresse de rponse afin de les diriger vers la

    machine cible.

    1.2 Le TCP/SYN Flooding

    Lors d'une connexion TCP, le client et le serveur changent des donnes et des accuss

    de rception pour tablir la connexion. On appelle ce mcanisme la poigne de main en trois

    temps. Lorsquun client essaye de se connecter via TCP, avant dtablir la connexion avec le

  • PFA

    11

    serveur, il y a entre les deux un change de messages. Le client commence par envoyer un

    message SYN (synchronisation) au serveur. Le serveur renvoie au client un accus de

    rception SYN-ACK. Le client envoie enfin un message ACK pour indiquer que la connexion

    est tablie. Ils peuvent alors schanger des donnes travers cette connexion TCP.

    La faille de scurit se situe entre le SYN-ACK du serveur et le ACK du client. A ce

    moment, il y a une demi connexion ouverte et le serveur alloue de la mmoire systme pour

    prparer la connexion en attendant la connexion complte. En prparant de nombreuses demi-

    connexion on peut trs vite saturer la mmoire du serveur (buffer overflow).

    1.3 Le Mail Bombing

    Le mail bombing consiste envoyer plusieurs milliers de messages identiques une

    bote aux lettres pour la faire saturer.

    2- Usurpation d'identit

    2.1 Spoofing IP

    Le spoofing IP est une technique permettant un hacker d'envoyer une machine des

    paquets semblant provenir d'une adresse IP autre que celle de la machine du hacker. Certains

    tendent assimiler l'utilisation d'un proxy (permettant de masquer d'une certaine faon

    l'adresse IP) avec du spoofing IP.

    Figure 2 : Spoofing IP (1)

    Comme l'indique le schma ci-dessus, la technique du spoofing peut permettre un

    pirate de faire passer des paquets sur un rseau sans que ceux-ci ne soient intercepts par le

    systme de filtrage de paquets. En effet, un FireWall fonctionne grce des rgles de

    filtrage indiquant les adresses IP autorises communiquer avec les machines internes. Ainsi,

    un paquet spoof avec l'adresse IP d'une machine interne semblera provenir du rseau interne

  • PFA

    12

    et sera transmis la machine cible, tandis qu'un paquet contenant une adresse IP externe sera

    automatiquement rejete par le FireWall .

    Cependant, l'attaquant n'a aucune information sur le droulement du lattaque car les

    rponses de la machine cible vont vers la machine spoofe du rseau,comme le montre la

    figure ci-dessous, on parle alors d'attaque l'aveugle.

    Figure 3 : Spoofing IP (2)

    Lorsque la machine cible va recevoir le paquet spoof, cette dernire va envoyer un

    accus de rception l'adresse IP de la machine spoofe, et la machine spoofe va rpondre

    avec un paquet TCP dont le drapeau RST (reset) est non nul, ce qui mettra fin la connexion.

    De plus, la machine spoofe prive le hacker de toute tentative de connexion, car elle envoie

    systmatiquement un drapeau RST la machine cible. Ainsi, le travail du hacker consiste

    alors invalider la machine spoofe en la rendant injoignable pendant toute la dure de

    l'attaque.

    Lorsque la machine spoofe est invalide, la machine cible attend un paquet contenant

    l'accus de rception et le bon numro de squence. Tout le travail du pirate consiste alors

    deviner le numro de squence renvoyer au serveur afin que la relation de confiance soit

    tablie. Pour cela, les pirates utilisent gnralement la source routing, c'est--dire qu'ils

    utilisent le champ option de l'en-tte IP(c= 1, classe =0, numro doption =7) afin d'indiquer

    une route de retour spcifique pour le paquet. Ainsi, grce au sniffer, le pirate peut lire le

    contenu des trames de retour.

    La figure ci-dessous montre bien lacheminement des paquets changs entre la

    machine attaquante et la machine cible.

  • PFA

    13

    Figure 4 : Spoofing IP (3)

    3- Injection de code

    On distingue diffrents types de virus :

    Les vers

    Les troyens (chevaux de Troie)

    Les bombes logiques

    3.1 Le Ver

    Un ver est un agent autonome capable de se propager l'intrieur de la mmoire d'un

    ordinateur passant d'un systme l'autre grce au rseau informatique. Son mode de

    propagation est cependant redoutable car le vers effectue une commande interne qui recherche

    d'autres serveurs relis Internet pour ensuite les infecter.

    Depuis, le terme vers a volu, et on l'accorde maintenant certains programmes dont le

    but est de dtruire certaine informations , tout en gardant un type de propagation bas sur

    l'utilisation d'un rseau informatique. Les nouveaux vers se connectent au systme

    d'exploitation en utilisant des trous de scurit. Les vers sont dsormais utiliss par des

    hackers malicieux pour attaquer un maximum de sites en peu de temps, sans suivi rel de

    l'attaque.

    3.2 Les Chevaux de Troie

  • PFA

    14

    On appelle "Cheval de Troie" un programme informatique effectuant des oprations

    malicieuses l'insu de l'utilisateur. Un cheval de Troie est donc un programme cach dans un

    autre qui excute des commandes sournoises. Le cheval de Troie est un programme nuisible

    plac dans un programme sain.

    Pire, un tel programme peut crer, de l'intrieur dun rseau, une brche volontaire dans

    la scurit pour autoriser des accs des parties protges du rseau des personnes se

    connectant de l'extrieur. Les principaux chevaux de Troie sont des programmes ouvrant des

    ports de la machine, c'est--dire permettant son concepteur de s'introduire sur une machine

    cible par le rseau en ouvrant une porte. C'est la raison pour laquelle on parle gnralement de

    backdoor (porte de derrire).

    3.3 La Bombe Logique

    Ce sont des programmes dont le dclenchement s'effectue un moment dtermin en

    exploitant la date du systme.

    4- Ecoute

    4.1 Les Scanners

    Un scanner est un programme qui permet de savoir quels sont les ports ouverts sur une

    machine donne. Les scanners servent pour les hackers savoir comment ils vont procder

    pour attaquer une machine.

    4.2 Les Sniffers

    Un sniffer est un logiciel qui permet de "voir" les informations qui transitent sur un

    rseau o il se trouve. Le sniffer peut ainsi servir dceler les failles de scurit, mais il peut

    aussi tre utilis de faon malveillante (pour intercepter les mots de passe du rseau par

    exemple.

    III- Les principaux types de vulnrabilits

    1. Les failles lies aux systmes et aux applications :

  • PFA

    15

    Ces failles peuvent tre de natures diverses : problmes de configuration, problmes au

    niveau du code du logiciel, problmes lis des mauvaises interprtations de commandes ou

    des mauvaises excutions de scripts.

    1.1 Les installations par dfaut

    Lors d'une installation, beaucoup de services peuvent tre installs par dfaut (un

    serveur Web, FTP ...). Ces services peuvent contenir les diffrents types de failles introduites

    auparavant. L'important est de bien contrler lors de l'installation, les services qui seront

    installs sur le systme. Pour tre sr de soi, il est aussi recommand de scanner la machine

    pour voir ce qui y tourne. Mme si certains logiciels ne comportent pas de failles connues, ils

    peuvent quand mme donner des informations aux pirates.

    1.2 Les mauvaises configurations

    Lorsqu'une application est mal paramtre, elle peut laisser l'accs libre certains

    fichiers sensibles (fichiers de mots de passe). Donc il est important de bien lire le manuel de

    configuration avant d'activer un service.

    2. Les failles lies aux protocoles :

    Au niveau des protocoles eux mme rside des failles prsentant des menaces pour la

    scurit voici quelques exemples :

    2.1 Le protocole DHCP

    Le protocole DHCP est utilis pour dlivrer dynamiquement une adresse IP unique pour

    chaque machine le demandant sur le rseau interne. Si un client interne veut obtenir une

    adresse IP pour bnficier des services rseau, il envoie un message DHCP tout le rseau

    (broadcast) pour trouver le serveur DHCP. Le serveur DHCP lui rpondra en envoyant tous

    les paramtres de configuration rseau.

    Un serveur DHCP possde un stock d'adresses IP qu'il les distribue aux diffrents

    clients. Ce stock est bien sr limit. Si le service est mal administr, un pirate gnre un grand

    nombre de requtes DHCP semblant venir d'un grand nombre de clients diffrents, le serveur

    puisera vite son stock d'adresses. Les vrais clients ne pourront donc plus obtenir d'adresse

    IP et par consquence le trafic rseau sera paralys.

  • PFA

    16

    2.2 Le protocole DNS

    Le protocole DNS assure la correspondance entre le nom d'une machine et son adresse

    IP. Un serveur DNS est en coute par dfaut sur le UDP port 53. Si un client A veuille

    tablir une connexion avec une machine B alors que la machine A connat le nom de

    la machine B mais pas son adresse IP. Cette dernire va donc envoyer une requte au

    serveur DNS du rseau de B pour connatre son adresse IP, cette requte sera identifie

    par un numro d'identification (ID). Le serveur rpond cette requte en fournissant l'adresse

    IP de B et en utilisant le mme numro d'ID. Si un pirate puisse envoyer une fausse

    rponse une requte DNS avant le serveur DNS, il peut rediriger vers lui le trafic

    destination d'une machine qu'il l'intresse

    2.3 Le protocole FTP

    Le protocole FTP (File Transfert Protocol), en coute par dfaut sur les ports 21, est le

    service utilis pour assurer le transfert de fichiers. Il y a deux types de serveurs FTP : les

    serveurs FTP avec authentification par mots de passe et les serveurs anonymes. Pour les

    premiers, le client dsirant se connecter devra fournir un login accompagn d'un mot de passe

    pour authentification. Dans le cas du serveur FTP anonyme, tout le monde peut s'y connecter

    librement. Le premier dfaut du protocole FTP est de ne pas encrypter les mots de passe lors

    de leur transit sur le rseau. Les mots de passe associs aux logins circulent en clair sur le

    rseau qui peuvent tre rcupr avec un sniffer.

    Conclusion

    Dans ce chapitre on a numr certains types dattaques informatiques et quelques failles

    lies aux systmes dexploitations et aux protocoles. En fait ces attaques visent dtruire ou

    espionner les donns confidentielles, ce qui a pouss les entreprise dtablir une politique de

    scurit pour prserver leurs systme dinformation.

    Dans le chapitre suivant, nous allons entamer ltape prliminaire de la scurit : laudit

  • PFA

    17

    Chapitre 2 : Audit et configuration des serveurs Introduction

    Aprs avoir prsent, dans le premier chapitre, les services quune politique de scurit

    doit garantir pour faire face aux diffrentes menaces externes et internes, dans ce chapitre,

    nous procderons laudit de la machine Linux, pour voir quels sont les services qu y tourne.

    Par la suite on va laborer notre politique de scurit.

    I- prsentation gnrale de laudit de scurit

    Laudit de scurit permet de vrifier scrupuleusement, ladquation de tous les points

    sensibles de la ralisation de la stratgie de scurit. Les systmes dexploitations, notamment

    Linux disposent gnralement de systme daudit intgres, les diffrents vnements sont

    enregistrs dans un journal daudit qui devra tre analys frquemment, voire en permanence.

    Laudit doit galement permettre dobtenir : les informations relatives chaque

    application (le lancement ou larrt des diffrents modules, les variables dentre ou de sortie

    et les diffrentes commandes excutes), les informations sur laccs au systme (qui accde,

    quand et comment), Les informations sur les violations ventuelles de la scurit (tentative de

    commande non autorise). Ce ci permet dlaborer par la suit la stratgie de scurit.

    Dans notre projet, nous avons utilis daudit pour voir les ports ouverts sur les systmes

    dexploitations Windows et Linux. Aprs quoi nous laborons notre politique de scurit.

    La stratgie adopte pour scuriser un rseau avec une machine linux est comme suit :

  • PFA

    18

    Figure 5 : La stratgie de scurit

    Explication : nous allons dabord scanner la machine linux en utilisant Nmap et

    Nessus , voir les ports ouverts et les diffrents serveurs associs. Aprs quoi, nous posons

    la question est ce que nous avons besoin de ce serveur qui tourne si la rponse est

    ngative, nous allons fermer se port si non nous allons configurer ce serveur. Ensuite nous

    passons la configuration du firewall pour filtrer le trafic. Et en dernire tape nous installons

    un IDS pour dtecter les intrusions.

    II- Laudit

    Scanner la machine Linux

    Voir les ports ouverts

    Configuration des serveurs

    Configuration du firewall

    Installation de lIDS

    Fermeture des ports

    NonOui

    Rseau scuris

  • PFA

    19

    1. Nmap

    Cette commande et trs utilis par les pirate pour scanner les ports d'une machine cible,

    mais en fait, quel que soit le rle que lon joue, attaquant ou dfenseur, on utilise des outils

    similaires. Car toute personne qui voudra protger son rseau aura le tester lui-mme.

    Nmap est un puissant outil qui permet de scanner les ports, il a pour but de dterminer

    lesquels sont ouverts ou ferms. On retrouve Nmap prsent dans la plupart des distributions

    actuelles. On trouvera Nmap aussi sur le site www.insecure.org/nmap.

    Linstallation peut se faire de deux manires cest dire soit en utilisant les rpm avec

    la commande :

    Soit

    Nmap est un outil trs puissant qui possde une grande quantit doptions qui sont :

    sT : scanning des ports TCP ouverts.

    sS : scanning des ports TCP, on envoit un message SYN pour dire quon va ouvrir une connexion TCP puis on attend la rponse, aprs rponse on sait que le port est

    ouvert, lavantage de cette option est que laction nest pas logu par la cible.

    sP : quivalent ping, pour voir si la cible est "alive".

    sU : scanning des ports UDP ouverts.

    O : permet de connatre sur quel OS tourne la cible.

    p syntaxe pour avoir un ensemble de ports scanner: par dfaut Nmap scan uniquement de 1 1024 plus les ports se trouvant

    dans/etc/services.

    e : spcifie une interface particulire pour envoyer les paquets (eth0, ppp0, etc.).

    tar xvfz nmapxxx.tar.gz ./configure make make install

    rpm -ivh nmapxxx.rpm

  • PFA

    20

    Nmap a une fonctionnalit intressante, elle peut dterminer quel est le systme

    dexploitation qui tourne sur la machine cible. Cette fonctionnalit est trs importante pour les

    pirates car chaque systme dexploitation possde ces vulnrabilits connues ou inconnues.

    Ainsi, en sachant quel systme tourne sur une machine, lintrus pourra lancer des attaques

    spcifiques, afin de prendre rapidement la main dessus. Donc, moins on donne dinformation

    lintrus, mieux on se protge.

    Voyons par exemple ce que donne la commande Nmap lance sur la machine linux :

    Nmap nous a indiqu quel est probablement le type de serveur (exemple : ssh) qui se trouve

    derrire chaque port (exemple: 22/tcp).

    Aprs Nmap, nous allons utiliser Nessus pour aussi scanner les ports.

    2. Nessus Le tableau ci-dessous prsente les diffrents outils de test :

    [root@anis ~]# nmap -O -sT -sU 192.168.0.1 Starting nmap 3.70 ( http://www.insecure.org/nmap/ ) at 2005-05-14 23:31 CET Interesting ports on anis (192.168.0.1): (The 3127 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 22/tcp open ssh 111/tcp open rpcbind 111/udp open|filtered rpcbind 137/udp open|filtered netbios-ns 138/udp open|filtered netbios-dgm 139/tcp open netbios-ssn 445/tcp open microsoft-ds 32768/udp open|filtered omad 32771/tcp open sometimes-rpc5 Device type: general purpose Running: Linux 2.4.X|2.5.X|2.6.X OS details: Linux 2.5.25 - 2.6.3 or Gentoo 1.2 Linux 2.4.19 rc1-rc7) Uptime 0.047 days (since Sat May 14 22:24:25 2005)

  • PFA

    21

    Nessus Sara Saint IS

    Cible Une machine dans un rseau

    Rseau en totalit Rseau en totalit une machine dans le

    rseau

    Nombre de vulnrabilits testes

    850 150 150 50%de

    vulnrabilits

    Plateforme Linux Linux Linux NT

    Le port des attaques

    Libre Libre Libre Verrouill

    Mise jour de vulnrabilits

    Simple ajout de

    module

    Changement de

    version

    Changement de

    version

    Simple ajout de

    module

    Slection des vulnrabilits

    Simple clic Difficilement

    exploitable

    Difficilement

    exploitable

    Simple clic

    Nous estimons daprs ce tableau que Nessus est loutil appropri pour notre

    application. En effet, Nessus est un outil de scurit permettant de scanner une ou plusieurs

    machines. Il permet aussi de tester diffrentes attaques pour savoir si une ou plusieurs

    machines sont vulnrables.

    Nessus permet de tester jusqu 850 vulnrabilits. Il fonctionne grce un systme

    client/serveur : le serveur fonctionne sur une plateforme Unix, Linux alors que le client peut

    fonctionner mme sur Windows. Nessus peut supporter plusieurs utilisateurs dont on spcifie

    leurs comptes et les restrictions y associes.

    2.1. Installation

    Nous pouvons procder linstallation de Nessus suivant diffrentes mthodes ; nous

    prsenterons dans ce qui suit les deux mthodes les plus utilises, certes, les plus scurises.

    1re mthode : Nous devons commencer par tlcharger les fichiers sources suivants :

  • PFA

    22

    nessus-libraries-2.0.4.tar.gz

    libnasl-2.0.4.tar.gz

    nessus-core-2.0.4.tar.gz

    nessus-plugins-2.0.4.tar.gz

    Ces fichiers sont tlchargeables partir du cite officiel : www.nessus.org . Nous devons

    ensuite dcompresser ces fichiers et les installer une une.

    Exemple :

    2me mthode :

    Cette mthode est certes plus simple mais elle ncessite que les fichiers cits

    prcdemment soient sous formes de paquetages rpm . Il suffit alors de taper une seule

    commande pour chaque paquetage:

    Suite l'installation du client et du serveur, on doit crer le certificat pour Nessus. La

    commande est la suivante :

    2.2. Utilisation et configuration

    Nessus fonctionne en client/serveur. Le serveur s'appelle nessusd, et le client nessus.

    2.2.1 Configuration et lancement du serveur

    # tar -xzvf nessus-libraries-2.0.4.tar.gz # cd nessus-libraries-2.0.4.tar.gz #. /configure # make # make install

    # rpm ivh mon-du-paquetage.rpm

    # nessus-mkcert

  • PFA

    23

    Avant de lancer le dmon nessusd, il faut rajouter, au moins, un utilisateur et son mot de

    passe

    # nessus-adduser

    Figure 6 : Nessus adduser

    Par dfaut, le fichier de configuration de ce serveur est nessusd.conf. Il contient des options dfinit par dfaut lors de linstallation.

    2.2.2 Configuration et lancement du client

    Nessus propose un client graphique qu'on peut le lancer par la commande :

    # nessus

  • PFA

    24

    Figure 7 : Nessus setup

    Daprs cette figure nous distinguons 8 onglets (on va sintresser seulement les cinq

    premiers onglets) :

    Le premier est nessusd host . Cette fentre permet de se connecter sur l'hte nessusd en cliquant sur le bouton Log in .Une fois la connexion est tablie,

    le serveur envoie au client la liste des plugins

    Le deuxime onglet concerne les plugins. On y slectionne les plugins utiliser pendant le scan. En cliquant sur un plugin , la description du contenu apparat.

    Le troisime onglet dfinit les prfrences des plugins. Lutilisateur peut choisir de scanner les ports UDP ou TCP ainsi la technique de scan des ports : connect ou

    syn scan .

    Le quatrime permet de dfinir les options de scan, les ports scanner et les ports scanner.

    Le cinquime onglet indique Nessus la cible scanner. Dans le champ target , on peut crire le nom d'un ou plusieurs htes spars par des virgules ou une ou

    plusieurs adresses IP,

  • PFA

    25

    Quand tout est au point, on clique sur start the scan pour lancer le scan. Il apparat alors la

    fentre suivante :

    Figure 8 : Droulement du scan.

    Quand le scan finit, une fentre rcapitulative s'affiche. En cliquant sur un hte, nous

    obtenons les rsultats de scan. Nous pouvons galement enregistrer se rapport sous un format

    choisi (HTML, ASCII), en cliquant simplement sur Save report et le format souhait.

    Figure 9 : Le rapport de Nessus Dans ce rapport tabli par Nessus, nous distinguons trois types dalertes qui apparaissent la fin du scan.

    Alerte de scurit : Cette alerte traduit une menace ventuelle qui peut survenir un port prcis. Le risque est dcrit brivement pour nous informer sur les possibilits

    de son origine et sur limpact quil peut avoir sur notre machine. Son degr est

  • PFA

    26

    affich et peut prendre lune des alternatives suivantes : High(haut) ,medium

    (moyen) ou low (bas) .

    Note de scurit : Cette note sert informer sur les ports auxquels Nessus est lcoute. Elle concerne diffrents ports connus et non connus de notre machine

    que ce soit pour un protocole UDP ou TCP.

    Faille de scurit : Ou encore security hole , elle prvient de la prsence dune faille au sein du systme de scurit de notre hote .il est indiqu cependant , les

    failles face auxquelles la machine concern peut tre vulnrable. Comme pour

    lalerte de scurit, le degr dinscurit et la solution propose pour surmonter le

    risque sont affichs.

    2.3 Audit du rseau

    Nessus permet aussi L'audit d'un rseau entier afin de dterminer les failles et les

    anomalies existantes.

    2.3.1 Exemple de test :

    Vu que les machines connecter au rseau de l' IsetCom sont des machines Windows Xp ou Windows 2000 Server, le teste sera effectu sur deux machines de la salle X25.

    Au laboratoire X25, trois machines et un hub ont t mis notre disposition : deux

    machines Windows (XP, 2000 Server), processeur Pentium III, 128 Mo de RAM et une

    machine linux.

    Pour effectuer le test, nous avons procd ainsi :

    Sur l'une des trois machines, on a installer Linux Fedora core 3. Ensuite nous avons

    install Nessus client et serveur (version Linux). Puis suite la configuration du client et du

    serveur Nessus, l'activation des cartes rseau et la dfinition des adresses IP, nous avons

    lanc le scan.

    Voici le rsultat de scan de la machine Windows 2000 Server qui a une adresse IP

    192.168.1.2

  • PFA

    27

    Figure 10 : rapport de Nessus (Windows 2000 Server)

    Nous avons aussi lanc le scan sur une machine Windows XP SP2 pour voir quelles

    sont les failles existantes sur ce systme dexploitation.

    Figure 11 : rapport de Nessus (Windows XP SP2) Voici le rsultat de scan de la machine Linux

  • PFA

    28

    Figure 12 : rapport de Nessus (Linux Fedora core 3) Dans ces rapports on distingue trois tableaux :

    Les dtails de scan : qui sont sous forme de statistique, c'est--dire le nombre de hosts quon a scann, le nombre de failles de scurit et le nombre dalertes de

    scurit

    La liste des adresses IP des hosts scanns La liste des ports qui sont ouverts et les services associs

    En plus de ces informations, Nessus propose des solutions pour corriger les diffrentes

    failles existantes, en gnral les solutions sont : filtrage du trafic mise jour du service fermeture des ports

    III- Solutions proposes Aprs avoir connatre en dtail quels sont les ports ouverts et quels sont les serveurs qui y

    tournent derrire on va maintenant laborer notre politique de scurit qui consiste dabord

    fermer les ports des serveurs quon a pas besoin et configurer les serveurs utiles.

    1. Fermeture des ports

  • PFA

    29

    Aprs avoir lanc un audit sur notre machine Linux en utilisant " Nmap" et " Nessus".

    Nous avons pu dterminer quels sont les serveurs qui tournent sur notre machine. Il faut

    maintenant poser la question Est-ce que nous avons besoin dun tel serveur ou non ? .

    Parfois, la rponse peut tre ngative, et auquel cas laction doit tre immdiate : donc nous

    devons fermer au plus tt ce serveur car il ny a rien de plus dangereux que de laisser un

    serveur tourner sans lutiliser. On fini peut tre par loublier, et nous ne ferons pas attention

    le mettre jour pour corriger ses dfauts. Auquel cas, un intrus peut tomber sur ce serveur et

    bnficier dun trou de scurit pour pntrer sur notre machine.

    Exemple:

    Nous allons traiter un exemple de fermeture de port :

    Nous allons chercher supprimer le serveur Samba / NetBIOS qui utilise les deux

    protocole de transport TCP et UDP, dont les ports sont : 139, 138,137 et 445 de notre machine

    linux. Samba est un systme le partage de fichiers en rseau avec les machines Windows.

    Donc nous allons lancer nmap avec loption p (port) pour voir ltat de ces ports

    Daprs

    La commande Nmap a montr que les ports 137/udp, 138/udp , 139/tcp et 445/tcp sont

    ouvertes.

    [root@anis init.d]# nmap -sT -sU anis -p138,139,137,445 Starting nmap 3.70 ( http://www.insecure.org/nmap/ ) at 2005-05-14 23:42 CET Interesting ports on anis (192.168.0.1): PORT STATE SERVICE 137/tcp closed netbios-ns 137/udp open|filtered netbios-ns 138/tcp closed netbios-dgm 138/udp open|filtered netbios-dgm 139/tcp open netbios-ssn 139/udp closed netbios-ssn 445/tcp open microsoft-ds 445/udp closed microsoft-ds

  • PFA

    30

    Afin de supprimer ce serveur, il nous faut dabord savoir quels sont les programmes qui

    tournent derrire ces ports. Pour cela nous allons utiliser la commande Netstat qui nous

    indique l'tat de connexion en cours

    Seuls les lignes contenant "netbbios" sont affiches. Nous voyons que les programmes

    qui tournent sont "smbd" et "nmbd".

    Maintenant, nous allons chercher le dmon qui a lanc ces serveurs. Sous Linux, tous les

    programmes qui lancent des programmes sont situs dans /etc/init.d/ Nous remarquons donc quon a un fichier appel /etc/init.d/smb qui pourrait bien

    correspondre ce que nous voulions.

    Ensuite nous allons voire le status du dmon Samba

    Nous remarquons que les deux programmes smbd et nmbd sont en cours dexcution,

    il faut les arrter :

    [root@anis ~]# netstat -taupe Connexions Internet actives (serveurs et tablies) Proto Local Address State PID/Program name tcp *:microsoft-ds LISTEN 3685/smbd tcp *:netbios-ssn LISTEN 3685/smbd udp anis:netbios-dgm 3689/nmbd udp anis:netbios-ns 3689/nmbd udp *:netbios-dgm 3689/nmbd udp *:netbios-ns 3689/nmbd

    [root@anis ]# ls -la /etc/init.d/ -rwxr-xr-x 1 root root 2020 oct 19 2004 smb

    [root@anis ~]# /etc/init.d/smb status smbd (pid 3692 3685) en cours d'excution... nmbd (pid 3689) en cours d'excution...

    [root@anis ~]# /etc/init.d/smb stop Fermeture des services SMB : [ OK ] Fermeture des services NMB : [ OK ]

  • PFA

    31

    Et pour vrifier :

    Samba est arrt, comme le confirme la commande. Mais ce serveur nest arrt que

    tant que notre machine fonctionne. Maintenant, nous voulons que ce serveur ne soit plus du

    tout lanc aux prochains dmarrages.

    En fait, sous Linux, pour dmarrer automatiquement un serveur il suffit de crer un lien

    symbolique. Suivant que la machine dmarre en mode texte ou en mode graphique, il faut

    crer un lien symbolique dans respectivement les rpertoires /etc/rc.d/rc3.d/" ou "/etc/rc.d/rc5.d/" vers le script du serveur qui se trouve dans le /etc/init.d .

    Concrtement, voila comment cela se passe :

    Note : -> .. : indique le symbole du lien symbolique

    Dans ces deux rpertoires, nous voyons donc deux liens K35smb ->../init.d/smb qui lancent le serveur Samba lors du dmarrage de la machine. Nous allons donc les

    supprimer, et ainsi Samba ne sera plus jamais lanc :

    [root@anis ~]# /etc/init.d/smb status smbd est arrt nmbd est arrt

    [root@anis ~]# ls -la /etc/rc.d/rc3.d/ /etc/rc.d/rc5.d/ /etc/rc.d/rc3.d/: lrwxrwxrwx 13 mai 14 16:30 K35smb -> ../init.d/smb /etc/rc.d/rc5.d/: lrwxrwxrwx 13 mai 14 16:30 K35smb -> ../init.d/smb

    [root@anis ~]# rm /etc/rc.d/rc3.d/K35smb rm: dtruire lien symbolique `/etc/rc.d/rc3.d/K35smb'? rm: dtruire lien symbolique `/etc/rc.d/rc5.d/K35smb'?

  • PFA

    32

    Le programme de partage de fichiers avec les autres machines Windows de notre rseau

    est arrt. Mais le problme qui se pose, lorsque nous voulons que les autres machines du

    rseau puissent rcuprer de notre machine des documentations par exemple. Dans ce cas on a

    recours la configuration de ce serveur.

    En rsum : autant arrter des serveurs qui ne servent pas est primordial, autant arrter des

    serveurs qui sont utiliss est problmatique. Lidal serait de dire au serveur "ne rponds qua

    tel machines, et ne rpond pas aux autres"

    2 Configuration des serveurs 2.1 SSH SSH (client SSH) est un programme qui permet de se connecter sur une machine distante, ou

    dexcuter des commandes sur une machine distante. Il est suppos remplacer rlogin et

    rsh , et fournit des transmissions scurises et cryptes entre deux machines qui ne sont pas

    sres, et ce travers un rseau non scuris.

    Lors du scan de la machine Linux, nous avons trouv que le port 22/tcp correspond au

    serveur SSH est ouvert. Nous allons pas fermer se port car nous avons besoin que une

    machine distante puisse se connecter sur notre machine pour par exemple configurer le

    firewall ou excuter des commande sur notre machine Linux.

    La figure ci-dessous prsente le rsultat de scan du port 22/tcp.

  • PFA

    33

    Figure 13 : Rsultat de scan du port 22

    A partir du rsultat de scan on voit que le port 22/tcp qui correspond au service SSH est

    ouvert et la solution propose par Nessus est la suivante :

    Si vous utilisez OpenSSH, modifiez loption 'Protocol' '2' Si vous utilisez SSH.coms, modifiez loption 'Ssh1Compatibility' 'no'

    En plus de a Nessus nous a facilit la tche en nous donnant la version de SSH, donc on va

    juste modifier les options.

    Voici le fichier sshd-config aprs configuration

    Et si on veut interdire la connexion la session root on doit crire le script suivant

    Port 22 Protocol 2 ListenAddress 192.168.1.0/24 ListenAddress ::

    PermitRootLogin no

  • PFA

    34

    2.2 Samba / NetBIOS

    En fait le serveur samba a son fichier de Configuration /etc/samba/smb.conf Dans ce cas nous allons configurer ce serveur pour quil rpond seulement au utilisateur du

    rseau 192.168.1.0 ou quelque utilisateurs de ce rseau via linterface 192.168.1.1et avec mot

    de passe pour chaque utilisateur.

    Les points principaux configurer sont :

    Smbpasswd : fichier qui contient les noms et mots de passe des personnes autorises utiliser

    samba.

    Pour ajouter un nouvel utilisateur on lance la commande smbpasswd a user

    Paramtres globaux : (extrait du fichier smb.conf ):

    Les volumes partager

    [root@anis ~]# smbpasswd -a invite New SMB password: Retype new SMB password: startsmbfilepwent_internal: file /etc/samba/smbpasswd did not exist. File successfully created. Added user invite.

    # Global parameters [global] workgroup = nom du groupe encrypt passwords = Yes smb passwd file = /etc/samba/smbpasswd log file = /var/log/samba-log.%m lock share modes = yes hosts allow = 192.168.1.0/255.255.255.0 # interfaces = 192.168.1.1 hosts deny =all

    [myshare] comment = invite's stuff path = /usr/somewhere/shared valid users = invite share modes = yes

  • PFA

    35

    2.3 Xinetd

    Sous linux, il existe un serveur assez particulier appel le super-serveur qui est

    xinted . Ce serveur dmarre les programmes fournissant des services Internet (ftp, telnet,

    rlogin ). Au lieu de dmarrer ces services au moment de l'initialisation du systme, et de les

    laisser inactifs jusqu' ce qu'il y ait une demande de connexion, on ne dmarre que xinetd

    et celui ci coute sur tous les ports ncessaires aux services lists dans ses fichiers de

    configuration. Lorsqu'une requte arrive, xinetd dmarre le service correspondant et

    continue couter pour prendre en charge de nouvelles demandes de connexions, et de lancer

    de nouveaux processus. Lobjectif de ce super-serveur tait de prserver les ressources

    systme en vitant de crer de nombreux processus dont la plupart ne seront actifs que trs

    peu de temps et de les protger. Nous pouvons galement ne laisser laccs un serveur que

    depuis une certaine adresse IP, ou une certaine interface rseau.

    Voici le fichier de configuration de xinetd aprs modifications :

    2.4 Serveur FTP

    Voici le fichier de con figuration du serveur FTP aprs modification

    defaults { log_type = SYSLOG authpriv log_on_success = HOST PID # loger @ du HOST et son PID log_on_failure = HOST # cps = 25 30 no_access = # tous les accs sont interdit.}

    # Service FTP (rseau local) service ftp {socket_type = stream server = /usr/sbin/proftpd flags = REUSE

  • PFA

    36

    2.5 Serveur Telnet

    Voici le fichier de con figuration du serveur FTP aprs modification

    Voyons ici la dmarche adopte :

    La premire protection rside dans le script no_access c'est--dire personne na accs aux serveurs protgs par xinetd .

    La seconde protection rside dans le script bind = eth0 c'est--dire seul les requtes arrivant sur eth0 sont autorises.

    service telnet { flags = REUSE NAMEINARGS socket_type = stream protocol = tcp wait = no user = root server = /usr/sbin/tcpd server_args = in.telnetd only_from = 192.168.1.0 disable = no

  • PFA

    37

    La troisime protection rside dans le script only_from = 192.168.1.0/24 le client doit avoir un adresse apparition au rseau 192.168.1.0

    Et pour vrifier la configuration du serveur telnet , nous avons fait le test suivant :

    Nous avons autoris ladresse 192.168.1.1 de faire telnet sur la machine linux le rsultat

    affich aprs test est la suivante

    Puis nous avons interdit laccs pour cette mme adresse et rsultat du test est la

    suivante :

    A la fin de paramtrage de chaque serveur, nous devons redmarrer le rseau pour que le

    systme puisse tient en compte de ces changements, donc nous allons taper tout simplement

    /etc/rc.d/init.d/network restart .

    Cette mthode de scurit (diter les fichiers de configurations) est trs intressante au

    niveau de la scurit de la machine contre les intrusions mais il faut la renforcer par dautres

    outils comme le firewall et le systme de dtection dintrusion.

    Conclusion

    [root@anis ~]# telnet 192.168.1.1 Trying 192.168.1.1... Connected to anis (192.168.1.1). Escape character is '^]'. Fedora Core release 3 (Heidelberg) Kernel 2.6.9-1.667 on an i686 login:

    [root@anis ~]# telnet 192.168.1.1 Trying 192.168.1.1... Connected to anis (192.168.1.1). Escape character is '^]'. Connection closed by foreign host.

  • PFA

    38

    Il est noter, que laudit du rseau est une tape indispensable pour bien prvoir une

    solution de scurit. Ceci ntait pas possible sans lutilisation des scanners (Nessus, Nmap),

    qui ont permit de dgager les diffrentes vulnrabilits et de proposer mme des solutions.

    Dans le chapitre suivant nous allons laborer une solution qui consiste mettre en place

    une passerelle linux o un firewall bien configur va filtrer le trafic et un IDS va dtecter les

    intrusions.

  • PFA

    39

    Chapitre 3 : Configuration du firewall et mise en place dun systme de dtection dintrusion (IDS) :

    Introduction

    Un pare-feu est un systme physique (matriel) ou logique (logiciel) servant d'interface

    entre un ou plusieurs rseaux afin de contrler et ventuellement bloquer la circulation des

    paquets de donnes. Il s'agit donc d'une machine qui va soccuper de filtrer le trafic

    comportant au minimum deux interfaces rseau :

    une interface pour le rseau protger (rseau interne).

    une interface pour le rseau externe.

    En plus le pare-feu nous allons installer un IDS Intrusion Detection System .Ce dtecteur

    d'intrusions permet de surveiller un rseau ou un hte particulier, afin de dtecter toute

    tentative dintrusion

    Dans ce chapitre nous allons prsenter larchitecture du rseau scuriser. Puis nous allons

    configurer le firewall Netfilter . Enfin nous installons un IDS Snort capable d'effectuer

    l'analyse du trafic en temps rel ou diffr en provenance des diffrents systmes.

    I- architecture du rseau

    Larchitecture du rseau scuriser est constitue essentiellement dune passerelle Linux.

    Cette passerelle va filtrer le trafic entrant et sortant grce au firewall Netfilter. En se qui

    concerne les caractristiques de cette passerelle, Linux nexige pas une mmoire importante

    grce au swap. Mais il faut avoir seulement deux cartes rseaux, une pour le rseau interne et

    lautre pur le rseau externe. Sur cette passerelle nous allons installer les outils de scurit

    savoir :

    Le firewall Netfilter Les scanners Nessus et Nmap LIDS Snort

    192.168.1.3 192.168.1.4 .

  • PFA

    40

    Figure 14 : La position du passerelle linux dans le rseau Aprs avoir eu une ide sur larchitecture passant maintenant la configuration

    II- Configuration du firewall Avant de passer la configuration nous allons prsenter larchitecture et le fonctionnement du firewall Netfilter sous Linux.

    1. Netfilter

    Le firewall sous Linux appel Netfilter permet :

    D'effectuer des filtrages de paquets, principalement pour assurer des fonctions de Firewall. On pourra par exemple interdire tous les paquets venant de

    l'Internet et s'adressant au port 80 (HTTP) de passer.

    Hub Passerelle linux Eth0 192.168.1.1 Eth1 192.168.1.2

    Eth0 Eth1

  • PFA

    41

    D'effectuer des oprations de NAT (Network Address Translation) Ces fonctions sont particulirement utiles lorsque l'on veut faire communiquer tout

    ou partie d'un rseau priv, mont avec des adresses IP prives (192.168.x.x

    par exemple) avec l'Internet.

    D'effectuer des oprations de marquage des paquets, pour leur appliquer un traitement spcial.

    1.1. Les tables :

    Une table permet de dfinir un comportement prcis de Netfilter. Une table est un

    ensemble de chanes appel aussi hook qui sont : PREROUTING, FORWARD,

    POSTROUTING, INPUT et OUTPUT. Elles mmes composes des rgles. Il existe trois

    types de tables prdfinies : FILTER, NAT et MANGLE. D'autres peuvent tre rajoutes.

    Dans le firewall Netfilter, lacheminement des paquets se fait comme suit :

    Les paquets qui entrent par nimporte quelle interface vont tre rout vers les processus

    locaux ou bien forwarder vers dautre interface rseau. Lorsque un paquet va passer par

    une chane toutes les rgles de cette chane vont tre appliqu sur ce paquet. Si ce dernier va

    satisfaire une contrainte dune rgle une dcision va tre pris par le firewall. Si non le paquet

    passe normalement sur le rseau

    (Entr) (Sortie)

    Figure 15 ; les cinq chanes de Netfilter

    PREROUTING

    INPUT OUTPUT

    POSTROUTING FORWARD

  • PFA

    42

    1.1.1 La table FILTER

    Comme son nom l'indique, cette table sert filtrer les paquets rseaux. Elle permet de

    trier les paquets qui passent travers le rseau, supprimer ceux qui ne nous intressent pas, ou

    ceux qui sont dangereux. Cette table utilise 3 chanes savoir :

    INPUT : cette chane contrle les paquets destination des applications. OUTPUT : cette chane analyse les paquets qui sortent des applications. FORWARD : cette chane filtre les paquets qui passent d'une interface rseau

    l'autre. Il est noter que les paquets de ce type ne passent jamais par les

    chanes INPUT et OUTPUT.

    Cette table utilise quatre cibles : ACCEPT, REJECT, DENY, DROP.

    2.1.2 La table NAT :

    La table NAT est utilise pour la translation dadresse et de port. Elle a deux types de

    chanes : PREROUTING et POSTROUTING et trois cibles possibles MASQUERADE,

    DNAT et SNAT.

    PREROUTING : Les paquets vont tre modifis l'entre de la pile rseaux, et ce, qu'ils soient destination des processus locaux ou d'une autre interface.

    OUTPUT : Les paquets sortant des processus locaux sont modifis. POSTROUTING : les paquets qui sont prs tre envoys aux interfaces rseaux

    sont modifis.

    1.1.3 La table MANGLE

    La table MANGLE est utilise pour la modification des paquets. Dans les premiers

    kernels de la srie 2.4, la table Mangle n'utilisait que 2 chanes (PREROUTING et OUTPUT).

    Mais depuis le kernel 2.4.18 elle utilise toutes les chanes de Netfilter :

    PREROUTING: Les paquets vont tre marqus en entre de la couche rseau, en fonction de certains critres, de type de service (grce aux numros de ports source

  • PFA

    43

    et/ou de destination), d'adresses IP de source et/ou de destination, de taille des

    paquets, etc.

    INPUT : Les paquets sont marqus juste avant d'tre envoys aux processus locaux.

    FORWARD : Les paquets passant d'une interface rseau l'autre sont marqus. OUTPUT : dans cette chane les paquets gnrs par les applications locales vont

    tre marqus.

    POSTROUTING : Les paquets prts tre envoys sur le rseau sont marqus.

    1.2 La commande iptables

    Iptables est une solution complte de firewall (noyau 2.4) remplaant ipchains

    (noyau 2.2) tournant sous le systme GNU/Linux. Il est fiable et dispose de trs nombreuses

    options qui permettent de faire du filtrage trs fin.

    1.2.1 Les rgles : Les rgles sont une srie de critres auquel doivent ou non rpondre les paquets. Si le

    paquet rseau ressemble l'un ou l'autre des critres, alors la rgle est applique. Les

    diffrentes rgles d'une chane sont appliques les unes la suite des autres. Il existe de

    nombreux paramtres dont l'association permet de spcifier des types de paquets sur lesquels

    une dcision de filtrage doit tre prise.

    Adresses IP source et destination : -s et d : Ces paramtres prennent en arguments l'adresse IP ou le nom d'un hte ou l'adresse IP d'un rseau.

    Inversion ! : La plupart des arguments de spcification de filtrage peuvent tre inverss l'aide du signe !

    Protocole : -p : Les protocoles tcp, udp et icmp sont reconnus. Interface : -i et o : Il est possible de spcifier l'interface d'entre dans une rgle de

    la chane INPUT, l'interface de sortie dans une rgle de la chane OUTPUT, et les

    deux avec la chane FORWARD.

    Fragments: -f : Certains paquets sont dcomposs en fragments avant d'tre transmis. Le premier fragment contient toutes les enttes obligatoires, mais pas les

    suivants.

    Extensions :

  • PFA

    44

    Outre les paramtres de base, il est possible d'utiliser des extensions offrant des

    fonctionnalits de spcification supplmentaires.

    Les protocoles :

    Les extensions pour les protocoles peuvent tre utilises aprs la spcification du

    protocole (-p) :

    Pour les protocoles TCP et UDP nous pouvons utilis les options suivantes

    --tcp-flags : Ce paramtre permet d'examiner les drapeaux de l'entte tcp.

    Il prend deux arguments:

    --sport, ou --source-port : Ce paramtre permet de spcifier le port source du paquet. ou un bloc de ports.

    --dport ou --destination-port : port de destination. Etat de la connexion :

    Ce module est la vraie nouveaut de iptables . Il est appel avec -m state . Il

    permet de suivre les connexions.

    Les arguments du paramtre d'tat sont les suivants :

    NEW : indique une nouvelle connexion. ESTABLISHED: une connexion tablie. RELATED : une connexion relative une autre. INVALID : correspond aux paquets ne pouvant tre identifis.

    1.2.2 Configuration

    La premire tape faire est de vrifier que le noyau support a t compil avec

    l'option Netfilter, il faut vrifier que ip_conntrack & ip_tables apparaissent bien avec la

    commande dmesg .

  • PFA

    45

    Dmesg | grep ip_ conntrack

    dmesg | grep ip_tables Sinon: il faut charger ces diffrents modules

    # modprobe ip_tables

    # modprobe ip_nat_ftp

    # modprobe ip_nat_irc

    # modprobe iptable_filter

    # modprobe iptable_mangle

    # modprobe iptable_nat

    Vrification de lexistence de ip_conntrack et ip_tables

    La rponse est positive daprs le rsultat de cette commande.

    Aprs avoir vrifier que Netfilter est bien install sur notre machine nous allons

    maintenant adopter une stratgie de configuration qui permette le filtrage du trafic.

    Stratgies adoptes :

    Premirement, vider toutes les chanes de toutes les tables de Netfilter, afin de

    supprimer les anciennes rgles existantes dans le firewall. Mais il ne faudra pas

    [root@localhost init.d]# dmesg | grep ip_tables

    ip_tables: (C) 2000-2002 Netfilter core team

    ip_tables: (C) 2000-2002 Netfilter core team

    [root@localhost init.d]# dmesg | grep ip_conntrack

    ip_conntrack version 2.1 (2047 buckets, 16376 max) - 356 bytes per conntrack

    ip_conntrack version 2.1 (2047 buckets, 16376 max) - 356 bytes per conntrack

  • PFA

    46

    rester trop longtemps dans cette situation, car la machine sera sans aucune

    protection.

    Deuximement, interdire par dfaut tous les paquets. Pour cela, nous allons utiliser l'option "-P" ("Politique par dfaut) des chanes INPUT, FORWARD et OUTPUT de la table FILTER.

    Dans un dernier temps, nous allons autoriser (interdire) que certains flux bien particuliers.

    Configuration du Passerelle linux

    # Ne pas rpondre aux pings broadcasts echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts # Autorisation du forwarding echo 1 >/proc/sys/net/ipv4/ip_forward # Suppression de toutes les chanes prdfinies de la table FILTER iptables -F #Suppression de toutes les chanes utilisateur de la table FILTER iptables -X #Par dfaut, tous les paquets de la table FILTER sont dtruits iptables -t filter -P INPUT DROP iptables -t filter -P OUTPUT DROP iptables -t filter -P FORWARD DROP #faisons de mme avec toutes les autres tables, savoir "nat" et "mangle", mais en les faisant pointer par dfaut sur ACCEPT. iptables -t nat -F iptables -t nat -X

    iptables -t nat -P OUTPUT ACCEPT iptables -t mangle -F iptables -t mangle -X iptables -t mangle -P PREROUTING ACCEPT iptables -t mangle -P INPUT ACCEPT iptables -t mangle -P OUTPUT ACCEPT iptables -t mangle -P FORWARD ACCEPT iptables -t mangle -P POSTROUTING ACCEPT #Autoriser l'interface loopback de dialoguer avec elle mme iptables -t filter -A OUTPUT -o lo -j ACCEPT iptables -t filter -A INPUT -i lo -j ACCEPT

  • PFA

    47

    # Seules les connexions dj tablies ou en relation avec des connexions tablies sont acceptes iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT #Afin d'empcher les ping des autres machines: iptables -t filter -A INPUT -i eth0 -s ! 192.168.1.0/24 -p icmp --icmp-type echo-request -j DROP #autorise la machine distante (192.168.1.3) de se connecte sur notre machine par ssh iptables -A INPUT -p tcp -s 192.168.1.3 --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j REJECT # Refuse de rediriger les paquets samba iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 137 -j REJECT iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 138 -j REJECT

  • PFA

    48

    Aprs avoir configur le firewall nous allons passer ltape suivante qui consiste installer

    le systme de dtection dintrusion Snort

    III- Le systme de dtection dintrusion 1. Les diffrents types dIDS

    Les systmes de dtection d'intrusion ou IDS peuvent se classer selon leur domaine de

    surveillance. Celui-ci peut se situer au niveau dun rseau dentreprise, dune machine hte,

    dune application

  • PFA

    49

    Mais nous allons tudier seulement la dtection dintrusion base sur lhte (HIDS) et

    les IDS rseaux (NIDS) puisquils sont les plus utiliss.

    1.1 La dtection d'intrusion base sur l'hte (HIDS)

    Les systmes de dtection d'intrusion bass sur l'hte ou HIDS (Host IDS) analysent

    seulement l'information concernant cet hte. Ils sont en gnral placs sur des machines

    sensibles, susceptibles de subir des attaques et possdant des donnes sensibles pour

    lentreprise. Les serveurs, web et applicatifs, peuvent notamment tre protgs par un HIDS.

    1.2 La Dtection d'Intrusion Rseau (NIDS)

    Le rle essentiel d'un IDS rseau est l'analyse et l'interprtation des paquets circulants

    sur ce rseau. Son implantation sur un rseau se fait de la faon suivante : des capteurs sont

    placs aux endroits stratgiques du rseau et gnrent des alertes sils dtectent une attaque.

    Ces alertes sont envoyes une console scurise, qui les analyses et les traites. Cette console

    est gnralement situe sur un rseau isol, qui relie uniquement les capteurs et la console.

    1.2.1 Les capteurs (sonde)

    Les capteurs aussi appels sondes existantes sur le rseau sont placs dans des endroits

    spcifiques. Il faut que la carte rseau de ce capteur soit configur en mode "promiscuous",

    cest dire le mode dans lequel la carte rseau intercepte tout le trafic.

    En gnral un capteur possde deux cartes rseaux, une connecte sur le rseau, et lautre

    avec console de scurit.

    1.2.2 Placement des capteurs

    Il est possible de placer les sondes ou capteurs dans des endroits diffrents. Ils peuvent

    tre placs avant ou aprs le pare-feu, ou dans une zone sensible que lon veut protger

    spcialement.

    Si les capteurs se trouvent aprs un pare-feu, il leur est plus facile de dire si le pare-feu

    a t mal configur ou de savoir si une attaque est venue par ce pare-feu. Ces capteurs ont

    pour mission de dtecter les intrusions qui nont pas t arrtes par ce dernier. Il sagit dune

    utilisation courante dun NIDS.

  • PFA

    50

    Il est possible de placer un capteur lextrieur du pare-feu c'est--dire avant le

    firewall. Limportance de cette position est que le capteur peut ainsi recevoir et analyser

    l'ensemble du trafic d'Internet. Si on place le capteur ici, il n'est pas certain que toutes les

    attaques soient filtres et dtectes. Cet emplacement a pour but de dterminer toute tentative

    dattaques, car tout le trafic va passer par lIDS avant dtre filtr. Ce qui permet

    l'administrateur danalyser tout le trafic puis voir ce qu'il doit modifier dans la configuration

    du pare-feu.

    Les capteurs IDS sont parfois situs lentre de zones du rseau particulirement

    sensibles, de faon surveiller tout trafic en direction vers cette zone.

    2. Le produit disponible : Snort :

    Dfinition :

    Snort est un systme de dtection d'intrusion rseau. Son rle principal est d'effectuer

    l'analyse du trafic en temps rel et la journalisation de paquets. Snort utilise un langage de

    rgles flexibles pour dcrire le trafic qu'il devrait collecter ou laisser passer.

    Snort a trois utilisations principales. Il peut tre utilis comme sniffeur de paquets, un

    enregistreur de paquets, ou comme un systme complet de dtection d'intrusion rseau.

    On va sintresser dans ce chapitre lanalyse des rgles de snort

    2.1. Installation de Snort en mode RPM

    Pour installer Snort en mode RPM on doit respect les tapes suivantes :

    Tlchargement de la version la plus rcente de Snort (snort-2.1.3) de son site web (http://www.snort.org) savoir snort-2.1.3-1snort.1386.rpm.

    Pour installer snort-2.1.3, il faut aller la ligne de commande et excuter la commande:

    2.2. Installation de Snort en mode source

    Pour pouvoir installer Snort en mode source, il est ncessaire davoir libpcap install

    sur la machine. Donc pour cela il faut dabord le tlcharger depuis le site web

    #rpm -ivh snort-2.1.3-1snort.i386.rpm

  • PFA

    51

    (http://www.sourceforge.net/projects/libpcap). Ensuite Il faut excuter les commandes

    usuelles dinstallation en mode source suivantes :

    Linstallation de Snort est trs classique, il suffi de le tlcharger depuis son site

    (http://www.snort.org) et de taper ces commandes dans le terminal :

    2.3 Utilisation de snort Snort remplit globalement 3 tches, qui sont ses modes de fonctionnement : Sniffer, Packet Logger et NIDS.

    2.3.1. Utilisation de snort en mode Sniffer

    Il s'agit d'couter le rseau. Plusieurs formats sont alors possibles :

    la commande verbose affiche les en-ttes TCP/IP, l'interface connecte Internet est automatiquement dtecte et scanne :

    Voici le rsultat de cette commande

    # tar -zxvf libpcap0.8.1a.tar.gz # cd libpcap-0.4 #./configure # make # make install

    # tar -zxvf snort-2.1.3.tar.gz #./configure # make # make install

    # snort v

  • PFA

    52

    Figure 16 Rsultat danalyse du trafic par snort

    La commande verbose dump second layer info, affiche les en-ttes IP et les en-ttes TCP/UDP/ICMP:

    Voici le rsultat de cette commande

    # snort -vde

  • PFA

    53

    Figure 17 : Snort en mode snifer

    Dans le cas o on a plusieurs interfaces rseau une doit tre indique :

    2.3.2. Utilisation de Snort en mode packet logger

    Ce mode est similaire au prcdent, mais les logs ne s'affiche plus l'cran; elles

    s'inscrivent directement dans un fichier de log. Le rpertoire de log de snort tant

    /var/log/snort/.

    Pour executer ce mode la commande suivante doit tre tappe puis valide

    Dans ce mode existe dautres options telles que :

    On peut spcifier de loger seulement pour une classe d'adresses :

    On peut spcifier le format denregistrement, dans ce cas binaire :

    2.3.3. Utilisation de Snort en nids :

    Le mode le plus intressant est celui-ci. Snort utilise pour cela des rgles pour dtecter

    les intrusions. Il existe aujourd'hui environ 1500 rgles diffrentes, dont chacune spcifie un

    type dattaque particulier. Nous pouvons galement ajouter des rgles qui empchent un

    certain type dattaque puis nous lajoute au fichier o existent les rgles.

    Certainement comme pour nimporte quel serveur Snort doit subir certaines

    modifications dans son fichier de configuration(/etc/snort/snort.conf ) parmi les quelles nous

    citons :

    Mettre jour la classe d'adresse du rseau, comme suite car par dfaut c'est any

    # snort -dvi eth0

    # snort -de -l /var/log/snort

    # snort -de -l /var/log/snort -h 172.24.0.0/24

    #snort -l /var/log/snort -b

  • PFA

    54

    Indiquer le rpertoire o sont disposs les rgles, dans notre cas

    Rediriger les logs dans la base de