Vous êtes sur la page 1sur 20

Plan chapitre 3 : Les techniques de dfense 1. Conseils 1.1.

Rgles de base

Partie III : Dfense & parades Techniques, Moyens & Outils de scurit


1.2. La veille en scurit ... 1.3. Les outils de scurit 2. Les scanners 2.1. map 2.2. essus 3. Les pare feux / Firewalls 4. Architectures de scurit







!

"

06/12/07

Anas Abou El Kalam - Outils scurit

'

&

06/12/07

Anas Abou El Kalam - Outils scurit

Qlq chiffres

Qlq chiffres

06/12/07

Anas Abou El Kalam - Outils scurit

06/12/07

Anas Abou El Kalam - Outils scurit

Conseils
Verrouillez les stations Protger les accs, scurit physiques, cadenas, ... Dsactiver le boot sur le lecteur de disquette et sur le lecteur de CDROM. Linux : Evitez d'avoir option failsafe au dmarrage propos par Lilo (LInux Loader) Cette option peut permettre d'obtenir les accs root (sans mot de passe) pour la maintenance du systme. Windows : Le systme de fichier NTFS permet une scurisation accrue par rapport aux systmes de fichier FAT et FAT 32. Windows 95, 98 et Me : niveau de scurit trs bas Protger l'accs du BIOS par un mot de passe ! Limitation programmes s'excutant avec droits administrateur rprer les programmes s'excutant avec les droits administrateur. Ainsi, vous pouvez changer leurs droits pour qu'ils ne deviennent pas un point critique pour la vulnrabilit du systme. # find / -perm +6000 liste prog s'excutant avec droits administrateur
06/12/07 Anas Abou El Kalam - Outils scurit 5

Protection des pwd


L'attaque par dictionnaire Le programme utilise une liste de mots prdfinis dans un fichier externe. Cette liste est appele un dictionnaire ; ces mots sont la plupart du temps ceux provenant d'un dictionnaire contenant les mots du langage courant. Le programme les chiffre un par un et les compare au mot de passe stock. Le brute forcing gnrer des mots de passe avec une suite alatoire de caractres, les chiffrer et les comparer au mot de passe dcouvrir. Tester la fiabilit de vos mots de passe ! John te Ripper (www.openwall.com/john/) Programme libre Sous UNIX & Windows Supporte un grand nombre d'algos de chiffrement prsente un important paramtrage des attaques. LophtCrack Dernires versions payantes, sous Windows ou sur Unix Cain Test fiabilit pwd (Sous Windows 9x, les pwd sont disperss dans le rpertoire racine de windows dans diffrents fichiers d'exention ".PWL" portant comme nom celui de l'utilisateur ou sous win.ini, ...)
06/12/07 Anas Abou El Kalam - Outils scurit 6

La veille : sites d'info ddis la scurit


