Objet du cours
Comment assurer la sécurité des serveurs web physiquement et
dans les informations rendues
Sujets non abordés :
-
Risques qui découlent du crackage d'un serveur web
-
La sécurité du point de vue utilisateur
-
La "protection de la vie privée" (client privacy)
Qu'est-ce qu'un serveur Web
-
un programme qui tourne sur une machine
-
un serveur d'informations statiques ou dynamiques
Protection d'une machine de service
-
Appliquer les patches de sécurité
-
Eviter les dépendences externes
-
Enlever les utilisateurs
-
Enlever tous les services inutiles
-
Ne pas faire d'export
Protection vis-à-vis du daemon httpd
-
Choisir un programme largement répandu sur une architecture connue
-
Préférer les serveurs en code source
-
Suivre les patches
1er symptôme : le serveur ne rend plus d'information
-
Nom : Deny of Service (DoS)
-
Attaque
-
Surcharge de la machine
-
Avec des robots - crunchers
-
Avec des CGI
-
Explosion de l'accès réseau
-
Attaque 'thin'
-
Attaque 'smurf' .....
-
Défense
-
Réplication et répartition de la charge
-
avec le DNS
-
avec un firewall (Firewall-1)
-
avec un accelerateur HTTP (Squid)
-
Protection de la pile IP avec un firewall
2ème symptôme : le serveur rend des informations falsifiées
-
Résultat d'une machine crackée
-
Exemples :
-
Attaque
-
Bug du serveur
-
CGI mal écrits
-
Gestion laxiste des CGI
-
SSI / PHP
-
Edition (put) mal gérée
-
Outils de gestion à distance
-
Défense
-
Données Read-Only
-
Identité du serveur non root
-
Pas de programme SUID
-
Environnement chrooté
-
Utilisation de librairies protégées pour les CGI (CGI.pm)
-
Pas de SSI/PHP
-
Séparation serveur d'édition / serveur de consultation
3ème symptôme : le serveur rend trop d'informations
-
Accès à des informations protégées
-
Mauvaise protection
-
Mauvaise configuration
-
Délégation hasardeuse de configuration
-
Crack de protections
-
Authentification basic
-
Authentification par addresse IP / nom
-
Authentification par message digest
-
Encryption
-
pour conserver l'intégrité des données
-
pour protéger le contenu
Authentification basic
-
Principe : les headers http
-
Avantages
-
offert par tous les serveurs
-
facile à mettre en oeuvre
-
facile pour les utilisateurs (portable)
-
Attaque
-
crackable par sniff
-
crackable par des serveurs malins (pas d'authentification de serveur)
-
rejouable à l'infini
Authentification par IP / nom
-
Avantages
-
offert par tous les serveurs
-
facile à mettre en oeuvre
-
Inconvénients
-
probleme de proxy
-
n'identifie pas l'utilisateur
-
non portable
-
Attaque
-
Nom et IP spoofable
-
Documents interceptable en route
Authentification par MD
-
Intégré à HTTP / 1.1
-
Avantages
-
facile à mettre en oeuvre
-
portable
-
Inconvénients
-
peu disponible sur les serveurs
-
très peu disponible sur les clients
-
Défense
-
Mot de passe non interceptable
-
Mot de passe non rejouable
-
Vulnérable aux attaques de type Man-in-the-middle mais pour les URL
consultées seulement
-
Attaque
Encryption : Principe
-
Par clef secrète
-
Par clef publique / clef privée
-
Les autorités de certifications
Encryption : Buts
-
Vérification de l'intégrité
-
Protection du contenu
Références