Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP...

48
Sécuriser les Sécuriser les serveurs Web serveurs Web (IIS5 et IIS6) (IIS5 et IIS6) Benoît HAMET Benoît HAMET Ingénieur d’étude / Ingénieur d’étude / Formateur Formateur MVP MVP Concept Réseau Concept Réseau

Transcript of Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP...

Page 1: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Sécuriser les Sécuriser les serveurs Web (IIS5 serveurs Web (IIS5 et IIS6) et IIS6)

Sécuriser les Sécuriser les serveurs Web (IIS5 serveurs Web (IIS5 et IIS6) et IIS6)

Benoît HAMETBenoît HAMETIngénieur d’étude / Ingénieur d’étude / FormateurFormateurMVPMVPConcept RéseauConcept Réseau

Page 2: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

SommaireSommaire

GénéralitésGénéralitésPrincipes fondamentaux de la sécuritéPrincipes fondamentaux de la sécurité

Présentation du serveur IIS 5.0Présentation du serveur IIS 5.0

Mettre en oeuvre un serveur IIS 5.0 Mettre en oeuvre un serveur IIS 5.0 sécurisésécurisé

Etape 0 : Préparation à l’installationEtape 0 : Préparation à l’installation

Etape 1 : Installation du serveur IISEtape 1 : Installation du serveur IIS

Etape 2 : Post-installationEtape 2 : Post-installation

Etape 3 : Configuration du serveur IIS et des Etape 3 : Configuration du serveur IIS et des servicesservices

IIS 6.0IIS 6.0

Page 3: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

GénéralitésGénéralitésGénéralitésGénéralités

Page 4: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Principes fondamentaux Principes fondamentaux de la sécuritéde la sécurité

La sécurité informatique repose sur quelques grands La sécurité informatique repose sur quelques grands principesprincipes

L’authentification des utilisateursL’authentification des utilisateurs

Le contrôle d’accès aux ressourcesLe contrôle d’accès aux ressources

La confidentialité des donnéesLa confidentialité des données

L’intégrité des donnéesL’intégrité des données

La non-répudiationLa non-répudiation

La disponibilité du serviceLa disponibilité du service

L’audit des traces de sécuritéL’audit des traces de sécurité

Les objectifs de sécurité doivent être adaptés aux besoinsLes objectifs de sécurité doivent être adaptés aux besoins

Niveau de sécurité Niveau de sécurité global d’un systèmeglobal d’un système

Niveau de sécurité du Niveau de sécurité du maillon le plus faiblemaillon le plus faible

Page 5: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Principes fondamentaux Principes fondamentaux de la sécuritéde la sécurité

Classification des risquesClassification des risquesMenace : potentialité de mise en danger du systèmeMenace : potentialité de mise en danger du système

Vol d’informations confidentiellesVol d’informations confidentielles

Modification de contenuModification de contenu

Interruption de serviceInterruption de service

Vulnérabilité : faille risquant de permettre la Vulnérabilité : faille risquant de permettre la concrétisation d’une menaceconcrétisation d’une menace

Faille matérielleFaille matérielle

Faille logicielleFaille logicielle

Erreur d’administrationErreur d’administration

Attaque : exploitation d’une vulnérabilité existanteAttaque : exploitation d’une vulnérabilité existanteExposition de donnéesExposition de données

Corruption de donnéesCorruption de données

Déni de serviceDéni de service

Page 6: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Présentation d’IIS 5.0Présentation d’IIS 5.0CaractéristiquesCaractéristiques

IIS : Internet Information ServiceIIS : Internet Information Service

Version 5.0Version 5.0

Disponible sur plateforme Windows Disponible sur plateforme Windows 2000 Server2000 Server

Installé par défautInstallé par défaut

Fournit les services suivants :Fournit les services suivants :HTTPHTTP

Mais aussi FTP, SMTP et NNTPMais aussi FTP, SMTP et NNTP

Page 7: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Présentation d’IIS 5.0Présentation d’IIS 5.0Windows 2000 & IISWindows 2000 & IIS

Le niveau de sécurité d’un serveur IIS est étroitement lié au Le niveau de sécurité d’un serveur IIS est étroitement lié au niveau de sécurité du serveur Windows 2000 sous-jacentniveau de sécurité du serveur Windows 2000 sous-jacent

Permissions sur les fichiersPermissions sur les fichiers

Base de registreBase de registre

Droits utilisateursDroits utilisateurs

Avantages de cette intégration :Avantages de cette intégration :Pas d’augmentation inutile de la complexitéPas d’augmentation inutile de la complexité

Limitation des risques liés à l’empilement de couches de Limitation des risques liés à l’empilement de couches de sécuritésécurité

Meilleures performancesMeilleures performances

Risques :Risques :

Mauvaise sécurisationMauvaise sécurisationde Windows 2000de Windows 2000

