Title: S
1État de lart de la sécurité informatique
Chapitre 5 - Sécurité des systèmes et applications
Auteurs
Stéphan GUIDARINI Consultant Senior Sébastien
DESSE Expert Réseaux et Sécurité
2Sommaire
- Sécurité des systèmes services
- Détection dintrusion
- Pots de miel et outils complémentaires
3Sécurité des Systèmes Services
- 2 grandes composantes
- La sécurité des systèmes
- Windows
- Unix
- Autres
- La sécurité des services
- Serveurs Web, FTP, DNS, Fichiers
- Développements applicatifs
- Au final lOS/application est toujours le maillon
faible
4SommaireSécurité des Systèmes
- Introduction
- Généralités
- Les 8 vulnérabilités les plus répandues
- Tous systèmes confondus
- Sécurité en environnement Microsoft
- Introduction
- Les 5 vulnérabilités les plus répandues
- Sécurité en environnement Unix
- Introduction
- Les 5 vulnérabilités les plus répandues
5Sécurité des SystèmesGénéralités
- NE PAS LA NEGLIGER
- Pour la sécurité, un OS doit
- Être Sécurisé faiblement exposé (failles)
- Installé de façon minimale
- Être facile à intégrer
- Être facile à exploiter
- Bénéficier de mises à jour régulières
- Avoir une configuration et une utilisation
adaptées - Être administré de manière centralisée et
déportée - Stations dadministration sur un réseau sécurisé
- Les tâches répétitives doivent être automatisées
au maximum afin de laisser aux administrateurs le
temps de se consacrer aux vrais problèmes
6Sécurité des SystèmesGénéralités
- Coûteuse à mettre en œuvre
- En temps
- En argent
- Comment maintenir 300 serveurs ?
- Difficile de maintenir de 5 dun parc
- Se concentrer dans un premier temps sur la
sécurisation des serveurs sensibles - Cependant laisser à labandon les postes
utilisateurs est une mauvaise solution - Cest pour cela quil convient dadopter dès le
départ des systèmes dexploitation adaptés à la
sécurité et au type dapplication - Un serveur WWW IIS peut causer beaucoup de
soucis à un administrateur
7Sécurité des SystèmesGénéralités
- Un code normal contient de 5 à 15 bugs pour 1000
lignes de code (variable) - Erreurs dans la conception dun protocole
- Erreurs dans la conception dun algorithme
- Erreurs dans limplémentation des algorithmes
- Les bugs ninduisent pas tous des failles de
sécurité, certains sont difficilement
exploitables - Il est impératif de développer avec un soucis de
sécurité en tête - Techniques de programmation spécifiques
- Audits et tests rigoureux des codes
8TOP 8 des vulnérabilités
- 1 Installation par défaut du système
dexploitation et des applications - Désinstaller les logiciels inutilisés
- Arrêter les services inutilisés
- Fermer les ports superflus
- Appliquer les mises à jour logicielles
- Affiner la configuration des services
- Utiliser des outils de recherche de
vulnérabilités et daudit automatisé - Center for Internet Security Benchmark Tools
- Nessus, etc,
9TOP 8 des vulnérabilités
- 2 Comptes sans mot de passe mots de passe
faibles - Désactiver tous les comptes sans mot de passe ou
leur attribuer un mot de passe unique - Sensibiliser les utilisateurs !
- Imposer des contraintes sur le choix des mots de
passe - Longueur, durée de vie, complexité,
- Tester régulièrement la fiabilité des mots de
passe - Unix Npasswd (SunOS, Digital, HP-UX, AIX)
- http//www.utexas.edu/cc/unix/software/npasswd
- Linux Cracklib et modules PAM
- Windows NT Passfilt
- http//support.microsoft.com/support/kb/articles/
Q161/9/90.asp - Envisager un système dauthentification
alternatif - Tokens, biométrique, cartes à puce,
10TOP 8 des vulnérabilités
- 3 Sauvegardes inexistantes ou incomplètes
- Sauvegarder quotidiennement les données des
serveurs sensibles - Effectuer une sauvegarde hebdomadaire complète
des serveurs - Vérifier mensuellement les supports de sauvegarde
- Effectuer mensuellement un test de restauration
- Pour les applications critique (e-commerce, )
- Sauvegarde complète quotidienne
- Réseau de sauvegarde dédié et fiabilisé (failover)
11TOP 8 des vulnérabilités
- 4 Nombre important de ports ouverts
- Déterminer quels sont les ports ouverts
- Netstat, nmap, nessus,
- Déterminer quels sont les ports indispensables
- Arrêter tous les services correspondants aux
ports non nécessaires - Unix inetd.conf, script rc.d,
- Windows gestionnaire de services, propriétés
des programmes, ajout suppression de programmes,
12TOP 8 des vulnérabilités
- 5 Absence de filtrage des paquets dont la
source ou la destination est incorrecte - Les règles danti-spoofing sont
- Les paquets entrant sur le réseau ne doivent pas
avoir une adresse source appartenant à celui-ci - Les paquets entrant sur le réseau doivent avoir
une adresse de destination appartenant à celui-ci - Les paquets quittant le réseau doivent avoir une
adresse source appartenant à celui-ci - Les paquets quittant le réseau ne doivent pas
avoir une adresse de destination appartenant à
celui-ci - Les paquets entrant ou quittant le réseau ne
doivent pas avoir une adresse RFC1918 (pour les
réseaux connectés à Internet) - Interdire tous les paquets utilisant le
source-routing - Les plages dadresses réservées DHCP, Multicast,
doivent êtres bloquées
13TOP 8 des vulnérabilités
- 6 - Absence de journalisation (logging)
- Configurer tous les systèmes pour quils
journalisent en local et sur un serveur chargé de
stocker les logs - Sauvegarder régulièrement les fichiers de logs
- Si possible stocker les logs sur un support ne
supportant quune seule écriture (CDROM, ) - Comparer les fichiers de logs du serveur de
collecte avec ceux des serveurs afin de détecter
des traces dactivité suspecte - Surveiller les traces dactivité anormale dans
les fichiers de logs
14TOP 8 des vulnérabilités
- 7 Scripts CGI vulnérables
- Enlever tous les scripts inutilisés
- Auditer les scripts restants
- Former les développeurs aux problématiques de
sécurité des programmes - Appliquer les patchs corrigeant des failles de
sécurité - Ne pas exécuter le service Web avec les droits
root - Vérifier quaucun compilateur ne réside dans les
chemins accessibles depuis le serveur Web - Ne pas installer la prise en charge des CGI sur
des serveurs qui nen nont pas besoin
15TOP 8 des vulnérabilités
- 8 Communautés SNMP par défaut
- Si le protocole SNMP nest pas absolument
nécessaire le désactiver - Si lutilisation de SNMP est requise
- Appliquer la même politique pour la gestion des
communautés SNMP que pour la gestion des mots de
passe - Utiliser si possible SNMPv3
- Utiliser si possible un VLAN/Réseau dédié à
ladministration - Utiliser si possible les MIB en lecture seule
- Filtrer SNMP au niveau du Firewall
16Sécurité des Systèmesen environnement Microsoft
- Windows NT/2000/XP est un OS
- Connu et répandu
- Propriétaire (sources non disponibles)
- Sécurisable
- Cible de choix pour les pirates
- Nombreuses failles
- Patchs de sécurité souvent longs à apparaître
- Anti-Microsoft
17Sécurité des Systèmesen environnement Microsoft
- Attacher une attention particulière
- Aux comptes utilisateurs
- Compte et groupe administrateur
- Compte invité (à désactiver)
- Comptes inutiles
- Aux mots de passe
- Aux tests et à lapplication des patchs
- Au protocole Netbios
- Ne pas utiliser les serveurs comme poste de
travail
18Sécurité des Systèmesen environnement Microsoft
- On veillera à
- supprimer les protocoles non utilisés
- supprimer/arrêter les services non utilisés
- Ne pas mettre en œuvre de relation dapprobation
entre 2 serveurs de niveaux de sécurité
différents - Identifier/authentifier tant que possible toutes
les connexions - positionner des droits restrictifs sur les
répertoires et fichiers
19Sécurité des Systèmesen environnement Microsoft
- Outils de gestion de la sécurité
- Stratégie de sécurité locale
- (Security Management Console ou Microsoft
Opérations Manager) - Journaux dévénements
- Droits des groupes et utilisateurs
- Logiciels antivirus
20TOP 5 vulnérabilités Windows
- 1 Web Server Folder Traversal
- (unicode vulnérability)
- Unicode fournit un identifiant unique (nombre 1
octet) pour chaque caractère quelque soit la
plate-forme, le programme ou le langage - Envoyer à un serveur IIS vulnérable une URL
contenant un caractère unicode invalide - (overlong sequence ex / 2f c0)
- Permet de court-circuiter les mesures de sécurité
du serveur et de séchapper dun répertoire pour
aller exécuter un programme - www.site.com/..c0af../WINNT/system32/cmd.exe?/c
dirc\ - Installer les derniers patchs Microsoft IIS sur
les serveurs Windows NT et Windows 2000 lt SP2
21TOP 5 vulnérabilités Windows
- 2 Débordement de tampon ISAPI
- ISAPI permet aux développeurs détendre les
fonctionnalités du serveur Web en permettant
lutilisation de DLL dans les CGI - De nombreuses DLL comportent des erreurs de
programmation permettant lexploitation de
vulnérabilités telles que les débordements de
tampon (buffer) - ex iqd.dll
- Ces vulnérabilités permettent de prendre le
contrôle total du serveur Web - Installer les derniers patchs IIS sur les
serveurs Windows NT et Windows 2000 lt SP2
22TOP 5 vulnérabilités Windows
- 3 IIS RDS exploit
- Microsoft Remote Data Service permet laccès à
distance aux ressources dun serveur IIS (/msdac) - Des erreurs dimplémentation de ce service
permettent à un attaquant dexécuter des
commandes à distance avec les droits
administrateur - Concerne les serveurs IIS sous Windows NT
- Utiliser une version MDAC gt 2.1
- Installer les derniers patchs disponibles
23TOP 5 vulnérabilités Windows
- 4 - Partages réseaux non protégés (NETBIOS)
- Le protocole SMB (Server Message Block) permet
le partage de fichiers au travers du réseau - Une mauvaise configuration de ce service peut
permettre dobtenir des fichiers sensibles, la
liste des utilisateurs locaux et dexploiter des
failles dimplémentation du protocole - Pour limiter les risques ne partager que le
minimum de fichiers/répertoires, affiner les
droits, spécifier les adresses des clients - Filtrer les protocoles Netbios (TCP 139 et 445)
au niveau des routeurs et des Firewalls
24TOP 5 vulnérabilités Windows
- 5 Connexions Null session
- Les connexions Null session permettent la
récupération anonyme dinformations telles que la
liste des utilisateurs ou la liste des partages
via le réseau - Utilisées par les contrôleurs de domaine et
lapplication explorer (explorateur de fichiers,
) - Nécessaires au bon fonctionnement des
environnements Windows. Ce service ne peut être
désactivé
25Sécurité des Systèmesen environnement Microsoft
- Sources dinformation
- www.microsoft.fr et www.microsoft.com
- Services Packs et Patchs
- Documentation technique
- CERT www.cert.org
26Sécurité des Systèmesen environnement Unix
- Les Unix sont des OS
- Standards et répandus
- Relativement portables
- Dont les sources sont disponibles (pour
certains ex Linux, BSD, ) - Nativement conçus pour communiquer
- Permettant une grande finesse de
personnalisation et de configuration - Sécurisables
27Sécurité des Systèmesen environnement Unix
- Problèmes de sécurité les plus connus
- les services type finger, who, r (rcp, rsh)
- les services d'émulation de terminaux non
sécurisés (telnet, X11) - les services utilisant RPC (NFS) surtout au
travers du Firewall - lauthentification NIS (utiliser NIS ou PAM)
- programmes lancés avec lID root ou le bit SUID
28Sécurité des Systèmesen environnement Unix
- Il faut, tant que possible
- Limiter laccès root à la console
- Interdire le ftp non anonyme (mots de passe qui
transitent en clair) - Prêter une attention particulière aux droits sur
les fichiers - Utiliser le chiffrement
29TOP 5 vulnérabilités Unix
- 1 Services RPC
- Le service RPC (Remote Procedure Call) permet
lexécution à distance dun programme (NIS, NFS,
) - De nombreuses erreurs dimplémentation
permettent lexploitation de débordements de
tampon - Le caractère dynamique des ports attribués aux
services rend difficile la traversée des
Firewalls - Il convient de tenir le plus à jour possible ce
service et de limiter son utilisation au réseau
local
30TOP 5 vulnérabilités Unix
- 2 Sendmail (Mail Transport Agent)
- Sendmail est le MTA historique dInternet,
sa grande popularité, sa complexité de
configuration et sa conception ancienne en font
une cible de choix pour les pirates informatiques - Sendmail souffre dun grand nombre de failles de
sécurité, il doit être régulièrement mis à jour
et correctement configuré - Ne pas exécuter Sendmail en mode daemon sur des
Unix qui ne sont pas Serveur de messagerie - Sur les serveurs de messagerie ne pas lancer ce
service avec les droits ROOT et si possible
lexécuter dans un environnement sécurisé (
chroot()ed )
31TOP 5 vulnérabilités Unix
- 3 Bind (Domain Name Server)
- Bind est le DNS le plus utilisé sur Internet,
tout comme Sendmail la grande popularité de ce
logiciel de conception ancienne en fait une cible
de choix pour les pirates - Bind souffre dun grand nombre de failles de
sécurité, il doit être régulièrement mis à jour
et correctement configuré - Désactiver le daemon named sur les Unix qui ne
sont pas DNS - Sur les serveurs DNS ne pas lancer ce service
avec les droits ROOT et si possible lexécuter
dans un environnement sécurisé ( chroot()ed ) - Ne permettre le transfert de zone quavec les
DNS autorisés, et cacher la bannière affichant la
version du logiciel
32TOP 5 vulnérabilités Unix
- Commande r (rcp, rsh, rlogin)
- Ces programmes sont des facilités dexploitation
utilisées principalement par les administrateurs
pour la gestion des parcs de machines Unix. - Héritées des premiers Unix ces commandes
nintègrent par les contraintes de sécurité
actuelles. Elles font transiter des mots de passe
en clair, ou créent des relations de confiance
qui nont pas lieu dêtre entre différentes
machines (/.rhost, ) - En règle générale il convient dinhiber ces
commandes et de les remplacer par leurs
équivalents sécurisés (ssh, scp,sfp, )
33TOP 5 vulnérabilités Unix
- LPD (Remote Print Protocol Daemon)
- Le service LPD permet le partage des imprimantes
locales dun système Unix au travers du réseau - Un autre service Unix qui souffre dune
conception ancienne et de nombreuses erreurs
dimplémentation le rendant vulnérable aux
attaques exploitant des débordements de tampon - Ne pas exécuter ce service sur des machines qui
ne sont pas serveur dimpression - Appliquer les patchs dés leur parution
34Détection dintrusionsau niveau système
- Analyse du fonctionnement du système
- Outils spécifiques et dépendants du système ou
de lapplication surveillée - Plusieurs sources dinformation
- Des moyens de supervision spécifiques
- Les journaux et autres logs
- Une base de données des empreintes des fichiers
sensibles afin de vérifier quils nont pas subi
de modification (type tripwire) - Sont souvent incapables de détecter des attaques
affectant les couches réseau de la machine (type
DOS ou SYN Flood)
35Avantages
- Peut détecter des attaques que les NIDS ont
manquées - Dans des environnements ou les flux sont
chiffrés - Si le NDIS na pas détecté lattaque
- Peut vérifier le succès ou léchec dune attaque
- Peut surveiller des aspects spécifiques du
système - Presque temps réel
36Détection dintrusionsau niveau applicatif
- Sous catégorie des HIDS
- Encore très rare
- Fonctionne le plus souvent avec les journaux
dévénements produits par les applications - eEyes SecureIIS est un exemple de détection
dintrusions au niveau applicatif - Il nexiste pas dAPI à lintention des
développeurs -gt problèmes de compatibilité
37Pots de miel
- Systèmes livrés en pâture aux pirates
- Non utilisé par les utilisateurs de lentreprise
- Conçus pour leurrer les pirates
- Le but des pots de miel est de
- Détourner lattention des pirates des systèmes
critiques - Récupérer le maximum dinformations sur
lattaquant - Encourager un pirate à rester (sengluer) le
plus longtemps possible sur ces machines afin de
laisser le temps aux administrateurs de répondre - http//project.honeynet.org
38 Padded Cells
- Travail en tandem avec un IDS
- LIDS redirige le pirate vers cette machine
particulière sur laquelle on a recréé un
environnement intéressant pour le pirate mais
sans intérêt pour lentreprise - Le but est là aussi de ralentir lattaquant, de
détourner son attention et de collecter un
maximum dinformations
39Avantages
- Les pirates peuvent être orientés sur des
systèmes sur lesquels ils ne peuvent pas causer
de dommages - Laisse du temps aux administrateurs pour réagir
- Les actions des pirates peuvent être facilement
surveillées, ce qui permet de se rendre compte
des failles dun système - Peuvent être efficaces pour attraper les
utilisateurs (internes) malveillants
40Inconvénients
- La loi est floue quand à leur lutilisation (pas
de reconnaissance légale) - Lintérêt de ces systèmes est discuté
- Ils sont difficiles à maintenir et nécessitent
de lattention de la part des administrateurs - Peut induire des risques si mal surveillés
- Un pirate expérimenté et en colère peut décider
de lancer des attaques plus hostiles en
représailles