journée de transfert d ’expertise

48
1 Journée de Transfert Journée de Transfert d ’Expertise d ’Expertise Paris / Lausanne – Mars 2004

Upload: paytah

Post on 08-Jan-2016

21 views

Category:

Documents


1 download

DESCRIPTION

Journée de Transfert d ’Expertise. Paris / Lausanne – Mars 2004. Eric DETOC Ingénieur support produits Internet [email protected] MICROSOFT France. Agenda. Introduction Architecture IIS6 versus IIS5 Securité Nouvelle Metabase Nouveautés FTP Liens techniques. Introduction. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Journée de Transfert  d ’Expertise

1

Journée de Transfert Journée de Transfert d ’Expertised ’Expertise

Paris / Lausanne – Mars 2004

Page 2: Journée de Transfert  d ’Expertise

2

Eric DETOCIngénieur support produits Internet

[email protected]

MICROSOFT France

Page 3: Journée de Transfert  d ’Expertise

3

AgendaAgenda

IntroductionIntroduction Architecture IIS6 versus IIS5Architecture IIS6 versus IIS5 SecuritéSecurité Nouvelle MetabaseNouvelle Metabase Nouveautés FTPNouveautés FTP Liens techniquesLiens techniques

Page 4: Journée de Transfert  d ’Expertise

4

IntroductionFeature Standard Edition Enterprise Edition Datacenter Edition Web Edition

Scalability

64-bit for Intel Itanium Based Computers

Management Services

Windows Management Instrumentation (WMI) Command Line

Remote OS Installation

Remote Installation Services (RIS)

.NET Application Services

.NET Framework

IIS 6.0

ASP.NET

Enterprise UDDI Services

Comparatif entre les éditions:Comparatif entre les éditions: http://www.microsoft.com/windowsserver2003/evaluation/http://www.microsoft.com/windowsserver2003/evaluation/

features/compareeditions.mspxfeatures/compareeditions.mspx

Page 5: Journée de Transfert  d ’Expertise

5

IntroductionIntroductionWeb EditionWeb Edition

LimitationsLimitations Architecture 32 bits, 2 GB Ram MaxArchitecture 32 bits, 2 GB Ram Max N’offre que le serveur Web (impossible N’offre que le serveur Web (impossible

d’installer SQL, WMS, etc …)d’installer SQL, WMS, etc …) Ne peut être contrôleur de domaineNe peut être contrôleur de domaine 10 connexions SMB entrantes Max10 connexions SMB entrantes Max Mode Cluster non supportéMode Cluster non supporté Pas de serveur VPN, ni Terminal server Pas de serveur VPN, ni Terminal server

(accepte les connexions RDP entrantes)(accepte les connexions RDP entrantes) http://www.microsoft.com/windowsserver2003/http://www.microsoft.com/windowsserver2003/

evaluation/overview/web.mspxevaluation/overview/web.mspx

Page 6: Journée de Transfert  d ’Expertise

6

Architecture IIS5Architecture IIS5

INETINFO.exeINETINFO.exe

MétabaseMétabase FTP, SMTP, FTP, SMTP, NNTPNNTP

W3SVCW3SVC

WinsockWinsock

Filtres ISAPIFiltres ISAPI

Appl.Appl.In-In-

processprocess

ASP.NETASP.NET

.Net App .Net App DomainDomain

.Net App .Net App DomainDomain

Application Application Domain .NETDomain .NET

ASPNET_WP.exeASPNET_WP.exe

Appl. Appl. Poolées Poolées

OOPOOP

DLLHOST.exeDLLHOST.exe

Isolated Isolated OOP AppOOP App

DLLHOST.exeDLLHOST.exe

Isolated Isolated OOP AppOOP App

DLLHOST.exeDLLHOST.exe

Appl. Appl. Poolées Poolées

OOPOOP

DLLHOST.exeDLLHOST.exe

Mode Utilisateur

Mode Noyau

Page 7: Journée de Transfert  d ’Expertise

7

Architecture IIS6Architecture IIS6 Objectif: accroître performance et fiabilitéObjectif: accroître performance et fiabilité

AdministrationAdministration& &

MonitoringMonitoring

AdministrationAdministration& &

MonitoringMonitoring

W3ADMW3ADM

HTTP.sysHTTP.sysHTTP.sysHTTP.sysCacheCacheCacheCacheQueueQueueQueueQueue

Kernel modeKernel mode

User modeUser mode

XMLXMLMetabaseMetabase

InetinfoInetinfo

FTPFTPFTPFTP

NNTPNNTPNNTPNNTP

SMTPSMTPSMTPSMTP

IIS 6.0IIS 6.0

RequestRequest ResponseResponse

Application PoolsApplication Pools

……XX

TCP/IP

Page 8: Journée de Transfert  d ’Expertise

9

HTTP.SYSHTTP.SYS

De quoi s’agit-il ?De quoi s’agit-il ? Pilote en mode Kernel qui écoute les requêtes Pilote en mode Kernel qui écoute les requêtes

HTTPHTTP Ce pilote est toujours actifCe pilote est toujours actif

FiabilitéFiabilité Les requêtes sont routées vers une file d’attente en Les requêtes sont routées vers une file d’attente en

mode Kernelmode Kernel Routage effectué en fonction de l’URL demandéeRoutage effectué en fonction de l’URL demandée

PerformancePerformance Gestion d’un cache de réponses en mode KernelGestion d’un cache de réponses en mode Kernel Gestion du logging en mode texte uniquementGestion du logging en mode texte uniquement Gestion des connexions TCP et de QoS pour le Gestion des connexions TCP et de QoS pour le

trafic HTTPtrafic HTTP

Page 9: Journée de Transfert  d ’Expertise

10

HTTP.SYSHTTP.SYS

TCP/IPTCP/IP

HTTP.SYSHTTP.SYS

Send ResponseSend Response

ResponseResponse CacheCache

HTTP.SYS APIHTTP.SYS API

ListenerListener

Namespace MapperNamespace Mapper

HTTP EngineHTTP Engine

HTTP ParserHTTP Parser

Req

. Que

ueR

eq. Q

ueue

Req

. Que

ueR

eq. Q

ueue

Req

. Que

ueR

eq. Q

ueue

RequêteRequête

Page 10: Journée de Transfert  d ’Expertise

11

HTTP.SYSHTTP.SYSConfigurationConfiguration

Contrôle via le registreContrôle via le registre HKLM\System\CCS\Services\HTTPHKLM\System\CCS\Services\HTTP http://support.microsoft.com/?id=820129http://support.microsoft.com/?id=820129

L’utilitaire en mode ligne de commande L’utilitaire en mode ligne de commande HTTPCFG.EXEHTTPCFG.EXE Entre autre, gestion de la “IP listen list”Entre autre, gestion de la “IP listen list”

L’utitilitaire graphique livré avec Windows L’utitilitaire graphique livré avec Windows Media ServerMedia Server WMSHttpSysCfg.exeWMSHttpSysCfg.exe

Page 11: Journée de Transfert  d ’Expertise

12

HTTP.SYSHTTP.SYSSocket PoolingSocket Pooling

Par défaut, IIS5 (via Winsock) se lie à Par défaut, IIS5 (via Winsock) se lie à toutes les adresses IPtoutes les adresses IP Comportement désactivable par la clé de métabase Comportement désactivable par la clé de métabase

DisableSocketPoolingDisableSocketPooling

Par défaut, IIS6 (via HTTP.SYS) se lie Par défaut, IIS6 (via HTTP.SYS) se lie également à toutes les adresses IPégalement à toutes les adresses IP Du fait que Winsock n’est plus utilisé pour HTTP, la Du fait que Winsock n’est plus utilisé pour HTTP, la

clé clé DisableSocketPoolingDisableSocketPooling n’est plus fonctionnelle n’est plus fonctionnelle Utiliser HTTPCFG pour renseigner la “IP Listen list”Utiliser HTTPCFG pour renseigner la “IP Listen list” Attention: “IP Listen List” est lue uniquement au Attention: “IP Listen List” est lue uniquement au

démarrage du pilote HTTP.SYSdémarrage du pilote HTTP.SYS http://support.microsoft.com/?id=813368http://support.microsoft.com/?id=813368

Page 12: Journée de Transfert  d ’Expertise

14

Worker processWorker process

Disponible uniquement en mode “natif” Disponible uniquement en mode “natif” IIS6 (WPIM)IIS6 (WPIM)

W3wp.exeW3wp.exe Responsable de l’exécution du code de l’application Responsable de l’exécution du code de l’application

WebWeb

Sorte de “Mini” serveur WebSorte de “Mini” serveur Web Invoque filtres et extensions ISAPI nécessaires à Invoque filtres et extensions ISAPI nécessaires à

l’exécution du codel’exécution du code

Cloisonnement entre l’exécution du code Cloisonnement entre l’exécution du code de l’application et le reste du serveur de l’application et le reste du serveur WebWeb

Page 13: Journée de Transfert  d ’Expertise

15

Plus concrètement…Plus concrètement…

metabasemetabase

TCP/IPTCP/IP

ISAPI FiltersISAPI Filters

INETINFOINETINFO

WAMWAM

ISAPIISAPIExtensionsExtensions

DLLHOST.EXEDLLHOST.EXE

WAMWAM

ISAPIISAPIExtensionsExtensions

DLLHOST.EXEDLLHOST.EXE

WAMWAM

ISAPIISAPIExtensionsExtensions

DLLHOST.EXEDLLHOST.EXE

WAMWAM

ISAPIISAPIExtensionsExtensions

HTTP.SYSHTTP.SYSHTTP.SYSHTTP.SYS

W3ADMW3ADMW3ADMW3ADM ISAPIISAPIExtensionsExtensions

ISAPI FiltersISAPI Filters

Worker Worker ProcessProcess

ISAPIISAPIExtensionsExtensions

ISAPI FiltersISAPI Filters

Worker Worker ProcessProcess

ISAPIISAPIExtensionsExtensions

ISAPI FiltersISAPI Filters

Worker Worker ProcessProcess

ISAPIISAPIExtensionsExtensions

ISAPI FiltersISAPI Filters

Worker Worker ProcessProcess

INETINFOINETINFO

MetabaseMetabaseFTPFTP

NNTPNNTPSMTPSMTP

Page 14: Journée de Transfert  d ’Expertise

16

Modes d’isolation IIS6Modes d’isolation IIS6

Isolation par Worker ProcessIsolation par Worker Process Activé par défaut si Activé par défaut si installationinstallation de Windows 2003 de Windows 2003

Isolation IIS5Isolation IIS5 Activé par défaut lors d’une Activé par défaut lors d’une mise à jourmise à jour vers vers

Windows 2003 ServerWindows 2003 Server À utiliser temporairement en cas d’incompatiblité des À utiliser temporairement en cas d’incompatiblité des

applications avec le mode d’isolation par Worker applications avec le mode d’isolation par Worker processprocess

Choix du mode d’isolation dans l’interface Choix du mode d’isolation dans l’interface d’administration IIS6d’administration IIS6

Page 15: Journée de Transfert  d ’Expertise

17

Isolation par Worker Isolation par Worker processprocess

HTTP Protocol Stack Listener – Response Cache - Sender

W3WP.EXE

Worker Process

ISAPI Extensions

Application Pool

ISAPI Filters

W3WP.EXE

Application Pool

Worker Process

ISAPI Extensions

ISAPI Filters

W3WP.EXE

Worker Process

ISAPI Extensions

Application Pool

ISAPI Filters

WWW Service

Svchost.exe

W3 Admin Service

Metabase

FTP Service

SMTP Service

NNTP Service

Inetinfo.exe

Lsass.exe

Windows Authentication

SSL for HTTP.sys

Web Garden

User ModeKernel Mode

Worker Process

ISAPI Extensions

ISAPI Filters

Worker Process

ISAPI Extensions

ISAPI Filters

Page 16: Journée de Transfert  d ’Expertise

18

Isolation IIS5Isolation IIS5

HTTP Protocol Stack

Svchost.exe

Inetinfo.exe

WWWService

W3 AdminService

DLLHost.EXE

Medium-Isolation(Pooled)

Out-of-ProcessApplication Host

ISAPI Extensions

DLLHost.EXE

High-IsolationOut-of-Process

Application Host

ISAPI Extensions

DLLHost.EXE

High-IsolationOut-of-Process

Application Host

ISAPI Extensions

metabase

FTP Service Worker Process

Low-IsolationISAPI Extensions

ISAPI Filters

SMTP Service

NNTP Service

SSL for HTTP.SYS

Lsass.exe

WindowsAuthentication

Page 17: Journée de Transfert  d ’Expertise

19

Pools d’ApplicationsPools d’ApplicationsDéfinitionDéfinition

Un ou plusieurs pools Un ou plusieurs pools d’applicationsd’applications Chacun est servi par un ou Chacun est servi par un ou

plusieurs W3WP.exeplusieurs W3WP.exe Chaque W3WP.exe ne sert qu’un Chaque W3WP.exe ne sert qu’un

poolpool Requêtes routées directement au Requêtes routées directement au

Pool par HTTP.sysPool par HTTP.sys

Isolation basée sur :Isolation basée sur : Site/ClientSite/Client FonctionnalitéFonctionnalité FiabilitéFiabilité

Page 18: Journée de Transfert  d ’Expertise

20

Pool d’applicationsPool d’applicationsIdentitéIdentité

Identités possibles Identités possibles du Worker process:du Worker process: Network Service (par Network Service (par

défaut)défaut) Local SystemLocal System Local ServiceLocal Service Compte utilisateurCompte utilisateur