Le rseau des Computer Emergency Response Teams publie des rapports sur toute nouvelle faille de scurit. Ces quipes peuvent aussi fournir une assistance ne cas de piratage. Descriptions prcises sur des nouvelles failles de scurit; outils scurit ... CERT (www.cert.org) de l'universit de Carnegie Mellon. CERT RENATER (http://www.renater.fr/spip.php?rubrique19/CERT_Renater.htm) Centre d'Expertise gouvernemental de Rponse et de Traitement des Attaques informatiques (http://www.certa.ssi.gouv.fr/) Archives Bugtraq (http://www.bugtraq.com/) Bugtraq France (http://www.bugtraq-france.com/) Packet storm security ( packetstormsecurity.nl) SecurityFocus (www.securityfocus.com fournit un moteur de recherches thmatique pratique pour lister les vulnrabilits lies un logiciel
06/12/07 Anas Abou El Kalam - Outils scurit 7

Outis de scurit
Evaluation & diagnoistic rseau Tcpdump (sniffer) - http://www.tcpdump.org/ Ethereal (sniffer) - http://www.ethereal.com/ DSniff (sniffer) - http://www.monkey.org/~dugsong/dsniff/ Kismet (Wifi) - http://www.kismetwireless.net/ Airsnort (Wifi) - http://airsnort.shmoo.com/ Nessus (scanner) - http://www.nessus.org/ Nmap (scanner de ports) - http://www.insecure.org/nmap/ john (mots de passe) - http://www.openwall.com/john/ Surveillance & supervision Systmes & Rseaux Logcheck - http://logcheck.org/ IPTraf - http://iptraf.seul.org/ IPBand - http://ipband.sourceforge.net/ Nagios - http://www.nagios.org/ Netflow - www.netflowanalyzer.com Durcissement protocoles rseau TCP_wrapper - http://www.ja.net/CERT/Hinxman/ xinetd - http://www.xinetd.org/ Tiger - http://www.net.tamu.edu/network/tools/tiger.html Bastille - http://www.bastille-linux.org/
06/12/07 Anas Abou El Kalam - Outils scurit 8

Outis de scurit
Authentification & autorisation Kerberos - http://web.mit.edu/kerberos/www/ LDAP - http://www.openldap.org/ PAM - http://www.kernel.org/pub/linux/libs/pam/ Radius - http://www.freeradius.org/ ACL - http://www.suse.de/~agruen/acl/linux-acls/online/ Chiffrement GnuPG - http://www.gnupg.org/ SSH - http://www.openssh.com/fr/ OpenSSL Kame/Racoon OpenSwan (IPSec) Gestion des droits & Firewalls IPFilter (FreeBSD) - http://coombs.anu.edu.au/~avalon/ PF (OpenBSD) - http://www.openbsd.org/faq/pf/ Netfilter (Linux) - http://www.netfilter.org/ IPFW - http://www.freebsd.org/doc/en_US.ISO8859-1/ Firewall-1 de CheckPoint Mwall de Matranet Pix de CISCO Netwall d'Evidian 06/12/07 Anas Abou El Kalam - Outils scurit Netasq

Outis de scurit
Proxys & contrle de contenu Squid - http://www.squid-cache.org/ Squidguard - http://www.squidguard.org/ DansGuardian - http://dansguardian.org/ Delegate - http://www.delegate.org/delegate/ AntiVirus & AntiSpams ClamAV (moteur), Mailscanner -Amavisd (email), DansGuardian - SquidClam (navig), mod_clamav (serveur web), ClamWin (poste client), SpamAssassin - http://spamassassin.apache.org/ Razor - http://razor.sourceforge.net/ Sauvegardes & Redondance BackupExe - www.symantec.com/backupexec/index.jsp BackupPC - http://backuppc.sourceforge.net/ Bacula - http://www.bacula.org/ Amanda - http://www.amanda.org/ Rsync (synchronisation) - http://samba.anu.edu.au/rsync/ HA - http://www.linux-ha.org/ Abou El Kalam - Outils scurit 06/12/07 Anas RAID - http://www.freenix.fr/unix/linux/HOWTO/

10

Outis de scurit
IDS Snort (NIDS) - http://www.snort.org/ Prelude (NIDS) - http://www.prelude-ids.org/ AIDE - http://www.cs.tut.fi/~rammer/aide.html Tripwire - http://www.tripwire.org Filtrage niveau 7 / IDS proactifs l7-filter - http://l7-filter.sourceforge.net/index.php.fr Hogwash - http://hogwash.sourceforge.net/oldindex.html flexresp / guardian - cf. Snort Les correctifs anti-dbordement mmoire pour le noyau ++ outils complmentaires au noyau Linux permettent de limiter les possibilits d'excution d'exploits utilisant les bogues de dpassement de mmoire (pile, tas). OpenWall [http://www.openwall.com] grsecurity [http://www.grsecurity.org/]

Plan chapitre 3 Techniques de dfense 1. Conseils 2. Les scanners 2.1. map 2.2. essus 3. Les pare feux / Firewalls 4. Architectures de scurit

06/12/07

Anas Abou El Kalam - Outils scurit

11

06/12/07

Anas Abou El Kalam - Outils scurit

12

La collecte d'information
Mode de fonctionnement du pirate : Avant de mener une attaque, il repre les serveurs offrant des services non protgs. Pour obtenir ces infos, le pirate va utiliser un scanner. Le but de ce section est de savoir utiliser un scanner (e.g., NMAP) pour anticiper les futures attaques prsenter des mthodes de protections contre le scan (en utilisant des rgles de firewalling sous iptables/ipchains par exemple)

La collecte d'information : les scanners


Intrt du scanner trouver dans dlai trs court, tous les ports ouverts sur une machine distante.

Types de scanner certains se contentent juste de donner : la liste des ports ouverts, le type et la version de l'OS tournant sur le serveur (e.g., Nmap) D'autres scanners comme Nessus permettent de tester diffrentes failles connues sur ces services.

06/12/07

Anas Abou El Kalam - Outils scurit

13

06/12/07

Anas Abou El Kalam - Outils scurit

14

Plan chapitre 3 Techniques de dfense 1. Conseils 2. Les scanners 2.1. map 2.2. essus 3. Les pare feux / Firewalls 4.
06/12/07 Anas Abou El Kalam - Outils scurit 15

La collecte d'information : exemple avec map


Utilisons Nmap pour connatre les services en coute sur la machine d'@ IP 192.168.1.1 [root@nowhere.net /root]# nmap 192.168.1.1 Starting nmap V. 2.54BETA31 ( www.insecure.org/nmap/ ) Interesting ports on (192.168.1.1) : (The 1544 ports scanned but not shown below are in state : closed) Port State Service 21/tcp open ftp 53/tcp open domain 80/tcp open http 110/tcp open pop-3 111/tcp open sunrpc 113/tcp open auth 631/tcp open cups 845/tcp open unknown 901/tcp open samba-swat 10000/tcp open snet-sensor-mgmt Nmap run completed -- 1 IP address (1 host up) scanned in 2 seconds.

==> Nmap donne un aperu assez complet des services s'excutant sur la machine dans un temps assez bref. ==> On peut observer dans l'exemple que des serveurs FTP, DNS, WEB, POP-3 ... sont en attente de connexion

06/12/07

Anas Abou El Kalam - Outils scurit

16

La collecte d'info : comment marche map


Nmap envoie de paquets sur tous les ports de cette machine et analyse les rponses. Le scan vanilla TCP connect Nmap procde l'appel de la fonction connect() sur tous les ports de la machine [root@nowhere.net /root]# nmap [ip de la machine cible] ou [root@nowhere.net /root]# nmap -sT [ip de la machine cible] Ce type de scan est facilement reprable. Les scans furtifs Le scan en connexion demi-ouverte ou "Syn-scan" Nmap envoie sur chaque port un paquet TCP avec le flag SYN arm ; si 1 port est ouvert, il renverra un paquet avec flags SYN & ACK arms

map : dtermination OS
[root@nowhere.net /root]# nmap -O 192.168.0.1 Starting nmap 3.48 ( http://www.insecure.org/nmap/ ) Interesting ports on (192.168.0.1): (The 1647 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp 53/tcp open domain 80/tcp open http 113/tcp open auth 139/tcp open netbios-ssn 445/tcp open microsoft-ds 515/tcp open printer 587/tcp open submission 901/tcp open samba-swat Device type: general purpose

Scan FIN envoi paquets TCP avec seulement le flag FIN arm.

[root@nowhere.net /root]# nmap -sS [adresse IP de la machine cible]

Running: Linux 2.4.X


OS details: Linux 2.4.20 - 2.4.21 w/grsecurity.org patch Uptime 76.872 days (since Tue Sep 2 15:20:23 2003) Nmap run completed -- 1 IP address (1 host up) scanned in 7.030 seconds ==> Nmap indique que la machine cible utilise un noyau Linux 2.4.21-grsec

[root@nowhere.net /root]# nmap -sF [adresse IP de la machine cible]

Scan NULL envoi paquets TCP avec seulement le flag NULL arm.
[root@nowhere.net /root]# nmap -sN [adresse IP de la machine cible]

Xmas scan (traduisez le scan de Nol) envoi paquets TCP avec les flags FIN/URG/PUSHV arms.
/root]# Kalam - Outils scurit 06/12/07 [root@nowhere.netAnas Abou Elnmap -sX [adresse IP de la machine cible] 17 06/12/07 Anas Abou El Kalam - Outils scurit 18

Pour FIN, NULL, Xmas : systme rpond avec paquet RST si port ferm et ne rpond pas si port ouvert

map : rsum options utiles


-h -sS -sT, -sU, -O -sV -p -v -F -P0 help Scan TCP SYN pour scanner les ports TCP ouvert pour scanner les ports UDP ouvert permet de connatre le systme dexploitation qui tourne sur la cible Dtection version du service permet de spcifier un port spcifique. qui permet davoir plus dinformations. Scan rapide : seulement ports dans le fichier de services Nmap Scan sans ping

map : rsum options de log


Option de logs
-oN -oX -oG -sA --resume Exemples nmap -oG MonLog.gnmap -oX MonLog.xml -oS 192.168.1.100 Nmap -sA Monlog2 92.168.1.100 Options de traces de packets --packet_trace Nmap affiche dtails packets (@/port source/destination) --version_trace Un sous ensemble du cas 1), seulement dtails sur service affichage cran (normal) log sous forme de fichier XML Log au format Grepable Tous formats de logs Rsum des scans partir de normal (-oN) ou grepable (-oG)

La cible peut tre @ IP, classe d'IP : 192.168.102-125, rseau : nmap 192.168.1.*, masque ... Exemples Pour une utilisation classique : nmap 192.168.1.100 Pour vrifier si le port du ftp est ouvert (port 21) : nmap p 21 192.168.1.100 Pour connatre le systme dexploitation de la cible : nmap O 192.168.1.100 Difficile de retenir toutes ces options ==> utiliser interface graphique nmapfe
06/12/07 Anas Abou El Kalam - Outils scurit 19

06/12/07

Anas Abou El Kalam - Outils scurit

20

map : fichiers
Gnralement dans /usr/share/nmap
nmap.dtd nmap.xsl nmap-protocols nmap-services nmap-services-probes DTD pour les fichiers logs XML de Nmap Feuille de stype XML Fichier texte avec mappage N protocole IP <--> nom Fichier texte avec mappage N ports <--> service Liste de detection des versions des services

map : intrt & protection


Intrt
pouvoir prvoir les futures attaques, pouvoir connatre quels services tournent sur une machine. Une installation faite un peu trop vite peut laisser des services en coute (donc des ports ouverts sans que cela ne soit ncessaire) et donc vulnrables une attaque.

map : comment s'en protger ?


Vrifiez que votre pare-feu (si ce n'est pas iptables) supporte la dtection de scans. Configurer votre pare-feu pour empcher les scans e.g., dtecter l'envoi un grand nombre de paquets TCP avec les flags FIN et/ou SYN et/ou ACK et/ou RST arm(s). iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

06/12/07

Anas Abou El Kalam - Outils scurit

21

06/12/07

Anas Abou El Kalam - Outils scurit

22

Plan chapitre 3 Techniques de dfense 1. Conseils 2. Les scanners 2.1. map 2.2. essus 3. Les pare feux / Firewalls 4.
06/12/07 Anas Abou El Kalam - Outils scurit 23

essus, c'est quoi ?


Nessus est disponible sous Linux et Windows, et il est entirement gratuit. Nessus est un scanner de vulnrabilit de scanner une ou plusieurs machines la recherche des vulnrabilits : erreurs dans le code, backdoors ... Fait des tests de pntration (pen test) Injecter plusieurs attaques pour savoir si une ou plusieurs machines sont vulnrables Il produit un rapport tendu et propose mme des solutions Nessus se compose de partie serveur (nessusd nessusd) contient BD vulnrabilits, en charge des attaques Client Sert d'IHM Processus L'utilisateur se connecte sur le serveur grce au client Authentification utilisateur
06/12/07 Anas Abou El Kalam - Outils scurit 24

L'utilisateur ordonne au serveur de procder aux tests d'une ou plusieurs machines.

essus, installation
Commencez par dcompresser les sources des logiciels
tar -xzvf /o_est/nessus-libraries-1.2.7.tar.gz tar -xzvf /o_est/libnasl-1.2.7.tar.gz tar -xzvf /o_est/nessus-core-1.2.7.tar.gz tar -xzvf /o_est/nessus-plugins-1.2.7.tar.gz

essus : configuration
Avant de lancer le daemon nessusd, il faut rajouter, au moins, un utilisateur et son pwd vant
# nessus-adduser

Possibilit de dfinir ++ users avec droits


# Accept 192.168.1.0/24 # l'utilisateur a droit de scanner uniquement les classes d'adresses # Deny 192.168.1.0/24 # peut scanner tout sauf le rseau : 192.168.1.0/24 # accept client_ip # n'a le droit de scanner que sa machine Ne pas oublier de terminer ses rgles avec default accept ou default deny selon le cas

Compilez et installez nessus-librairies :


cd nessus-libraries/ . cd ../libnasl/ cd ../nessus-core/ cd ../nessus-plugins/
06/12/07

/configure --prefix=/usr make make make

make install make install make install

Compilez et installez libnasl :


./configure prefix=/usr ./configure prefix=/usr ./configure --prefix=/usr make
Anas Abou El Kalam - Outils scurit

Gnrer, le certificat SSL et les cls privs pour le serveur


# nessus-mkcert

Compilez et installez nessus-core : Compilez et installez nessus-plugins :


make install
25

Afficher fichier config (/usr/etc/nessus/nessusd.conf)


nessusd -s

lancer le daemon
/usr/sbin/nessusd -D

Vrifiez06/12/07
ps aux | grep nessusd

Anas Abou El Kalam - Outils scurit

26

#root 16409 0.0 0.6 5400 3452 ? S 19:04 0:00 /usr/sbin/nessusd -D

essus : lancement client


# nessus &

essus : lancement du client


8 onglets. "nessusd host". bouton "Log in" -> se connecter sur hte nessusd SSL se lance ==> prfrence pr 2me option Plugins slectionner plugins utiliser pendant scan. Clic pluging ==> description contenu Cochez, "Enable dependencies at runtime". Credentials permet de fournir ventuellement logins/pws pour accder aux machines tester Options de scan et port scanner assurez-vous d'avoir cocher nmap. Target (Cible scanner) nom d'1 ou ++ htes, spars par des virgules 1 ou ++ @IP, spares par des virgules. classe d'adresse, e.g., : 192.168.0.1/24 grer paramtres U KB (Knowledge base), base de connaissances. affichage page Crdits.

06/12/07

Anas Abou El Kalam - Outils scurit

27

06/12/07

Anas Abou El Kalam - Outils scurit

28

essus : un scan
dans la fentre de nessus, cliquez sur "start the scan" pour lancer le scan.

essus : un scan
Laissez le test se drouler:

Quand le scan est finit, il vous affiche une fentre rcapitulative. En cliquant sur un hte vous obtenez les rsultats de son scan. Clic sur "save report" ==> sauvegarder le rapport dans le format de votre choix. Si vous choisissez html avec graphe, il vous suffit d'indiquer un rpertoire et il crera lui-mme les fichiers html et les images qui vont avec.

06/12/07

Anas Abou El Kalam - Outils scurit

29

06/12/07

Anas Abou El Kalam - Outils scurit

30

essus : un scan
vous pouvez consulter rsultats par machine, sous-rseau, port, svrit...

essus : un scan
Exemple de rapport d'attaques

06/12/07

Anas Abou El Kalam - Outils scurit

31

06/12/07

Anas Abou El Kalam - Outils scurit

32

essus : Post-installation
Lancer nessusd dmarrage de l'ordinateur
rajouter Dans votre /etc/rc.d/rc.local /usr/sbin/nessusd -D

Collecte d'info : ETCAT


Netcat permet d'tablir une connexion (TCP ou UDP) sur un port souhait et d'y envoyer ou d'y recevoir des donnes. [root@nowhere.net /root]# nc 192.168.1.1 21

220 ProFTPD 1.2.5rc1 Server (ProFTPD Default Installation) [neuromancer]


On obtient directement la version du logiciel utilis.

Supprimer un utilisateur
/usr/sbin/nessus-rmuser

Netcat comporte d'autres fonctionnalits (comme l'envoi de scripts ...). Le pirate n'a plus qu' trouver faille applicative sur logiciel correspondant Comment s'en protger ? Retirer les bannires donnant les versions de logiciel et les messages d'aide ou de bienvenue d'un service rseau en coute qui peuvent donner des informations sur votre systme.

informations sur votre installation


/usr/etc/nessus/nessusd.conf

Fichiers logs
/usr/var/nessus/logs/nessusd.messages

Conseil
Utilisez netcat contre vos serveurs pour reprer les services trop bavards.

06/12/07

Anas Abou El Kalam - Outils scurit

33

06/12/07

Anas Abou El Kalam - Outils scurit

34

Collecte d'info : Finger & ident


Le service finger permet d'obtenir des informations sur utilisateurs du systme # finger @machinecible Login Name Tty Idle Login Time Office toto Le toto pts/7 3d Mar 26 20 :43 (case)// root root pts/4 5d May 25 16 :20
Le symbole @ produit le mme effet que l'astrisque pour un listing de rp

Plan chapitre 3 Techniques de dfense 1. Conseils 2. Les scanners 2.1. map 2.2. essus 3. Les pare feux / Firewalls 4. Architectures de scurit
06/12/07 Anas Abou El Kalam - Outils scurit 36

On voit qui est connect sur le systme (toto et root) et depuis quand. finger n'est pas dangereux mais le laisser en coute, sans en avoir rellement besoin, est une grossire erreur. Comment s'en protger ? Sous Linux Il est conseill de dsactiver le service finger dans /etc/inetd.conf
Inetd est un "super-serveur" Internet. Le super-serveur est un programme qui coute les connexions rseau et les redirige vers le programme appropri

Ajouter # devant la ligne relative au service finger. # finger stream tcp nowait root /usr/sbin/tcpd in.fingerd Sous Windows dsactivez le programme associ au service finger. Si vous ne souhaitez pas dsactiver le service finger, configurez votre firewall pour 06/12/07 Anas 35 limiter les accs vers ce service. Abou El Kalam - Outils scurit

Les firewalls : principe


La prolifration des attaques externes et leurs consquences parfois catastrophiques ont pouss les administrateurs rseaux repenser les architectures rseaux pour aller vers des architectures de scurit Ide de base - permettre aux gens au sein de lentreprise de pouvoir accder des ressources partages (ventuellement sur Internet) de faon contrle - cacher en partie la structure interne du rseau de lentreprise => notion de pare-feu (firewall) spare deux rseaux par une fonction de filtrage. un rseau est considr comme "propre" (le rseau interne) lautre non (en principe Internet)

Les firewalls : principe


faire en sorte que seul le trafic (sortant ou entrant soit autoris); le Firewall doit tre un passage oblig en entre et en sortie du rseau interne 2 catgories principales : le filtrage de paquets (packet filters) et le relayage de paquets Filtrage de paquets : routeurs permettant le filtrage des paquets en fonction au moins des adresses IP et des numros de port, source et destination Relayage de paquets Application-Level Gateway : passerelle relayant trafic au niveau des applications Circuit-level Gateway : passerelle relayant trafic au niveau connexions TCP, UDP (au niveau transport)

06/12/07

Anas Abou El Kalam - Outils scurit

37

06/12/07

Anas Abou El Kalam - Outils scurit

38

Les firewalls : Principe


nouveau paquet arrive,
Source & destination ? FW confronte ces infos avec ses rgles et dtermine sil sagit dun paquet en transit , (ne fait que passer d1 interfaces 1 autre) => Passe dans FORWARD paquet adress au FW ==> confront au filtre INPUT Si le paquet sort du firewall cest la chane OUTPUT qui est concerne.

Les firewalls : Principe de I PUT / OUTPUT/FORWARD


INPUT / OUTPUT connexions destination et depuis le firewall lui-mme. Ces connexions peuvent arriver et sortir par diffrentes cartes rseau, mais cest le firewall lui-mme qui est concern par ces filtres. Iptables I INPUT p tcp --dport 80 j ACCEPT autorise les connexions sur le port 80 de la machine concerne. (Serveur Web) Iptables I OUTPUT p tcp --dport 80 j ACCEPT autorise les connexions vers des serveurs sur le port 80 en tcp (le Websurf).

FORWARD : pour filtrer trafic transitant entre deux interfaces rseau. Ex: si paquet est reu par carte connexion Internet et quil doit aller vers serveur de mail par la carte DMZ , alors ce paquet transit dans la chane FORWARD. iptables I FORWARD i eth0 o eth1 j ACCEPT iptables I FORWARD s 14.15.16.21 d 192.168.0.2 j ACCEPT

06/12/07

Anas Abou El Kalam - Outils scurit

39

iptables FORWARD i eth0 s 14.15.16.21 o eth1 d 192.168.0.2 p tcp --dport 80 j ACCEPT

06/12/07

Anas Abou El Kalam - Outils scurit

40

Les firewalls : filtrage de paquets


permet de contrler le flot de paquets suivant un ensemble de critres entre 2 rseaux - effectu par un routeur (dlivr par constructeur ou machine banalise) possdant : DEUX cartes rseau et logiciel lui permettant deffectuer le filtrage - FW applique les rgles de filtrage des paquets sur la base des champs : en-ttes de couche IP (adresse IP source et destination) et transport (N de port UCP ou TCP)

Les firewalls : ex de filtrage de paquets

Rgle implicite : Tout ce qui nest pas autoris doit tre interdit par dfaut

06/12/07

Anas Abou El Kalam - Outils scurit

41

06/12/07

Anas Abou El Kalam - Outils scurit

42

Les firewalls : ex de filtrage de paquets


Les paquets relatifs la requte du client portent comme @ source 1 @ appartenant au 157.159.226.0/25 et ont pour adresse destination ladresse du serveur HTTP 157.159.226.132. Ces paquets sont reus en entre (E) par linterface externe du filtre B. Cette opration autorise par rgle 1 Chaque paquet est rout par B vers linterface Int en sortie (rgle 4) Lors de la rponse du serveur HTTP, les paquets relatifs la rponse portent comme @source l@ du serveur et sont destins qpment ayant mis requte Chaque paquet est reu en entre (E) par linterface Int de B (rgle 3) B route le paquet vers linterface Ext en sortie ce qui est autoris par rgle 2
Question : Supposons 157.159.229.132 fournisse galement telnet, que se passe til si req client ?

Les firewalls : ex de rgles sur routeur CISCO


chaque rgle est appele une ACL (Access Control List) pour chaque paquet donn, lACL rend deux valeurs deny (paquet rejet) permit (paquet peut transiter par le routeur) on associe chaque interface du routeur une ACL qui peut tre du type in (trafic entrant par cette interface) ou out (trafic sortant par cette interface)
@SOURCE NETMASK

Routeur(config)# access-list 1 permit 172.16.0.0 0.0.255.255 Routeur(config)# interface ethernet 0 la rgle 1 est applique aux Routeur(config-if)# ip access-group 1 out paquets sortants de linterface 0

PAQUET TCP

@SOURCE

@DEST

PORT DEST

#
06/12/07 Anas Abou El Kalam - Outils scurit 43

access-list 101 deny tcp 172.16.4.0 0.0.255.255 172.16.3.0 0.0.0.255 eq 21


06/12/07 Anas Abou El Kalam - Outils scurit 44

Les firewalls : exemple d'iptable - syntaxe


Iptables [PIADR] [INPUT|FORWARD|OUTPUT] . . . j [LOG|DROP|ACCEPT| MASQUERADE]
-I = insert rule, on ajoute une rgle en tte du filtre. -A = append rule, on ajoute une rgle la fin du filtre. -D = delete, on efface une rgle. -R = replace, on remplace un rgle. -L = list, on liste une chane. -F = flush, on efface les rgle dune chane. -P = Policy, raction par dfaut.

Les firewalls : ex de rgles avec iptables


Iptables -t filter -A FORWARD -i eth1 -s a.b.c.0/24 ...
Paquet suppos traverser FW Paquet entrant par eth1 Paquet dont @ srce fait partie du rseau ...

... -d e.f.g.0/24
Paquet dont @ dest fait partie du rseau ....

-p

tcp

--destination-port 23 -j DROP
Paquet rejet

Paquet dest de telnet

syntaxe servant prciser les rgles * -s ip source // -d ip cible * -sport port source // -dport port destination * -p type de protocol (tcp/udp/ ) * -m type de match (par exemple state) * --state (NEW, ESTABLISHED, RELATED) 06/12/07 Anas Abou El Kalam - Outils scurit 45

06/12/07

Anas Abou El Kalam - Outils scurit

46

Les firewalls : exemples d'iptable


iptables I INPUT s 12.13.14.15 j DROP

Les firewalls : exemples d'Iptable


Je souhaite pouvoir hberger un dns/mail/http/ftp sur ma machine qui fait aussi firewall :

Dgage tous les paquets provenant de 12.13.14.15 destination du firewall iptables I OUTPUT p tcp --dport 80 d 12.13.14.15 j ACCEPT Autorise le firewall se connecter en port 80 sur 12.13.14.15 uniquement. iptables F INPUT Vide les rgles du filtre INPUT iptables P INPUT DROP Rgle la politique par dfaut drop sur le filtre INPUT Dans tous les cas, il faut rgler la politique par dfaut DROP sur tous les filtres et ensuite accepter seulement les flux licites : iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP De cette faon, si vous avez oubli une rgle, dans le pire cas le paquet sera drop, mais il natteindra pas sa destination. En gros tout ce qui nest pas explicitement autoris est interdit.
06/12/07 Anas Abou El Kalam - Outils scurit 47

Mail : DNS : http : ftp :

iptable i INPUT p tcp --dport 25 j ACCEPT iptable i INPUT p udp --dport 53 j ACCEPT iptable i INPUT p TCP --dport 80 j ACCEPT iptable i INPUT p TCP --dport 21 m state --state NEW j ACCEPT iptable i INPUT p TCP --dport 20 m state --state RELATED j ACCEPT

Pouvoir hberger un dns/mail/http/ftp sur une machine ddi autre que le FW

iptables t nat I PREROUTING d [ip FW] p tcp --dport 25 j DNAT to [ip priv serv mail] iptables t nat I POSTROUTING s [ip priv serv mail] p tcp --sport 25 j SNAT to [ip FW]

06/12/07

Anas Abou El Kalam - Outils scurit

48

Les firewalls : La technique de stateful inspection


Le filtrage simple de paquets ne s'attache qu' examiner les paquets IP indpendamment les uns des autres, ce qui correspond au niveau 3 du modle OSI. Or, la plupart des connexions reposent sur le protocole TCP, qui gre la notion de session, afin d'assurer le bon droulement des changes. de nombreux services (le FTP par exemple) initient une connexion sur un port statique, mais ouvrent dynamiquement (de manire alatoire) un port afin d'tablir une session entre la machine faisant office de serveur et la machine cliente.

Les firewalls : La technique de stateful inspection


le filtrage de type stateful inspection, (existe dans tous FW march) consiste filtrer inspection des paquets dont on mmorise le contexte ==> le datagramme IP ne doit pas tre analys de faon isol mais il faut tenir compte du contexte dans lequel il est mis ==> assurer un suivi des changes, i.e., tenir compte de l'tat des anciens paquets pour appliquer les rgles de filtrage ==> partir du moment o une machine autorise initie une connexion une machine situe de l'autre ct du pare-feu, l'ensemble des paquets transitant dans

==> Impossible avec filtrage simple de paquets de prvoir les ports laisser passer ou interdire Pour y remdier, le systme de filtrage dynamique de paquets est bas sur l'inspection des couches 3 et 4 du modle OSI, permettant d'effectuer un suivi des transactions entre le client et le serveur
06/12/07 Anas Abou El Kalam - Outils scurit 49

le cadre de cette connexion seront implicitement accepts par le pare-feu. - le firewall maintient donc une table des connexions ouvertes et lorsquun nouveau paquet arrive, regarde sil fait partie dune connexion avant de lui appliquer les rgles - le firewall est galement capable danalyser les paquets jusquau niveau applicatif

06/12/07

Anas Abou El Kalam - Outils scurit

50

Les firewalls : La technique de stateful inspection


- exemple dune connexion ftp (mode passif)

Les firewalls : La technique de stateful inspection


- exemple de rgles avec le packet filter d'OpenBSD

- sans stateful inspection, il faut laisser passer tous paquets destination de port > 1024 sur le serveur (on ne sait pas priori quel port va choisir le serveur) - avec stateful inspection, le port choisi par le serveur pour lchange des donnes est mmoris par le firewall et seul ce port est ouvert
06/12/07 Anas Abou El Kalam - Outils scurit 51

=> la mme rgle est applique aux autres paquets de la connexion : inutile donc de spcifier des rgles pour les paquets retour !!

06/12/07

Anas Abou El Kalam - Outils scurit

52

Les firewalls : La technique de stateful inspection


un autre exemple avec Conntrack
# iptables -P INPUT DROP # iptables -A INPUT -i ! eth1 -j ACCEPT # iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT Supponsins que l'on veuille faire du ssh vers hote.distant.com Aprs avoir lanc ssh hote.dist.com, notre machine envoie paquet pour tablir connexion Ce paquet particulier est dans l'tat NEW, et notre pare-feu le laisse passer, puisque nous bloquons seulement paquets qui entrent dans notre FW, pas ceux qui en sortent. La rponse de hote.distant.com passe par notre chane INPUT Il ne correspond pas 1re rgle (car arrive de eth1) donc passe 2nd& dernire rgle FW reconnat en 1er que ce paquet fait partie d'une connexion existante Puisqu'il s'agit d'un paquet entrant, FW vrifie si cette connexion a dj eu du trafic sortant et trouve que c'est le cas (le paquet NEW initial que nous avons envoy). paquet entrant est class ESTABLISHED, comme le seront tous les futurs paquets
06/12/07 Anas Abou El Kalam - Outils scurit reus ou envoys qui seront associs avec cette connexion. 53

Les firewalls : La technique de stateful inspection


parrer aux attaques d'IP spoofing
Eliminer tous les paquets entrant avec comme adresse source une adresse interne Solution ? Ex lignes ajouter soit au script de FW, soit dans script qui active vos interfaces

for x in lo eth0 eth1 do echo 1 > /proc/sys/net/ipv4/conf/${x}/rp_filter done


Autre solution (contexte : Passerelle IP entre WAN et LAN usage domestique) # En entre du WAN : iptables -A filter_from_wan -s 192.168.0.0/16 -j DROP iptables -A filter_from_wan -s 172.16.0.0/12 -j DROP # En sortie vers le WAN : iptables -A filter_to_wan -d 192.168.0.0/16 -j dest_unreachable
06/12/07 Anas Abou El Kalam - Outils scurit 54

Paquet accept

iptables -A filter_to_wan -d 172.16.0.0/12 -j dest_unreachable

Les firewalls : La technique de stateful inspection


parrer aux attaques
fragmentation (Tiny ou Overlapping) (Tiny Overlapping) Eliminer paquets possdant le champ fragmentation offset 1 lattaque du type "Ping of Death" Interdire trafic ICMP les attaques DNS interdire tout accs direct au serveur DNS (ncessite une mise en oeuvre dautres mcanismes, e.g., authentification)

Les firewalls : La technique de stateful inspection


Avantages - concept simple - compltement transparent pour lutilisateur interne ou externe (aucune modification de sa machine ou de ses logiciels) - rapide Inconvnients - difficults paramtrer la configuration de faon cohrente (certains logiciels ne grent pas la cohrence des rgles !!) - pas de mcanisme dauthentification

06/12/07

Anas Abou El Kalam - Outils scurit

55

06/12/07

Anas Abou El Kalam - Outils scurit

56

Firewalls : Relayage de paquets (application-level gateway)


Principe
- permet dtablir un relai entre le rseau internet et le rseau externe en se basant sur le contenu des messages au niveau applicatif - bas sur le principe de l'authentification : un U externe demande une connexion TCP/IP la passerelle, qui lauthentifie et qui, en cas de succs, contacte lapplication que lutilisateur demande - ncessite la collaboration de la part des systmes finaux => exemple : utilisation dun serveur proxy cache http pour sortir sur internet depuis un rseau interne ; il est ncessaire sur le poste client de modifier la configuration du browser pour quil utilise bien le serveur http interne

Firewalls : Relayage de paquets (application-level gateway)


Exemple de connexion
Dans un premier temps, l'utilisateur externe envoie une demande de connexion la passerelle par l'intermdiaire d'un outil TCP/IP comme telnet ou FTP . Suite cette requte, la passerelle va requrir une identification, e.g., par le renseignement d'un mot de passe ou d'un autre systme d'authentification. Aprs vrification, Si l'utilisateur est reconnu, la connexion est tablie avec l'application par l'intermdiaire d'un numro de port prdfini. Sinon, la requte est rejete.

06/12/07

Anas Abou El Kalam - Outils scurit

57

06/12/07

Anas Abou El Kalam - Outils scurit

58

Firewalls : Relayage de paquets (application-level gateway)


Avantages
- plus haut niveau de scurit que le simple filtrage de paquets => mcanisme dauthentification et de logging spcifique sur le relai l'authentification ne s'effectue pas uniquement par rapport des @ IP ou N port, mais sur l'identit mme d'1 individu (quelque soit la machine qu'il utilise). Plus lgre que la prcdente, car seuls les flux concernant les applications autorises (souvent peu nombreuses) filtrer sont contrls. Trs simple mettre en place, car elle ne ncessite que de renseigner quelles applications peuvent tre utilises ou non travers le firewall.

Firewalls : Relayage de paquets (circuit-level gateway)


Principe
- permet dtablir un relai au niveau transport - empche ltablissement dune connexion TCP (ou UDP) point point => tablissement de deux connexions diffrentes : la premire dans le rseau protg avec la machine interne et la seconde avec la machine externe

Intrt
Masquer ce qui se passe derrire le firewall le rseau interne est totalement invisible pour le domaine externe

Inconvnients
- overhead introduit peut tre important (pas vrai dans le cas dun proxy http qui, au contraire, en se comportant en cache, peut amliorer les performances) - pas toujours possible deffectuer des contrles car le contenu de la transaction nest
06/12/07 Anas Abou El Kalam - avec SSL) pas toujours visible (par exemple, sil est chiffr Outils scurit 59 06/12/07 Anas Abou El Kalam - Outils scurit 60

Firewalls : Relayage de paquets (circuit-level gateway)


caractristiques
Les Circuit-Level Gateways sont moins connus que les deux premiers et sont le plus souvent combins avec un Application-Level Gateway en fait c'est une dclinaison, une fonctionnalit offerte par le second type de FW Aucun filtrage, ni contrle du service n'est ralis entre les deux connexions TCP, la passerelle est simplement assimile un tuyau de communication. ==> De ce fait l'administrateur doit avoir une totale confiance dans les utilisateurs du parc de machines dont il a la responsabilit.

Les firewalls : rgles de bon usage

Un firewall doit tre imprenable car sinon votre rseau entier est compromis. Rgle de base : tout refuser et ensuite de naccepter que les flux ncessaires. Un FW efficace doit possder ++ interfaces rseau pour pouvoir faire filtrage fine entre plusieurs zones. Lidal cest qu chaque zone du SI corresponde une interface. Ex, une pour la connexion internet, une pour la DMZ (serveurs visible depuis Internet, possdant IP Publique), et

Toutefois, tant plus souple, ils sont souvent utiliss comme protection pour les communications sortant du rseau local pour aller vers l'extrieur. Les connexions entrantes sont alors protges par une passerelle d'application trs restrictive.
06/12/07 Anas Abou El Kalam - Outils scurit 61

une pour le LAN. Plus la granularit est fine, meilleure la scurit sera.

06/12/07

Anas Abou El Kalam - Outils scurit

62

Les firewalls : rgles de bon usage


Filtrage au niveau IP limiter l'accs votre rseau des U connus utilisant une @ IP statique rejeter toutes les autres requtes venant d'U utilisant @ IP non autorise. Fermez tous les ports en coute sur les diffrents serveurs et ouvrez seulement ceux dont vous avez besoin. Filtrez ces ports (rejetez autres requtes sur autres ports que ceux en coute) Empchez toutes les connexions sortantes sur des services non autoriss. dfinir nombre limit de services auxquels les serveurs et les clients peuvent accder (mail, ftp, web...). Ensuite, configurer le firewall pour rejeter les connexions depuis l'intrieur vers l'extrieur sur des services diffrant de ceux dfinis.
06/12/07 Anas Abou El Kalam - Outils scurit 63

Les firewalls : ATTAQUES CO TRE ...


dterminer rgles actives sur FW savoir quels ports ne sont pas filtrs. Par ex [root@nowhere.net /root]# nmap 192.168.1.2 Starting nmap V. 2.54BETA31 ( www.insecure.org/nmap/ ) Interesting ports on (192.168.1.2) : (The 1549 ports scanned but not shown below are in state : closed) Port State Service 21/tcp filtered ftp 22/tcp filtered ssh 111/tcp open sunrpc 515/tcp open printer 1024/tcp open kdm Nmap run completed -- 1 IP address (1 host up) scanned in 1 second ==> Les ports 21 (ftp) et 22 (ssh) sont filtrs.

06/12/07

Anas Abou El Kalam - Outils scurit

64

Les firewalls : ATTAQUES & PARADES


Protgez-vous contre le scanning firewalking
Firewalk est un outil de reconnaissance active de la scurit rseau essaye de dterminer protocoles (de couche 4) qu'une console d'IP forwarding poura passer. Il dtermine Nbre routeurs entre machines source et cible (situe derrire FW). Ensuite, il envoie des paquets tests (TCP, UDP) avec un TTL gal ce nombre de routeurs + 1. Si le paquet est accept, il traverse le firewall et on obtient une rponse. Sinon paquet est bloqu par l'ACL du FW, il sera abandonn et aucune rponse ne sera envoy ou bien un paquet de filtre admin ICMP de type 13 sera envoy.

Les firewalls : Firewalking


Exemples [root: ~]# firewalk -pTCP -S135-140 10.22.3.1 192.155.7.1 Ramping up hopcounts to binding host ... probe: 1 TTL: 1 port 33434: expired from [....] probe: 2 TTL: 2 port 33434: expired from [....] probe: 3 TTL: 3 port 33434: Bound scan at 3 hops [....] port 137: open port 138: open port 139: * port 140: open

Syntaxe

firewalk -p [protocol] -d [destination_port] -s [source_port] [internal_IP] [gateway_IP]


Options -d 1-65535 -h -i Interface_name -n -P 1-2000 -p TCP,UDP -r -S 1-65535, (1-130,139,1025)
06/12/07

Parade
Bloquer les paquets ICMP TTL EXPIRED au niveau de l'interface externe, mais le problme est que ses performances risque d'en prendre un srieux coup car des clients se connectant lgitimement ne seront jamais ce qui est arriv leur connexion

Anas Abou El Kalam - Outils scurit

spcifie le port destination initial utiliser lors de la phase de ramping help. Specifie interface utiliser pas de rsolution IP <-> hostnames faire une pause, afin d'viter de flooder le rseau Type de scan excuter conformance stricte la RFC 793 ports scanner

65

06/12/07

Anas Abou El Kalam - Outils scurit

66

Les firewalls : C/C


il ne suffit pas dutiliser un firewall du type filtre de paquets ou passerelle applicative il faut ensuite prvoir une topologie de protection qui consiste en une configuration (parfois complexe) de larchitecture rseau en utilisant souvent plusieurs catgories de firewall - on peut citer trois configurations titre dexemple : + Screened host firewall system (single-homed bastion host) + Screened host firewall system (dual-homed bastion host) + Screened-subnet firewall system

Plan chapitre 3 Techniques de dfense 1. Conseils 2. Les scanners 2.1. map 2.2. essus 3. Les pare feux / Firewalls 4. Architectures de scurit

06/12/07

Anas Abou El Kalam - Outils scurit

67

06/12/07

Anas Abou El Kalam - Outils scurit

68

Architectures & scurit

Architectures & scurit


Screened host firewall system with single-homed bastion host
Cette architecture se compose de deux systmes : un filtrage de paquets et une passerelle d'application, aussi appele Bastion host .

Mme machine pour servs web, messagerie et partage de connexion Internet. machine connecte directement Internet. ==>aucune forme de scurit : connexion non-scurise !!

06/12/07

Anas Abou El Kalam - Outils scurit

69

06/12/07

Anas Abou El Kalam - Outils scurit

70

Architectures & scurit


Screened host firewall system with single-homed bastion host
- une machine bastion (bastion host) est un firewall de niveau application dont le rle est critique pour la scurit globale du systme => cette machine a en gnral une version de systme dexploitation particulirement scurise et spcifiquement protge contre certaines attaques - seuls les paquets en provenance et destination du bastion host sont autoriss - la bastion host agit comme proxy et effectue une authentification "muscle" Pbmes : la robustesse du premier filtrage, le filtrage de paquets, est primordiale en cas de panne, le rseau interne entier sera compromit. l'accs direct Internet est plus complexe, car ncessite le passage par la passerelle. Pour l'allger et dans le cas o un trs haut niveau de scurit n'est pas requit, le systme peut laisser filtrer les paquets en direction du port affect au serveur Web
06/12/07 Anas Abou El Kalam - Outils scurit 71

Architectures & scurit


Screened host firewall system with dual-homed bastion host
Elle est toujours constitue de deux systmes, correspondant un filtrage par paquets et une passerelle d'application. Toutefois cette solution exploite 2 ports de connexion (interfaces rseau) diffrents L'intrt d'utiliser deux ports physiques distincts est de protger le rseau priv contre une panne du systme de Packet-Filtering. En effet, le SW est coup du rseau interne et doit ncessairement passer par la passerelle pour y accder : l'isolation est donc totale.

06/12/07

Anas Abou El Kalam - Outils scurit

72

Architectures & scurit


Screened subnet firewall system
Elle se dcompose en trois systmes : deux filtrages de paquets et une passerelle d'application. DMZ = zone tampon o sont installs les lments pouvant porter prjudice scurit du rseau priv, en cas de panne. e.g., passerelle d'application SW, serv POP ... trois niveaux de protection : passage par un Packet-Filtering, puis une Application Gateway avant de finir par un nouveau filtrage de paquets

Architectures & scurit


Screened subnet firewall system
Elle se dcompose en trois systmes : deux filtrages de paquets et une passerelle d'application (machine bastion). DMZ = zone tampon o sont installs les lments pouvant porter prjudice scurit du rseau priv, et dont la chute ne mettra pas en cause le rseau interne trois niveaux de protection : passage par un Packet-Filtering, puis une Application Gateway avant de finir par un nouveau filtrage de paquets

06/12/07

Anas Abou El Kalam - Outils scurit

73

06/12/07

Anas Abou El Kalam - Outils scurit

74

Architectures & scurit


Screened subnet firewall system
si la machine bastion est attaque, il est plus difficile dexploiter ensuite cette machine (2ime niveau de filtrage) le routeur externe ne permet laccs qu la DMZ; de cette faon, le rseau interne est invisible depuis lextrieur autorise les accs sur les SW/messagerie (depuis RL comme depuis ext), mais empchera tentatives de connexion sur autres services Routeur interne empche toute connexion de l'extrieur vers RL, et autorisera seulement connexions depuis RL sur nbre limit de services les accs directs de l'intrieur vers l'extrieur sont interdits

Architectures & scurit


Limites des firewall
80% des problmes (intentionels ou pas) de scurit proviennent de l'intrieur Un U interne peut, par ex, ouvrir une connexion dite parallle vers l'extrieur par l'utilisation d'un modem (connect une machine du rseau priv). Cette nouvelle connexion permet donc l'information de filtrer sans passer par le systme de protection mis en place. Il peut galement introduire types de supports externes, comme des cls USB, des CD-ROM ou autres disquettes et ainsi copier des donnes non filtres Abus de privilges Certains contenus ne sont pas contrls par "firewall" FW ne peut empcher le passage de programmes boggs ou corrompus par un virus En effet, que ce soit au niveau du filtrage de paquets ou au niveau de l'authentification applicatif, le contenu des donnes envoyes, une fois la connexion tablie, n'est jamais filtr directement par la barrire.

06/12/07

Anas Abou El Kalam - Outils scurit

75

Donnes chiffres,

06/12/07

Anas Abou El Kalam - Outils scurit

76

Architectures & scurit : les IDS


Sonde NDIS entre FW et RL et dans DMZ. Si un pirate venait envoyer requtes suspectes/exploits, les NIDS gnre alarme (de l'intrieur ou de l'extrieur). Manager NDIS se situera dans le rseau local. 1 machine / service

Architectures & scurit


Zone de dcontamination entre Internet et le rseau interne. Zone de dcontamination car permet de dtecter des signatures d'attaques dans les flux de donnes provenant d'Internet et d'viter la propagation dans le reste du rseau. Contient analyseurs de contrle de contenu, antivirus et autres utilitaires surveillant (IDS) Tous les flux entrants et sortants passeront par cette zone de dcontamination. Ces proxys applicatifs peuvent prendre la dcision de couper la connexion en cas d'attaques ou de simplement rejeter la demande. Pour le rseau local, nous le subdiviserons en sous-rseaux, chaque sous-rseau possdera un NDIS (sonde + manager). Ces sous-rseaux seront relis entre eux par des switchs. Utilisation de tunels ...

06/12/07

Anas Abou El Kalam - Outils scurit

77

06/12/07

Anas Abou El Kalam - Outils scurit

78

Vous aimerez peut-être aussi