Commerce électronique Sécuriser IIS Commerce électronique
Plan Recommandation sur la sécurité d’un serveur (Web) Configuration d’un serveur IIS 7 .0 Utilitaires
Recommandation sur la sécurité d’un serveur (Web) Trop c’est comme pas assez! Pour éviter les problèmes, on désactive ce dont ont a pas besoin et on utilise nos propres éléments.
Recommandation sur la sécurité d’un serveur (Web) La première règle à respecter est d’isoler le serveur. Ajouter des règles ne laissant ouverts que les ports 80 et 443, suivant l’usage, en entrée sur l’adresse du serveur et n’accordant uniquement les réponses établis «ESTABLISHED » à ces demandes en sortie, empêchant ainsi le serveur de communiquer avec l’extérieur.
Pool d’applications Afin d’isoler les différentes sites Web et services Web, il est possible de créer des pools d’applications. Chaque pool d’applications possèdera un (ou au moins un) processus dit de travail, qui traitera les requêtes à destination des sites du pool d’applications. L’exécution dans des processus indépendants assure, en cas de défaillance d’un processus d’un pool, la continuité des services fournis par les autres pools. Permettre l’accès au pool d’application avec un utilisateur pour ce pool.
Recommandation sur la sécurité d’un serveur (Web) Les serveurs doivent aussi appliquer des correctifs de sécurité (Hotfix) par des téléchargements de mises à jour automatisées.
Règles de sécurité d’un serveur (Web) Instaurer des comptes administrateurs avec des mots de passe forts. Fermer tous les services non utilisés comme FTP, SMTP et autres qui présentent des portes d’entrées accessibles. « Tant qu’un service ou composant n’est pas explicitement utilisé, il ne doit pas être présent sur le système ».
Recommandation sur la sécurité d’un serveur (Web) Eviter les extensions FrontPage, dans le cas d’IIS, qui présentent des failles connues. Supprimer le « Site Web par défaut » et en créer un avec un nom bien spécifique. De même, supprimer le compte anonyme et en recréer un avec un nom particulier, limiter ses droits suivant l’usage et par répertoires (Lecture, Exécution, Ecriture, Affichage du contenu du dossier, etc …). Supprimer les pages d’exemple, les documentations inhérentes à chaque service installé et les répertoires virtuels pointant vers ces fichiers. Il faudra de même « banaliser » les pages de messages d’erreurs (HTTP erreur 401, etc …) afin de donner le moins d’informations possibles aux visiteurs.
Recommandation sur la sécurité d’un serveur (Web) Utiliser, quand c’est nécessaire, le cryptage SSL. SSL (443) ne protège que le contenu des données et n’empêche pas les intrusions. Veiller à reconfigurer les serveurs pour que les répertoires temporaires, qui servent par exemple à la décompression de fichiers, ne soient pas sur les partitions systèmes. Supprimer les filtres ISAPI et les Mapping superflus et non utilisées. Appliquer les correctifs de mise à jour de façon automatisée pour éviter l’oubli.
Recommandation sur la sécurité d’un serveur (Web) Créer des répertoires spécifiques pour chaque usage de fichiers ex : Répertoire Images, un Répertoire pages dynamiques, un Répertoire pages statiques, etc ... N’autoriser les permissions de ces répertoires qu’en fonction de l’utilisation des fichiers. On pourrait aussi retirer toutes les commandes exécutables comme telnet.exe etc … des partitions systèmes ce qui reste, malgré tout, assez lourd à gérer. Il sera plus judicieux de désactiver l’appel au Shell de commande avec la base de registre : \HKLM\CurrentControlSet\Services\W3SVC\Para meters\SSIEnableCmdDirective à zéro ou de désactiver toutes les extensions ISAPI faisant référence aux fichiers .EXE. dans le cadre d’un serveur Microsoft.
Configuration d’un serveur IIS Allons nous amuser!
Pour aller plus loin… Vérifier que les service utilisé sont exécutés avec un minimum de privilège. 1. General Ne pas connecter le serveur à l’internet tant qu’il n’est pas complètement sécurisé. Désactiver les services FTP, SMTP s’ils ne sont pas requis. Désactiver le service Telnet. Placer le serveur dans un endroit sécuritaire Ne pas installer MS Index Server ou MS FrontPage Server extensions à moins que ce soit resquis. Utiliser un serveur distinct pour le serveur IIS Désactiver le NetBIOS and SMB (fermer les ports 137, 138, 139 and 445). Ne pas installer d’imprimante Installer les services packs, les patches et les hot fixes. Exécuter IISLockdown sur le serveur. Installer and configurer URLScan. Securiser l’accès d’administration à distance avec l’encryption et des time-outs de session. Désactiver les services non-utilisés.
Pour aller plus loin… Ne pas donner d’accès d’écriture au compte anonyme. Bloquer l’accès à l’exécution de ligne de commande. 2. Accounts Créer un utilisateur anonyme pour chacun des sites Web. a. Supprimer les comptes qui ne sont pas utilisés b. Suprimer l’account Invité Utiliser une politique de mot de passe fort. c. Renommer le compte de l’administrateur et lui donner un mot de passe fort. Enlever l’accès à distance pour le groupe “Everyone” d. Désactiver le compte IUSR_MACHINE application. Ne pas créer plus de deux utilisateurs dans le groupe administrateur e. Créer un compte personnalisé pour l’accès anonyme à l’application.
Pour aller plus loin… 3. Files and Directories Utiliser une partition NTFS différente du système d’exploitation pour les répertoires du serveur Web Désactiver le Site Web par défaut et créer un nouveau site. Mettre les fichiers de logue sur une partition NTFS différente du système d’exploitation Restreindre l’accès du groupe “Everyone” (pas d’accès à \WINNT\system32 ou les répertoires Web). Enlever l’application d’administration à distance de IIS (\WINNT\System32\Inetsrv\IISAdmin). Enlever les application d’exemples (\WINNT\Help\IISHelp, \Inetpub\IISSamples).
Utilitaire MBSA (http://www.microsoft.com/france/securite/outils/ mbsa.aspx) Microsoft Baseline Security Analyzer, ou MBSA, est un outil Microsoft destiné à analyser les failles de sécurité de votre serveur.
Utilitaire IISlockdown(http://www.microsoft.com/france/t echnet/securite/secmod113.mspx) The IIS Lockdown Tool functions by turning off unnecessary features. This reduces the attack surface available to an attacker.
Utilitaire UrlScan (http://technet.microsoft.com/en- us/security/cc242650.aspx) UrlScan est un utilitaire de filtre Isapi inclus dans IISlockdown qui analyse les données entrantes du serveur. UrlScan analyse toutes les données entrantes par rapport à un fichier de configuration UrlScan.ini.
Pour aller plus loin… 4. Shares a. Remove all unnecessary shares (including default administration shares). b. Restrict access to required shares (the Everyone group does not have access). c. Remove Administrative shares (C$ and Admin$) if they are not required (Microsoft Management Server (SMS) and Microsoft Operations Manager (MOM) require these shares). d. Ports i. Restrict Internet-facing interfaces to port 80 (and 443 if SSL is used). ii. Encrypt Intranet traffic (for example, with SSL), or restrict Internet traffic iii. if you do not have a secure data center infrastructure. 5. Registry a. Restrict remote registry access. b. Secure SAM (HKLM\System\CurrentControlSet\Control\LSA\NoLMHash). This applies only to standalone servers. c. Auditing and Logging i. Audit failed logon attempts. ii. Relocate and secure IIS log files. iii. Configure log files with an appropriate file size depending on the application security requirement. iv. Regularly archive and analyze log files. v. Audit access to the Metabase.bin file. vi. Configure IIS for W3C Extended log file format auditing. vii. Read How to use SQL Server to analyze Web logs at support.microsoft.com
Pour aller plus loin… 6. Sites and Virtual Directories Mettre le site Internet sur une partition NTFS différent du système d’exploitation. Supprimer les répertoires non-nécessaire (IISSamples, IISAdmin, IISHelp,Scripts, etc.). Ne pas permettre l’accès en lecture aux sous-répertoire si ce n’est pas nécesaire Ne pas permettre l’accès en écriture et exécution pour les comptes anonymes. S’assurer que le code source des scripts sont dans un répertoire protégé. S’assurer que l’accès en écriture est accessible aux clients authentifié et appliquer une connection encrypté SSL si nécessaire Supprimer les extension FrontPage si elles ne sont pas utilisées
Pour aller plus loin… 7. Script Mappings Map extensions not used by the application to 404.dll (.idq, .htw, .ida, .shtml, .shtm, .stm, idc, .htr, .printer). b. Map unnecessary ASP.NET file type extensions to “HttpForbiddenHandler” in Machine.config. 8. ISAPI Filters Enlever les filtres ISAPI non nécessaires. 9. Server Certificates S’assurer que les certificat sont à jour. Seulement utiliser des certificats pour leur utilisations prévues