You are on page 1of 61

Scuriser un serveur IIS Microsoft

09/2008 PATRICK CHALBET

Scuriser un Serveur IIS Microsoft

TABLE DES MATIERES

I. II. III.
i. ii. iii. iv. v.

Introduction Recommandation sur la scurit dun serveur web Particularit dun serveur IIS
IIS 6.0 ASP ASP.NET WebDav Petits Utilitaires

-3-5-9-9- 13 - 15 - 17 - 18 -

IV. V. VI.

Configuration dun serveur IIS 6 .0 Evolution vers IIS 7.0 Annexes


- Isa Server

- 27 - 47 - 53 - 53 - 61 -

VII.

Rfrences

P.CHALBET

Page - 2 -

14/09/2008

Scuriser un Serveur IIS Microsoft

Introduction

Le plus difficile et important en termes de scurit dans les systmes informatiques est de se tenir continuellement jour et deffectuer une veille technologique permanente. De nombreux sites, de nombreuses informations traitant de ce sujet sont malheureusement souvent obsoltes. Un des avantages davoir un systme suivi est quil le fait pour vous et quil vous permet par lintermdiaire des mises jour et correctifs de rester relativement en phase avec les protections de failles. Le premier problme qui apparat dans ce cas, cest quil vous faut une confiance absolue dans ces systmes pour leur remettre votre rseau et sa scurit entre les mains (Spywares, Pertinences de ces correctifs, Comptence des quipes) ; le deuxime est quils dnombrent dj beaucoup de failles. Mais de moins en moins, il faut le reconnatre. Dans le cas de Microsoft, la socit de Richmond a focalis son dveloppement sur la scurit de ses systmes, notamment en remodelant totalement la structure de ses noyaux depuis de nombreuses annes et devrait possder maintenant un systme performant et de plus en plus fiable. Les serveurs IIS 6.0 sont aujourdhui utiliss par 54% des Fortune 1000 et nont accus que deux correctifs de scurit depuis 2003i. De plus, il serait faux de penser quun systme Microsoft est uniquement graphique avec des cases cocher contrairement un serveur web, apache ou autres, contenant des fichiers de configuration prcis tels que Httpd.conf. IIS peut, lui aussi, tre configur en mode texte avec ses deux fichiers de configuration exploitables par un quelconque diteur de texte. Ces fichiers appels metabase_XX_XX.xml et MBSchema se trouveront dans : Windows\system32\inetsrv, rpertoire history pour le premier. Le fichier metabase.xml servant de rfrence de base au systme.
i

http :www.Secunia.com

P.CHALBET

Page - 3 -

14/09/2008

Scuriser un Serveur IIS Microsoft

En conclusion de cette introduction, le choix dun systme dexploitation ou dun serveur Web, quils soient libres ou payants, devra surtout privilgier le suivi permanent et automatis de ses correctifs et lapplication de quelques rgles de bases de configuration scurise. Noublions pas que les sites Web restent toujours en 2008 un point faible dans nos rseaux. La Scurit informatique ou plutt les failles de scurit informatique (intrusions, virus et autres) couteraient chaque anne environ 70 milliards aux socits amricaines et 90 millions de personnes auraient t victimes de vols didentit ou donnes bancaires aux Etats Unis entre Avril 2005 et Juillet 2006.
ii

ii

-- Cyber Criminalit Enqute sur les mafias qui envahissent le web dition : Dunod

auteurs : E.Filiol et P.Richard

P.CHALBET

Page - 4 -

14/09/2008

Scuriser un Serveur IIS Microsoft

Recommandation sur la scurit dun serveur (Web)


La premire rgle respecter est disoler le serveur de son domaine par des rgles firewall appropries, une DMZ et un groupe de travail. En effet, lemploi dune DMZ (DeMilitarized Zone) parait inluctable et lexploitation du serveur dans un groupe de travail empchera lattaquant ventuel de remonter sur le domaine et ses comptes.

On pourrait imaginer, dans un premier temps, des rgles ne laissant ouverts que les ports 80 et 443, suivant lusage, en entre sur ladresse du serveur et naccordant uniquement les rponses tablis ESTABLISHED ces demandes en sortie, empchant ainsi le serveur de communiquer avec lextrieur au cas ou. Ceci nempchant pas, bien sr, les attaques SYN, injection de code (javascript et sql), saturation de la bande passante ou paquets fragments (voir la taille des MTU) de se propager sur notre rseau. Attention, toutefois, laisser le port udp 123 (NTP) ouvert pour la synchronisation dhorloge, le mieux tant dutiliser un serveur NTP local. Un des problmes majeur reste que les serveurs doivent aussi appliquer des correctifs de scurit (Hotfix) par des tlchargements de mises jour automatises. Le plus scuris serait de se logger sur un serveur WSUS local dans le cas de Microsoft. ICMP, protocole utilis pour vhiculer des messages de contrle et d'erreur, Ping et autres Traceroute. Pour quoi faire ? Pour vivre serein, restons cach, ceci vitera les scans ou autres tentatives de localisations. Lutilisation dun superviseur de rseau tel que TcpDump, Ethereal ou Network Monitor afin dobtenir des logs plus pertinents sur les connections (adresses sources et destinations, ports sources et destinations, flags du paquet (Syn, Ack, etc ) et tous renseignements complmentaires sur les requtes et rponses permettra de mieux affiner les monitorings.

Il faudra ensuite respecter les rgles de base de tous serveurs Web :

I. Installer le serveur WEB sur une partition NTFS ddie, dans le cas dIIS, pour viter les remontes aux fichiers systmes et les attaques transversales.

II. Fermer les ping et ICMP (Voir ICMP, pourquoi faire ?). P.CHALBET Page - 5 14/09/2008

Scuriser un Serveur IIS Microsoft

III. Instaurer des comptes administrateurs avec des mots de passe forts.

IV. Fermer tous les services non utiliss comme FTP, SMTP et autres qui prsentent des portes dentres accessibles. Tant quun service ou composant nest pas explicitement utilis, il ne doit pas tre prsent sur le systme .

V. Eviter les extensions FrontPage, dans le cas dIIS, qui prsentent des failles connues.

VI. Supprimer le Site Web par dfaut et en crer un avec un nom bien spcifique.

VII. De mme, supprimer le compte anonyme et en recrer un avec un nom particulier, limiter ses droits suivant lusage et par rpertoires (Lecture, Excution, Ecriture, Affichage du contenu du dossier, etc ).

VIII. Ne pas permettre de connatre les chemins des URL. Eviter dinsrer les plans du site.

IX. Supprimer les pages dexemple, les documentations inhrentes chaque service install et les rpertoires virtuels pointant vers ces fichiers. Il faudra de mme banaliser les pages de messages derreurs (HTTP erreur 401, etc ) afin de donner le moins dinformations possibles aux visiteurs.

X. Utiliser, quand cest ncessaire, le cryptage SSL. SSL (443) ne protge que le contenu des donnes et nempche pas les intrusions.

XI. Veiller reconfigurer les serveurs pour que les rpertoires temporaires, qui servent par exemple la dcompression de fichiers, ne soient pas sur les partitions systmes.

XII. Supprimer les filtres ISAPI et les Mapping superflus et non utilises. Les filtres ISAPI reprsentent une alternative IIS aux scripts et programmes CGI. Le seul filtre prsent est le filtre ASP.NET. Si vous en voyez dautres alors que vous navez aucun fichier affubl de ces extensions, supprimer les. Le ver Code Red, par exemple, recherche la prsence de fichiers avec lextension .IDA. Si le filtre ISAPI pour P.CHALBET Page - 6 14/09/2008

Scuriser un Serveur IIS Microsoft


lextension .IDA est absent, le serveur renvoie au ver une erreur de type page non trouve et celui-ci ne pourra infecter votre serveur.

XIII. Appliquer les correctifs de mise jour de faon automatise pour viter loubli.

XIV. Crer des rpertoires spcifiques pour chaque usage de fichiers ex : Rpertoire Images, un Rpertoire pages dynamiques, un Rpertoire pages statiques, etc ...

XV. Nautoriser les permissions de ces rpertoires quen fonction de lutilisation des fichiers (les rpertoires Image et pages statiques en lecture seul et le rpertoire contenant des fichiers dynamiques avec des droits dexcution).

XVI. Les systmes Microsoft permettent quelques parades contre des attaques comme cette modification de cls de registre. Ex : HKLM\ System\ Current Control\Services\TCPIP\ Parameters\ SynAttackProtect pour les attaques SYN.

XVII. Favoriser lusage du certificat de connexion quand cest possible, coupl avec un mapping sur un compte local existant.

XVIII. On pourrait aussi retirer toutes les commandes excutables comme telnet.exe etc ... des partitions systmes ce qui reste, malgr tout, assez lourd grer. Il sera plus judicieux de dsactiver lappel au Shell de commande avec la base de registre : \HKLM\CurrentControlSet\Services\W3SVC\Parameters\SSIEnableCmdDirective

zro ou de dsactiver toutes les extensions ISAPI faisant rfrence aux fichiers .EXE. dans le cadre dun serveur Microsoft.

XIX. Installer et configurer les utilitaires Microsoft UrlScan, IISlockdown et MBSA mme si certaines parties sont dj intgres IIS 6.

