Академический Документы
Профессиональный Документы
Культура Документы
ELLOUZE ANIS
Encadr par :
Mr BOULEIMEN KAMEL
2004/2005
PFA
Sommaire
PFA
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
CONCLUSION GENERALE..................................................................................... 57
PFA
10
11
16
21
22
23
23
25
26
27
31
38
39
50
51
PFA
Introduction gnrale
PFA
PFA
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.
PFA
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 :
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.
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 :
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.
PFA
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 :
Usurpation d'identit
Injection de code
Ecoute
PFA
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 .
10
PFA
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 demiconnexion 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.
11
PFA
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.
12
PFA
3- Injection de code
On distingue diffrents types de virus :
Les vers
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
13
PFA
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.
14
PFA
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.
15
PFA
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
16
PFA
La stratgie adopte pour scuriser un rseau avec une machine linux est comme suit :
17
PFA
Non
Oui
Configuration des serveurs
Configuration du firewall
Installation de lIDS
Rseau scuris
II- Laudit
18
PFA
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 :
rpm -ivh nmapxxx.rpm
Soit
tar xvfz nmapxxx.tar.gz
./configure
make
make install
Nmap est un outil trs puissant qui possde une grande quantit doptions qui sont :
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.
e : spcifie une interface particulire pour envoyer les paquets (eth0, ppp0, etc.).
19
PFA
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 :
-sT -sU
192.168.0.1
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
32771/tcp
open|filtered omad
open
sometimes-rpc5
2. Nessus
Le tableau ci-dessous prsente les diffrents outils de test :
20
PFA
Nessus
Sara
Saint
IS
Une machine dans Rseau en totalit Rseau en totalit une machine dans le
Cible
un rseau
Nombre de
850
rseau
150
150
50%de
vulnrabilits
vulnrabilits
testes
Plateforme
Linux
Linux
Linux
NT
Le port des
Libre
Libre
Libre
Verrouill
Mise jour de
Simple ajout de
Changement de
Changement de
Simple ajout de
vulnrabilits
module
version
version
module
Slection des
Simple clic
Difficilement
Difficilement
Simple clic
exploitable
exploitable
attaques
vulnrabilits
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 :
21
PFA
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 :
# tar -xzvf nessus-libraries-2.0.4.tar.gz
# cd nessus-libraries-2.0.4.tar.gz
#. /configure
# make
# make install
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:
# rpm
ivh
mon-du-paquetage.rpm
nessus-mkcert
22
PFA
Avant de lancer le dmon nessusd, il faut rajouter, au moins, un utilisateur et son mot de
passe
# nessus-adduser
23
PFA
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 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.
24
PFA
Quand tout est au point, on clique sur start the scan pour lancer le scan. Il apparat alors la
fentre suivante :
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
25
PFA
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.
26
PFA
27
PFA
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
En plus de ces informations, Nessus propose des solutions pour corriger les diffrentes
failles existantes, en gnral les solutions sont :
filtrage du trafic
28
PFA
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
-sT -sU
anis -p138,139,137,445
STATE
137/tcp closed
SERVICE
netbios-ns
netbios-dgm
netbios-ssn
139/udp closed
netbios-ssn
445/tcp open
microsoft-ds
445/udp closed
microsoft-ds
La commande Nmap a montr que les ports 137/udp, 138/udp , 139/tcp et 445/tcp sont
ouvertes.
29
PFA
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
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
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/
2004 smb
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
[root@anis ~]# /etc/init.d/smb status
smbd (pid 3692 3685) en cours d'excution...
nmbd (pid 3689) en cours d'excution...
Nous remarquons que les deux programmes smbd et nmbd sont en cours dexcution,
il faut les arrter :
[root@anis ~]# /etc/init.d/smb stop
Fermeture des services SMB :
Fermeture des services NMB :
30
OK
OK
PFA
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 .
lrwxrwxrwx
/etc/rc.d/rc5.d/:
lrwxrwxrwx
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 :
PFA
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.
32
PFA
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
Port 22
Protocol 2
ListenAddress 192.168.1.0/24
ListenAddress ::
33
PFA
[myshare]
comment = invite's stuff
path = /usr/somewhere/shared
34
valid users = invite
share modes = yes
PFA
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 :
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
= #
2.4 Serveur FTP
35
PFA
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
La seconde protection rside dans le script bind = eth0 c'est--dire seul les
requtes arrivant sur eth0 sont autorises.
36
PFA
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 :
[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.
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
37
PFA
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.
38
PFA
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
LIDS Snort
192.168.1.3
192.168.1.4 .
39
PFA
Eth0
Hub
Eth1
Passerelle linux
Eth0 192.168.1.1
Eth1 192.168.1.2
40
PFA
(Entr)
PREROUTING
FORWARD
INPUT
POSTROUTING
OUTPUT
41
PFA
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 :
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.
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.
POSTROUTING : les paquets qui sont prs tre envoys aux interfaces rseaux
sont modifis.
42
PFA
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.
Extensions :
43
PFA
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
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 :
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 .
44
PFA
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
45
PFA
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.
-F
-X
iptables
iptables
iptables
iptables
iptables
iptables
iptables
iptables
-t
-t
-t
-t
-t
-t
-t
-t
nat -P
mangle
mangle
mangle
mangle
mangle
mangle
mangle
OUTPUT
ACCEPT
-F
-X
-P PREROUTING
ACCEPT
-P INPUT
ACCEPT
-P OUTPUT
ACCEPT
-P FORWARD
ACCEPT
-P POSTROUTING
ACCEPT
PFA
# 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 echorequest -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
iptables -A INPUT -p tcp
--dport 22
# Refuse de rediriger les paquets samba
iptables -A FORWARD -i eth0 -o eth1
iptables -A FORWARD -i eth0 -o eth1
-j ACCEPT
-j REJECT
47
-p tcp --dport 137
-p tcp --dport 138
-j REJECT
-j REJECT
PFA
Aprs avoir configur le firewall nous allons passer ltape suivante qui consiste installer
le systme de dtection dintrusion Snort
48
PFA
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.
49
PFA
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:
#rpm -ivh
snort-2.1.3-1snort.i386.rpm
PFA
(http://www.sourceforge.net/projects/libpcap). Ensuite Il faut excuter les commandes
usuelles dinstallation en mode source suivantes :
# tar -zxvf
libpcap0.8.1a.tar.gz
# cd libpcap-0.4
#./configure
# make
# make install
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 :
# tar -zxvf
snort-2.1.3.tar.gz
#./configure
# make
# make install
51
PFA
La commande verbose dump second layer info, affiche les en-ttes IP et les en-ttes
TCP/UDP/ICMP:
# snort
-vde
52
PFA
-dvi
eth0
-de
-l
/var/log/snort
snort
-de
-l
/var/log/snort
-h
172.24.0.0/24
#snort
-l
/var/log/snort
-b
53
PFA
#var
HOME_NET
192.168.0.0/24
RULE_PATH
./rules
Les alertes
Il existe six modes d'alerte disponibles: Full, fast, socket, syslog, smb (winpopup), et none
(aucun). Quatre de ces modes sont accessibles avec l'option -A. Ses quatre options sont :
-A fast : mode d'alerte rapide, affiche l'alerte dans un format simple avec l'horaire, le
message d'alerte, les adresses IP et les ports sources et destinations.
-A full : c'est aussi le mode d'alerte par dfaut, donc si on ne spcifiez rien ceci sera
automatiquement utilis.
-A unsock : envoie les alertes une socket UNIX qu'un autre programme peut
couter.
Exemple:
# snort -A full -d
/etc/snort.conf
-D
-i eth0
-l /var/log/snort
-c
Cette ligne de commande indique que snort est lanc avec un type d'alerte : full. Snort sera
lanc en tant que daemon (-D), il regardera l'interface rseau eth0. Snort utilisera le rpertoire
/var/log/snort/ pour loger et le fichier de configuration /etc/snort/snort.conf.
2.4. Les rgles de snort
54
PFA
Les rgle se sont restriction qui visent empcher certain paquet de passer au rseau
protg.
Voici un exemple de fichier.rules :
Snort utilise un langage simple et lger de description de rgles. Les rgles Snort
doivent tre compltement contenues sur une seule ligne, l'analyseur de rgles de Snort ne sait
pas comment traiter des rgles sur plusieurs lignes. Ces rgles sont divises en deux sections
logiques, l'entte (le Header) de la rgle et les options de la rgle. L'entte de rgle contient
comme informations l'action de la rgle, le protocole, les adresses IP source et destination et
les masques rseau, et les ports source et destination. La section options de la rgle contient
les messages d'alerte et les informations sur les parties du paquet qui doivent tre inspectes.
Voici quelque exemple de rgles :
alert tcp any any -> 192.168.1.0/24 111 (content:"|02 01 86
a5|"; msg: "umount access";)
Le texte jusqu' la premire parenthse est l'entte de rgle et la section entre parenthses
contient les options de la rgle. Les mots avant les deux-points dans la section des options de
la rgle sont appels les mots cls des options. Notez que la section des options de la rgle
n'est spcifiquement requise par aucune rgle, elles sont juste utilises pour bien rendre plus
strictes les dfinitions des paquets collecter ou alarmer. Tous les lments dans cette
composition de rgle doivent tre vrais pour que l'action de rgle indique soit accepte.
Cette option va liminer les paquets qui ont une chane de caractre 00 01 86 a5 et qui envoi
le message umont access
Dans cette exemple le trafic tcp qui vient des ports suprieur ou gale 1024 diriger vers
ladresse 192.168.1.0 et les ports infrieur 500 seront log
55
PFA
Toute le trafic tcp va tre loger dans les deux sens sauf celle qui vient de ladresse
192.168.1.0 et qui se dirige vers ladresse 192.168.1.0 / port 23
Dans ce cas ladresse source/port source et ladresse destination /port destination vont tre
enregistrer et cela grce loprateur de direction <> (bidirectionnel)
Conclusion :
En guise de conclusion, nous voulons dabord signaler limportance du filtrage du
trafic, car avec une seule ligne on peut arrter un type de trafic non dsirable. Puis
limportance du lIDS snort, car il est capable de dtecter toute tentative dintrusion.
Et comme a nous avons achev notre politique de scurit, et nous pouvons maintenant
utilis notre rseau sans souci.
56
PFA
Conclusion Gnrale
La scurit est devenue un point crucial des systmes dinformation. Une des raisons qui
fait que les systmes sont mal protgs est que la scurit cote cher. Il est vrai qu'elle ne
permet pas directement de gagner de largent mais vite den perdre.
Pour cette raison, on a cherch dans notre application satisfaire la contrainte cot, en
utilisant des outils open source (Linux, Nessus, Snort).
Mais lefficacit de la scurit dun systme informatique ne repose pas uniquement sur les
outils de scurit mais galement sur une stratgie, une organisation et des procdures
cohrentes.
Ces dernires doivent tre cohrentes aussi avec le plan de lentreprise. Pour cela, une
vision stratgique de la scurit globale de lentreprise est indispensable.
Une application cohrente doit permettre de garantir une scurit maximale, mais il faut
toujours avoir lesprit que la scurit parfaite ne peut exister.
Dans notre application nous avons commenc par faire laudit du rseau. Nous avons
alors constat que ce dernier prsente plusieurs failles de scurit.
En outre, nous avons montr que les outils daudit
performants, car ils ont rvl des vulnrabilits caches quil est difficile de dtecter sans les
avoir utilis.
Ensuite, nous avons montr que la technique de fermeture des ports est trs efficace car
toute tentative de connexion sur ce port sera choue
Puis, nous avons montr aussi que la technique de configuration des serveurs a assur une
bonne protection pour ces derniers.
Par la suite, nous avons opt pour une configuration du firewall Netfilter de manire
empcher le trafic non dsirable dentrer dans le rseau.
Enfin, pour rendre notre politique de scurit plus efficace, nous avons install un
systme de dtection dintrusion (IDS) Snort capable de dtecter toute tentative
dintrusion.
Lintrt gnral de ce travail est dassurer une scurit efficace pour le rseau avec un
cot ngligeable.
Ce projet reste ouvert lextension savoir :
57
PFA
58
PFA
Bibliographie:
[1] Michael Tuner, Steve Shah, "Redhat linux Administration a beginner's guide", MC
GRAW HILL 2003.
[2] Brian Hatch, James Lee, "Hacking linux exposed 2d edition Linux security secrets &
solutions", MC GRAW HILL 2003.
[3] Thomas W.Shinder, Debra Little Joh Shinder, D.Lym White, "Scurit sous Windows 200
server", Eyrolles edition.
[4] Dhfrallah Mhiri, "La scurit des systmes informatiques".
[5] Matthew Danda, "La scurit sur le Web", Microsoft Press.
Sites Internet :
http://linux.crdp.ac-caen.fr
http://www.linux-kheops.com
www.netfilter.org
www.entreelibre.com / scastro /Fws /station-iptables.html
www.trustonme.net
www.bashbrofile.net
www.stephane.omnes.citeweb.net / securite /firewall
www.linux-france.org
www.snort.org
www.nessus.org
www.lea-linux.org
www.tcpdump.org
59