200 likes | 342 Views
Internet Information Server 7.0. Laurent Bonnet Microsoft France. Agenda. Un peu d’histoire Approche modulaire Intégration d’ASP.NET (IIS 6 vs IIS 7) Configuration unifiée Administration d’IIS Sécurité Synthèse. Approche modulaire. Installation personnalisable : Plus de 40 modules
E N D
Internet Information Server 7.0 Laurent Bonnet Microsoft France
Agenda • Un peu d’histoire • Approche modulaire • Intégration d’ASP.NET (IIS 6 vs IIS 7) • Configuration unifiée • Administration d’IIS • Sécurité • Synthèse
Approche modulaire • Installation personnalisable : Plus de 40 modules • A module est soit une DLL Win32 (module natif) soit du .NET 2.0 contenu dans une assembly (module managé) • Tous les modules peuvent être ajoutés, supprimés voire remplacés par des modules développés en C++ (API IIS 7.0) ou avec les API ASP.NET 2.0
ASP.NET surIIS 7.0 2 modes ASP.NET : • Mode ISAPI (pour compatibilité) • Mode intégré • ASP.NET HttpModulesdirectementdans le server • Le code du HttpModulesou du Global.asaxpeut porter surtoutes les requêtes • Le serveurpeutêtreétenduoupersonnalisé avec du VB ou du C#
Configuration unifiée • IIS 7.0 fournit aux développeurs et administrateurs un système de configuration unifiée pour le paramétrage d’ASP.NET et de IIS 7.0 sous la forme de fichiers XML. • Pour accéder à ces fichiers, IIS 7.0 dispose d’un ensemble de codes managés et d’API de scripting permettant d’agir sur cette configuration • IIS 7.0 permet également de stocker la configuration dans un fichier web.config situé dans le même répertoire que le site ou l’application. Ce fichier peut être copié de machine à machine, simplifiant ainsi les déploiements dans des fermes de serveurs Web
Hiérarchie des fichiers de configuration .Net Framework IIS Local ou distant (UNC)
Outils d’administration de IIS 7.0 • Console Internet Information Server Manager • Possibilité de déléguer une partie de l’administration • Administration distante au travers de https (ne nécessite plus l’ouverture de ports RPC pour DCOM). Doit être activée. • Outil en ligne de commande : Appcmd.exe • Edition manuelle des fichiers XML de configuration • API Administration (pour développeurs .NET) • API Microsoft.Web.Administration API • API Administration scriptée (pour administrateurs développeurs WMI)
Délégation d’administration • La fonction de délégation dans IIS 7 permet : • Le verrouillage de sections de configuration pour contrôler quels paramétrages peuvent être définis dans les fichiers web.config (en général, une section de configuration de IIS correspond à un module de IIS) • De définir par site et application, les utilisateurs autorisés à utiliser la console IIS Manager pour : • Voir la configuration • Modifier la configuration des fonctions qui ont leur section "déverrouillée"
Activer les connexions distantes • Paramètres de WMSVC (Web Management Service) à configurer • Binding – par défaut WMSVC est associé à toutes les adresses IP non assignées sur le port 8172 avec un certificat auto-signé (WMSVC communique uniquement au dessus d’HTTPS). • Restrictions par IP ou domaine – après que les connexions distantes soient activées, WMSVC va accepter des connexions depuis toute adresse IP. Il est possible de restreindre la liste des adresses IP autorisées. • Crédentiels autorisés – par défaut WMSVC accepte les crédentiels Windows ou les crédentiel IIS Manager (non Windows et stockés dans le fichier administration.config). Il est possible de restreindre uniquement aux crédentiels Windows.
Sécurité de IIS 7.0 • IIS 7.0 a été conçu avec les mêmes exigences et fondamentaux que IIS 6.0 et améliore en encore cette approche sécurité sur 3 points : • Surface d’exposition réduite • IIS 6.0 = verrouillé par défaut • IIS 7.0 = installation minimale par défaut • Gestion de la sécurité plus flexible • Délégation granulaire de l’administration • Utilisateur et groupe par défaut (Built-in) • Le compte utilisateur IUSR remplace IUSR_MachineName (IIS 4.0 à IIS 6.0) • Le groupe IIS_IUSRS remplace IIS_WPG group (IIS 6.0) • Nouvelles fonctions de sécurité • Au revoir URLScan, bonjour RequestFiltering • Nouveau : HiddenNamespaces
IIS 7.0 en résumé • Installation modulaire • Optimisation des ressources • Sécurité accrue / faible surface d’exposition • Extensibilité (ex: FastCGI…) • Intégration ASP.NET / IIS • Collaboration équipes IT et développeurs • Délégation granulaire • Nouveaux outils d’administration • Graphique, ligne de commande, scripts… • Administration distante « firewall friendly »
Contrôle de la Puissance Disponible • Publié en interne MS le Mardi 13 mai 2008 par le groupe IIS. • Environnement Mutualisé. • Mis en œuvre à partir des spécifications publiques « hosting guidance » sur http://learn.iis.net • 4000 sites avec 4000 app pools avec 4000 contextes de sécurité isolés et 4000 contenus différents. • Cf démos TechDays et Roadshows.
- Contexte • We (IIS team) have conducted a series of tests to confirm that WSRM can be used with large number of application pools in a shared hosting environment. • We have used the same shared hosting environment that was used for testing of IIS7 shared hosting guidance. • The environment has about 4000 web sites, each site uses its own application pool.
Résultats • The results of the tests showed that WSRM service was able to control the large number of application pools, while keeping its own CPU consumption at a very low level. • Based on these tests we will be updating the hosting guidance with recommendations on how to configure WSRM to handle large number of application pools.
Pour une Bonne Compréhension – 1/2 • WSRM will start throttle a process only if there is a CPU contention and other processes require CPU cycles. • If there is no contention then WSRM may allow process to consume more CPU percentage than specified in the configuration. • If there is a CPU contention then WSRM will ensure that the process on average gets *at least* the configured amount of CPU percentage.
Pour une Bonne Compréhension – 2/2 • WSRM will take effect only if overall system CPU load is more than 70%.
Ressources utiles • Le site de l’équipe produit : http://www.iis.net • Forums IIS : http://forums.iis.net/default.aspx?GroupID=41 • Quelques blogs : • http://blogs.msdn.com/hsshin • http://blogs.msdn.com/mhpta/ • http://mvolo.com/blogs/serverside