XX. Penser, bien sr, aux attaques pouvant venir de lintrieur. Le spam est devenu la premire nuisance visible des boites mails. Il nest pas vident, pour un utilisateur non averti, de ne pas rsister la tentation de cliquer sur un lien vantant tel ou tels mrites et dactiver, ainsi, louverture dune faille ou dun keylogger. Ce dernier pourra P.CHALBET Page - 7 14/09/2008

Scuriser un Serveur IIS Microsoft


rcuprer les frappes du clavier ou le stockage de mots de passes. Dans son livre blanc consacr au vol didentit, McAfee prconise : se mfier des messages cherchant vous inciter donner des informations confidentielles ; viter de cliquer sur un lien intgr dans un e-mail, mais crire ladresse soi-mme dans la fentre du navigateur ; installer des outils de scurit et les maintenir jour ; rflchir avant douvrir une pice jointe quelle que soit sa provenance ; ne pas divulguer son adresse mail nimporte qui ; effacer soigneusement le disque dur dun ordinateur dont vous allez vous sparer ; assurez-vous quun site Web est sr avant de dposer des informations personnelles ; utilisez des mots de passe difficiles deviner et renouvelez-les priode rgulire ; tre prudent dans lusage de sa messagerie instantane. XXI. Il pourra tre envisag dutiliser des rpertoires virtuels apportant de nombreux avantages : ils sont situs nimporte o sur le disque et non plus dans la racine \inetpub\www\ prsentant ainsi la structure dun site web classique. Ils permettent davoir plusieurs serveurs web et dtre dplaables volont sans avoir changer les liens, juste en modifiant le chemin de lalias. Si le site est hberg sur une partition FAT, pointer le rpertoire virtuel sur une partition NTFS avec sa propre gestion des droits daccs. Les clients nont aucune ide de lemplacement du contenu sur le disque.

XXII. Et enfin, lemploi dun Reverse Proxy comme ISA Server ou autre pour enrayer les injections de codes et les accs direct au serveur proprement dit. En effet, le Reverse Proxy permet dintercepter les requtes des utilisateurs pour les reformuler lui-mme vers le serveur ; ceci empchant au navigateur client laccs la page rfrente du serveur afin de pouvoir modifier, ensuite, le code existant par injection de code, JavaScript ou autres.

XXIII. Un Pare-feu Applicatif utilisant des filtres de niveau 7 sur lchelle OSI.

XXIV. - De mme, il faut prconiser lutilisation de Switch ports commuts plutt que des Hubs qui diffusent en Broadcast afin dviter les coutes sur le rseau. Ceci peut paratre succinct et ne protgera pas des attaques dites Man in the Middle mais, encore une fois, elle rduira la surface dattaque. Nota : Les nouveaux protocoles SSH2 protgent P.CHALBET maintenant des softs dcoutes comme Ettercap. 14/09/2008

Page - 8 -

Scuriser un Serveur IIS Microsoft

Particularit dun serveur IIS i . IIS 6.0


La premire version dIIS a vu le jour en 1996 avec Windows NT 4.0. Plusieurs annes plus tard (en l'an 2000), Microsoft intgra une version revue au sein de son nouveau systme : Windows 2000 Server. Cette dition dIIS tait installe par dfaut en mme temps que l'OS. Cela participa sa diffusion sur le march mondial mais posa de nombreux problmes de scurit (notamment mis en vidence par le ver NIMDA).

Contrairement, donc, aux versions antrieures, IIS 6.0 nest pas install par dfaut avec Windows server 2003. En outre, Windows Server 2003 a une nouvelle stratgie de groupe : Prevent IIS installation. Vous pouvez lutiliser pour empcher Windows 2003 dinstaller IIS 6.0 sur les serveurs dans une fort dAD (Active Directory) qui ne sont pas destins tre des serveurs Web. Le service pack 1 de Windows Server 2003 confirme cette tendance scuritaire pour rduire encore la surface dattaque et augmenter la scurit de lapplication (dsactivation de l'accs anonyme par dfaut, restriction des droits du compte SERVICE RESEAU....). Aucun service annexe tel ASP, extension Frontpage, ISAPI ou CGI ne sont installs par dfaut de mme que FTP, NNTP et SMTP, Webdav ou toutes les extensions dynamique possibles. Le serveur Web ne rend que du contenu statique.

1) IIS 6.0 est conforme la norme HTTP 1.1. il gre les protocoles TCP/IP, HTTP, FTP, SMTP, NNTP et les contrles d'accs PICS. Il est administrable en ligne de commande et en mode graphique via une console MMC - Microsoft Management Console - qui hberge des programmes tels que le Gestionnaire des services Internet et supporte les accs Webdav pour la gestion des sites.

2) IIS peut tre administr distance par interfaces WMI et ADSI dans le cas de gestion, par scripts, de plusieurs serveurs en mme temps, ce qui nest pas une garantie de scurit. P.CHALBET Page - 9 14/09/2008

Scuriser un Serveur IIS Microsoft

3) Les configurations stockes dans les deux fichiers XML de mtabase sont modifiables et ditables chaud par un quelconque diteur de texte. Vous pouvez modifier le fichier de mtabase directement pendant l'excution d'IIS. Les modifications sont alors immdiatement appliques la mtabase en mmoire ce qui permet de ne pas redmarrer le service mais peut prsenter, premire vu, une faille pour toutes personnes pouvant sen emparer. Vous pouvez rapidement revenir une version prcdente de la mtabase et viter ainsi des interruptions de service prolonges. Le suivi automatique des modifications apportes la mtabase enregistre sur disque une copie de chaque version du fichier de mtabase dans un dossier historique .

4) IIS 6.0 supporte IPV6 mais la limitation de bande passante n'est pas prise en charge pour les sites Web IPv6

5) Le chemin daccs relatif aux rpertoires parents est dsactiv par dfaut.

6) IIS permet dattribuer une valeur de bande passante rserve sur le rseau. En tant qu'administrateur, vous pouvez aussi contrler le niveau et la qualit du service offert vos utilisateurs en utilisant l'implmentation des dlais et des limites de connexion, des limites de longueur de file d'attente des pools d'applications et la comptabilisation des processus.

7) En mode isolation, IIS 6.0 permet disoler les applications de manire ce qu'elles s'excutent dans un processus (espace mmoire) spar du serveur Web et des autres applications. Vous pouvez configurer IIS 6.0 de manire ce qu'il s'excute soit en mode d'isolation du processus de travail (par dfaut linstallation), o tous les processus sont excuts dans un environnement isol, soit en mode d'isolation IIS 5.0 o vous pouvez excuter des applications Web non compatibles. En mode d'isolation du processus de travail, vous pouvez isoler n'importe quel lment (application Web isole ou sites multiples) dans son propre processus de travail du service de publication WWW, empchant ainsi un site ou une application d'en arrter un autre. Pour contrecarrer les utilisateurs mal intentionns et djouer les attaques contre le systme, vous pouvez configurer des pools d'applications et donc le processus de travail qu'ils contiennent, de manire ce qu'ils s'excutent sous un compte dont le niveau d'autorisation est infrieur celui de Local System, le compte Service Rseau. P.CHALBET Page - 10 14/09/2008

Scuriser un Serveur IIS Microsoft

8) IIS 5.0 utilisait un compte local systme, IIS 6 se connecte via le compte Service rseau qui possde des droits de beaucoup infrieurs. En effet, le compte anonyme cre uniquement un jeton utilisant ce compte Service rseau.

9) Dans des cas bien prcis, il est possible dautoriser uniquement certains rpertoires ou certaines url des comptes dutilisateurs prtablis. Il faut pour cela dsactiver le compte anonyme et utiliser loption dautorisation dURL.

10) IIS permet linstallation dun serveur FTP en mode isolation. L'isolation d'utilisateur FTP empche les utilisateurs d'afficher ou d'craser les contenus d'autres utilisateurs en limitant l'accs leurs propres rpertoires. Un utilisateur ne peut pas remonter dans l'arborescence, car le rpertoire de premier niveau de l'utilisateur apparat en tant que racine du service FTP.

11) IIS permet d'envoyer des messages derreur standards ou personnaliss. En termes de scurit, les messages d'erreur personnaliss fournissent des commentaires moins informatifs que les messages d'erreur standard.

12) IIS permet dutiliser la compression HTTP pour obtenir des transmissions plus rapides entre les navigateurs prenant en charge cette compression et le serveur. Vous pouvez compresser sparment les fichiers statiques ou les fichiers dynamiques .

13) IIS teste continuellement ses process W3WP.exe par des commandes ping rgulires afin de vrifier leurs prsences et les redmarrer automatiquement le cas chant. Dans IIS 5.0 toutes les applications sexcutaient dans une seule instance de processus. Dans IIS 6.0 les applications et sites web sont regroups dans des pools dapplications. Chaque pool dispose dun ou plusieurs processus excutants (W3WP.exe) qui sexcutent indpendamment les uns des autres. Si un des processus ou pools dapplications tombe, cela naffectera pas les autres excutants.

P.CHALBET

Page - 11 -

14/09/2008

Scuriser un Serveur IIS Microsoft