AffaiblissementAffaiblissement du du niveauniveau de sécurité d’IIS5 de sécurité d’IIS5

Page 8: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Mise en œuvre d’un Mise en œuvre d’un serveur IIS5 sécuriséserveur IIS5 sécuriséMise en œuvre d’un Mise en œuvre d’un serveur IIS5 sécuriséserveur IIS5 sécurisé

Page 9: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Mettre en œuvre un Mettre en œuvre un serveur Microsoft IIS 5.0 serveur Microsoft IIS 5.0 sécurisésécurisé

Préparation à l’installationPréparation à l’installation

InstallationInstallation

Post-installationPost-installation

ConfigurationConfiguration

PREPRE

INSTINST

POSTPOST

CONFCONF

Page 10: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Préparation àPréparation àl’installationl’installation

Placer le serveur dans un espace sécurisé Placer le serveur dans un espace sécurisé physiquementphysiquementSi possible, installer le serveurSi possible, installer le serveur

Dans un domaine dédiéDans un domaine dédiéSans relation d’approbation avec les autres Sans relation d’approbation avec les autres domaines du SIdomaines du SI

Ex : dans un domaine dédié aux serveurs en DMZEx : dans un domaine dédié aux serveurs en DMZ

Protéger au maximum le serveur de toute Protéger au maximum le serveur de toute attaque réseau pendant la phase de attaque réseau pendant la phase de sécurisationsécurisation

Fermer les accès Internet (au niveau du routeur Fermer les accès Internet (au niveau du routeur par ex)par ex)Limiter autant que possible les accès depuis Limiter autant que possible les accès depuis l’Intranetl’Intranet

PREPRE

INSTINST

POSTPOST

CONFCONF

Page 11: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Sécurisation deSécurisation deWindows 2000Windows 2000

Appliquer le dernier Service Pack et les derniers Appliquer le dernier Service Pack et les derniers correctifscorrectifs

Outil MBSAOutil MBSAhttp://www.microsoft.com/technet/securityhttp://www.microsoft.com/technet/security

Microsoft Security Notification ServiceMicrosoft Security Notification Servicehttp://www.microsoft.com/technet/security/bulletin/http://www.microsoft.com/technet/security/bulletin/notify.aspnotify.asp

Partitionner les disques de manière à pouvoir Partitionner les disques de manière à pouvoir installer sur des partitions différentesinstaller sur des partitions différentes

Le système d’exploitationLe système d’exploitationLes contenus publiés par chacun des servicesLes contenus publiés par chacun des servicesLes journaux d’événementsLes journaux d’événements

Modifier les permissions NTFSModifier les permissions NTFSPar défaut fixées à "Tout le monde – Contrôle Total"Par défaut fixées à "Tout le monde – Contrôle Total"Voir base de connaissance, document Q271071 Voir base de connaissance, document Q271071 "Minimum NTFS Permissions Required for IIS 5.0 to Work""Minimum NTFS Permissions Required for IIS 5.0 to Work"

PREPRE

INSTINST

POSTPOST

CONFCONF

Page 12: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Sécurisation deSécurisation deWindows 2000Windows 2000

Conserver uniquement les éléments nécessaires Conserver uniquement les éléments nécessaires Supprimer les comptes inutilesSupprimer les comptes inutiles

Désactiver les services inutiles (Telnet, Messenger, …)Désactiver les services inutiles (Telnet, Messenger, …)

Ne surtout pas installer d’outils de développementNe surtout pas installer d’outils de développement

Laisser désactivée l’option « Routage et accès Laisser désactivée l’option « Routage et accès distants » (par défaut)distants » (par défaut)

Supprimer toutes les piles réseaux exceptée la Supprimer toutes les piles réseaux exceptée la pile TCP/IP (sauf celles nécessaires, dans le cas pile TCP/IP (sauf celles nécessaires, dans le cas d’un Intranet par exemple)d’un Intranet par exemple)

Supprimer la liaison entre NetBIOS et TCP/IPSupprimer la liaison entre NetBIOS et TCP/IP

Définir un mot de passe très fiable pour Définir un mot de passe très fiable pour l’administrateurl’administrateur

Au moins 9 caractères (ex : Au moins 9 caractères (ex : "M#=H|&Fb{""M#=H|&Fb{"))

PREPRE

INSTINST

POSTPOST

CONFCONF

Page 13: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Mettre en œuvre un Mettre en œuvre un serveur Microsoft IIS 5.0 serveur Microsoft IIS 5.0 sécurisésécurisé

Préparation à l’installationPréparation à l’installation

InstallationInstallation

Post-installationPost-installation

ConfigurationConfiguration

PREPRE

INSTINST

POSTPOST

CONFCONF

Page 14: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Installation du serveurInstallation du serveurIIS 5.0IIS 5.0

Installer uniquement les composants Installer uniquement les composants nécessaires !nécessaires !

Pour plus de sécurité, effectuer l’installation à Pour plus de sécurité, effectuer l’installation à partir d’un fichier de réponses permettant departir d’un fichier de réponses permettant de

Modifier l’emplacement du répertoire racineModifier l’emplacement du répertoire racineInstallation par défaut du répertoire racines dans Installation par défaut du répertoire racines dans C:\InetpubC:\Inetpub

Renommer le répertoire racineRenommer le répertoire racineProtection contre certains outils automatiques d’attaqueProtection contre certains outils automatiques d’attaque

Utiliser la commande Utiliser la commande sysocmgr sysocmgr pour effectuer pour effectuer une installation d’IIS à partir d’un fichier de une installation d’IIS à partir d’un fichier de réponseréponse

Sysocmgr /i:%windir%\inf\sysoc.inf Sysocmgr /i:%windir%\inf\sysoc.inf /u:<chemin_fichier>/u:<chemin_fichier>

PREPRE

INSTINST

POSTPOST

CONFCONF

Page 15: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Mettre en œuvre un Mettre en œuvre un serveur Microsoft IIS 5.0 serveur Microsoft IIS 5.0 sécurisésécurisé

Préparation à l’installationPréparation à l’installation

InstallationInstallation

Post-installationPost-installation

ConfigurationConfiguration

PREPRE

INSTINST

POSTPOST

CONFCONF

Page 16: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Comptes & PermissionsComptes & PermissionsAccès anonymeAccès anonyme

Si l’accès anonyme n’est pas autoriséSi l’accès anonyme n’est pas autoriséSupprimer le compte IUSR_NomduserveurSupprimer le compte IUSR_Nomduserveur

Si l’accès anonyme est autoriséSi l’accès anonyme est autoriséModifier les paramètres de l’utilisateur Modifier les paramètres de l’utilisateur IUSR_NomduserveurIUSR_Nomduserveur

Ne pas autoriser l’utilisateur à changer son mot de Ne pas autoriser l’utilisateur à changer son mot de passepasse

Sélectionner l’option « le mot de passe n’expire Sélectionner l’option « le mot de passe n’expire jamais »jamais »

Modifier les permissions associées au compteModifier les permissions associées au compteAutoriser l’ouverture de session localeAutoriser l’ouverture de session locale

Supprimer les ouvertures de session Supprimer les ouvertures de session En tant que tâcheEn tant que tâche

DistantesDistantes

PREPRE

INSTINST

POSTPOST

CONFCONF

Page 17: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Comptes & PermissionsComptes & PermissionsWebAdmins & WebUsersWebAdmins & WebUsers

Créer pour chaque siteCréer pour chaque siteUn groupe local d’administration du site – y Un groupe local d’administration du site – y ajouter les comptes utilisateurs nécessairesajouter les comptes utilisateurs nécessaires

Ex : WebAdmins_t2003iisEx : WebAdmins_t2003iis

Un groupe local d’utilisateurs du site et n’y Un groupe local d’utilisateurs du site et n’y inclure que les comptes nécessaires inclure que les comptes nécessaires (éventuellement IUSR_Nomduserveur)(éventuellement IUSR_Nomduserveur)

Ex : WebUsers_t2003iisEx : WebUsers_t2003iis

Utiliser ces comptes pour modifier les Utiliser ces comptes pour modifier les permissions NTFS sur les répertoires et permissions NTFS sur les répertoires et fichiers des sites publiésfichiers des sites publiés

Supprimer le compte IUSR_Nomduserveur Supprimer le compte IUSR_Nomduserveur des autres groupesdes autres groupes

PREPRE

INSTINST

POSTPOST

CONFCONF

Page 18: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Arborescence du siteArborescence du site

Supprimer les répertoires d’exemples par Supprimer les répertoires d’exemples par défaut et les scripts associésdéfaut et les scripts associés

Dans la mesure du possible éviter de les installerDans la mesure du possible éviter de les installer

Créer l’arborescence des sitesCréer l’arborescence des sitesEn séparant les fichiers par typeEn séparant les fichiers par type

Contenu statique (.HTML, images, …)Contenu statique (.HTML, images, …)Scripts (.ASP)Scripts (.ASP)CGI (.exe, .dll, .cmd, .pl)CGI (.exe, .dll, .cmd, .pl)Fichiers de déclaration (.inc, .shtml, .shtm)Fichiers de déclaration (.inc, .shtml, .shtm)

Modifier les permissions NTFSModifier les permissions NTFSNe mettre que les permissions NTFS nécessairesNe mettre que les permissions NTFS nécessairesSupprimer les permissions du groupe Tout le Supprimer les permissions du groupe Tout le mondemondeUtiliser les groupes WebUsers et WebAdminsUtiliser les groupes WebUsers et WebAdmins

PREPRE

INSTINST

POSTPOST

CONFCONF

