journée de transfert d ’expertise
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 PresentationTRANSCRIPT
1
Journée de Transfert Journée de Transfert d ’Expertised ’Expertise
Paris / Lausanne – Mars 2004
3
AgendaAgenda
IntroductionIntroduction Architecture IIS6 versus IIS5Architecture IIS6 versus IIS5 SecuritéSecurité Nouvelle MetabaseNouvelle Metabase Nouveautés FTPNouveautés FTP Liens techniquesLiens techniques
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
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
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
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
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
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
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
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
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
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
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
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
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
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é
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
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
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
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
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
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
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
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
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
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
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
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
32
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
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
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
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
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é
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
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
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
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
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
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
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)
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
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
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
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
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
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