1Novembre – Décembre 2005 Version 1.01
Chapitre 5 - Sécurité des systèmes et applications
État de l’art de la sécurité informatique
Auteurs :
Stéphan GUIDARINI – Consultant Senior
Sébastien DESSE – Expert Réseaux et Sécurité
2Novembre – Décembre 2005 Version 1.01
Sommaire
Sécurité des systèmes & services Détection d’intrusion Pots de miel et outils complémentaires
3Novembre – Décembre 2005 Version 1.01
Sé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 l’OS/application est toujours le maillon faible
4Novembre – Décembre 2005 Version 1.01
SommaireSé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
5Novembre – Décembre 2005 Version 1.01
Sé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 d’administration 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
6Novembre – Décembre 2005 Version 1.01
Sé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% d’un parc
Se concentrer dans un premier temps sur la sécurisation des serveurs sensibles
Cependant laisser à l’abandon les postes utilisateurs est une mauvaise solution…
C’est pour cela qu’il convient d’adopter dès le départ des systèmes d’exploitation adaptés à la sécurité et au type d’application Un serveur WWW IIS peut causer beaucoup de soucis à un
administrateur…
7Novembre – Décembre 2005 Version 1.01
Sé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 d’un protocole Erreurs dans la conception d’un algorithme Erreurs dans l’implémentation des algorithmes
Les bugs n’induisent 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
8Novembre – Décembre 2005 Version 1.01
TOP 8 des vulnérabilités 1 – Installation par défaut du système
d’exploitation 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 d’audit automatisé Center for Internet Security Benchmark Tools Nessus, etc, …
9Novembre – Décembre 2005 Version 1.01
TOP 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 d’authentification alternatif Tokens, biométrique, cartes à puce, …
10Novembre – Décembre 2005 Version 1.01
TOP 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)
11Novembre – Décembre 2005 Version 1.01
TOP 8 des vulnérabilités
4 – Nombre important de ports ouvertsDéterminer quels sont les ports ouverts
Netstat, nmap, nessus, …
Déterminer quels sont les ports indispensablesArrê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, …
12Novembre – Décembre 2005 Version 1.01
TOP 8 des vulnérabilités
5 – Absence de filtrage des paquets dont la source ou la destination est incorrecte Les règles d’anti-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 d’adresses réservées DHCP, Multicast, … doivent êtres
bloquées
13Novembre – Décembre 2005 Version 1.01
TOP 8 des vulnérabilités
6 - Absence de journalisation (logging)Configurer tous les systèmes pour qu’ils
journalisent en local et sur un serveur chargé de stocker les logs
Sauvegarder régulièrement les fichiers de logsSi possible stocker les logs sur un support ne
supportant qu’une seule écriture (CDROM, …)Comparer les fichiers de logs du serveur de
collecte avec ceux des serveurs afin de détecter des traces d’activité suspecte
Surveiller les traces d’activité anormale dans les fichiers de logs
14Novembre – Décembre 2005 Version 1.01
TOP 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 programmesAppliquer les patchs corrigeant des failles de sécuritéNe pas exécuter le service Web avec les droits ‘root’Vérifier qu’aucun compilateur ne réside dans les
chemins accessibles depuis le serveur WebNe pas installer la prise en charge des CGI sur des
serveurs qui n’en n’ont pas besoin
15Novembre – Décembre 2005 Version 1.01
TOP 8 des vulnérabilités
8 – Communautés SNMP par défaut Si le protocole SNMP n’est pas absolument
nécessaire le désactiver Si l’utilisation 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é à l’administration Utiliser si possible les MIB en lecture seule Filtrer SNMP au niveau du Firewall
16Novembre – Décembre 2005 Version 1.01
Sé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
17Novembre – Décembre 2005 Version 1.01
Sé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 à l’application des patchs Au protocole Netbios Ne pas utiliser les serveurs comme poste
de travail
18Novembre – Décembre 2005 Version 1.01
Sé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
d’approbation 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
19Novembre – Décembre 2005 Version 1.01
Sé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
20Novembre – Décembre 2005 Version 1.01
TOP 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 d’un répertoire pour aller exécuter un programme
www.site.com/..%c0%af../WINNT/system32/cmd.exe?/c+dir+c:\ Installer les derniers patchs Microsoft IIS sur les serveurs
Windows NT et Windows 2000 < SP2
21Novembre – Décembre 2005 Version 1.01
TOP 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 l’utilisation de DLL dans les CGI
De nombreuses DLL comportent des erreurs de programmation permettant l’exploitation 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 < SP2
22Novembre – Décembre 2005 Version 1.01
TOP 5 : vulnérabilités Windows
3 – IIS RDS exploit Microsoft Remote Data Service permet l’accès à
distance aux ressources d’un serveur IIS (/msdac) Des erreurs d’implémentation de ce service
permettent à un attaquant d’exécuter des commandes à distance avec les droits administrateur
Concerne les serveurs IIS sous Windows NT Utiliser une version MDAC > 2.1 Installer les derniers patchs disponibles
23Novembre – Décembre 2005 Version 1.01
TOP 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
d’obtenir des fichiers sensibles, la liste des utilisateurs locaux et d’exploiter des failles d’implé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
24Novembre – Décembre 2005 Version 1.01
TOP 5 : vulnérabilités Windows
5 – Connexions « Null session » Les connexions « Null session » permettent la
récupération anonyme d’informations telles que la liste des utilisateurs ou la liste des partages via le réseau
Utilisées par les contrôleurs de domaine et l’application explorer (explorateur de fichiers, …)
Nécessaires au bon fonctionnement des environnements Windows. Ce service ne peut être désactivé
25Novembre – Décembre 2005 Version 1.01
Sécurité des Systèmesen environnement Microsoft
Sources d’information www.microsoft.fr et www.microsoft.com
Services Packs et Patchs Documentation technique
CERT www.cert.org
26Novembre – Décembre 2005 Version 1.01
Sé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
27Novembre – Décembre 2005 Version 1.01
Sé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 l’authentification NIS (utiliser NIS+ ou PAM) programmes lancés avec l’ID root ou le bit
SUID
28Novembre – Décembre 2005 Version 1.01
Sécurité des Systèmesen environnement Unix
Il faut, tant que possible Limiter l’accè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
29Novembre – Décembre 2005 Version 1.01
TOP 5 : vulnérabilités Unix
1 – Services RPC Le service RPC (Remote Procedure Call) permet
l’exécution à distance d’un programme (NIS, NFS, …) De nombreuses erreurs d’implémentation permettent
l’exploitation 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
30Novembre – Décembre 2005 Version 1.01
TOP 5 : vulnérabilités Unix
2 – Sendmail (Mail Transport Agent) Sendmail est le MTA « historique » d’Internet, sa
grande popularité, sa complexité de configuration et sa conception ancienne en font une cible de choix pour les pirates informatiques
Sendmail souffre d’un 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 l’exécuter dans un environnement sécurisé ( chroot()ed )
31Novembre – Décembre 2005 Version 1.01
TOP 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 d’un 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 l’exécuter dans un environnement sécurisé ( chroot()ed )
Ne permettre le transfert de zone qu’avec les DNS autorisés, et cacher la bannière affichant la version du logiciel
32Novembre – Décembre 2005 Version 1.01
TOP 5 : vulnérabilités Unix
Commande ‘r’ (rcp, rsh, rlogin…) Ces programmes sont des facilités d’exploitation
utilisées principalement par les administrateurs pour la gestion des parcs de machines Unix.
Héritées des premiers Unix ces commandes n’intè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 n’ont pas lieu d’être entre différentes machines (~/.rhost, …)
En règle générale il convient d’inhiber ces commandes et de les remplacer par leurs équivalents sécurisés (ssh, scp,sfp, …)
33Novembre – Décembre 2005 Version 1.01
TOP 5 : vulnérabilités Unix
LPD (Remote Print Protocol Daemon) Le service LPD permet le partage des imprimantes
locales d’un système Unix au travers du réseau Un autre service Unix qui souffre d’une conception
ancienne et de nombreuses erreurs d’implé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 d’impression
Appliquer les patchs dés leur parution
34Novembre – Décembre 2005 Version 1.01
Détection d’intrusionsau niveau système
Analyse du fonctionnement du système Outils spécifiques et dépendants du système ou
de l’application surveillée Plusieurs sources d’information
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 qu’ils n’ont 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)
35Novembre – Décembre 2005 Version 1.01
Avantages
Peut détecter des attaques que les NIDS ont manquées Dans des environnements ou les flux sont chiffrés Si le NDIS n’a pas détecté l’attaque
Peut vérifier le succès ou l’échec d’une attaque Peut surveiller des aspects spécifiques du
système Presque temps réel
36Novembre – Décembre 2005 Version 1.01
Détection d’intrusionsau 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 eEye’s SecureIIS est un exemple de détection
d’intrusions au niveau applicatif Il n’existe pas d’API à l’intention des
développeurs -> problèmes de compatibilité
37Novembre – Décembre 2005 Version 1.01
Pots de miel
Systèmes livrés en pâture aux pirates Non utilisé par les utilisateurs de l’entreprise
Conçus pour leurrer les pirates Le but des pots de miel est de :
Détourner l’attention des pirates des systèmes critiques Récupérer le maximum d’informations sur l’attaquant Encourager un pirate à rester (s’engluer) le plus longtemps
possible sur ces machines afin de laisser le temps aux administrateurs de répondre
http://project.honeynet.org
38Novembre – Décembre 2005 Version 1.01
« Padded Cells »
Travail en tandem avec un IDS L’IDS 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 l’entreprise
Le but est là aussi de ralentir l’attaquant, de détourner son attention et de collecter un maximum d’informations
39Novembre – Décembre 2005 Version 1.01
Avantages
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 d’un système
Peuvent être efficaces pour attraper les utilisateurs (internes) malveillants
40Novembre – Décembre 2005 Version 1.01
Inconvénients
La loi est floue quand à leur l’utilisation (pas de reconnaissance légale)
L’intérêt de ces systèmes est discuté Ils sont difficiles à maintenir et nécessitent
de l’attention 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
Top Related