Page 19: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Sécurisation de la metabase IISSécurisation de la metabase IIS

La Metabase contient les paramètres de configuration La Metabase contient les paramètres de configuration d’IISd’IIS

Elle présente des avantages en termes de performance Elle présente des avantages en termes de performance par rapport à la base de registrepar rapport à la base de registre

RapiditéRapidité

FlexibilitéFlexibilité

Montée en chargeMontée en charge

Elle est stockée par défaut dans le fichierElle est stockée par défaut dans le fichier\WinNT\system32\inetsrv\Metabase.bin\WinNT\system32\inetsrv\Metabase.bin

Elle contient des informations sensibles et doit être Elle contient des informations sensibles et doit être protégéeprotégée

Limiter les accès au seul groupe local Limiter les accès au seul groupe local AdministrateursAdministrateurs

Déplacer et renommer le fichierDéplacer et renommer le fichierHKLM\Software\Microsoft\InetMgr\ParametersHKLM\Software\Microsoft\InetMgr\Parameters : ajouter une : ajouter une rubrique rubrique MetadataFileMetadataFile contenant le chemin complet vers le nouveau contenant le chemin complet vers le nouveau fichierfichier

PREPRE

INSTINST

POSTPOST

CONFCONF

Page 20: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Journaux d’événementsJournaux d’événements

Afin de compliquer l’éventuelle dissimulation Afin de compliquer l’éventuelle dissimulation d’opérations non-autorisées, on pourrad’opérations non-autorisées, on pourra

Déplacer et renommer le répertoire contenant les Déplacer et renommer le répertoire contenant les journaux d’événementsjournaux d’événements

De préférence sur une partition dédiée aux journaux De préférence sur une partition dédiée aux journaux d’événementsd’événements

Limiter l’accès aux seuls groupes Limiter l’accès aux seuls groupes AdministrateursAdministrateurs et  et SYSTEMSYSTEM

Les journaux d’événements devront Les journaux d’événements devront Être, de préférence, au format « W3C Étendu »Être, de préférence, au format « W3C Étendu »Contenir les informations requises pour servir de base Contenir les informations requises pour servir de base aux audits de sécuritéaux audits de sécurité

Date et heure de Date et heure de l’événementl’événement

Requête effectuéeRequête effectuée

Adresse IP du clientAdresse IP du client Statut de la requêteStatut de la requête

Nom de l’utilisateurNom de l’utilisateur Temps de traitementTemps de traitement

Méthode d’accès utiliséeMéthode d’accès utilisée Adresse IP du serveur ?Adresse IP du serveur ?

Ressource demandéeRessource demandée Port du serveur ?Port du serveur ?

PREPRE

INSTINST

POSTPOST

CONFCONF

Page 21: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Analyse de la sécuritéAnalyse de la sécurité

Détection et correction de points de sécurité non-Détection et correction de points de sécurité non-traitéstraités

Utilisation du snap-in "Analyse et configuration de la Utilisation du snap-in "Analyse et configuration de la sécurité" sécurité" 

Lancer une analyse du serveurLancer une analyse du serveur

Comparer la configuration à un modèle de sécurité adaptéComparer la configuration à un modèle de sécurité adaptéMicrosoft propose le modèle Microsoft propose le modèle Hisecweb.inf Hisecweb.inf ou les modèles MSS ou les modèles MSS Baseline.inf + MSS IIS Role .infBaseline.inf + MSS IIS Role .inf

Modifier le modèle pour l’adapter aux spécificités du serveurModifier le modèle pour l’adapter aux spécificités du serveur

Appliquer le modèle de sécuritéAppliquer le modèle de sécurité

RecommandationsRecommandationsNe pas appliquer le modèle de sécurité sur un serveur en Ne pas appliquer le modèle de sécurité sur un serveur en productionproduction

Vérifier le bon fonctionnement de toutes les applications Vérifier le bon fonctionnement de toutes les applications après l’application du modèleaprès l’application du modèle

PREPRE

INSTINST

POSTPOST

CONFCONF

Page 22: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Mettre en œuvre un Mettre en œuvre un serveur Microsoft IIS 5.0 serveur Microsoft IIS 5.0 sécurisésécurisé

Préparation à l’installationPréparation à l’installation

InstallationInstallation

Post-installationPost-installation

ConfigurationConfiguration

PREPRE

INSTINST

POSTPOST

CONFCONF

Page 23: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Configuration généraleConfiguration généraleLes outilsLes outils

Utilisation de la Microsoft Management Console Utilisation de la Microsoft Management Console (recommandée)(recommandée)

Requiert le snap-in  "Gestionnaire des Services Internet" Requiert le snap-in  "Gestionnaire des Services Internet" (ISM)(ISM)Permet la délégation de l’administration des sitesPermet la délégation de l’administration des sites

Préparation de consoles spécifiques en fonction des rôles et Préparation de consoles spécifiques en fonction des rôles et des habilitationsdes habilitations

Constitue la solution la plus souple et la plus complèteConstitue la solution la plus souple et la plus complète

Utilisation de l’interface Web d’administrationUtilisation de l’interface Web d’administrationIncomplèteIncomplèteDélégation de pouvoir difficileDélégation de pouvoir difficileNécessité de mettre en œuvre les éléments de sécurité Nécessité de mettre en œuvre les éléments de sécurité suivants :suivants :

Communiquer via un tunnel SSL, après authentification du Communiquer via un tunnel SSL, après authentification du client par certificatclient par certificatLimiter l’accès à l’administrateur du serveur IISLimiter l’accès à l’administrateur du serveur IISForcer la connexion depuis une IP prédéfinieForcer la connexion depuis une IP prédéfinie

PREPRE

INSTINST

POSTPOST

CONFCONF

Page 24: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Configuration duConfiguration duserveurserveur

Deux niveaux de configurationDeux niveaux de configurationPropriétés générales du serveur IISPropriétés générales du serveur IIS

Concernent les caractéristiques communes aux Concernent les caractéristiques communes aux différents servicesdifférents services

WWWWWWFTPFTPJournaux d’événementsJournaux d’événements

Seront automatiquement héritées par tout site crééSeront automatiquement héritées par tout site crééPermettent d’éviter de laisser accidentellement des Permettent d’éviter de laisser accidentellement des options par défaut dangereuses lors de la création options par défaut dangereuses lors de la création d’un nouveau sited’un nouveau site

Propriétés spécifiques à chaque service proposé Propriétés spécifiques à chaque service proposé par le serveurpar le serveur

Sont prioritaires par rapport aux propriétés générales Sont prioritaires par rapport aux propriétés générales du serveurdu serveur

PREPRE

INSTINST

POSTPOST

CONFCONF

Page 25: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Assistant de verrouillage Assistant de verrouillage IISIISIIS LockdownIIS Lockdown

Durcit la configuration d’IIS (4 ou 5)Durcit la configuration d’IIS (4 ou 5)

Désactive les services inutilesDésactive les services inutiles

Restreint l’accès aux commandes systèmeRestreint l’accès aux commandes système

URLScanURLScanFiltre ISAPI pour IIS4/5, configurable, qui bloque les URL Filtre ISAPI pour IIS4/5, configurable, qui bloque les URL qui ressemblent à des attaquesqui ressemblent à des attaques

ISA ServerISA Server : pare-feu (dont passerelle applicative) : pare-feu (dont passerelle applicative)

UrlscanServeur Web

IISClientParefeu

ISA Server

Page 26: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

IIS 6.0IIS 6.0IIS 6.0IIS 6.0

Page 27: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Vulnérabilités pré-IIS 6.0Vulnérabilités pré-IIS 6.0ChallengesChallenges

Problèmes de canonisationProblèmes de canonisationBuffer Overflow Buffer Overflow Utilisation de ressource intenseUtilisation de ressource intenseCross-Site ScriptingCross-Site Scripting

RésultatsRésultatsExécution à distance d’applicationExécution à distance d’applicationElévation de privilègeElévation de privilègeDivulgation d’informationDivulgation d’informationDenial-of-ServiceDenial-of-Service……

Page 28: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Nouvelle Nouvelle approcheapproche

IIS 6.0 est sécurisé :IIS 6.0 est sécurisé :Par conception (secure by design)Par conception (secure by design)

Nouvelle architecture de fonctionnementNouvelle architecture de fonctionnement

Par défaut (secure by default)Par défaut (secure by default)Non installé et fonctionnement par défautNon installé et fonctionnement par défaut

Pour le déploiement (secure in Pour le déploiement (secure in deployment)deployment)

Page 29: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Nouvelle architecture du Nouvelle architecture du serveur Web IIS 6.0serveur Web IIS 6.0

Fonctionnalités Web séparésFonctionnalités Web séparés

Isolation des applications (pools Isolation des applications (pools d’applications)d’applications)

Améliorations des performancesAméliorations des performances

Page 30: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

DLLHOST.exeDLLHOST.exe

ISAPIISAPIExtensionsExtensions(ASP, etc.)(ASP, etc.)

ISAPI FiltersISAPI Filters

metabasemetabase

Fonctionnement de IIS 5.0 Fonctionnement de IIS 5.0 vs IIS 6.0vs IIS 6.0

TCP/IPTCP/IP

INETINFOINETINFO

ASP.NETASP.NETISAPIISAPI

Aspnet_wp.exeAspnet_wp.exe

CLR App DomainCLR App Domain

CLR App DomainCLR App Domain

CLR App DomainCLR App Domainmetabasemetabase

INETINFOINETINFO

HTTP.SYSHTTP.SYS

WASWAS

Co

nfi

g M

gr

Co

nfi

g M

gr

Pro

ce

ss

Mg

rP

roc

es

s M

gr

W3WP.EXEW3WP.EXE

Application Pool 1

ASP.NET ISAPIASP.NET ISAPI

CLR App DomainCLR App Domain

CLR App DomainCLR App Domain

W3WP.EXEW3WP.EXE

ISAPIISAPIExtensionsExtensions(ASP, etc.)(ASP, etc.)

ISAPI FiltersISAPI Filters

Application Pool 2

W3WP.EXEW3WP.EXE

ASP.NET ISAPIASP.NET ISAPI

CLR App DomainCLR App Domain

CLR App DomainCLR App Domain

W3WP.EXEW3WP.EXE

ASP.NET ISAPIASP.NET ISAPI

CLR App DomainCLR App Domain

CLR App DomainCLR App Domain

W3WP.EXEW3WP.EXE

ASP.NET ISAPIASP.NET ISAPI

CLR App DomainCLR App Domain

CLR App DomainCLR App Domain

Web Garden

W3WP.EXEW3WP.EXE

ISAPIISAPIExtensionsExtensions(ASP, etc.)(ASP, etc.)

ISAPI FiltersISAPI Filters

Page 31: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Processus IIS exécutés avec des privilèges le Processus IIS exécutés avec des privilèges le plus bas possibleplus bas possibleCode tierce exécuté uniquement dans un Code tierce exécuté uniquement dans un processus de travailprocessus de travailIsolation des processusIsolation des processusJournalisation des requêtes HTTPJournalisation des requêtes HTTPSurface des attaques réduites (Ex. : DoS)Surface des attaques réduites (Ex. : DoS)

Protection rapide contre les incidentsProtection rapide contre les incidentsRecyclage des processus de travailRecyclage des processus de travailAffinité par processeurAffinité par processeur……

Sécurisé par conception et Sécurisé par conception et pour le déploiementpour le déploiement

Page 32: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Sécurisé par défautSécurisé par défautPlus de 20 services NT sont désactivés sous Windows Server Plus de 20 services NT sont désactivés sous Windows Server 20032003IIS n’est plus installé par défaut (exception de Windows IIS n’est plus installé par défaut (exception de Windows Server 2003 Web Edition)Server 2003 Web Edition)Si on installe IIS…Si on installe IIS…IIS componentsIIS components IIS 5.0 clean IIS 5.0 clean

installinstallIIS 6.0 clean IIS 6.0 clean installinstall

Static file supportStatic file support enabledenabled enabledenabled

ASPASP enabledenabled disableddisabled

Server-side includesServer-side includes enabledenabled disableddisabled

Internet Data ConnectorInternet Data Connector enabledenabled disableddisabled

WebDAVWebDAV enabledenabled disableddisabled

Index Server ISAPIIndex Server ISAPI enabledenabled disableddisabled

Internet Printing ISAPIInternet Printing ISAPI enabledenabled disableddisabled

CGICGI enabledenabled disableddisabled

Frontpage Server ExtensionsFrontpage Server Extensions enabledenabled disableddisabled

Password Change FunctionalityPassword Change Functionality enabledenabled disableddisabled

SMTPSMTP enabledenabled disableddisabled

FTPFTP enabledenabled disableddisabled

ASP.NETASP.NET XX disableddisabled

BITS BITS XX disableddisabled

Page 33: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Sécurisé par défautSécurisé par défaut

Pas de répertoire virtuel avec des Pas de répertoire virtuel avec des exécutablesexécutables

/SCRIPTS/SCRIPTS/MSADC/MSADC

Limites et timeoutsLimites et timeoutsLimitation de la taille des en-tête à 16 KoLimitation de la taille des en-tête à 16 Ko

Anciens codes supprimésAnciens codes supprimésISM.DLLISM.DLL.HTR.HTRSub-authenticationSub-authentication

Vérification de l’existence des fichiersVérification de l’existence des fichiers

Page 34: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Sécurisé par défautSécurisé par défaut

URLScan intégréURLScan intégréUtilitaires en ligne de commande inaccessiblesUtilitaires en ligne de commande inaccessiblesCanonisation des URL’sCanonisation des URL’s

Protection en écriture du contenuProtection en écriture du contenuSécurité par ACL’s surSécurité par ACL’s sur

LogfilesLogfilesCustom Error Directory Custom Error Directory On Cache DirectoriesOn Cache Directories

ASPASPASPEnableParentPath = FALSEASPEnableParentPath = FALSEHang detection Hang detection Internal Health Detection Internal Health Detection

Page 35: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Mise à jour de IIS 5.0 vers Mise à jour de IIS 5.0 vers IIS 6.0IIS 6.0

Soit faire une installation neuveSoit faire une installation neuve

SoitSoitExécuter « IIS Lockdown » Exécuter « IIS Lockdown » avantavant la mise la mise à niveauà niveau