Groupe IIS_WPGGroupe IIS_WPG

Page 19: Journée de Transfert  d ’Expertise

21

Pool d’applicationsPool d’applications RRecyclageecyclage

Recyclage périodique des Recyclage périodique des applications basé sur :applications basé sur : La durée de vie du WP [Défaut]La durée de vie du WP [Défaut] Nb. requêtesNb. requêtes une heure planifiéeune heure planifiée Consommation mémoireConsommation mémoire A la demande (GUI)A la demande (GUI)

Pourquoi ?Pourquoi ? Rafraîchir les applications pour Rafraîchir les applications pour

s’assurer de leur disponibilités’assurer de leur disponibilité Éviter que des applications ne Éviter que des applications ne

perturbent le systèmeperturbent le système

Page 20: Journée de Transfert  d ’Expertise

22

kernel

user

W3

AD

MW

3A

DM

HTTP.SYSHTTP.SYS

Old Old Worker Worker ProcessProcess

ISAPI Exts &ISAPI Exts &FiltersFilters

Web Proc. Web Proc. Core DLLCore DLL

Ready for Ready for

RecycleRecycle

New New Worker Worker ProcessProcess

ISAPI Exts &ISAPI Exts &FiltersFilters

Web Proc. Web Proc. Core DLLCore DLL

Shut downShut down

RequestRequest

startupstartupreadyready

RequestRequest

Pool d’applicationsPool d’applications RRecyclage par recouvrementecyclage par recouvrement

Page 21: Journée de Transfert  d ’Expertise

23

Attention, le recyclage par recouvrement peut Attention, le recyclage par recouvrement peut poser problème si l’application ne supporte pas poser problème si l’application ne supporte pas la multi-instanciationla multi-instanciation

Possibilité de désactiver le recyclage par Possibilité de désactiver le recyclage par recouvrementrecouvrement Clé de métabase Clé de métabase DisallowOverlappingRotationDisallowOverlappingRotation Le worker process doit alors se terminer avant qu’un nouveau Le worker process doit alors se terminer avant qu’un nouveau

soit créesoit crée

Dans tous les cas (recouvrement ou pas), les Dans tous les cas (recouvrement ou pas), les requêtes restent en file d’attente au niveau requêtes restent en file d’attente au niveau KernelKernel Aucune interruption de service !Aucune interruption de service !

Pool d’applicationsPool d’applications RRecyclageecyclage

Page 22: Journée de Transfert  d ’Expertise

24

Détection de CrashDétection de Crash WADM détecte les crash WADM détecte les crash

des W3WP.exedes W3WP.exe WADM démarre un WADM démarre un

nouveau W3WP.exe si nouveau W3WP.exe si besoinbesoin

Requêtes en file d’attente Requêtes en file d’attente dans HTTP.sys pendant dans HTTP.sys pendant que W3WP démarreque W3WP démarre Pas d’Interruption de Pas d’Interruption de

ServiceService

Rapid Fail ProtectionRapid Fail Protection N’autorise que X fautes par N’autorise que X fautes par

intervalle de tempsintervalle de temps Stoppe automatiquement Stoppe automatiquement

le Pool si la valeur est le Pool si la valeur est dépasséedépassée IIS6 retourne des IIS6 retourne des

codes 503 aux codes 503 aux requêtes sur ce poolrequêtes sur ce pool

Pool d’applicationsPool d’applicationsSurveillanceSurveillance

Page 23: Journée de Transfert  d ’Expertise

25

Comment ça marche ?Comment ça marche ? W3ADM “ping” à intervalle de temps régulier les W3ADM “ping” à intervalle de temps régulier les

worker processworker process

Un worker process est configuré pour répondre au Un worker process est configuré pour répondre au ping dans une limite de temps donnéping dans une limite de temps donné

Si (pas de réponse dans la limite de temps)Si (pas de réponse dans la limite de temps) Par défaut: le WP est tué, enregistrement de Par défaut: le WP est tué, enregistrement de

l’évènement, démarrage d’un nouveau WPl’évènement, démarrage d’un nouveau WP Possibilité de rendre le WP orphelin à des fins Possibilité de rendre le WP orphelin à des fins

de debugging (par ex: attacher un debugger), de debugging (par ex: attacher un debugger), “Orphaning”“Orphaning”

Pool d’applicationsPool d’applicationsSurveillance - PingSurveillance - Ping

Page 24: Journée de Transfert  d ’Expertise

26

Activable via des clés de Activable via des clés de MetabaseMetabase http://support.microsoft.com/?id=828222http://support.microsoft.com/?id=828222

Des actions personnalisées peuvent Des actions personnalisées peuvent être exécutées. Par exemple:être exécutées. Par exemple: Envoyer un message à l’adminEnvoyer un message à l’admin Attacher un debugger, prendre un dump mémoire Attacher un debugger, prendre un dump mémoire

d’un WPd’un WP Exécuter une application spécifiqueExécuter une application spécifique

Le WP n’est pas tué, il reste actif donc Le WP n’est pas tué, il reste actif donc penser à le terminerpenser à le terminer

Pool d’applicationsPool d’applicationsSurveillance - OrphaningSurveillance - Orphaning

Page 25: Journée de Transfert  d ’Expertise

27

Pool d’applicationsPool d’applicationsPerformancePerformance

Web GardenWeb Garden Pool d’application utilisant Pool d’application utilisant

plus d’un worker processplus d’un worker process Pour une même connexion Pour une même connexion

les requêtes sont routées les requêtes sont routées vers le même WP au sein vers le même WP au sein du gardendu garden

Équilibrage de charge entre Équilibrage de charge entre les WP du garden en cas les WP du garden en cas de charge importante ou de de charge importante ou de problème (attention aux problème (attention aux pertes de sessions)pertes de sessions)

AffinitéAffinité Lier un pool d’applications à Lier un pool d’applications à

1 ou plusieurs CPUs1 ou plusieurs CPUs

Page 26: Journée de Transfert  d ’Expertise

28

Comparatif filtres et Comparatif filtres et extensions ISAPIextensions ISAPI

Extensions ISAPIExtensions ISAPI

Fonctionnement Fonctionnement asynchroneasynchrone

Configurable jusqu’au Configurable jusqu’au répertoire virtuelrépertoire virtuel

Différents contenus Différents contenus peuvent être mappés peuvent être mappés sur différentes sur différentes extensionsextensions

Plus flexiblePlus flexible

Filtres ISAPIFiltres ISAPI

Fonctionnement Fonctionnement synchrone par nature synchrone par nature ((S’enregistre pour S’enregistre pour être notifié lors de être notifié lors de certains évènements)certains évènements)

Configurable par site Configurable par site uniquementuniquement

Moins flexibleMoins flexible

Page 27: Journée de Transfert  d ’Expertise

29

Filtres ISAPIFiltres ISAPI Avec IIS5, les filtres ISAPI sont chargés Avec IIS5, les filtres ISAPI sont chargés

dans inetinfo.exedans inetinfo.exe Ils s’exécutent dans le contexte de sécurité Ils s’exécutent dans le contexte de sécurité

LocalSystemLocalSystem Une seule instance du filtreUne seule instance du filtre

Avec IIS6, les filtres sont chargés dans le Avec IIS6, les filtres sont chargés dans le WPWP Héritage du contexte de sécurité du WPHéritage du contexte de sécurité du WP Plusieurs instances possiblesPlusieurs instances possibles Les filtres qui s’enregistrent pour les notifications Les filtres qui s’enregistrent pour les notifications

READ_RAW_DATA (permet de lire les données READ_RAW_DATA (permet de lire les données venant du client avant tout traitement) ne sont venant du client avant tout traitement) ne sont supportés qu’en mode d’isolation IIS5supportés qu’en mode d’isolation IIS5

http://support.microsoft.com/?id=311852http://support.microsoft.com/?id=311852

Page 28: Journée de Transfert  d ’Expertise

30

RecommandationsRecommandations Développer des applications qui puissent Développer des applications qui puissent

être multi-instanciéesêtre multi-instanciées Pas de single locks, etc.Pas de single locks, etc. Permet l’utilisation du recyclage par recouvrementPermet l’utilisation du recyclage par recouvrement

Externaliser la gestion des sessionsExternaliser la gestion des sessions Les applications recyclées perdront les sessions si Les applications recyclées perdront les sessions si

celles-ci sont gérées in-processcelles-ci sont gérées in-process ASP.NET State service, SQL ServerASP.NET State service, SQL Server

Isoler les nouvelles applications dans des Isoler les nouvelles applications dans des “debug pools”“debug pools” Activer le “Rapid Fail Protection”Activer le “Rapid Fail Protection” Activer l’orphaning d’applicationActiver l’orphaning d’application

Page 29: Journée de Transfert  d ’Expertise

31

Changements SSL Changements SSL dans IIS6dans IIS6

Raisons:Raisons: Soulager IIS des traitements liés à SSLSoulager IIS des traitements liés à SSL Fournir un comportement similaire aux versions antérieures Fournir un comportement similaire aux versions antérieures

IIS quant au filtre ISAPI READ_RAW_DATA IIS quant au filtre ISAPI READ_RAW_DATA

Le service windows “HTTP SSL” implémente Le service windows “HTTP SSL” implémente maintenant SSL pour HTTPmaintenant SSL pour HTTP Hébergé par défaut dans LSASS.EXE, mais peut être Hébergé par défaut dans LSASS.EXE, mais peut être

hébergé dans son propre SVCHOST.EXEhébergé dans son propre SVCHOST.EXE (INETINFO.EXE en mode d’isolation IIS5)(INETINFO.EXE en mode d’isolation IIS5)

SSL est implémenté par les fichiers SSL est implémenté par les fichiers W3SSL.DLL and STRMFILT.DLLW3SSL.DLL and STRMFILT.DLL

Page 30: Journée de Transfert  d ’Expertise

32

Page 31: Journée de Transfert  d ’Expertise

33

Sécurité avec IIS6Sécurité avec IIS6 IIS6 n’est pas installé par défautIIS6 n’est pas installé par défaut Installé dans un état verrouilléInstallé dans un état verrouillé

Seul le service Web est activé par défautSeul le service Web est activé par défaut Seules les pages statiques et dont l’extension est Seules les pages statiques et dont l’extension est

connue sont serviesconnue sont servies

Fonctionne sous un compte à faibles Fonctionne sous un compte à faibles privilègesprivilèges

Outils en ligne de commande non Outils en ligne de commande non accessibles aux utilisateursaccessibles aux utilisateurs

Contenus protégés en écritureContenus protégés en écriture Protection contre les dépassements de Protection contre les dépassements de

buffersbuffers

Page 32: Journée de Transfert  d ’Expertise

35

Verrouillage du serveurVerrouillage du serveur

Activation des extensions Web via l’interface graphiqueActivation des extensions Web via l’interface graphique

Activation des extensions Web par script avec iisext.vbsActivation des extensions Web par script avec iisext.vbs

Page 33: Journée de Transfert  d ’Expertise

36

IIS fonctionne désormais sous le IIS fonctionne désormais sous le compte pré-defini NetworkServicecompte pré-defini NetworkService

Compte à faibles privilègesCompte à faibles privilèges Ne peut pas accéder au système de fichiersNe peut pas accéder au système de fichiers Ne peut pas accéder au registreNe peut pas accéder au registre Moins de privilèges = plus sécurisé !Moins de privilèges = plus sécurisé !

SécuritéSécuritéCompte Network ServiceCompte Network Service

Page 34: Journée de Transfert  d ’Expertise

37

Contexte de sécurité par Contexte de sécurité par mode d’isolationmode d’isolation

- Mode d’isolation par Worker - Mode d’isolation par Worker processprocess

Network serviceNetwork service

- Mode d’isolation IIS5:- Mode d’isolation IIS5:

Extensions ISAPI en isolation Extensions ISAPI en isolation basse (inetinfo.exe)basse (inetinfo.exe)

Local systemLocal system

Extensions ISAPI en isolation Extensions ISAPI en isolation medium (dllhost.exe)medium (dllhost.exe)

IWAM_nomdemachineIWAM_nomdemachine

Extensions ISAPI en isolation Extensions ISAPI en isolation haute (dllhost.exe)haute (dllhost.exe)

IWAM_nomdemachineIWAM_nomdemachine

ASP NET worker processASP NET worker process ASPNETASPNET

Page 35: Journée de Transfert  d ’Expertise

38

MetabaseMetabaseAméliorationsAméliorations

Métabase stockée au format XMLMétabase stockée au format XML Edit while runningEdit while running Gestion automatique de l’historique des Gestion automatique de l’historique des

modificationsmodifications Backup/restauration simplifiéBackup/restauration simplifié Export/import de nœuds spécifiquesExport/import de nœuds spécifiques AdministrabilitéAdministrabilité

Page 36: Journée de Transfert  d ’Expertise

39

Composants de la Composants de la Metabase IIS6Metabase IIS6

Metabase.bin (IIS5) remplacé par 2 Metabase.bin (IIS5) remplacé par 2 fichiers XML dans fichiers XML dans %SYSTEMROOT%\%SYSTEMROOT%\SYSTEM32\INETSRVSYSTEM32\INETSRV Metabase.xmlMetabase.xml

Configuration de IISConfiguration de IIS MBSchema.xmlMBSchema.xml

Schema de la metabaseSchema de la metabase La Metabase est lue et chargée en La Metabase est lue et chargée en

mémoire au démarrage du service IIS mémoire au démarrage du service IIS AdminAdmin

Modifications périodiquement Modifications périodiquement sauvegardées sur disque sauvegardées sur disque

Page 37: Journée de Transfert  d ’Expertise

40

SauvegardeSauvegardeHistorique des modificationsHistorique des modifications

Versions de Metabase.xml et Versions de Metabase.xml et MBSchema.xml automatiquement MBSchema.xml automatiquement sauvegardées après modificationssauvegardées après modifications %systemroot%\system32\inetsrv\history%systemroot%\system32\inetsrv\history

La version majeure est incrémentée La version majeure est incrémentée lorsque la copie mémoire de la metabase lorsque la copie mémoire de la metabase est écrite sur disqueest écrite sur disque

La version mineure est incrémentée La version mineure est incrémentée lorsque metabase.xml est directement lorsque metabase.xml est directement modifié (par ex notepad)modifié (par ex notepad)

Clés de métabaseClés de métabase HistoryMajorVersionNumberHistoryMajorVersionNumber EnableHistory = 1EnableHistory = 1 MaxHistoryFiles = 10MaxHistoryFiles = 10

Page 38: Journée de Transfert  d ’Expertise

41

SauvegardeSauvegardeChronologieChronologie

FréquenceFréquence Une sauvegarde est demandée 1 minute après la Une sauvegarde est demandée 1 minute après la

date de dernière modificationdate de dernière modification À ce moment là, si le nombre de modifications >30, À ce moment là, si le nombre de modifications >30,

la sauvegarde est différée d’une minutela sauvegarde est différée d’une minute La sauvegarde est forcée 5 minutes après la date La sauvegarde est forcée 5 minutes après la date

de 1de 1èreère modification modification

Les données sont écrites dans Les données sont écrites dans metabase.xmlmetabase.xml

Les fichiers d’historique sont créesLes fichiers d’historique sont crées La table de routage (URL -> pool La table de routage (URL -> pool

d’applications) est mise à jour par d’applications) est mise à jour par W3ADMW3ADM

Page 39: Journée de Transfert  d ’Expertise

42

Sauvegarde manuelleSauvegarde manuelle

Sauvegarde portableSauvegarde portable Backup encrypté avec un mot de passe Backup encrypté avec un mot de passe

fourni par l’administrateurfourni par l’administrateur

Sauvegarde localeSauvegarde locale Backup encrypté avec la “machine key” Backup encrypté avec la “machine key”

donc non décryptable sur un autre serveurdonc non décryptable sur un autre serveur

Sauvegardes stockées dans:Sauvegardes stockées dans: %systemroot%\system32\inetsrv\metaback%systemroot%\system32\inetsrv\metaback

Page 40: Journée de Transfert  d ’Expertise

43

Export/ImportExport/Import

Export de l’intégralité ou partie d’un Export de l’intégralité ou partie d’un noeudnoeud Noeud = Site Web, répertoire virtuel, Noeud = Site Web, répertoire virtuel,

Application pool, Site FTP etcApplication pool, Site FTP etc ““Save configuration to file”Save configuration to file”

Import de l’intégralité ou partie d’un Import de l’intégralité ou partie d’un noeudnoeud Create new [object] from fileCreate new [object] from file

En cas d’import sur un autre En cas d’import sur un autre serveur, attention aux données serveur, attention aux données spécifiques de la machine sourcespécifiques de la machine source

Page 41: Journée de Transfert  d ’Expertise

44

Données spécifiques à Données spécifiques à la machinela machine

Chemin aux ressourcesChemin aux ressources Comptes IWAM et IUSRComptes IWAM et IUSR ServerBindingsServerBindings Access Control ListsAccess Control Lists Mots de passeMots de passe

Page 42: Journée de Transfert  d ’Expertise

45

AdministrabilitéAdministrabilité

Gestionnaire IISGestionnaire IIS Sauvegarde de la copie mémoire de la Sauvegarde de la copie mémoire de la

metabase vers le disquemetabase vers le disque

Par scripts:Par scripts: ADSIADSI WMIWMI Admin base Objects (objets COM)Admin base Objects (objets COM)

NotepadNotepad MetaEdit v2.2, MBExplorer (RK IIS6)MetaEdit v2.2, MBExplorer (RK IIS6)

Page 43: Journée de Transfert  d ’Expertise

46

Nouveautés FTPNouveautés FTP Isolations des utilisateursIsolations des utilisateurs

http://www.microsoft.com/usa/webcasts/ondemand/2095.asphttp://www.microsoft.com/usa/webcasts/ondemand/2095.asp

Plage de ports du mode FTP passif Plage de ports du mode FTP passif configurableconfigurable

Page 44: Journée de Transfert  d ’Expertise

47

Isolation des utilisateursIsolation des utilisateurs

Authentification locale ou par rapport Authentification locale ou par rapport à un domaineà un domaine

Une seule racine FTP pour tous les Une seule racine FTP pour tous les home directoryhome directory Elle peut être locale ou sur un partage réseauElle peut être locale ou sur un partage réseau

Structure des répertoiresStructure des répertoires AnonymousAnonymous

C:\Inetpub\FTPRoot\LocalUser\PublicC:\Inetpub\FTPRoot\LocalUser\Public Utilisateurs locauxUtilisateurs locaux

C:\Inetpub\FTPRoot\LocalUser\usernameC:\Inetpub\FTPRoot\LocalUser\username Utilisateurs de domainesUtilisateurs de domaines

C:\Inetpub\FTPRoot\domainname\usernameC:\Inetpub\FTPRoot\domainname\username

Page 45: Journée de Transfert  d ’Expertise

48

Isolation des Isolation des utilisateurs avec ADutilisateurs avec AD

Authentification par rapport à un Authentification par rapport à un conteneur ADconteneur AD

Plusieurs racines FTP possibles car Plusieurs racines FTP possibles car les home directory peuvent être les home directory peuvent être répartis sur plusieurs serveursrépartis sur plusieurs serveurs Le Home directory d’un utilisateur est Le Home directory d’un utilisateur est

construit en fonction des valeurs des attributs construit en fonction des valeurs des attributs FTPRoot et FTPDir (extensions de l’objet FTPRoot et FTPDir (extensions de l’objet Utilisateur) positionnés dans l’AD grâce à Utilisateur) positionnés dans l’AD grâce à l’outil iisftp.vbsl’outil iisftp.vbs

Page 46: Journée de Transfert  d ’Expertise

49

L’interface graphique ne permet pas L’interface graphique ne permet pas de configurer l’accès Anonymede configurer l’accès Anonyme

Créer un script ou utiliser un éditeur Créer un script ou utiliser un éditeur de Metabase pour positionner:de Metabase pour positionner:

AnonymousUserName = ADUserAnonymousUserName = ADUser

(ADUser doit avoir les attributs FTPRoot (ADUser doit avoir les attributs FTPRoot & FTPDir positionnés)& FTPDir positionnés)

AnonymousUserPass = passwordAnonymousUserPass = password AllowAnonymous : DWORD = 1AllowAnonymous : DWORD = 1

Isolation des Isolation des utilisateurs avec ADutilisateurs avec AD

Page 47: Journée de Transfert  d ’Expertise

50

PassivePortRangePassivePortRange

En mode FTP passif, la plage de ports En mode FTP passif, la plage de ports 1025-5000 est utilisée par défaut1025-5000 est utilisée par défaut Large plage à ouvrir sur le Firewall!!Large plage à ouvrir sur le Firewall!!

Plage maintenant configurable par une clé Plage maintenant configurable par une clé de Metabasede Metabase PassivePortRangePassivePortRange Positionnée au niveau service seulement Positionnée au niveau service seulement

/LM/MSFTPSVC/LM/MSFTPSVC Ex: PassivePortRange: (String) = 5001-6000Ex: PassivePortRange: (String) = 5001-6000 La plage de ports doit être inclus dans 5001-La plage de ports doit être inclus dans 5001-

65535, autrement le service ne démarra pas65535, autrement le service ne démarra pas voir voir http://support.microsoft.com/?id=810639http://support.microsoft.com/?id=810639 pour pour

IIS5IIS5

Page 48: Journée de Transfert  d ’Expertise

51

Liens techniquesLiens techniques

http://www.microsoft.com/iishttp://www.microsoft.com/iis Communauté:Communauté:

Forum : microsoft.public.fr.iisForum : microsoft.public.fr.iis http://www.iisfaq.com/http://www.iisfaq.com/

Resource Kit IIS6Resource Kit IIS6 http://www.microsoft.com/downloads/details.aspx?http://www.microsoft.com/downloads/details.aspx?

FamilyID=80a1b6e6-829e-49b7-8c02-FamilyID=80a1b6e6-829e-49b7-8c02-333d9c148e69&DisplayLang=en333d9c148e69&DisplayLang=en

Resource Kit tools IIS6Resource Kit tools IIS6 http://www.microsoft.com/downloads/details.aspx?http://www.microsoft.com/downloads/details.aspx?

FamilyID=56fc92ee-a71a-4c73-b628-FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&DisplayLang=enade629c89499&DisplayLang=en