samedi 18 août 2012
Sécurisation du serveur Web IIS 6.0 sur Windows 2003
Piratage d'un serveur Web
Avec l'avènement de Windows 2003 et IIS 6.0 il y avait un virage serré dans la façon dont les services d'hébergement ont été fournies sur plate-forme Windows années en arrière. Aujourd'hui, les serveurs Web fonctionnant sur Internet Information Services 6.0 (IIS 6.0) sont très populaires dans le monde entier - grâce à la révolution NET et AJAX pour concevoir des applications web.. Malheureusement, cela rend aussi les serveurs Web IIS une cible populaire parmi les groupes de pirates et de presque tous les jours nous lisons à propos des exploits nouveaux tracés et corrigé. Cela ne signifie pas que Windows n'est pas aussi sécurisé que Linux. En fait, il est bon que nous voyons tant de correctifs d'être libéré pour plate-forme Windows, car il montre clairement que les vulnérabilités ont été identifiées et bloquées.
De nombreux administrateurs de serveurs ont du mal à faire face avec la gestion des correctifs sur les serveurs multiples ce qui rend facile pour les pirates de trouver un serveur web vulnérable sur Internet. Une bonne façon que j'ai trouvé pour s'assurer que les serveurs sont patchés est d'utiliser Nagios pour exécuter un script externe sur un hôte distant, à son tour d'alerte sur le grand écran qui ont besoin des correctifs et des serveurs d'un redémarrage après le patch a été appliqué. En d'autres termes, il n'est pas une tâche difficile pour un intrus d'accéder à un serveur vulnérable si le serveur Web n'est pas sécurisé et il compromettre la suite d'une mesure où il n'existe pas d'option à gauche de l'administrateur, mais de faire une nouvelle OS installation et de restauration à partir de sauvegardes.
De nombreux outils sont disponibles sur l'Internet qui permet à un expérimenté ou un débutant pirate d'identifier un exploit et d'accéder à un serveur web. Le plus commun d'entre eux sont les suivants:
IPP (Internet Printing Protocol) - ce qui rend l'utilisation de l'IPP de type buffer overflow. L'application de piratage envoie une chaîne réelle qui déborde de la pile et ouvre une fenêtre d'exécuter du code shell personnalisé. Il relie le fichier CMD.EXE à un port spécifié sur le côté de l'attaquant et l'intrus est pourvu d'une interface de commande et d'accès au système.
UNICODE et CGI-Decode - où le pirate utilise le navigateur sur son ordinateur pour exécuter des scripts malveillants sur le serveur cible. Le script est exécuté en utilisant le compte IUSR_ aussi appelé le "compte anonyme" dans IIS. L'utilisation de ce type de scripts d'une attaque répertoire transversal peut être effectuée pour avoir davantage accès au système.
Au cours de ces années, j'ai vu que la plupart du temps, les attaques sur un résultat IIS serveur web en raison de l'administration du serveur, le manque de gestion des correctifs, mauvaise configuration de la sécurité, etc Ce n'est pas le système d'exploitation ou de l'application à blâmer, mais la configuration de base du serveur est le principal coupable. Je vous ai présenté ci-dessous une liste de contrôle avec une explication de chaque élément. Ces si elles sont suivies correctement aiderait à prévenir beaucoup d'attaques web sur un serveur Web IIS.
Fixer le système d'exploitation
La première étape consiste à sécuriser le système d'exploitation qui gère le serveur web. Assurez-vous que le Windows 2003 Server est exécuté le dernier service pack qui comprend un certain nombre d'améliorations clés de la sécurité.
Toujours utiliser le système de fichiers NTFS
Système de fichiers NTFS offre un contrôle granulaire sur les autorisations des utilisateurs et vous permet de donner aux utilisateurs que l'accès à ce qu'ils ont absolument besoin d'un fichier ou un dossier à l'intérieur.
Retirer les applications indésirables et des Services
Les applications et les services plus que vous exécutez sur un serveur, plus la surface d'attaque pour un intrus potentiel. Par exemple, si vous n'avez pas besoin de fichiers et les capacités de partage d'imprimante sur votre plate-forme d'hébergement partagé, désactivez ce service.
Utilisez les comptes les moins privilégiés pour le service
Toujours utiliser le compte système local pour le démarrage des services. Par défaut, Windows Server 2003 a réduit la nécessité pour les comptes de service dans de nombreux cas, mais ils sont encore nécessaires pour certaines applications tierces. Utilisez des comptes du système local dans ce cas plutôt que d'utiliser un compte de domaine. Utilisation d'un compte système local signifie que vous êtes contenant une violation à un seul serveur.
Renommer administrateur et désactiver Invité
Assurez-vous que le compte par défaut appelé Invité est désactivé, même si ce n'est un compte moins privilégié. En outre, le compte Administrateur est les cibles favorites des pirates et la plupart des scripts malveillants là-bas l'utiliser pour exploiter et serveur vulnérable. Renommer le compte administrateur pour autre chose, alors que les scripts ou des programmes qui ont un chèque de ces comptes codée en dur à coup sûr.
Désactiver NetBIOS avec TCP / IP et SMB
NetBIOS est un protocole de diffusion basé sur la non-routable et d'insécurité, et il échelles mal surtout parce qu'il a été conçu avec un espace de noms plat. Les serveurs Web et Domain Name System (DNS) ne nécessitent pas de NetBIOS et Server Message Block (SMB). Ce protocole doit être désactivé pour réduire la menace de l'énumération de l'utilisateur.
Pour désactiver NetBIOS sur TCP / IP, le droit sur la connexion réseau vers l'Internet et sélectionnez Propriétés. Ouvrez les avancées paramètres TCP / IP et cliquez sur l'onglet WINS. L'option pour désactiver NetBIOS TCP / IP doit être visible maintenant.
Pour désactiver SMB, il suffit de décocher la case Partage de fichiers et d'impression pour les réseaux Microsoft et Client pour les réseaux Microsoft. Un mot de prudence cependant - si vous utilisez des partages réseau pour stocker le contenu passer cette étape. Ne procédez à cette si vous êtes sûr que votre serveur Web est un serveur autonome.
Gestion des correctifs annexe
Établissez un plan pour la gestion des correctifs et de s'y tenir. Abonnez-vous à Microsoft Security Notification Service (http://www.microsoft.com/technet/security/bulletin/notify.asp) pour rester à jour sur la dernière version de correctifs et de mises à jour de Microsoft. Configurer votre serveur mise à jour automatique pour vous informer sur la disponibilité de nouveaux correctifs, si vous souhaitez les revoir avant l'installation.
Exécutez MBSA numérisation
C'est l'un des meilleur moyen d'identifier les problèmes de sécurité sur vos serveurs. Télécharger la Base de Microsoft outil Ligne de sécurité et l'exécuter sur le serveur. Il vous donnera les détails des problèmes de sécurité avec les comptes d'utilisateurs, les permissions, les correctifs et mises à jour manquantes et bien plus encore.
C'est tout à l'obtention de la base du système d'exploitation. Il ya plus de corrections qui peuvent être effectuées pour plus de sécuriser le serveur, mais ils sont au-delà du champ d'application de cet article. Passons maintenant à la sécurisation du serveur web IIS.
IIS 6.0 lorsque la configuration est sécurisée par défaut. Quand nous disons cela, cela signifie que lorsque une nouvelle installation de IIS est fait, il empêche les scripts de s'exécuter sur le serveur web sauf indication contraire. Lorsque IIS est d'abord installé, il ne sert que des pages HTML et tout le contenu dynamique est bloqué par défaut. Cela signifie que le serveur web ne livrera pas ou analyser des pages dynamiques comme ASP, ASP.NET, etc puisque ce n'est pas ce qu'est un serveur web est censé faire, la configuration par défaut est modifié pour permettre à ces extensions. Voici quelques points essentiels qui vous guideront vers la sécurisation du serveur web en outre:
Derniers correctifs et mises à jour
Veiller à ce que les derniers correctifs, mises à jour et des Service Packs ont été installés pour. NET Framework. Ces correctifs et mises à jour de lot fixe de questions qui améliore la sécurité du serveur Web.
Isoler Système d'exploitation
Ne pas faire fonctionner votre serveur web à partir du dossier InetPub par défaut. Si vous avez la possibilité de partitionner vos disques durs, puis utilisez le lecteur C: pour les fichiers du système d'exploitation et de stocker tous vos sites Web des clients sur une autre partition. Placez les répertoires racine Web et des répertoires virtuels sur une partition non-système pour aider à protéger contre les attaques par traversée de répertoires.
Outil IISLockdown
Il ya certains avantages à cet outil et il ya quelques inconvénients, cependant, afin de l'utiliser avec prudence. Si votre serveur web interagit avec d'autres serveurs, de tester l'outil de verrouillage afin de s'assurer qu'il est configuré de telle sorte que la connectivité aux services de back-end ne sont pas perdues.
Autorisations pour le contenu Web
Assurez-vous que la source du script d'accès n'est jamais permis en vertu de la propriété d'un site web. Si cette option est activée, les utilisateurs peuvent accéder aux fichiers source. Si Lecture est sélectionnée, la source peut être lu; si l'écriture est sélectionnée, la source peut être écrit. Pour s'assurer qu'il est désactivé, ouvrez IIS, faites un clic droit sur le dossier Sites Web et sélectionnez Propriétés. Décochez la case si elle est activée et le propager à tous les sites de l'enfant.
Activer uniquement les extensions serveur Web
IIS 6.0 par défaut ne permet pas de contenu dynamique pour être analysé. Pour permettre à une page dynamique qui doit être exécuté, vous devez activer l'extension en question de la Web Service Extensions page de propriétés. Toujours veiller à ce que «Toutes les extensions CGI inconnues" et "Tous Inconnu Extensions ISAPI" est désactivée tout le temps. Si WebDAV et Internet Data Connector ne sont pas tenus, désactiver aussi.
Désactiver chemins d'accès parents
C'est le pire de tous, et merci à Microsoft, il est désactivé dans IIS 6.0 par défaut. L'option Parent Paths permet aux programmeurs d'utiliser ".." dans les appels à des fonctions en permettant des chemins qui sont relatifs au répertoire courant en utilisant la notation ... La définition de cette propriété à True peut constituer un risque pour la sécurité car un chemin d'inclusion peuvent accéder aux fichiers critiques ou confidentielles en dehors du répertoire racine de l'application. Comme la plupart des programmeurs et des applications prêts à l'emploi des tiers d'utiliser cette notation, je m'en remets à vous de décider si cela doit être activée ou désactivée. La solution de contournement pour chemins d'accès parents est d'utiliser l'option Server.MapPath dans vos scripts dynamiques.
Désactiver Site Web par défaut
S'il n'est pas nécessaire, arrêter le Site Web par défaut qui est créé lorsque IIS 6.0 est installé ou modifier la propriété du site Web par défaut pour fonctionner sur une adresse IP spécifique avec une tête d'hôte. Ne gardez jamais le faire fonctionner sur Toutes non attribuées que la plupart des paquets prêts à l'emploi de piratage d'identifier un serveur web vulnérable de l'adresse IP plutôt qu'un nom de domaine. Si votre site Web par défaut est en cours d'exécution sur Toutes non attribuées, cela signifie qu'il peut servir de contenu sur une adresse IP dans l'URL plutôt que le nom de domaine.
Utilisez d'isolation d'application
J'aime cette fonctionnalité dans IIS 6.0 qui vous permet d'isoler des applications dans des pools d'applications. En créant des pools d'applications nouvelles et en assignant des sites Web et des applications à eux, vous pouvez rendre votre serveur plus efficace et plus fiable, car il veille à ce que d'autres applications ou des sites ne soient pas affectés en raison d'une mauvaise application en cours d'exécution en vertu de cette piscine.
Résumé
Tous les conseils et les outils mentionnés ci-dessus IIS sont disponibles en mode natif dans Windows. N'oubliez pas d'essayer juste un à la fois avant de tester votre accessibilité du Web. Il pourrait être désastreux si toutes ces ont été mises en œuvre dans le même temps de vous faire demander ce qui cause un problème dans le cas où vous commencez à avoir des questions.
Dernier conseil: Allez à votre serveur Web et exécuter la commande "netstat-an" (sans les guillemets) à la ligne de commande. Observez combien d'adresses IP différentes tentent de gagner la connectivité à votre machine, la plupart du temps via le port 80. Si vous voyez que vous avez des adresses IP établies à un certain nombre de ports supérieurs, alors vous avez déjà eu un peu de l'enquête à faire....
Inscription à :
Publier les commentaires (Atom)
Aucun commentaire:
Enregistrer un commentaire