Securite Reseau Informatique
Securite Reseau Informatique
Securite Reseau Informatique
Aucun système d’information n’est sûr à 100% ! Parmi les préceptes connus sur la sécurité
informatique se trouve celui énonçant que, pour une entreprise connectée à l’Internet, le problème
aujourd’hui n’est plus de savoir si elle va se faire attaquer, mais quandcela va arriver ; une solution
possible est alors d’essayer de limiter les risques dans le temps par la mise en œuvre de divers moyens
destinés à augmenter le niveau de sécurité.
Afin de réduire voir éradiquer ces menaces, les entreprises se tournent de plus en plus vers des
solutions de pare-feu avec des fonctionnalités de filtrage et de prévention d’intrusion.
Malheureusement dans ce domaine, les solutions propriétaires sont très couteuses. Le cabinet NTC
veut proposer aux entreprises ayant un budget modeste, des solutions de sécurité à moindre coût. C’est
dans ce cadre que le cabinet NTC a soumis à nôtre étude le thème suivant: « sécurisation d’un réseau
informatique à l’aide des outils open source cas du filtrage et de la prévention d’intrusion avec les
outils Netfilter et SURICATA».
Notre travail consistera à évaluer ces outils de sécurité dans un environnement test pour apprécier leur
fonctionnement et voir comment les adapter dans un environnement de production.
Pour mener à bien ce travail, nous allons dans un premier temps, présenter le cadre de référence
ensuite nous ferons une étude technique pour comprendre le fonctionnement de ces outils de sécurité
sélectionnés puis nous les implémenterons dans un environnement test en vue de les évaluer et dire s’il
est possible de les utiliser dans les milieux de production.
ETUDE PREALABLE
1.1.1 Mission
NTC a pour mission:
La formation en technologie réseaux et sécurité réseau
L’organisation des examens de certification en informatique
Le développement d’application de gestion et d’application réseaux informatiques
Direction Générale
Secrétariat et
Comptabilité
2.1. Contexte
La sécurité informatique est aujourd’hui l’une des équations difficiles à résoudre en informatique non
pas par ce qu’elle soit sans solution mais les solutions existantes sont le plus souvent des outils
propriétaire et sont très couteuses.
C’est pourquoi nous allons tenter à notre humble niveau d’apporter notre contribution à la résolution
de ce problème avec des outils open source afin que toutes les entreprises puissent sécuriser leurs
réseaux à moindre coût.
2.2. Problématique
Les systèmes d'information sont aujourd'hui de plus en plus ouverts sur Internet. Cette ouverture, a
priori bénéfique, pose néanmoins un problème majeur : il en découle un nombre croissant d'attaques.
Pour cela plusieurs outils physiques et logiciels dites propriétaire ont été développées mais ils ne
sont pas accessibles à tous les entreprises à cause de leurs coûts trop élevés.
Les logiciels open sources existent pour pallier cette “injustice “ et notre travail consistera à évaluer
ces outils de sécurité pour en déduire leur niveau de performance afin de proposer nos résultats aux
entreprises économiquement limitées.
Pour mener à bien notre étude nous utiliserons NETFILTER pour le filtrage et SURICATA pour la
détection et la prévention d’intrusion.
Nous déploierons ces outils dans un environnement expérimental pour évaluer leurs performances et
leurs limites.
- Etudier théoriquement ces outils open source que sont Netfilter et suricata afin de mieux
connaitre leurs fonctionnements en tant qu’outil de sécurité réseau.
- L’installation de ces outils open source de filtrage et de prévention d’intrusion
- Simuler des attaques afin de montrer leurs efficacités et dire s’il est possible de les utilisé dans
un environnement de production.
- Pour finir dire avec certitude si cès outils peuvent être déployés dans un environnement de
production.
Notons cependant que notre environnement de travail sera virtualisé afin que les différentes
manœuvres que nous aurons à effectuer n’endommagent pas les ressources informatiques du cabinet
NTC.
ETUDE TECHNIQUE
L’expression est apparue en 1998 quand Netscape Communicator est devenu un logiciel libre.
L’expression Open Source (source ouverte) était utilisée dans les slogans pour associer libre et
diffusion du code source et faire comprendre et admettre les logiciels libres auprès des entreprises. Le
but était de faire abstraction des apports fondamentaux du libre pour se concentrer uniquement sur les
avantages techniques et économiques de ce nouveau modèle. Avec le temps, l’expression a été reprise
dans tous les sens par les médias et les entreprises, et sa définition a été largement entachée. On a parlé
de « Open Source limité » en proposant l’accès aux sources mais sans droit de modification ou de
redistribution. Or, le logiciel libre ne souffre d’aucun aménagement. Il est libre ou n’est pas.
3.1.1 Définition
La désignation open source (en français : « source ouverte » ou « code source libre ») s'applique aux
logiciels dont la licence respecte des critères précisément établis par l'Open Source Initiative, c'est-à-
dire la possibilité de libre redistribution, d'accès au code source et de travaux dérivés.
- La rapidité d'implémentation
- La réduction de vos coûts
- Son architecture technique
- L'accès au code source permettant la personnalisation totale et facilitant le support.
- L'indépendance par rapport aux fournisseurs
La sécurité relative des logiciels open source résident dans le fait du libre accès au code source ce qui
permet l'examen du logiciel par des experts indépendants et cela va favoriser la découverte de failles
de sécurité qui seront aussitôt corriger.
Il y a aussi les différentes communautés crées autour de ces logiciels de sécurité qui fournissent
gratuitement des règles au jour le jour pour la sécurisation des réseaux informatiques.
Les projets Open Source s'adaptent particulièrement bien aux cas uniques, à la personnalisation et aux
besoins spécifiques de certains métiers.
La sécurité est l’ensemble des moyens mis en œuvre pour la protection des systèmes informatiques
contre des menaces accidentelles ou intentionnelles.
Le filtrage réseaux consiste à faire un examen des paquets qui passent à travers l’outil de filtrage
réseau selon des critères définis qui peuvent être soit une adresse ip, une adresse MAC, le type de
protocole transporté, etc…
Avec le filtrage des paquets, l’administrateur peut ainsi mettre
Le filtrage réseau est très important car il effectue un tri sélectif des paquets transitant sur le réseau, ce
qui est bénéfique au réseau car les paquets indésirables pouvant engendrés des dommages sont
maintenu hors de ses frontières.
b. Translation d’adresse
Elle accepte les paquets IP entrants, change l'adresse de la source (modifit) par celle de la machine
locale et réinjecte les paquets dans le flux sortant des paquets IP.
Elle peut être utilisée pour assurer un partage d’accès à internet à partir d’un réseau privé et permet
un premier niveau de sécurité car elle masque en quelque sorte le réseau interne vis-à-vis de
l’extérieur.
C’est ce principe que Netfilter utilise pour permettre la communication entre un réseau dont il assure la
sécurité et le monde extérieur.
La qualité de service est un concept de gestion qui a pour but d’optimiser les ressources d'un réseau
informatique et de garantir de bonnes performances aux applications critiques.
Cette technique fournit à Netfilter la possibilité d'avoir un contrôle sur les débits des flux de données
entrants et sortants de la machine, afin de rendre certains flux plus prioritaires que d'autres c'est-à-dire
que certains flux vont être volontairement privilégiés.
Avec cette technique Netfilter assure un meilleur confort d'utilisation aux différents processus réseau.
Ainsi les débits et les temps de réponse différenciés par applications (ou activités) suivant les
protocoles mis en œuvre optimisent le rendement du réseau.
d. Suivi de connexions
La fonctionnalité de suivi des connexions se réfère à la capacité de maintenir les informations d’une
connexion, comme l’adresse IP source et destination, les numéros de ports, les types de protocole,
l’état et la durée de la connexion.
Les pare-feux qui sont capables de réaliser cela sont des pare-feu à état (stateful).
Avec cette fonctionnalité Netfilter a une vue générale sur toutes les connexions qui sont établies et sait
qu’elle connexion a été initiée de façon normale ou pas.
Ceci permet à Netfilter d’effectue un filtrage réseau pointueux et efficace. La sécurité réseau est de fait
encore plus renforcée.
a. Les règles
Une règle est constituée d'un motif permettant de reconnaître des paquets selon certains critères et
d’une cible indiquant l'action à effectuer sur les paquets reconnus.
Les critères
L'adresse source est <adresse>. Si un masque est précisé, seules les parties actives du masque seront
comparées. Par exemple lorsqu'on écrit -s 192.168.5.0/255.255.255.0, toutes les adresses entre
192.168.5.0 et 192.168.5.255 correspondront. On peut aussi écrire le masque sous la forme d'un
nombre de bits (/8 correspond à 255.0.0.0, /24 à 255.255.255.0, etc.) Le masque par défaut est /32
(/255.255.255.255), soit l'intégralité de l'adresse.
Le port destination est <port>. Il est obligatoire de préciser le protocole (-p tcp ou -p udp), car dans les
autres protocoles il n'y a pas de notion de port.
- -i <interface>
L'interface réseau d'où provient le paquet. N'est utilisable que dans la chaîne INPUT.
- -o <interface>
L'interface réseau de laquelle va partir le paquet. N'est utilisable que dans les chaînes OUTPUT et
FORWARD.
- --state
Etat du paquet. Une liste de plusieurs valeurs peut être indiquée en les séparant par des virgules. L'état
de ce paquet est comparé alors à ces valeurs. NEW correspond à un paquet initiant une nouvelle
Une fois spécifiés les critères auxquels doivent répondre les paquets, il faut indiquer vers quelle cible
l'envoyer s'il y répond. Cela se fait avec l'option --jump ou en abrégé -j suivie par le nom de la cible.
Les cibles.
Il s'agit du traitement que l'on décide d'appliquer au paquet. C'est la cible qui se chargera de faire les
opérations nécessaires. En plus de celles prédéfinies, il est possible d'indiquer comme cible une chaîne
utilisateur. Cela permet d'imbriquer différents tests et traitements.
Chaque chaîne peut être vue comme un ensemble de tests, chacun ayant pour résultat l'envoi du paquet
vers la cible spécifiée si la condition est vérifiée. Si ce n'est pas le cas, on passe à la suivante. En
arrivant à la fin d'une des chaînes du tableau précédent, une cible par défaut est utilisée. A la fin d'une
chaîne utilisateur, si aucune décision n'a été prise, on revient à la chaîne appelante.
Les cibles principales sont les suivantes : ACCEPT, DROP, REJECT, RETURN
- -j ACCEPT
- -j DROP
- -j REJECT
Comme DROP mais prévient l'émetteur que le paquet est rejeté. La réponse envoyée à l'émetteur est
également un paquet qui devra satisfaire les règles de sortie pour pouvoir passer.
Enregistre le paquet dans les logs systèmes. Au <level> par défaut, le paquet est affiché sur la console
principale du système.
- -j RETURN
Utile dans les chaînes utilisateurs. Cette cible permet de revenir à la chaîne appelante. Si RETURN est
utilisé dans une des chaînes de base précédente, cela est équivalent à l'utilisation de sa cible par défaut.
b. Les chaines
Les chaînes sont des ensembles de règles que nous allons écrire dans chaque table. Ces chaînes vont
permettre d'identifier des paquets qui correspondent à certains critères. On distingue deux types de
chaine, les chaînes prédéfinies et les chaînes utilisateurs.
Les chaînes utilisateur sont créés pour les besoins spécifiques de l’administrateur.
4.1.2. Iptables
Iptables est en quelques sortes l’interface utilisateur de netfilter et c’est elle qui permet la configuration
de ce firewall.
La première option à connaître est -t qui permet de spécifier le nom de la table sur laquelle porteront
les autres paramètres. Si cette option n'est pas spécifiée, ce sera par défaut la table filter.
On peut aussi demander à iptables de charger un module particulier avec l'option -m. Ce module peut
ajouter de nouvelles tables ou de nouvelles manières de tester les paquets.
– table: table concernée. Par défaut, c'est la table filter qui est utilisée
– commande: commande iptables (ajout de règle, suppression de règle, ...)
– correspondance: critères du filtre de sélection de paquets.
– cible/saut: action à effectuer sur le paquet
Pour chaque paramètre il existe généralement une forme longue avec deux tirets (par exemple --
append) et une forme courte avec un seul tiret (par exemple -A). Utiliser l'une ou l'autre n'a pas
d'importance, elles sont équivalentes. Les deux possibilités sont souvent représentées dans la
documentation sous la forme --append|-A.
Les paramètres indiqués entre crochets (par exemple [-t <table>]) sont facultatifs.
Ce qui se trouve entre inférieur et supérieur (par exemple <table>) doit être remplacé par une valeur.
- --list|-L [<chaîne>]
Affiche les règles contenues dans les chaînes ou seulement dans la chaîne sélectionnée.
Le concept d’IPS ( systèmes de prévention des intrusions) vise à anticiper les attaques de pirates
informatiques dès lors que leur empreinte est connu. Il ne s’agit plus seulement de réagir à une attaque
en cours, mais d’empêcher que celle-ci puisse seulement débuter.
Un système IPS est placé en ligne et examine en théorie tous les paquets entrants ou sortants. Il réalise
un ensemble d’analyses de détection, non seulement sur chaque paquet individuel, mais également sur
les conversations et motifs du réseau, en visualisant chaque transaction dans le contexte de celles qui
précèdent ou qui suivent.
Si le système IPS considère le paquet inoffensif, il le transmet sous forme d’un élément traditionnel de
couche 2 ou 3 du réseau. Les utilisateurs finaux ne doivent en ressentir aucun effet. Cependant, lorsque
le système IPS détecte un trafic douteux il doit pouvoir activer un mécanisme de réponse adéquat en
un temps record.
Le diagramme ci-après illustre le fonctionnement d’un IPS.
Il est impensable de vouloir analyser tout le trafic d’un réseau. Il faut donc donner la priorité aux
systèmes à risque : ceux qui offrent des services accessibles par Internet (HTTP, FTP, ...).
De plus, il est souvent préférable de placer le senseur après le firewall du côté interne.
Ainsi, seul les flux acceptés par le firewall sont analysés, ce qui réduit fortement la charge
de l’ IPS.
La majorité des systèmes de prévention d’intrusions utilisent l'une des trois méthodes de détection
suivant:
Le moteur Suricata est un IDS/IPS Open Source. Ce moteur n'est pas destiné à remplacer ou émuler les
outils existants dans l'industrie, mais ils apporteront de nouvelles idées et technologies sur le terrain.
Le moteur de Suricata et la Bibliothèque HTP sont disponibles pour l'utilisation sous licence GPL 2.
Suricata est un IDS/IPS développé par l’Open Information Security Foundation (OISF) qui est une
association à but non lucratif qui a été fondée pour porter le projet. Suricata est un IDS/IPS de la même
famille que Snort. Il analyse le traffic réseau en comparant les paquets à un ensemble de signatures qui
cherchent des motifs ressemblant à des attaques. La version 1.0 de Suricata est sortie le 1er juillet
2010. L’architecture de Suricata est multithread et les tests ont montrés que le passage à l’échelle sur
les systèmes multi CPU était bien au rendez-vous. Suricata peut aussi utiliser les capacités de
traitement des processeurs graphiques. Les fonctions IDS et IPS sont natives et les signatures au
format Snort sont supportées. Suricata a des fonctionnalités exclusives comme des modules d’analyse
protocolaire. Il est par exemple possible d’écrire des signatures utilisant des éléments du protocole
HTTP comme l’URL ou les cookies. Le développement reste très actif et de nombreuses nouvelles
fonctionnalités majeures sont prévues.
LibHTP :
- parseur orienté sécurité du protocole http
- suivi de flux,
- Capable de décoder des flux compressés par Gzip
Variable de flux
- Détection des attaques en étapes,
- vérification de conditions sur un flux
- modification du traitement sur l’alerte
- machine à état au sein du flux.
Extraction et inspection de fichiers
- PCAP
- PF_RING
- AF_PACKET
b. Modules de sortie
- Fastlog
- Unified log (Barnyard 1 & 2)
- HTTP log (log dans un format de type apache)
- Prelude (IDMEF)
MISE EN ŒUVRE ET
EVALUATION
Tous les tests se feront dans un environnement virtualisé comme il a été dit dans le cahier de
Charge. Pour ce faire nous utiliserons virtualbox
Le réseau est constitué de :
Une machine linux avec la distribution Debian 6 nommée FIREWALL qui servira de firewall
avec deux cartesréseaux. Son but sera de filtrer le flux de paquet entrant dans notre réseau.
Cette machine a pour configuration :
- Adresse IP Ethernet 0 : 172.17.0.2 / Masque : 255.255.0.0
- Adresse IP Ethernet 1 : 192.168.0.1 / Masque : 255.255.255.0
Une autre machine avec la distribution Debian6 nommée SURICATA, sur cette machine sera
installée l’IPS/IDS SURICATA, le rôle de ce dernier sera d’alerté l’administrateur ou de
bloquer les menaces qui auront traversé notre firewall.
Cette machine a pour configuration :
- Adresse IP Ethernet 0 : 192.168.0.2 / Masque : 255.255.255.0
- Adresse IP Ethernet 1 : 192.168.1.1 / Masque : 255.255.255.0
Une autre machine avec la distribution Debian 6 nommée Snorby qui sera le serveur http
(apache).
Cette machine a pour configuration:
- Adresse IP : 192.168.1.2 / Masque : 255.255.255.0
Une autre machine avec la distribution Debian 6 nommée Filezilla qui sera le serveur ftp
(filezilla).
Cette machine a pour configuration:
- Adresse IP : 192.168.1.3 / Masque : 255.255.255.0
Enfin une machine avec la distribution Backtrack 5r3 nommée Attaquant qui nous permettra
d’attaquer notre réseau.
Cette machine a pour configuration:
- Adresse IP : 172.17.0.2 / Masque : 255.255.0.0
C’est le même fonctionnement que dans le cas du filtrage sauf qu’ici les regles de suricata sont
téléchargeables et une mise à jour quasi quotidienne est necessaire.
Le logiciel ulogd a été développé par Harald Welte pour récupérer les données du noyau et les stocker
dans différents formats grâce à des plugins de sortie.
Dans ce fichier nous nous sommes assuré que nous avons ces champs ci-dessous et qu’ils sont
decommentés c'est-à-dire qu’il n’y a pas de ‘#’ au début.
[global]
nlgroup=1
logfile="/var/log/ulog/ulogd.log"
loglevel=5
rmem=131071
bufsize=150000
plugin="/usr/lib/ulogd/ulogd_BASE.so"
plugin="/usr/lib/ulogd/ulogd_MYSQL.so"
[MYSQL]
table="ulog"
pass="paul"
user="ulogd"
db="ulogd"
host="localhost"
reconnect=5
connect_timeout=10
#mysql –u root –p
>create database ulogd ;
>create user ulogd ;
>grant insert,select,create temporary tables on ulogd.* to ulogd@localhost identified by ‘paul’;
>flush privileges;
>exit;
- Ensuite on va intégrer les tables fournies par ulogd-mysql dans notre base de données ulogd
avec cette commande
Cette etape met fin à l’installation de ulogd, pour le lancer on tape la commande suivante :
# /etc/init.d/ulogd start
Pour exploiter les journaux du firewall envoyés dans une base de donnée par Ulogd, nous allons
utiliser une interface web écrite en python nommé Nulog2. Il fait partie à la base de la suite NuFW
développé par EdenWall.
Installons d’abord les dépendances
#aptitude install python2.4 python-twisted python-nevow python-matplotlibgettext python-soappy
python-mysqldb python-cairo python-ipy python-numpy python-docutils
#mysql -u root -p
>grant all privileges on ulogd.* to nulog@localhost identified by ‘allou’;
>flush privileges;
>exit;
[DB]
host=localhost
db=ulogd
user=nulog
password=allou
dbtype=mysql
type=triggers
ip=4
table=ulog
conntrack=conntrack_ulog
maxrotate=52
[Misc]
tiny_does_not_hide_timestamp=0
[Links]
url=/nulog/
maintitle= parefeu_allou
#Désactivation de l'accès de NuFace
#nuface_acl=
[Sessions]
anonymous=yes
# ./install_defconf.sh
NB : nous devons être dans le répertoire spécifié correspond au vardir précisé dans wrapper.conf.
Chez nous ce répertoire est : /var/lib/nulog/scripts.
- Pour que Nulog soit visible depuis une interface web, nous allons céer un virtualhost dans
apache2. Cela se fera dans /etc/apache2/conf.d
Nous allons mettre en place des règles qui permettrons d’effectuer un filtrage réseau afin d’empêcher
les tentatives d’intrusions sur le réseau.
Notre stratégie par défaut consistera dans un premier temps à tout refuser, cela nous permettra de
mieux contrôler tout ce qui se passe au niveau du pare-feu et accepter uniquement la translation
d’adresse pour permettre notre réseau de communiquer avec l’extérieur et ensuite nous autoriserons les
services dont nous avons bésoin.
NB : tous les règles n’ont pas été énoncées, seul les règles concernant les attaques par deni de service
et force brute et les autorisations à nos serveurs.
Les règles suivantes permettront la protection notre réseau contre ces types d’attaque :
- Bloquer les attaques Dos visant notre réseau (qui traverse le firewall)
Tout d’abord nous allons mettre notre système à jour pour faciliter tous installations de logiciels
#aptitude update
#apt-get update
#apt-get upgrade
#apt-getdist-upgrade
a. Installation de snorby
#wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
#tar xzvf yaml-0.1.4.tar.gz
#cd yaml-0.1.4
#./configure --prefix=/usr/local
#make
#make install
#wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p0.tar.gz
#tar xzvf ruby-1.9.3-p0.tar.gz
#cd ruby-1.9.3-p0
#./configure --prefix=/usr/local --enable-shared --disable-install-doc --with-opt-dir=/usr/local/lib make
#make
snorby: &snorby
adapter: mysql
username: root
password: "allou"
host: localhost
#cd /var/www/snorby
#bundle update activesupportrailties rails
#gem install arelezprint&&bundle install
- On crée un utilisateur snorbyuser et on lui donne tous les droits sur la base de donnéesnorby
#mysql -u root –p
>create user 'snorbyallou'@'localhost' IDENTIFIED BY “claver”;
>grant all privileges on snorby.* to 'snorbyallou'@'localhost' with grant option;
>flushprivileges;
Passenger est un module pour apache2 qui permet de déployer simplement des applications Ruby.
#a2enmod passenger
#a2enmod rewrite
#a2enmod ssl
- Nous allons consulter le fichier hosts dans /etc/ pour voir si le nom de notre serveur y est, s’il
n’y est pas on l’écrit (nous avons nommé notre serveur snorbyadmin)
d. Installation de Barnyard2
………
#mkdir /var/log/Barnyard2
- Maintenant vérifions qu’on a ceci dans suricata.yaml sinon suricata ne pourra pas
communiquer avec barnyard2 ;
- Nous allons installer oinkmaster qui va nous permettre de faire nos mises à jour de façon
automatique
Dans cette partie nous mènerons une série d’attaque contre notre réseau afin de déterminer si, oui ou
non, nos outils assurent le rôle qui leur est impartie c'est-à-dire empêcher l’intrusion de notre réseau.
Dans un premier temps nous allons activer nos outils défenses.
Maintenant que nos outils sont activé nous allons passer à la deuxième phase qui est l’attaque de notre
réseau.
Le scan de port en elle-même n’est pas considérer comme une attaque (mais si elle n’est pas autoriser
elle fait l’objet de poursuite judiciaire) mais est un préalable avant de memer tous types d’attaque car
elle permet à toute personne qui l’utilise d’avoir des renseignements sur l’état des ports d’une machine
ou de toutes les machines du réseau.
Nous avons 999 ports filtrés, 1 port ouvert (port : 22 ; état: ouvert ; service : ssh)
NB : le port 22 est ouvert car nous avons mis en place un serveur ssh pour que nous puissions nous
connecter depuis l’extérieur à notre firewall mais nous avons protégé ce port. Donc notre firewall va
considérer ce scan comme une attaque.
Interprétation
Les pings envoyés lors du scan réseau ont été considérés comme une attaque par netfilter car nous
avons l’avons configuré
Une attaque par déni de service (denial of service attack) est une attaque informatique ayant pour but
de rendre indisponible un service, d'empêcher les utilisateurs légitimes d'un service de l'utiliser. Il peut
s'agir de :
- l’inondation d’un réseau afin d'empêcher son fonctionnement ;
- la perturbation des connexions entre deux machines, empêchant l'accès à un service particulier ;
- l'obstruction d'accès à un service à une personne en particulier.
D’après nulog notre firewall à détecter l’attaque visant le port 80 de notre firewall et a DROP les
paquets venant de la machine attaquante.
Notre firewall a été configuré pour n’accepter que deux connexion en 120 s.
La troisième tentative de connexion sera considérée comme une attaque par force brute car nous
jugerons que cet utilisateur n’a pas de mots de passe et qu’il force l’accès à notre réseau.
Nous remarquons dans nulog que cette tentative est détectée et refusée et le paquet a été drop.
Attaque syn_flood(une variante de l’attaque doS) visant le port 80 de notre NIPS situé après
notre firewall
D’après nulog l’attaque syn_flood visant notre NIPS a été détectée par le pare-feu et les paquets
envoyés ont été DROP c’est à dire détruit.
NB: Nous avons remarqué pendant les tests que toutes les attaques visant le réseau ont été bloquées
par le firewall donc nous n’arrivons pas à vérifier si oui ou non suricata fonctionne. Pour vérifier le
bon fonctionnement de suricata nous avons donc décidé d’arrêter le pare-feu et d’attaquer directement
notre réseau.
Pour les tests nous avons dans un premier temps laissé les règles de SURICATA en alerte c’est à dire
que au début des règles de suriricata le mot alert qui est ecrit nous le laissons inchangé.
Interprétation
Le scan a révélé les marchines de notre reseau, leurs différents systèmes d’exploitations et les ports
ouverts sur chaque machine. Une obène pour les pirates.
Attaques réseau
- Nous lançons une attaque syn flood sur notre serveur ftp filezilla sur le poste windows xp qui a
pour adresse ip 192.168.1.3.
Nous remarquons que la cible a été atteinte, cela veut dire que même si suricata est en mode IPS et que
ses règles sont mises en alert, il n’arrêtera même pas une attaque.
Maintenant vérifions dans snorby si SURICATA a détecté tous les scans de port et les attaques
memées.
Avec snorby il est possible de télécharger un rapport détaillé des evenement en pdf sur une certaine
periode definie. Dans notre cas avons téléchargé le bilan après un mois d’activité. Se rapport se trouve
ci-dessous :
Scan réseau
Interprétation
Nous remarquons qu’armitage n’a pas réussi à découvrir les machines de notre réseau et leurs failles
car notre IPS SURICATA à bloquer le scan de port mais lui-même a été découvert.
Nous remarquons que l’attaque a bel et bien été bloquée par SURICATA cela s’explique par :
Après avoir mené plusieurs attaques dont toutes n’ont pas été répertoriés dans ce rapport, nous
pouvons dire que nos outils de défenses ont dans l’ensemble bien fonctionné.
Notre firewall à bloquer tous les attaques qu’il a subi de tel sorte que nous avons été bien obligés de
l’arrêter pour voir si notre NIPS fonctionnait normalement.
Quant à notre NIPS, il a aussi bien fonctionné mais le bémol c’est qu’il doit d’abord reconnaitre la
signature de l’attaque avant d’agir.
La sécurité informatique est un processus indispensable à la survie d’un réseau informatique c’est
pourquoi il a été soumis à notre étude l’évaluation des outils open source de sécurité informatique que
sont Netfilter et suricata.
Au cours de notre travail nous avons étudié de façon théorique ces outils pour comprendre leur
fonctionnement, puis nous les avons implémentés afin de les évaluer.
Après l’évaluation nous pouvons dire que ces outils peuvent assurer la sécurité d’un réseau
informatique à condition que la suivie quotidienne de ces outils soient faite de façon rigoureuse.
Il faut bien signaler que ce projet a été une excellente initiation à la vie professionnelle car il nous a
permis d’avoir une petite expérience de ce qu’est le travail au sein d’une équipe de sécurité
informatique.
[1] Tableau de bord de la sécurité informatique ; Cédric Llorens, Laurent Levrier, Denis Valois,
2006,Eyrolles 559 pages
[2] Sécuriser un réseau linux; Bernard BBoutherin, Benoit Delauney, 3 édition, 2006, 200 pages
environ. Eyrolles
[3]Sécurité informatique Ethical Hacking ; Marion AGÉ, Sébastien BAUDRU, Robert. CROCFER,
Franck EBEL, Jérôme HENNECART, Sébastien LASSON, David PUCHE. Eni editions.195 pages
[4]Iptables tutoral 1.2.2 ; Oskar Andreasson, Mark Blanc, Philippe Latu. www.inetdoc.net, 142 pages
Webographie: