Outils Open Source pour
l'audit et la s curisation des
syst mes d'information
Source : ANSI
Plan de la pr sentation
Introduction
Firewall
Proxy
Authentification
IDS
Host IDS
AntiSpam
Antivirus
Outils dadministration
Scanner de vuln rabilit
Outils de gestion des log
Honey Pot
Cryptage de communication
S curit et logiciels libres
Avantages :
libert de correction et d'adaptation importante
audit du code source possible (contre
failles,backdoor)
ind pendance et respect des standards
dur e de vuln rabilit (pas le nombre, ni la
gravit )
Inconv nients :
inertie sur les IDS et les scanners
pas d'antivirus
Logiciels libres pour la s curit
Pr vention
xinetd, pam, chroot , services et daemons
Protection
NetFilter, IP-Filter, Packet Filter, Squid,Squidguard,
GnuPG, OpenSSL, OpenSSH
D tection (et valuations)
Syslog-ng, Logcheck, IPPL, IPTraf, MRTG, Snort,
Prelude, Nessus, Nmap, AIDE
Correction (et r ponses)
INTERNET
nPr sentation:
Filtre de paquets du noyau Linux 2.4 et successeur
dIPchains (Linux 2.2)
Firewall stateful inspection (et Stateless packet filtering
pour IPv6)
Utilise le NAT et le PAT pour partager lacc s Internet
Notion de transparent proxies
Permet de mettre en place des QOS sophistiqu s
NetFilter
Fonctionnalit de filtrage IP standard
Param tres de filtrage
Interface r seau : entr e ou sortie
Adresses IP (source et destination) : h te ou sous-r seau
Champs de len-t te IP (Fragmentation,TOS et TTL)
Protocoles de niveau 4 : TCP, UDP et ICMP (Ports source et
destination (TCP et UDP), Drapeaux (TCP),Types et codes (ICMP) )
Actions
Autoriser
Bloquer
Rejeter (message ICMP ou segment TCP avec drapeau RST)
NetFilter
Filtrage Stateful inspection
Principe
Filtrage dynamique, en conservant des tats pour les communications en cours
Seuls des paquets correspondants un tat d j existant sont accept s
Protocole
TCP : Segments appartenant une connexion TCP en cour
UDP : Datagrammes en r ponse un datagramme UDP mis - Messages ICMP derreur
ICMP : Messages ICMP en r ponse un message ICMP mis
Options permettant de comparer le trafic aux tats
NEW : cr ation dun nouvel tat
ESTABLISHED : paquet appartenant une connexion d j tablie
RELATED : paquet li une connection en cours
Message ICMP derreur
Trafic li au fonctionnement dun protocole applicatif
INVALID : paquet non identifi parmi les communications en cours
Strat gie
Cr er un tat au d but de communication avec NEW
Accepter les paquets li s aux communications en cours
ESTABLISHED
RELATED
NetFilter
Translation dadresses et de ports
Translation dadresses
Uni-directionnelle (en sortie) : adresses priv es en adresse(s) publique(s) avec possibilit
de changer le port source
Bi-directionnelle : adresse publique en une adresse et r ciproquement
Redirection de ports
Redirection dun port en entr e vers un autre, en modifiant ladresse de destination ou
non
Les cha nes de netfilter
R gles de filtrage plac es dans des cha nes
Cha ne : sous-programme
R gles de filtrage : instructions
Une des 3 cha nes standards est obligatoirement travers e :
INPUT : paquets destination de la machine locale
OUTPUT : paquets mis par la machine locale
FORWARD : paquets transitant par la machine locale
NetFilter
Outils de g n ration de Script
FwBuilder : www.fwbuilder.org/
PHP Firewall Generator : http://phpfwgen.sourceforge.net
Easyfwgen : easyfwgen.morizot.net/gen/ (On-Line)
Advertisement
GIPTables Firewall : www.giptables.org
NetFilter
Exemple de script
IFACE=eth0
MYLAN=192.168.1.0
MYWKS=192.168.1.1
MYDNS=192.168.1.2
MYADDR=192.168.1.3
Effacer les cha nes standards
iptables -F
Bloquer le trafic ( par d faut)
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
Stateful inspection
iptables -A OUTPUT -i $IFACE -m state --state ESTABLISHED, RELATED -j ACCEPT
iptables -A INPUT -i $IFACE -m state --state ESTABLISHED, RELATED -j ACCEPT
Administration par SSH
iptables -A INPUT -i $IFACE -p tcp -s $MYWKS --sport 1024:65535 -d $MYADDR --dport 22 \
-m state --state NEW -j ACCEPT
R solution DNS
iptables -A OUTPUT -i $IFACE -p udp -s $MYADDR --sport 1024:65535 -d $MYDNS --dport 53 \
-m state --state NEW -j ACCEPT
Surveillance avec ping(1)
iptables -A OUTPUT -i $IFACE -p icmp -s $MYADDR --icmp-type echo-request -d $MYLAN \
-m state --state NEW -j ACCEPT
INTERNET
Pr sentation:
SQUID est Un serveur "proxy" permet de partager un
acc s Internet entre plusieurs utilisateurs avec une seule
connexion.
SQUID propose galement un m canisme de cache des
requ tes, qui permet dacc der aux donn es en utilisant
les ressources locales au lieu du web, r duisant les temps
dacc s et la bande passante consomm e.
SQUID permet le cache des protocoles HTTP, ftp, gopher,
etc. Il supporte galement SSL, les contr les dacc s, le
cache de DNS et fournit une trace compl te (log) de
toutes les requ tes.
SQUID
Contr le dacc s
Limiter lacc s des plages horaires particuli res, fournir des
informations depuis le cache, autoriser seulement certains sites ou
groupes de sites, etc... Squid dispose pour ces contr les de deux types
de composants : les l ments ACL (Access Control List) et la liste
dacc s. Une liste dacc s, autorise ou refuse lacc s au service.
Ci-dessous quelques uns des plus importants l ments ACL
src : Source c- -d. ladresse IP du client
dst : Destination c- -d. ladresse IP du serveur
srcdomain : Source c- -d. le nom de domaine du client
dstdomain : Destination c- -d. le nom de domaine du serveur
time : Heure du jour et jour de la semaine
url_regex : Expression r guli re d crivant une cat gorie dURL
urlpath_regex: Expression r guli re d crivant un ensemble dURL sans le protocole ni le nom dh te
proxy_auth : Proc d externe dauthentification dun utilisateur
maxconn : Nombre maximum de connexions pour une adresse IP cliente
On peut associ nombre de logiciels squid (filtrage, statistiques,
supervision,...). Un d s plus indispensables SquidGuard un redirecteur qui
utilise la librairie Berkeley Database de sleepycat
SquidGuard
Caract ristiques :
Il permet de diff rencier la transformation suivant :
L'adresse de la machine
L'identit de l'utilisateur
L'URL ( videmment)
L'horaire de la consultation
La classe de redirection (par exemple on peut d finir une classe publicit , une classe
adult, etc...)
SquidGuard permet :
Limiter lacc s d un nombre dutilisateurs un ensemble de serveurs web ou url accept
(connu lavance).
Bloque lacc s une liste de serveurs web ou URLs : Blacklist
Bloque lacc s des URLs correspondant (matching) avec une liste dexpression
r guli re ou une liste de mot cl
Renforce lutilisation des nom de domaine/Interdit lutilisation dadresse IP dans les URLs
Red rige les adresses bloqu es vers une page dinfo base de CGI.
Red rige les utilisateurs non enregistr vers un formulaire denregistrement.
Red rige des t l chergements de fichiers fr quents vers des copies locales.
Il dispose de plusieurs r gle se basant sur le temps, la date &
Affecte des r gles pour des groupes dutilisateurs
INTERNET
OpenLDAP
Pr sentation dOpenLDAP
OpenLDAP est un annuaire gratuit et peut tre install sur tout type de
plate-forme, y compris Windows et les principaux Unix, dont Linux bien
s r. Toutes les distributions Linux offrent en standard la possibilit de
linstaller.
Son code source est accessible et il est possible de faire voluer le
serveur dannuaire en fonction des besoins. On trouve par exemple des
extensions permettant dint grer OpenLDAP avec Kerberos, Radius, et
tout autre m canisme dauthentification.
Et enfin, OpenLDAP est totalement int gr Linux. La plupart des
distributions Linux ont adopt OpenLDAP comme annuaire de r f rence,
et offre une version compil e et pr te lemploi de celui-ci.
Advertisement
OpenLDAP peut tre utilis pour g rer les utilisateurs du syst me
dexploitation, et partager ainsi un m me r f rentiel avec les applications
fonctionnant sous Linux et livr avec le syst me, comme Samba, NIS,
etc.
OpenLDAP
Les services offerts par OpenLDAP
OpenLDAP offre les fonctions standards dun annuaire conforme la norme LDAP
v3. Il supporte donc le protocole LDAP V3 aussi bien en IPv4 quen IPv6.
Il supporte aussi le protocole SASL (Simple Authentication and Security Layer) pour
lauthentification et la s curit . SASL permet une application de sauthentifier
lannuaire en utilisant divers m canismes dauthentification forte comme DIGEST-
MD5, EXTERNAL, et Kerberos 5 (GSSAPI). Ces m canismes sont extensibles et il est
possible de rajouter un m canisme sp cifique, comme lusage dune carte puce, tout
en assurant une parfaite compatibilit avec le standard LDAP v3.
OpenLDAP supporte le protocole TLS (Transport Layer Security) qui permet dassurer
le chiffrement et lint grit des donn es chang es avec lannuaire.
OpenLDAP offre des fonctions de gestion des autorisations, permettant de contr ler
lacc s aux entr es et aux attributs en fonction du profil de lutilisateur connect
lannuaire.
OpenLDAP autorise la r plication multi-ma tre et ma tre-esclave, assurant ainsi une
meilleure disponibilit de lannuaire et une r partition de charge sur diff rentes
instances de lannuaire, situ es sur une ou plusieurs machines.
Port mirorring
INTERNET
OpenLDAP
Pr snetation:
Syst me de d tection d'intrusion r seau (NIDS)
Portable sur plusieurs types de plateformes
Installation et configuration simples
D tection en temps r el et puissante
Fonctionnalit s:
D tection au niveau des protocoles :
- IP TCP UDP - ICMP
D tection d'activit s anormales
Stealth scan
Code ICMP "invalide"
_ . . .
_ D couverte d'empreinte d'OS
Pr -processeur HTTP (attaque CGI)
D tection des petits fragments
D tection de d nis de service
D tection de d bordement de buffer
Snort
criture de r gles:
Langage de description simple et facile utiliser
Une r gle doit tre imp rativement crite sur une seule ligne
La combinaison de r gles est autoris e
Variables de substitutions accept es
Possibilit de faire r f rence des fichiers de r gles s par s
Exemple de r gle:
Alert tcp any any -> 192.16.1.0/24 any (flags:SF; msg:"Possi. SYN FIN scan";)
Enregitrement des logs:
Le fichier alert (-d)
Un fichier sp cifique par attaque (logto)
Un r pertoire sp cifique (-l)
Le r pertoire /var/log/snort (-s)
L'enregistrement dans un r pertoire s'effectue par adresse IP de
machines sources et/ou destinations
Snort
Les logs (suite)
Visualisation des fichiers de log
R gle :
alert TCP any any -> $MY_NET any (msg:"NMAP TCP ping !"; flags: A; ack: 0;)
date
heure
protocole
port source
@IP source
@IP dest
port dest
drapeaux
temps de
vie restant
type de
service
n s quence
en hexad cimal
n d'ordre dacquittement
en hexad cimal
n d'ordre d'identification
du paquet
Snort
On peut ajouter des modules (plug-in) sornt
Flexresp (int grer) : pour bloquer une connexion par TCP/RST
Snort-Inline : cest une modification de snort pour le rendre en
mode actif (r ponse en temps r elle une intrusion)
Guardien pour crire des r gle dans le firewall Iptables
SnortSnarf : Gestion des log pour snort, permet de visualiser via
interface web des signatures d tect es (par machine) et de
visualiser les paquets fautifs
SendMail
Zone des Serveurs
Apache
Port mirorring
INTERNET
OpenLDAP
AIDE est un HIDS : Host-based Intrusion Detection System. Il s'agit
d'un clone am lior de Tripwire.
AIDE permet de construire une base de signatures (utilisant des
algorithmes d'empreinte cryptographique) de fichiers que l'on d sire
surveiller, et de re-calculer ces empreintes p riodiquement ou au
besoin, en les confrontant la base.
V rifier si les empreintes sont diff rentes (au niveau du fichier, de
Advertisement
sa date, de ses droits d'acc s, de son inode ...), AIDE aura ou pas
d tect une modification de fichiers.
AIDE est tr s utile en cas d'intrusion, afin de d couvrir ce qui a t
chang (journaux modifi s, fichiers ajout s certains endroits,
binaires comme netstat, lsof, who, sshd modifi s, fichiers de
configuration, pages web, etc.).
SendMail
Spam Assassin
Zone des Serveurs
Apache
Port mirorring
INTERNET
OpenLDAP
Permet "d'assassiner" les spam de votre courrier lectronique - du moins il identifie
l'ind sirable et permet ainsi au lecteur de courrier de traiter celui-ci de la fa on la moins
contrariante pour l'utilisateur.
Le SpamAssassin fonctionne en effectuant de nombreux tests sur le courrier analys .
Il y a des tests pour le courrier en HTML seulement, pour d terminer si le courrier
contient des phrases souvent usit es dans les prospectus, s'il indique ne pas tre du
spam d'apr s certaines lois et r glements, s'il contient une quantit inhabituelle de
points d'exclamation ou d'interrogation, s'il parle de "Millions de Dollars" et ainsi de
suite.
Pour chaque test qui a t effectu , un courrier re oit des points; l'utilisateur peut
indiquer combien de points sont attribu s aux tests dans un fichier de configuration
simple en ASCII. Si la somme de tous les points d passe un certain seuil - galement
configurable, le SpamAssassin juge que le courrier est sans doute du spam. Une fois
cette d cision prise, le SpamAssassin ins re dans l'en-t te des marqueurs informant
des r sultats du test. Si l'utilisateur le souhaite, les spams sont galement forc s
d'avoir comme type de contenu "text/plain", ce qui facilite grandement la consultation
ult rieure des r sultats.
Le SpamAssassin peut aussi ins rer un rapport de test plus d taill au d but du
courrier afin qu'un utilisateur puisse facilement voir pourquoi il a t class comme
spam.
comprend aussi les listes noires propos es en ligne. Les listes usuelles de DNS
r f ren ant les sources connues et les relais de Spam sont galement support es,
comme Vipul's Razor, une base de donn es de Spam permettant l'identification des
Spam connus.
Zone des Serveurs
Apache
SendMail
Spam Assassin
Amavis
Port mirorring
INTERNET
OpenLDAP
Amavis
Propose 2 versions (anciennement amavis-
perl) : amavisd et amavisd-new .
Amavisd : d mon lanc une fois pour toute.
Amavisd-new est une volution de amavis (qui
consommait pas mal de ressources car il faut d marrer
une programme perl pour chaque message traiter),
qui offre de riches fonctionnalit s (possibilit de coupler
un antispam lantivirus, &).
Possibilit de coop rer avec dautre produit tel
que ClamAV
Zone des Serveurs
Apache
SendMail
Spam Assassin
Amavis
WebMin
Console dadministration
Port mirorring
INTERNET
OpenLDAP
Webmin est une interface dadministration web concu pour
les serveur dh bergement unix.
Cette interface permet dinteragir avec tous les programmes
install sur un serveur (Snort, netfilter, apache, squid,
sendmail, &)
Webmin dispose de nombreuses fonctionnalit s dont la
gestion des DNS, le red marrage distance de la machine,
la gestion de t ches planifi es (cron), la gestion des
comptes mails, FTP, de sites web etc.
Sa structure permet d' tre compl t e par ajout de modules
afin d' tendre ses fonctionnalit s.
Zone des Serveurs
Apache
SendMail
Spam Assassin
Amavis
WebMin
Swatch
Log Watcher
Console dadministration
Port mirorring
INTERNET
OpenLDAP
Surveille les logs en temps r el et
d clenche une action pr d finie (alerte,
&) lorsquun v nement sp cifiques
(trigger) se d clenche
Zone des Serveurs
Apache
SendMail
Spam Assassin
Amavis
WebMin
Swatch
Log Watcher
Console dadministration
Port mirorring
Advertisement
INTERNET
OpenLDAP
Pr sentation:
Nessus est un scanner de s curit multi-plateformes : il r alise un
audit de s curit sur les diff rents composants du r seau. En
s'appuyant sur une base de donn es de failles de s curit , il
indique l'administrateur r seau les faiblesses et les failles
existantes sur son r seau. Il est bas sur une architecture client-
serveur.
Nessus est un outil capable dindentifier :
Les machines pr sentes sur mon r seau (adresse IP, nom)
Les syst mes d'exploitation utilis s sur une machine donn e
Les services (d mons) fonctionnent sur une machine
L tat de s curit dun r seau
Nessus
Fonctionnement:
Nessus permet un audit de s curit en s'appuyant sur
deux l ments : un client et un serveur. Le serveur,
nessusd, est charg de tester le syst me indiqu en
essayant toutes les attaques que sa base contient,
pendant que le client, nessus (qui n'est qu'une interface
graphique), fait un rapport sur les diff rents r sultats
obtenus.
Le serveur poss de une base de donn es d'environ 300
attaques existantes l'installation et c'est
l'administrateur de la remettre jour r guli rement. Les
attaques mises en place par nessusd sont cod es comme
des modules externes (ou plugins) crits en diff rents
languages.
Nessus
Caract ristiques:
" une reconnaissance intelligente des services : Nessus ne se
base pas sur les ports pour reconna tre les services. Ainsi un
serveur HTTP fonctionnant sur un port 1234 sera d tect .
" une d tection sur plusieurs machines de mani re concurrente
afin d'acc l rer l'analyse.
SendMail
Spam Assassin
Amavis
WebMin
Swatch
Log Watcher
Console dadministration
Port mirorring
Zone des Serveurs
Apache
INTERNET
HoneyD
OpenLDAP
HoneyNet
Un honeypot est un programme, un machine ou encore un syst me introduit dans
un r seau afin d' tre atteint par un attaquant.
Le concept est de faire croire ce dernier qu'il se trouve sur un syst me tout fait
l gitime.
Les honeypots sont donc des machines virtuelles qui mulent de vraies machines et
ce en faisant croire qu'elles poss dent des services et des ports ouverts que l'on
pourrait trouver sur une autre machine.
Ces services ont pour finalit d'attirer l'attention du hacker afin que ce dernier
fournisse du temps et des ressources qui seront par la suite enregistr s par le
honeypot .
Les honeypots sont con us pour tre p n tr s et ce pour deux raisons. La premi re
est de permettre de trouver des informations concernant les faiblesses d'un
syst me. L'administrateur peut donc apprendre de l'attaquant la fa on dont il est
parvenu casser le syst me. La deuxi me raison est de collecter les informations
n cessaires sur les hackers et ventuellement de le poursuivre en justice
SendMail
Spam Assassin
Amavis
WebMin
Swatch
Log Watcher
Console dadministration
Port mirorring
Zone des Serveurs
Apache
INTERNET
HoneyD
GPG
OpenLDAP
GnuPG est un outil qui se lance via une console par une ligne de commande
sans interface graphique. C'est un vrai moteur cryptographique qui peut tre
utilis directement depuis un prompt, un script shell ou par d'autres
programmes. Il peut aussi fournir d'autres applications les outils de crypto
n cessaires.
Cependant, m me utilis via une ligne de commande, il fournit toutes les
fonctionnalit s n cessaires - ainsi qu'un menu interactif. Le jeu de commande
de cet outil sera toujours plus complet que celui de n'importe quelle interface
graphique.
Remplacement complet de PGP.
Peut tre utilis comme programme filtrant.
Offre des am liorations par rapport PGP 2; au niveau de la s curit .
D chiffre et v rifie les messages cr s avec PGP 5, 6 et 7.
Supporte ElGamal, DSA, RSA, AES, 3DES, Blowfish, Twofish, CAST5, MD5,
SHA-1, RIPE-MD-160 et TIGER.
Impl mentation facilit e de nouveaux algorithmes utilisant des modules
d'extension.
Supporte les dates d'expiration de cl et de signature.
Dautres outils Open Source pour
l'audit et la s curisation des SSI
existent &
A vous de me les faire d couvrir !