Spécifier les paramètres durant la mise à Spécifier les paramètres durant la mise à niveauniveau

Page 36: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Extensions du service WebExtensions du service Web

Sécurisé par défautSécurisé par défautNe sert que du contenu statique (HTML, JPG, GIF…)Ne sert que du contenu statique (HTML, JPG, GIF…)Protection contre les « script kiddies » listant les Protection contre les « script kiddies » listant les capacités du serveurcapacités du serveurActivation manuelle des autres fonctionnalitésActivation manuelle des autres fonctionnalités

Nouveau nœud dans la console Nouveau nœud dans la console d’administrationd’administration

Autoriser/Interdire les extensionsAutoriser/Interdire les extensionsAjouter/Supprimer les extensionsAjouter/Supprimer les extensions

Erreurs 404Erreurs 404Erreur générique renvoyéeErreur générique renvoyéeFichiers de log donnant des détails Fichiers de log donnant des détails complémentairescomplémentairesUtile pour analyseUtile pour analyse

Page 37: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Isolation des applicationsIsolation des applications

Pool d’applicationsPool d’applications

Isolation des applicationsIsolation des applications

Utilisation de compte avec des Utilisation de compte avec des privilèges bas (service réseau)privilèges bas (service réseau)

Chaque pool peut utiliser son propre Chaque pool peut utiliser son propre compte utilisateurcompte utilisateur

Page 38: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

IIS Worker Process GroupIIS Worker Process Group

IIS_WPGIIS_WPG

Nouveau groupeNouveau groupe

Toutes les identités des Toutes les identités des pools applicatif doivent pools applicatif doivent en être membreen être membre

A les droits et A les droits et permissions permissions nécessaires pour nécessaires pour exécuter un process exécuter un process w3wp.exew3wp.exe

Page 39: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Actions complémentairesActions complémentaires

Arrêter les services inutilesArrêter les services inutilesDésactivé ou démarrage manuelDésactivé ou démarrage manuel

AuthentificationAuthentificationBasiqueBasiqueDigestDigestIntégréeIntégréePassport©Passport©

Permissions – NTFSPermissions – NTFSRestriction par adresse IPRestriction par adresse IPOutilsOutils

LogParser (resource kit)LogParser (resource kit)SSLDiagnostics (download)SSLDiagnostics (download)

Page 40: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Log d’état HTTPLog d’état HTTP

Les logs IIS enregistrent tous les Les logs IIS enregistrent tous les événements et les statutsévénements et les statuts

Nouveaux “substatus” spécifiquesNouveaux “substatus” spécifiquesExemple: Access denied due to Web Service Exemple: Access denied due to Web Service ExtensionsExtensions

Le client reçoit une erreur 404 mais…Le client reçoit une erreur 404 mais…

IIS log l’erreur associée (404.2)IIS log l’erreur associée (404.2)

Voir l’aide en ligne pour les codesVoir l’aide en ligne pour les codes

Impacts: résolution des problèmes plus Impacts: résolution des problèmes plus rapiderapide

>> plus d’info = meilleure action>> plus d’info = meilleure action

Page 41: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Types Mime non définis Types Mime non définis désactivésdésactivés

Les extensions de fichier doivent être déclarés Les extensions de fichier doivent être déclarés comme type MIMEcomme type MIMELe client reçoit une erreur 404, mais l’erreur Le client reçoit une erreur 404, mais l’erreur 404.3 est enregistrée404.3 est enregistréeCaractère joker utilisable pour la définitionCaractère joker utilisable pour la définitionPeut être spécifique à un répertoirePeut être spécifique à un répertoireImpacts:Impacts:

Les applications ou les fichiers de pirate utilisant des Les applications ou les fichiers de pirate utilisant des extensions non définies ne fonctionneront pasextensions non définies ne fonctionneront pasAjouter .tmp pour Visual Studio .net (corrigé dans le Ajouter .tmp pour Visual Studio .net (corrigé dans le SP1) SP1) SI une application est désinstallée, les fichiers ne seront SI une application est désinstallée, les fichiers ne seront pas accessibles si le mappage MIME est supprimépas accessibles si le mappage MIME est supprimé

Page 42: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Problèmes avec le service Problèmes avec le service FTPFTP

Exécution de la commande cd \ puis Exécution de la commande cd \ puis dirdir

Visualisation de TOUS les autres Visualisation de TOUS les autres répertoiresrépertoires

>> divulgation d’informations>> divulgation d’informations

Page 43: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Isolation des utilisateurs Isolation des utilisateurs FTPFTP

Isolation des utilisateursIsolation des utilisateursNe peuvent voir que leur répertoireNe peuvent voir que leur répertoire

La commande cd \ reste à la racine de La commande cd \ reste à la racine de LEUR répertoireLEUR répertoire