14) Http.sys est maintenant excut en mode noyau permettant entre autres : Le filtrage des requtes entrantes ; Http.sys analyse toutes les requtes entrantes pour identifier tout ensemble de requtes anormalement important qui pourrait signaler une tentative dexploitation de mmoires tampon ou saturation de mmoires. Une raction en cas dchec de processus excutant ; si un processus choue en raison dune attaque de type saturation de mmoires, Http.sys peut tre configur soit pour arrter ou redmarrer le processus. Lamlioration de lenregistrement ; Http.sys crit dans le fichier journal avant quune requte ne soit traite par un process, ce qui permet didentifier la requte lorigine de la panne du processus.

Figure 1

Surveillance et Administration Du Service WWW

Pools DApplication

Pools DApplication

Pools DApplication

W3WP.exe
Application

W3WP.exe
Application

W3WP.exe Application

Web

Web

Web

Mode Utilisateur Mode Noyau

HTTP.SYS

Requte

Requte

P.CHALBET

Page - 12 -

14/09/2008

Scuriser un Serveur IIS Microsoft

ii . ASP

ASP est un langage dynamique de dveloppement utilisant des scripts VB Script et Java Script et reconnaissable son extension .asp. Ces pages sont toujours excutes ct serveur et sont, dune manire gnrale, conues comme des pages HTML dans lesquelles on insre du code pouvant effectuer, par exemple, des requtes dans des bases de donnes SQL ou Access ( la diffrence d'Access, SQL Server demande une identification de l'utilisateur, qu'il soit administrateur, propritaire ou utilisateur de lune delle). L'excution du script sur le serveur est dclenche lorsqu'un navigateur fait la requte sur une page l'extension ASP. Le serveur Web appelle alors l'ASP qui traite le fichier grce la technologie ADO (ActiveX Data Object) en excutant les commandes de script rencontres et pour gnrer ensuite la page HTML et la renvoyer au navigateur. Vous pouvez, aussi via ces Actives Server Pages, rcuprer certaines donnes du navigateur ou des donnes saisies sur un formulaire HTML. Dans le fichier HTML, les scripts se distinguent des balises HTML en employant des dlimiteurs diffrents. Ces commandes utilisent les dlimiteurs <% et %>.

ASP, dans sa version 3.0, est architectur autour de 6 objets internes appels modle objet.

L'objet Application qui reprsente le site. Il permet de manipuler les variables, les constantes. L'objet Session qui reprsente l'utilisateur. Il permet de conserver les donnes relatives l'utilisateur. L'objet Response qui reprsente le rsultat afficher sur le navigateur. Il permet de manipuler les variables, les constantes. L'objet Request qui permet de traiter les informations en provenance du client par l'intermdiaire de formulaires. Il permet de rcuprer les valeurs des champs de requte issus du formulaire du navigateur L'objet Server qui reprsente le serveur. Il permet d'en grer les paramtres, ainsi que d'instancier les objets utilisateurs L'objet ObjectContext qui dsigne la transaction courante. Il sert grer les traitements de la transaction

Un script ASP est un simple fichier texte contenant des instructions crites l'aide de caractres ASCII 7 bits (des caractres non accentus) incluses dans un code HTML l'aide de balises spciales et stock sur le serveur. Ce fichier doit avoir l'extension .asp pour pouvoir tre interprt par le serveur.
P.CHALBET Page - 13 14/09/2008

Scuriser un Serveur IIS Microsoft

Ainsi, lorsqu'un navigateur(le client) dsire accder une page dynamique ralise avec les Asp

le serveur reconnait qu'il s'agit d'un fichier ASP grce son extension .ASP il lit le fichier Ds que le serveur rencontre une balise indiquant que les lignes suivantes sont du code ASP, il "passe" en mode ASP, ce qui signifie qu'il ne lit plus les instructions : il les excute ! Lorsque le serveur rencontre une instruction, il la transmet l'interprteur L'interprteur excute l'instruction puis envoie les sorties ventuelles l'interprteur A la fin du script, le serveur transmet le rsultat au client (le navigateur) Jeff PILOU

Le code ASP stock sur le serveur ne sera pas visible par le client puisque le serveur linterprte ds que le navigateur en demande l'accs. Quelques recommandations sont, quand mme, raliser si on utilise ces pages associes une base de donnes selon Microsoft : http://technet2.microsoft.com/windowsserver/fr/library/1fc6f54f-5131-4fbc-a4024b7e2859ca361036.mspx?mfr=true

Ne crez pas de chanes de connexion de base de donnes dans une page ASP en concatnant entre elles des chanes d'entres utilisateur. Des utilisateurs mal intentionns peuvent injecter du code dans leurs entres afin d'accder votre base de donnes. Si vous utilisez une base de donnes SQL, servez-vous de procdures enregistres pour crer des chanes de connexion de base de donnes.

N'utilisez pas le nom de compte administrateur SQL par dfaut, sa. Toute personne utilisant SQL sait que le compte sa existe. Crez un compte administrateur SQL diffrent avec un mot de passe fort et supprimez le compte sa.

Ne placez aucun nom de compte ou mot de passe administrateur dans des scripts d'administration ou des pages ASP. Ne stockez aucune donne dans des cookies ou dans des champs d'entre cachs dans vos pages Web.

Lors de linstallation de certificat de Serveur sur vos serveur web, des pages ASP denregistrement sont installes par dfaut dans le rpertoire c:\windows\system32\certsrv . Il est conseill de supprimer ces pages ou den restreindre laccs au minimum

P.CHALBET

Page - 14 -

14/09/2008

Scuriser un Serveur IIS Microsoft

iii ASP.NET

ASP.NET est une plateforme dynamique de dveloppement issue des technologies .net et reconnaissable son extension .aspx. Elle utilise le moteur .net Framework dont la dernire version 3.0 englobe la 1.0 et la 2.0. ASP.NET est intgr depuis IIS 5.0 pour fournir une structure permettant lauthentification, soit par identification de lutilisateur soit par le contrle des ressources auxquelles un utilisateur spcifique peut accder sur le serveur web et les serveurs dapplication. Lutilisateur soumet une requte HTTP ou HTTPS vers un site Web. Il est authentifi laide dun des protocoles dauthentification. IIS 6.0 dtermine si lutilisateur est autoris accder aux ressources. Le contrle daccs peut tre bas sur lURL demande les autorisations NTFS ou les filtres dadresses IP Un jeton de processus est gnr puis transmis ASP.NET. Ce jeton identifie lutilisateur et indique si ce dernier est autoris accder aux ressources ASP.NET demandes. ASP.NET autorise laccs de lutilisateur lapplication ASP.NET en sappuyant sur les autorisations NTFS, les restrictions dURL ou le rle de scurit attribu lutilisateur pour tous les futurs accs la ressource. Le processus conduit une identit dapplication ASP.NET qui est utilise pour tous les futurs accs la ressource.

Voici ses caractristiques telles quelles sont dcrites dans Microsoft TechNet : http://technet2.microsoft.com/windowsserver/fr/library/c0b09806-f786-4fb3-ae9411bf56bb20cd1036.mspx?mfr=true

Le systme de configuration Microsoft ASP.NET propose une infrastructure extensible qui vous permet de dfinir les paramtres de configuration lorsque vos applications ASP.NET sont dployes pour la premire fois de manire ce que vous puissiez ajouter ou rviser les paramtres tout moment avec un impact minimal sur les applications et serveurs Web oprationnels. Les informations de configuration P.CHALBET Page - 15 14/09/2008

Scuriser un Serveur IIS Microsoft


sont stockes dans des fichiers texte XML. Vous pouvez utiliser n'importe quel diteur de texte standard ou analyseur XML pour crer et diter des fichiers de configuration ASP.NET. Plusieurs fichiers de configuration, tous nomms Web.config, peuvent apparatre dans plusieurs rpertoires sur un serveur d'application ASP.NET. Chaque fichier Web.config applique ses paramtres de configuration son propre rpertoire et tous les rpertoires enfants qui se trouvent en dessous de lui. Ces Fichiers contiennent une hirarchie imbrique de balises et sous-balises XML accompagnes d'attributs spcifiant les paramtres de configuration. tant donn que les balises XML doivent tre impeccables, il faut veiller respecter les rgles concernant les

majuscules/minuscules dans les balises, sous-balises et attributs. Les noms et les attributs de balise obissent une rgle de mise en majuscule spcifique qui consiste mettre le premier caractre du nom de la balise en minuscule et la premire lettre des mots concatns suivants en majuscule. Les valeurs des attributs suivent une autre rgle qui consiste mettre en majuscule le premier caractre de l'attribut et la premire lettre des mots concatns suivants. true et false font exception la rgle car ils sont toujours en minuscule. Toutes les informations de configuration se situent entre les balises XML <configuration> et racine </configuration>. Elles sont regroupes en deux zones principales : la zone de dclaration du gestionnaire de section de configuration et la zone de paramtres de la section de configuration. Les fichiers de configuration des rpertoires enfants peuvent fournir des informations de configuration autres que celles hrites des rpertoires parents, les paramtres de configuration des rpertoires enfants peuvent modifier ou l'emporter sur les paramtres dfinis dans les rpertoires parents. Le fichier de configuration racine appel \systemroot\ Microsoft.NET\ Framework\ numro_version\ CONFIG\

Machine.config fournit des paramtres de configuration ASP.NET pour l'ensemble du serveur Web. Au moment de l'excution, ASP.NET utilise les informations de configuration fournies par les fichiers Web.config dans une hirarchie de rpertoires virtuels afin de calculer une collection de paramtres de configuration pour chaque ressource URL. Les paramtres de configuration qui en rsultent sont alors mis en cache pour toutes les futures demandes une ressource. Notez que l'hritage est dfini par le chemin de la demande entrante (l'URL) et non par les chemins du systme de fichiers accdant aux ressources se trouvant sur le disque (chemins d'accs physiques). P.CHALBET Page - 16 14/09/2008

Scuriser un Serveur IIS Microsoft


ASP.NET dtecte les modifications apportes aux fichiers de configuration et applique automatiquement les nouveaux paramtres de configuration aux ressources Web affectes par les modifications. Le serveur n'a pas tre redmarr pour que les modifications prennent effet. Les paramtres de configuration hirarchiques sont automatiquement recalculs et remis en cache lorsqu'un fichier de configuration de la hirarchie est modifi. La section <processModel> est une exceptionLe systme de configuration ASP.NET est extensible. Vous pouvez dfinir de nouveaux paramtres de configuration et crire les gestionnaires de sections de configuration pour les traiter. Lorsqu'une version plus rcente d'un fichier Web.config, .aspx, .asmx, ou tout autre fichier ASP.NET est copie sur une application Web existante, ASP.NET dtecte que le fichier a t mis jour. Il charge alors une nouvelle version de l'application Web pour grer toutes les nouvelles demandes, tout en permettant l'instance originale de l'application Web de finir de rpondre aux demandes en cours. Lorsque toutes les demandes concernant l'application originale ont t satisfaites, l'application est automatiquement supprime. Cette fonctionnalit permet d'liminer les interruptions de service pendant la mise jour des applications Web. ASP.NET permet de protger les fichiers de configuration des accs extrieurs en configurant les services Internet (IIS) pour viter qu'un navigateur accde directement aux fichiers de configuration. Une erreur d'accs HTTP 403 (refus) est retourne aux navigateurs tentant de demander directement un fichier de configuration. ASP.NET permet de contrler l'accs aux informations d'un site en comparant les informations d'identification (ou leurs reprsentations) authentifies aux autorisations du systme de fichiers NTFS ou un fichier XML qui rpertorie les utilisateurs, les rles (groupes) ou les verbes HTTP autoriss.

ASP.NET prend en charge tous les navigateurs sur n'importe quel priphrique. Les dveloppeurs utilisent les mmes techniques de programmation pour cibler les nouveaux priphriques mobiles qu'ils utilisent pour leurs navigateurs de bureau traditionnels.

P.CHALBET

Page - 17 -

14/09/2008

Scuriser un Serveur IIS Microsoft

iv . Webdav
Webdav est un service applicatif qui permet de se connecter et mettre jour un site web partir dun client natif sur Windows 2000 et XP. Webdav sinstalle par les Extensions Frontpage. Il cre un rpertoire virtuel partag dans lequel les utilisateurs autoriss et connects accdent aux pages html du site par lintermdiaire de leur navigateur comme sil tait sur un partage rseau. Il va sans dire que Webdav pose quelques problmes de scurit en donnant ainsi accs en lecture et criture des pages du site mme avec des droits dauthentification levs : authentification Windows intgre, suppression du compte anonyme et partitions NTFS en autres. Webdav utilise le port 80 comme lHTTP et ne ncessite pas de configuration firewall particulire.

v . Petits Utilitaires
MBSA
Microsoft Baseline Security Analyzer, ou MBSA, est un outil Microsoft destin analyser les failles de scurit de votre serveur. Le logiciel scanne les services IIS, SQL Server, IE, Office et gnre un rapport complet des failles pouvant subsister sur vos postes. Le logiciel vous proposera ensuite de corriger les problmes et de tlcharger, si besoin, les correctifs de scurit ncessaires (Figure2). Tlchargeable : http://www.microsoft.com/france/securite/outils/mbsa.aspx

Figure 2

P.CHALBET

Page - 18 -

14/09/2008

Scuriser un Serveur IIS Microsoft

IISlockdown
IISlockdown est un utilitaire de scurit surtout utilis pour les versions IIS 5.0 et antrieur. Les configurations de scurits paramtres dans IISlockdown sont, quasiment, les valeurs par dfaut dIIS 6. Tlchargeable : http://www.microsoft.com/france/technet/securite/secmod113.mspx .
Figure 3

Figure 4

P.CHALBET

Page - 19 -

14/09/2008

Scuriser un Serveur IIS Microsoft


Figure 5

Activez ou dsactivez les rles suivants : Active Server Pages - permet la cration de pages Web dynamiques Interface Web du server dindex - permet de grer le serveur dindex distance Fichiers Includes. - Les scripts Includes permettent au serveur dajouter textes, graphiques ou autres avant que la page ne soit renvoye lutilisateur Connecteurs de donnes - envoi des requtes des bases de donnes puis les affiche dans la page Html Scripts HTR - sont des scripts similaires aux scripts ASP permettant par exemple de modifier des mots de passe distance. Impressions Internet - permettent de grer des travaux dimpression distance.
Figure 6

Vous pouvez ici supprimer des rpertoires virtuels, dfinir les permissions des utilisateurs anonymes et dsactiver Webdav. (Figure 6)

P.CHALBET

Page - 20 -

14/09/2008

Scuriser un Serveur IIS Microsoft


Figure 7

Figure 8

P.CHALBET

Page - 21 -

14/09/2008

Scuriser un Serveur IIS Microsoft

UrlScan
UrlScan est un utilitaire de filtre Isapi inclus dans IISlockdown qui analyse les donnes entrantes du serveur. UrlScan analyse toutes les donnes entrantes par rapport un fichier de configuration UrlScan.ini. Il est configurable via un diteur de texte et est situ dans le rpertoire

/windows/system32/inetsrv/urlscan.
Tlchargeable : http://technet.microsoft.com/en-us/security/cc242650.aspx
[options] UseAllowVerbs=1 UseAllowExtensions=0 NormalizeUrlBeforeScan=1 VerifyNormalization=1 AllowHighBitCharacters=0 AllowDotInPath=0 RemoveServerHeader=0 EnableLogging=1 PerProcessLogging=0 AllowLateScanning=0 PerDayLogging=1 RejectResponseUrl= UseFastPathReject=0 ; if 1, use [AllowVerbs] section, else use [DenyVerbs] section ; if 1, use [AllowExtensions] section, else use [DenyExtensions] section ; if 1, canonicalize URL before processing ; if 1, canonicalize URL twice and reject request if a change occurs ; if 1, allow high bit (ie. UTF8 or MBCS) characters in URL ; if 1, allow dots that are not file extensions ; if 1, remove "Server" header from response ; if 1, log UrlScan activity ; if 1, the UrlScan.log filename will contain a PID (ie. UrlScan.123.log) ; if 1, then UrlScan will load as a low priority filter. ; if 1, UrlScan will produce a new log each day with activity in the form UrlScan.010101.log ; UrlScan will send rejected requests to the URL specified here. Default is /<Rejected-by-UrlScan> ; If 1, then UrlScan will not use the RejectResponseUrl or allow IIS to log the request

; If RemoveServerHeader is 0, then AlternateServerName can be ; used to specify a replacement for IIS's built in 'Server' header AlternateServerName= LogLongUrls=0 ; If 1, then up to 128K per request can be logged. ; If 0, then only 1k is allowed.; ; LoggingDirectory can be used to specify the directory where the ; log file will be created. This value should be the absolute path ; (ie. c:\some\path). If not specified, then UrlScan will create ; the log in the same directory where the UrlScan.dll file is located. LoggingDirectory=C:\WINDOWS\system32\inetsrv\urlscan\logs [AllowVerbs]; ; The verbs (aka HTTP methods) listed here are those commonly ; processed by a typical IIS server.; ; Note that these entries are effective if "UseAllowVerbs=1" ; is set in the [Options] section above. GET HEAD POST

[DenyVerbs]; ; The verbs (aka HTTP methods) listed here are used for publishing

P.CHALBET

Page - 22 -

14/09/2008

Scuriser un Serveur IIS Microsoft


; content to an IIS server via WebDAV.; ; Note that these entries are effective if "UseAllowVerbs=0" ; is set in the [Options] section above. PROPFIND PROPPATCH MKCOL DELETE PUT COPY MOVE LOCK UNLOCK OPTIONS SEARCH [DenyHeaders]; ; The following request headers alter processing of a ; request by causing the server to process the request ; as if it were intended to be a WebDAV request, instead ; of a request to retrieve a resource. Translate: If: Lock-Token:

Transfer-Encoding: [AllowExtensions]; ; Extensions listed here are commonly used on a typical IIS server.; ; Note that these entries are effective if "UseAllowExtensions=1" ; is set in the [Options] section above. ;.asp .cer .cdx .asa .htm .html .txt .jpg .jpeg .gif ;.idq ;.htw ;.ida ;.idc ;.shtm ;.shtml ;.stm ;.htr

P.CHALBET

Page - 23 -

14/09/2008

Scuriser un Serveur IIS Microsoft


;.printer [DenyExtensions]; ; Extensions listed here either run code directly on the server, ; are processed as scripts, or are static files that are ; generally not intended to be served out.; ; Note that these entries are effective if "UseAllowExtensions=0" ; is set in the [Options] section above. ; Deny executables that could run on the server .exe .bat .cmd .com ; Deny infrequently used scripts .htw .ida .idq .htr .idc ; Maps to webhits.dll, part of Index Server ; Maps to idq.dll, part of Index Server ; Maps to idq.dll, part of Index Server ; Maps to ism.dll, a legacy administrative tool ; Maps to httpodbc.dll, a legacy database access tool

.shtm ; Maps to ssinc.dll, for Server Side Includes .shtml ; Maps to ssinc.dll, for Server Side Includes .stm ; Maps to ssinc.dll, for Server Side Includes

.printer ; Maps to msw3prt.dll, for Internet Printing Services ; Deny various static files .ini .log .pol .dat ;.asp ;.cer ;.cdx ;.asa [DenyUrlSequences] .. ; Don't allow directory traversals ./ ; Don't allow trailing dot on a directory name \ ; Don't allow backslashes in URL : ; Don't allow alternate stream access % ; Don't allow escaping after normalization & ; Don't allow multiple CGI processes to run on a single request [RequestLimits]; ; The entries in this section impose limits on the length ; of allowed parts of requests reaching the server.; ; It is possible to impose a limit on the length of the ; value of a specific request header by prepending "Max-" to the ; name of the header. For example, the following entry would ; impose a limit of 100 bytes to the value of the ; 'Content-Type' header:; ; Configuration files ; Log files ; Policy files ; Configuration files

P.CHALBET

Page - 24 -

14/09/2008

Scuriser un Serveur IIS Microsoft


; Max-Content-Type=100; ; To list a header and not specify a maximum value, use 0 ; (ie. 'Max-User-Agent=0'). Also, any headers not listed ; in this section will not be checked for length limits.; ; There are 3 special case limits:; ; - MaxAllowedContentLength specifies the maximum allowed ; ; ; ; numeric value of the Content-Length request header. For example, setting this to 1000 would cause any request with a content length that exceeds 1000 to be rejected. The default is 30000000.;

; - MaxUrl specifies the maximum length of the request URL, ; ; not including the query string. The default is 260 (which is equivalent to MAX_PATH).;

; - MaxQueryString specifies the maximum length of the query ; string. The default is 4096.;

MaxAllowedContentLength=30000000 MaxUrl=16384 MaxQueryString=4096

Comme pour IISlockdown, les configurations prconises dUrlscan.ini sont instaures par dfaut linstallation dIIS 6.0.

IISECURE
IISecure est un applicatif dvelopp par Microsoft Technet qui sinstalle dans la barre de taches et vrifie en permanence les mises jour de scurit (Hotfix) disponibles. Il en avertit alors ladministrateur par mail. Tlchargeable : http://microsoft.supinfo.com/iisecure/

Figure 9

P.CHALBET

Page - 25 -

14/09/2008

Scuriser un Serveur IIS Microsoft


Figure 10

Network Monitor
A la manire dEthereal et en mode capture, Network Monitor supervise et dissque les trames du rseau pour afficher toute les informations possibles sur leurs structures.
Figure 11

Il est possible de superviser les adresses IP (Sources et Destination), les ports, les Drapeaux de connexions TCP (ici flags= A Ack ), le nombre et la taille des paquets ainsi que les requtes HTTP (Get, Post ) demandes. Tout ceci sera trs utile dans certaine recherche dattaque ou tout simplement en supervision courante pour les plus courageux. (Figure 11)

P.CHALBET

Page - 26 -

14/09/2008

Scuriser un Serveur IIS Microsoft

Configuration dun serveur IIS 6 .0


Nous allons montrer ici les diffrents onglets proposs pour configurer IIS 6.0.
Important : Vous devez tre membre du groupe Administrateurs sur l'ordinateur local pour effectuer la ou les procdures ci-dessous. Par mesure de scurit, connectez-vous votre ordinateur l'aide d'un compte n'appartenant pas au groupe Administrateurs, puis utilisez la commande runas pour excuter le Gestionnaire des services Internet (IIS) en tant qu'administrateur. partir de l'invite de commandes, tapez runas /user : nom_compte_administratif "mmc %systemroot%\system32\inetsrv\iis.msc". Microsoft.com

Le gestionnaire des services internet IIS se trouve dans les outils dadministration. Page daccueil du gestionnaire des services internet :
Figure 12

P.CHALBET

Page - 27 -

14/09/2008

Scuriser un Serveur IIS Microsoft


En cliquant sur les proprits de Nom (Ordinateur local) par le clic droit de la souris. (Proprits dfinies au niveau serveur). (Figure 12).
Figure 13

A ce niveau (Figure 13), il est possible dactiver ( viter) la modification de la mtabase chaud (cf. Page - 10 - 3), de dfinir un encodage UTF-8 pour les fichiers journaux afin de supporter les caractres internationaux et de configurer les types MIME. Les extensions MIME (Multipurpose Internet Mail Extensions) sont des mappages qui dfinissent les diffrents types de fichiers servis par IIS aux clients. Les services Internet (IIS) ne servent que les fichiers ayant une extension inscrite dans la liste des types MIME. Les types MIME peuvent tre dfinis globalement pour IIS et des types MIME supplmentaires peuvent tre dfinis aux niveaux du site Web, du rpertoire de site Web et du rpertoire virtuel de site Web. Ces configurations se retrouvent pour chaque sites Web et mieux vaut les modifier site par site que dune faon globale.

Figure 14

Ce sont, ici (Figure 14), toutes les extensions de type MIME (Multipurpose Internet Mail Extensions ; Norme permettant de savoir quelle extension est associe quel type de fichier insr dans un mail ou transfr par Protocol HTTP).

P.CHALBET

Page - 28 -

14/09/2008

Scuriser un Serveur IIS Microsoft

Attention longlet service uniquement accessible dans les proprits de site web. (Proprits dfinies au niveau serveur).
Figure 15

Cest ici (Figure 15) que nous pourrons configurer les modes disolations (cf. Page 11 - 10) et la compression HTTP (cf. Page 11 - 12). Si la compression est active pour un contenu statique, pensez changer le rpertoire o seront stocks les fichiers compresss (cf. Page - 6 - XI).

Figure 16

Exemple de droits NTFS lis au rpertoire. (Figure 16)

P.CHALBET

Page - 29 -

14/09/2008

Scuriser un Serveur IIS Microsoft

En cliquant sur les proprits du site web par dfaut par le clic droit de la souris, nous entrons dans les proprits dfinies au niveau du site web.
Figure 17

Il faut penser changer le nom du site web par dfaut (cf. Page - 6 - VI). Une connexion cliente maintenue ouverte appelle une connexion HTTP persistante. Il s'agit d'une spcification HTTP qui amliore les performances du serveur. Les connexions HTTP persistantes sont actives par dfaut. (Figure 17)
Figure 18

Dans les proprits du format du journal actif (Figure 18). L aussi, il est prfrable de dplacer les fichiers logs sur une autre partition que Systme (cf. Page - 6 - XI).

P.CHALBET

Page - 30 -

14/09/2008

Scuriser un Serveur IIS Microsoft


Figure 19

Figure 20

Vous pourrez ici (Figure 20) limiter la bande passante et le nombre de connexions affectes ce site. Pour effectuer ce mme rglage sur lensemble des sites, il est prfrable de voir les pages de proprits principales du site web.

P.CHALBET

Page - 31 -

14/09/2008

Scuriser un Serveur IIS Microsoft


Figure 21

ISAPI (pour Internet Services Application Programming Interface) permet dajouter des fonctionnalits aux services Web Microsoft (Figure 21). Les filtres ISAPI sapparentent des extensions (ou plug-ins) intgrables IIS. Ils sont donc, sous IIS, lquivalent aux modules sous Apache. Un filtre ISAPI se prsente concrtement sous la forme dun fichier DLL. Un exemple de filtre ISAPI est php5isapi.dll qui permet IIS de supporter le langage PHP dans sa version 5. Les filtres ISAPI rpondent lorsque le serveur d'applications reoit une requte HTTP. Les filtres affichs ici ne sappliquent quau site web. Des filtres peuvent tre dfinis globalement au niveau du serveur web tel quASP.NET. Supprimer les filtres superflus et non utiliss.
Figure 22

P.CHALBET

Page - 32 -

14/09/2008

Scuriser un Serveur IIS Microsoft

Cest ici (Figure 22) quil est indispensable de positionner le rpertoire du site sur une partition NTFS ddie, vous pouvez aussi slectionner un rpertoire en partage sur un autre ordinateur. Dans le cas de la dernire option, IIS cre une page HTML redirigeant les utilisateurs vers lURL spcifi. Cette redirection peut tre affine par trois sous-options, la redirection vers un URL exact qui sera transparente pour lutilisateur, la redirection vers un sous-rpertoire de lURL ou la redirection permanente vers un URL exact.

Accs la source du script Lecture Ecriture

Exploration de rpertoires

Accs au journal

Indexer cette ressource

donne accs aux sources du document donne les droits de lecture autorise des utilisateurs crire dans des pages ou remplir des formulaires uniquement dans des sites ou rpertoires bien spcifiques coupler avec les droits NTFS renvoi une vue HTML de lensemble des dossiers si lutilisateur ne demande pas un fichier spcifique et sil nexiste aucun document par dfaut. Les rpertoires virtuels napparaissent pas dans cette liste permet de recueillir les informations des connexions dans les logs. permet dacclrer la recherche en indexant le contenu de lensemble du site. Non install par dfaut autorise uniquement les scripts ou aussi les excutables comme les *.exe cette fonctionnalit nest disponible que dans le cadre o le serveur est en mode isolation du processus de travail. 3 modes sont alors proposs : basse o lapplication sexcute dans lespace mmoire du processus lui mme, moyenne o toutes les applications du site sexcutent dans le mme pool et haute o chaque applications sexcutent indpendamment les unes des autres. Page - 33 -

proscrire

viter si possible.

proscrire

proscrire.

Application par dfaut Autorisation dexcution

proscrire.

Pool dapplications

P.CHALBET

14/09/2008

Scuriser un Serveur IIS Microsoft

Dans le bouton configuration :


Figure 23

Il est ici (Figure 23) question de grer ou de supprimer les mappages dextensions non utilises afin de rduire la surface dattaque. (cf. Page - 6 - XII). Si une procdure tente dexcuter un .EXE sur le serveur, il lui faudra lautorisation dIIS dont les extensions seront mises disposition ici.

Figure 24

Et de limiter leurs fonctions (Get, Head, Post ou Trace) (Figure 24).

P.CHALBET

Page - 34 -

14/09/2008

Scuriser un Serveur IIS Microsoft


Figure 25

Figure 26

Activer le dbogage de Script ASP du ct Serveur (Figure 26).

P.CHALBET

Page - 35 -

14/09/2008

Scuriser un Serveur IIS Microsoft


Figure 27

Dfinir les pages par dfaut autorises. Pour insrer un pied de page dans les documents affichs, attention aux informations fournies. De mme, il est possible de dsactiver lenvoi de ladresse IP du serveur dans lentte de la page par la commande : adsutil Set W3svc/UseHostName true. Lentte affichera alors lURL du serveur la place de son IP (Figure 27).
Figure 28

P.CHALBET

Page - 36 -

14/09/2008

Scuriser un Serveur IIS Microsoft


Autorisation et contrles daccs.
Figure 29

Si le site web est ouvert sur lextrieur, il faut une connexion anonyme dont on noubliera pas de changer le nom (cf. Page - 6 - VII) (Figure 29).

Pour tre connect au site, vous disposez des mthodes didentifications suivantes : Authentification Windows Intgre (active par dfaut): Si le client et le serveur font partie dun domaine active directory avec une authentification de type NTLM ou Kerberos 5. Plutt que denvoyer le nom dutilisateur et le mot de passe rel, le navigateur envoie les codes de hachage des donnes. Les informations envoyes sont alors compares celles des comptes du domaine du serveur. Cette authentification convient parfaitement aux sites Intranet. Si lauthentification choue, le serveur demandera le login et mot de passe. Cette authentification ncessite lemploie dInternet Explorer. Attention, toutefois, aux paramtres de scurits du navigateur. Si lauthentification Windows Intgre est active sur le serveur et que les paramtres du navigateur imposent la demande de connexion Login/Mot de Passe (onglet Scurit/Internet/Demander le nom dutilisateur et le mot de Passe), cette dernire est prioritaire.

Authentification de Base : Prise en charge par tous les Navigateurs ; Lutilisateur sidentifie sur le serveur par login / mot de passe non crypts. Authentification Digest : Mme type que lauthentification de base mais les noms et mots de passe sont utiliss pour crer une cl de hachage envoye seule et compare sur le serveur Active Directory. Le mot de passe stock habituellement en clair sur le contrleur de domaine peut aussi tre crypt MD5 en mode Digest avanc. L'authentification Digest est accessible aux rpertoires Webdav. Authentification .NET Passport : Maintenant Windows Live ID. Par ce service, vous indiquez au serveur de valider les comptes auprs dun serveur .NET Passport au lieu dutiliser la base de donne Active Directory locale. P.CHALBET Page - 37 14/09/2008

Scuriser un Serveur IIS Microsoft

Figure 30

Il est possible (Figure 30) de restreindre les accs par Adresses IP.

Figure 31

Quand un utilisateur se connecte au serveur web, il est invit slectionner un certificat dauthentification. Ce dernier est envoy au serveur qui lassocie un compte de domaine Active Directory (si Activer le mappage de certificat client est activ) ou la base de donne SAM (Security Accounts Manager) locale du serveur. Exiger les certificats clients empche tous utilisateurs de se connecter sans certificat. Le mappage un compte utilisateur du domaine permet dexclure une tentative de connexion par faux certificat (Figure 31).

P.CHALBET

Page - 38 -

14/09/2008

Scuriser un Serveur IIS Microsoft


Figure 32

Le mappage 1 1(Figure 32) permet dassocier un certificat un compte dutilisateur Active Directory possdant ce certificat. Le mappage plusieurs 1 ne compare pas le certificat client rel, mais accepte tous les certificats clients correspondant des critres spcifiques prtablis dans les paramtres de configurations. Si un client dtient un autre certificat contenant les mmes informations utilisateur bases par exemple sur le nom de domaine ou ladresse mail, le mappage existant fonctionnera.
Figure 33

P.CHALBET

Page - 39 -

14/09/2008

Scuriser un Serveur IIS Microsoft


Figure 34

En activant lexpiration de contenu (Figure 34), vous pouvez contrler la manire dont les navigateurs grent leurs caches et les forcer ne conserver ces pages que le temps explicitement dfini. Les obligeant, ainsi reformuler leurs requtes une fois la dure ou la date atteinte. Loption En-ttes personnalises permettra de mettre jour les nouveaux standards HTML quand ils apparaitront.
Figure 35

Le contrle daccs au contenu (Figure 35)permet de configurer chaque page en adquation avec les contrles de contenus placs sur les navigateurs. Ces paramtrages seffectuent sur une chelle de 0 4 dans les catgories Violence, Sexe, Nudit et langue. Si votre navigateur a un niveau de contrle daccs infrieur celui dfini par le serveur, la demande est rejete.

P.CHALBET

Page - 40 -

14/09/2008

Scuriser un Serveur IIS Microsoft


Figure 36

Vous pouvez, ici (Figure 36), ajouter un type MIME au niveau du site Web (Cf : Figure 14)

Figure 37

Vous pouvez personnaliser (Figure 37) les pages derreurs fournies par les standard W3C. Lavantage est de ne fournir que trs peu dinformations aux ventuels attaquants, qui se servent de ce type de pages pour obtenir des prcisions sur le type de serveur employ (cf. Page - 6 - IX) - (cf. Page- 11 - 11)).

P.CHALBET

Page - 41 -

14/09/2008

Scuriser un Serveur IIS Microsoft


Figure 38

Choisir la nouvelle page modifie (Figure 38).

Figure 39

Informations sur la version dASP.NET (Figure 39).

P.CHALBET

Page - 42 -

14/09/2008

Scuriser un Serveur IIS Microsoft


Figure 40

Comment modifier les paramtres Microsoft SharePoint install par dfaut avec les extensions Frontpage (Figure 40).

Figure 41

P.CHALBET

Page - 43 -

14/09/2008

Scuriser un Serveur IIS Microsoft


Figure 42

Cest ici (Figure 43), sous la racine du serveur et non du site, que se configurent les extensions du serveur web autoriser, ajouter ou supprimer. (cf. Page - 6 - IV et V). Les Extensions Serveur Frontpage permettent un dveloppeur de crer ou mettre jour des pages web distance laide dun client Frontpage, aujourdhui intgr dans Microsoft Expression Web Designer. Il nest pas recommand dinstaller cette extension si vous ne vous servez pas de ces clients pour ces mises jour. Idem pour Webdav.

Configuration des pools dapplications


Figure 43

Le service dIIS a t repens pour pouvoir grer des processus et des espaces mmoires spars pour les sites web (Figure 43). Chaque site ou application est affect un ou plusieurs process ddis isolant tous problmes les uns des autres. Chaque processus chou ninterfre, donc, pas sur les autres. Ces pools dapplications sont configurables uniquement en mode isolation du processus de travail. (cf. Page- 10 - 7)

P.CHALBET

Page - 44 -

14/09/2008

Scuriser un Serveur IIS Microsoft


Figure 44

Les options de recyclage permettent de relancer chaque processus actif intervalles rguliers, aprs un certain nombre de requtes ou date fixe. Vous pouvez galement grer la taille de la mmoire alloue ces processus.

Figure 45

Cet onglet (Figure 45) permet de protger le serveur contre les surcharges en paramtrant le dlai dinactivit, la limite de la file dattente des requtes entrantes et la surcharge CPU par un pool dapplication. Si le nombre de requtes dpasse la valeur indique, elles sont rejetes avec une erreur 503 ; La banalisation de cette page, comme indiqu plus haut, empchera lattaquant ventuel de connatre la cause de son refus. Enfin, il est possible de paramtrer le nombre maximal de processus affects chaque pool dapplication en fonction de leur sollicitation. Domaine priv web est le nom donn un pool capable dexcuter plusieurs processus en mme temps.

P.CHALBET

Page - 45 -

14/09/2008

Scuriser un Serveur IIS Microsoft


Figure 46

Utilis pour tester ltat de sant des processus (Figure 46), le ping dun process sera test toutes les 30 secondes (cf. Page Erreur ! Signet non dfini. Erreur ! Source du renvoi introuvable.. Sil ne rpond pas, il sera arrt et W3WP.exe en redmarrera un autre.

Figure 47

Par dfaut, le serveur IIS utilisera le compte Service Rseau pour excuter ces pools dapplications (Figure 47). Vous pouvez en utiliser un autre si vous le souhaitez. (cf. Page - 11 - 8)

P.CHALBET

Page - 46 -

14/09/2008

Scuriser un Serveur IIS Microsoft

Evolution vers IIS 7.0


IIS 7.0 est la nouvelle version du Serveur dInformation Internet de Microsoft fourni sur les systmes Windows Server 2008 et Vista. Il observe les mmes rgles dinstallation par dfaut quIIS 6.0 en prconisant la rduction de la surface dattaque et se gre dans une console MMC 3.0.

Les grandes nouveauts dIIS 7.0 se situent surtout deux niveaux :

La modularit et lextensibilit

IIS 6.0 apportait dj une norme innovation par rapport IIS 5.0 et ses versions antrieures avec lapparition de Http.sys et les pools dapplications. Mais il comportait une structure monolithique o tout reposait sur Wp3p.exe et vous deviez donc utiliser la totalit du serveur IIS 6.0, mme pour la gestion dun site web avec des pages HTML statiques. Impossible de disposer dun serveur simple et lger daspect modulaire. La nouveaut dIIS 7.0 vient de cette architecture base sur des modules activables et dsactivables volont avec la possibilit de nutiliser que ceux slectionns. Fini, donc, la redondance sur les systmes dauthentification entre les configurations de Windows server, IIS et ASP.NET. Autre grande nouveaut, lextensibilit car Microsoft ne propose plus seulement la modularit par lactivation ou dsactivation de modules prdfinis mais aussi lextensibilit en permettant tous dveloppeurs de crer leurs propres modules personnaliss.

P.CHALBET

Page - 47 -

14/09/2008

Scuriser un Serveur IIS Microsoft


Figure 48

Modules cocher ou non linstallation (Figure 48)

Figure 49

Modules activables volont suivant la configuration voulue (Figure 49).

P.CHALBET

Page - 48 -

14/09/2008

Scuriser un Serveur IIS Microsoft


Dans le fichier de configuration Web.Config, ditable chaud dans un simple diteur de texte, il est possible dajouter ou supprimer nimporte quel modules inhrents cette section.
<configuration> <system.webServer> <modules> <clear /> <add name="StaticFileModule" /> <add name="AnonymousAuthenticationModule" /> <add name="DefaultDocumentModule" /> </modules> <defaultDocument enabled="true"> <files> <add value="itforum.html" /> </files> </defaultDocument> <directoryBrowse enabled="true"> </system.webServer> </configuration>. Nous voyons ici que seuls lauthentification Anonyme et les fichiers statiques seront pris en

compte. Les autres types ne seront pas chargs dans le serveur. Parmis les grandes nouveauts dIIS 7.0, on peut aussi spcifier que : IIS peut sexcuter sur un serveur Windows 2008 Core avec une administration en ligne de commande. La configuration peut tre centralise par lintermdiaire dun fichier

ApplicationHost.config plac sur un partage, dans le cas dune gestion de


plusieurs serveurs identiques. La banque de configuration Mtabase t supprime pour laisser place des fichiers XML. Il autorise une dlgation intgrale des sites, grables distance par des utilisateurs prdfinis. Le gestionnaire autorise ladministration distance par connexions HTTPS. Loutil dadministration authentifie les administrateurs Web en tant

quutilisateurs Windows, restreignant ainsi leurs rles daccs au serveur Windows. ASP.NET ne sexcute plus via un filtre ISAPI mais dans un module intgr. Cette procdure lui permet maintenant de sappliquer nimporte quel contenu et ne se limite plus aux seules extensions de requtes comme .ASPX ou ASP.NET. Le compte IUSR_Machine_Name, utilisateur de Windows, est maintenant remplac par un compte utilisateur IUSR intgr au serveur. Les Connexions aux serveurs FTP peuvent se grer en FTPS. IIS 7.0 se gre soit en mode intgr (IIS 7.0) ou en mode compatible IIS 6.0. P.CHALBET Page - 49 14/09/2008

Scuriser un Serveur IIS Microsoft

Une fois install, la nouvelle interface graphique se dcrit donc comme suit :
Figure 50

Figure 51

Intgration des extensions ISAPI avec compatibilit des serveurs IIS 6.0 (Figure 51).

P.CHALBET

Page - 50 -

14/09/2008

Scuriser un Serveur IIS Microsoft


Figure 52

Nous avons, ici (Figure 52), les options de hachage des systmes dauthentification prises en charge au niveau du serveur Web.
Figure 53

Activation des diffrents types dauthentifications proposs (Figure 53).

P.CHALBET

Page - 51 -

14/09/2008

Scuriser un Serveur IIS Microsoft


Figure 54

Configuration des paramtres SSL de connexion HTTPS (Figure 54).

Microsoft a publi un outil de ligne de commande (MSDeploy.exe) dont le but est d'aider les utilisateurs dployer, synchroniser et migrer les applications Web vers IIS 6.0 et 7.0. Les utilitaires Appcmd.exe et Appcmd.gui aide grer IIS 7.0 en ligne de commande ou par une interface graphique lie aux lignes de commandes.

P.CHALBET

Page - 52 -

14/09/2008

Scuriser un Serveur IIS Microsoft

ANNEXES

ISA Serveur
Isa Server est un systme de protection Microsoft, type Appliance ou logiciel, dont les principales fonctions sont dassurer les rles de :

pare-feu pare-feu applicatif serveur Vpn Serveur dauthentification unique Pont SSL-SSL Proxy et Cache web reverse-proxy Passerelle NAT Vrificateur de connectivit et monitoring

En outre, Isa Server permet lquilibrage de la charge rseau (NLB), en version Entreprise uniquement et dans le cas de ferme de serveurs. Isa Serveur se dploie comme un firewall soit en pare-feu de primtre (standard), soit en topologie de DMZ ou encore en pare-feu avant et pare-feu arrire. Il est, avant tout, disponible en version logiciel pour les systmes Windows 2000 et 2003 Server. Toutefois, Microsoft sest associ avec diffrents constructeurs pour le distribuer sous forme dappliances propritaires cls en main . Isa server existe, lheure actuelle, en 3 versions Isa Server 2000, 2004 et 2006. Nous dtaillerons ici la version 2006, voir 2004 Sp2.

Pare-feu et Pare-feu applicatif

Isa Server est avant tout un Pare-feu classique effectuant du filtrage de paquets dynamiques en ouvrant les ports selon les besoins et en les refermant aprs la communication, un peu la faon dun Super-dmon Xinetd sous linux. Le pare-feu se configure de faon traditionnelle par la gestion des Adresses-Ports-Protocoles selon des plages horaires, Types de contenus et P.CHALBET Page - 53 14/09/2008

Scuriser un Serveur IIS Microsoft


Utilisateurs dsirs. Il intgre, de plus, un limiteur de flood configurable qui, coupl des fonctions de monitoring, permet de limiter les possibilits dattaques DoS ou DDoS. Mais la particularit du filtrage dIsa Server vient surtout de son niveau applicatif qui, contrairement aux filtres de paquets travaillant surtout sur la couche 3 (IP) et 4 (TCP-UDPICMP) du modle OSI, analyse, lui, la couche 7 (Application) par filtrage des donnes des protocoles applicatifs eux-mmes.
Figure 55

Une Image valant mieux quun long discours (Figure 55)

(M. Martineau V. Trottier)

Isa Server comporte 12 filtres applicatifs et 5 filtres Web (HTTP) : 1. Filtre de proxy et cache Web 2. Filtre H.323 3. Filtre PNM 4. Filtre PPTP 5. Filtre RPC 6. Filtre daccs FTP 7. Filtre RTSP 8. Filtre SOCKS 9. Filtre de dtection dintrusions POP 10. Filtre MMS 11. Filtre SMTP 12. Filtre DNS

P.CHALBET

Page - 54 -

14/09/2008

Scuriser un Serveur IIS Microsoft


Les filtres WEB, qui nous intressent ici, sont utiliss soit tels quels dans le cas de filtres dauthentifications (Radius, OWA SecureID), soit par blocage sur les excutables, fichiers multimdias, applications ou sur les mthodes, signatures, extensions. Comptons aussi la possibilit de superviser les en-ttes de trames. En effet, dans le cadre dune trameHTTP, la norme V1.1 (RFC 2616) fonctionne avec :

Une requte HTTP Une Rponse HTTP

Pour la requte, la trame HTTP est compose dune mthode (type de requte ; GET, PUT, DELETE, CONNECT, etc..), dun en-tte dans lequel nous trouverons linformation USERAGENT et dun corps contenant les donnes. Pour la rponse, la trame est compose dun code numrique (1xx Information, 2xx Succs, 3xx Redirection, 4xx erreur du client, 5xx erreur du serveur), dun en-tte dans lequel nous trouverons diverses informations comme le type de serveur ou la taille des donnes envoyes et dun corps contenant les donnes proprement dites.
Figure 56

Exemple dune trame HTTP request GET dans un analyseur de trame Network Monitor (Figure56)

P.CHALBET

Page - 55 -

14/09/2008

Scuriser un Serveur IIS Microsoft


Figure 57

Exemple dune trame HTTP response : 200 dans un analyseur de trame Network Monitor (Figure 57)

Le filtre HTTP dIsa Server va se servir de ces paramtres pour appliquer ces conditions. Le filtrage par Mthodes : certaines applications comme Emule ou MSN Messenger, par exemple, utilisent leurs propres mthodes la place des classiques GET, POST, PUT etc il peut tre intressant de bloquer toutes les mthodes qui ne sont pas utilises par un navigateur classique ou de nautoriser que les mthodes utilises par un navigateur classique. Le filtrage de signature : chaque application fournit sa signature

USERAGENT (cf. figure 56) dans son en-tte HTTP. Il est ainsi possible
dinterdire le navigateur Opra ou MSN ou Emule par le jeu de caractre de son USERAGENT comme dans la figure 59. La modification ou suppression des En-ttes dans la rponse fournie comme, par exemple, le type de serveur utilis ou la taille des donnes envoyes. Le filtrage par les extensions : il permet de bloquer des extensions comme les .exe, .bat etc inclues dans la requte ou de types MIME comme application/pdf et empche, ainsi, le tlchargement ou lenvoi de fichier non dsirs. Le filtrage de type gnral qui permet de configurer tailles doctets et autres paramtres montrs figure 58.

P.CHALBET

Page - 56 -

14/09/2008

Scuriser un Serveur IIS Microsoft


Figure 58

Le paramtre Vrifier la normalisation (Figure 58) bloque les URL contenant des caractres dchappements comme \ en PHP et Bloquer les caractres tendus bloque tous les caractres nonprsents dans le jeu de caractres ASCI. A noter, aussi, le paramtre Bloquer les rponses contenant un excutable Windows.
Figure 59
Nom de l'application BitTorrent MSN Messenger Windows Messenger Netscape Kazaa eDonkey (eMule) Gnutella Internet Explorer Yahoo Messenger Champ de l'en-tte HTTP User-Agent User-Agent User-Agent User-Agent P2P-Agent User-Agent User-Agent User-Agent Host Signature BitTorrent MSN Messenger MSMSGS Netscape Kazaa e2dk gnutella MSIE 6.0 msg.yahoo.com

Pour plus de renseignement, je vous conseille de lire les trs bons papiers de M. Martineau et V.Trottier : Le filtre HTTP intgr ISA Server 2004 ; Utilisation du filtre HTTP pour scuriser

l'accs HTTP (http://isafirewalls.org/) et la rfc 2616 du protocole HTTP V1.1 en ligne :


abcdrfc.free.fr/rfc-vf/rfc2616.htm

P.CHALBET

Page - 57 -

14/09/2008

Scuriser un Serveur IIS Microsoft

II

Serveur VPN

Isa Server sait faire office de serveur VPN en fournissant aux clients une adresse IP via un serveur DHCP externe. Il utilise, par dfaut, le protocole Microsoft propritaire de niveau 2

PPTP et lauthentification MS-CHAP V2. Il sera, cependant, possible de choisir le cryptage IPSEC ou le couple L2TP / IPSEC et un serveur Radius externe. De plus le serveur VPN
applique la politique de mise en quarantaine pour chaque client ne disposant pas des pr-requis de scurits (Anti-virus mis jour, pare-feu, etc) indispensables. Ces clients ne pourront accder qu certains sites ou serveurs prdfinis jusqu' la mise en conformit de leurs configurations.

III

Serveur Dauthentification Unique

Isa Server permet, dune part, de prendre en charge le mode dauthentification des accs OWA de Windows Exchange Serveur en apportant des modes dauthentifications plus appropris.

En plus des modes authentification de base, Windows Intgr, digest, avec certificat fournit aussi par Windows Serveur et IIS comme dcrit plus haut dans ce document, Isa exploite de nouvelles options comme : a. lauthentification par serveur Radius (externe) : protocole dauthentification standardis b. lauthentification par serveur

Radius

OTP (externe)

mthode

multifactorielle utilisant une carte puce ainsi que son pin pour valider les informations d'identification de l'utilisateur c. lauthentification par RSA SecureID : mthode dauthentification deux facteurs comprenant un priphrique capable de gnrer un code utilisable une fois et un code Pin connu uniquement de lutilisateur. d. Lauthentification LDAP : pour valider des informations d'identification des comptes stocks dans l'annuaire Active Directory mme si le serveur ISA appartient un groupe de travail P.CHALBET Page - 58 14/09/2008

Scuriser un Serveur IIS Microsoft

Isa Server fait office, dautre part, de Serveur dAuthentification Unique (SSO) dans le cadre de ferme de serveurs IIS. Ceci permettra un utilisateur authentifi sur un serveur IIS de se connecter sur un autre serveur sans avoir sauthentifier une nouvelle fois.

Enfin, le formulaire Isa Server comprend deux modes didentification suivant que le poste soit dclar comme ordinateur priv ou ordinateur public. Avec ce dernier, aucun cookie ne sera envoy lutilisateur.

IV

Pont SSL-SSL

En tant que pont SSL-SSL, Isa Server dcrypte les donnes SSL entrantes, les analysent comme nimporte quelles informations transmises et les r-encryptent la sortie pour les rediriger vers leurs sites de destinations.

Serveur Proxy et reverse proxy

Les clients du rseau peuvent utiliser Isa Server comme Proxy en mode authentifi ou non. Les mthodes dauthentification restent les mmes que celles cites plus haut. A savoir, le mode

authentification de base, Digest, Windows Intgre, avec serveur Radius et par certificat SSL. Le
mode authentifi permettant, ainsi, une gestion et supervision des connexions externes. Le serveur proxy supporte les protocoles HTTP, HTTPS et FTP sur HTTP. La fonction de Cache-Web permet, entre autre, lquilibrage de la charge rseau avec rduction de la bande passante. Dans le cadre de fermes de serveurs Caches, il favorise le dialogue via le protocole propritaire CARP (Cache Array Routing Protocol) et utilise la traduction de lien. En effet, un client externe ne devra recevoir ainsi que le nom de domaine associ cette traduction et non le nom du serveur sollicit dans la ferme. Ex : http://serveur_web_28/images/27.jpg. Le Reverse-Proxy se comporte comme un serveur HTTP ct client et comme un client HTTP ct serveur. Outre ses fonctions habituelles comme empcher les clients indlicats daccder directement aux serveurs web et tenter, ainsi, de sy introduire pour modifier des donnes, injection de code ou autres, le Reverse-Proxy permet de placer les serveurs en rseaux privs, de servir de cache web sur les pages statiques et de redistribuer la charge dun site unique sur plusieurs serveurs Web. Il amliore, ainsi, la bande passante et la ractivit du site. Il est P.CHALBET Page - 59 14/09/2008

Scuriser un Serveur IIS Microsoft


galement possible d'ajouter l'authentification des utilisateurs et le chiffrement des sessions mme si cela n'est pas possible sur le serveur. Cela permettra de dcharger le serveur web d'une charge potentiellement importante.

VI

Vrificateur de connectivit

Isa Server permet de mettre en place des vrificateurs de connectivit associs des fonctions de monitoring pour tester les serveurs en place sur le ou les sites superviss. Ces vrificateurs sont configurables et prsents sous plusieurs formes (requte ICMP-Ping, requte HTTP-GET, requte sur des ports TCP choisis par ladministrateur) ou pr configurs et accessibles via une liste droulantes pr tablie : Requte LDAP Autre DHCP DNS Serveurs Publis Web (Internet) Le vrificateur de connectivit cre ainsi un rapport et affiche diverses informations et les tats des serveurs. Il gnrera des alertes une fois le seuil configur atteint.

On notera aussi quIsa server peut utiliser la compression GZIP sur le trafic HTTP pour transfrer ses donnes du cache aux clients et appliquer un QOS sur les paquets IP par le protocole Diffserv. Diffserv applique des priorits sur chaque paquet IP amliorant ainsi la qualit de service de la bande passante. Il utilise aussi le service de transfert Microsoft BITS ( Background Intelligent Transfert Service) qui permet de tlcharger les mises jour en arrireplan sur la bande passante non-utilise. Isa Server contient, en outre, un Pack dadministration pour Microsoft Oprations Manager (MOM) 2005 permettant ainsi une centralisation de gestion et supervision gnrale.

P.CHALBET

Page - 60 -

14/09/2008

Scuriser un Serveur IIS Microsoft

Rfrences

Synthse 2007

Les ditions La Lettre Calipia Microsoft Press

Scurit Windows Kit de ressources B.Smith ; B.Komar Windows Server 2003 Eyrolles M. Minasi ; C. Anderson ; M. Beveridge

Cyber Criminalit Enqute sur les mafias qui envahissent le web - Dunod E.Filiol et P.Richard Politique de scurit des systmes dinformations (PSSI) J.Illand Recommandations de scurisation - Serveur Web C.Mercier N.Moreau MISC CNRS

SGDN/DCSSI

Multi-System & Internet Security Cookbook http://www.laboratoire-microsoft.org http://technet.microsoft.com http :www.Secunia.com http://isafirewalls.org

Bimensuel

P.CHALBET

Page - 61 -

14/09/2008