Types d’isolationTypes d’isolationAucune (= IIS 5)Aucune (= IIS 5)

LocalLocal

ADAD

Page 44: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Firewall - AntivirusFirewall - Antivirus

Les firewalls globaux peuvent ne pas Les firewalls globaux peuvent ne pas être suffisantsêtre suffisants

Un firewall pour chaque serveurUn firewall pour chaque serveurRéduit les risques de type Blaster, Réduit les risques de type Blaster, SlammerSlammer

Interdire tout sauf ce que vous Interdire tout sauf ce que vous souhaitez que le serveur servesouhaitez que le serveur serve

Utiliser et maintenir à jour un anti-Utiliser et maintenir à jour un anti-virus virus

Page 45: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

RésuméRésumé

IIS 6.0 non installé par défautIIS 6.0 non installé par défautContrôle du contenu exécutable via les Web Service Contrôle du contenu exécutable via les Web Service ExtensionsExtensionsEnregistrement dans les logs des « sub-codes » d’état Enregistrement dans les logs des « sub-codes » d’état HTTPHTTPPersonnalisation des identités des Personnalisation des identités des worker processworker processAccès au chemin parent désactivé (« Parent Paths »)Accès au chemin parent désactivé (« Parent Paths »)Types MIME non défini inactifsTypes MIME non défini inactifs……

Rien que l’amélioration de la sécurité justifie la Rien que l’amélioration de la sécurité justifie la migration vers IIS 6.0migration vers IIS 6.0……ainsi que les améliorations concernant les ainsi que les améliorations concernant les performances et la disponibilitéperformances et la disponibilité

Page 46: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

ÉtapesÉtapes suivantessuivantes1.1. ÊtreÊtre informéinformé sursur lala sécuritésécurité

S'inscrire aux bulletins de sécurité :S'inscrire aux bulletins de sécurité :http://www.microsoft.com/france/securite/bulletins_securite/http://www.microsoft.com/france/securite/bulletins_securite/default.aspdefault.asp

Obtenir l'aide la plus récente de Microsoft sur la Obtenir l'aide la plus récente de Microsoft sur la sécurité :sécurité :http://www.microsoft.com/france/securite/default.asphttp://www.microsoft.com/france/securite/default.asp

2.2. Obtenir des activités de formation Obtenir des activités de formation supplémentaires sur la sécuritésupplémentaires sur la sécurité

1.1. Trouver des séminaires de formation :Trouver des séminaires de formation :http://www.microsoft.com/france/events/default.asphttp://www.microsoft.com/france/events/default.asp

1.1. Trouver un centre de formation local agréé Microsoft Trouver un centre de formation local agréé Microsoft (CTEC) pour des cours pratiques :(CTEC) pour des cours pratiques :http://www.microsoft.com/france/formation/centres/recherche.asphttp://www.microsoft.com/france/formation/centres/recherche.asp

Page 47: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

PourPour plusplus d'informationsd'informationsSiteSite MicrosoftMicrosoft sursur lala sécuritésécurité (tout(tout public)public)

http://www.microsoft.com/france/securite/default.asphttp://www.microsoft.com/france/securite/default.asp Site TechNet sur la sécurité (informaticiens)Site TechNet sur la sécurité (informaticiens)

http://www.microsoft.com/france/technet/themes/secur/http://www.microsoft.com/france/technet/themes/secur/default.aspdefault.asp

Site MSDN sur la sécurité (développeurs)Site MSDN sur la sécurité (développeurs)http://msdn.microsoft.com/security http://msdn.microsoft.com/security (en anglais)(en anglais)

Guide de sécurisation de Windows 2000 ServerGuide de sécurisation de Windows 2000 Serverhttp://www.microsoft.com/france/technet/produits/Win2000S/http://www.microsoft.com/france/technet/produits/Win2000S/info/info.asp?mar=/france/technet/themes/secur/info/info/info.asp?mar=/france/technet/themes/secur/info/20031211-securingwin200s.html&xmlpath=/france/technet/20031211-securingwin200s.html&xmlpath=/france/technet/produits/win2000s/actus.xml&rang=0produits/win2000s/actus.xml&rang=0

Securing Windows 2000 ServerSecuring Windows 2000 Serverhttp://www.microsoft.com/downloads/details.aspx?http://www.microsoft.com/downloads/details.aspx?FamilyId=9964CF42-E236-4D73-AEF4-FamilyId=9964CF42-E236-4D73-AEF4-7B4FDC0A25F6&displaylang=en7B4FDC0A25F6&displaylang=en

NewsgroupNewsgroupnews://news.microsoft.comnews://news.microsoft.com

Page 48: Sécuriser les serveurs Web (IIS5 et IIS6) Benoît HAMET Ingénieur d’étude / Formateur MVP Concept Réseau.

Des questions ?Des questions ?Des questions ?Des questions ?