Introduction
IIS est l'abréviation d'Internet Information Server. Il s'agit du serveur WEB principalement promu par Microsoft. La version couramment utilisée par les utilisateurs est désormais IIS 6 incluse dans Windows 2003 ou la version antérieure IIS 5. IIS est entièrement intégré à Windows NT Server, donc les utilisateurs. Capable d'utiliser les fonctionnalités de sécurité intégrées de Windows NT Server et NTFS (NT File System, NT file system) pour créer des sites Internet et Intranet puissants, flexibles et sécurisés. IIS prend en charge ISAPI, qui peut être utilisé pour étendre les fonctions du serveur. IIS est conçu pour établir un ensemble intégré de services de serveur prenant en charge HTTP, FTP et SMTP. Il peut fournir un serveur Internet rapide, intégré et évolutif avec les produits existants.
Le nouveau IIS7 ajoute davantage de conceptions de sécurité à Windows Server 2008 et les utilisateurs peuvent désormais utiliser celles de Microsoft. NET pour exécuter des applications côté serveur. De plus, la création de modules grâce aux nouvelles fonctionnalités d'IIS7 réduira le nombre d'exécutions de code dans le système et minimisera la possibilité d'être attaqué par des scripts de pirates. Du point de vue de la sécurité, il s’agit d’un nouveau domaine dans lequel IIS est impliqué. Tant de nouvelles fonctionnalités nous rendent impatients d'IIS7 dans Windows Server 2008. Jetons un coup d'œil aux cinq fonctionnalités améliorées les plus essentielles d'IIS :
IIS entièrement modulaire
Si vous êtes très familier avec le populaire logiciel de serveur Web Apache, vous saurez que son plus grand avantage réside dans sa personnalisation. Vous pouvez le configurer pour afficher uniquement du HTML statique, ou vous pouvez charger dynamiquement différents modules pour autoriser différents types de contenu de service. . Cependant, l'IIS actuellement utilisé ne peut pas très bien implémenter cette fonctionnalité, ce qui a causé deux problèmes : premièrement, en raison de l'impact d'un trop grand nombre de fonctionnalités non utilisées par les utilisateurs sur le code, les performances ne peuvent parfois pas satisfaire les utilisateurs ; il existe des risques de sécurité causés par un trop grand nombre d'interfaces par défaut.
Le nouveau IIS7 résout complètement ce problème. IIS7 est divisé depuis la couche principale en plus de 40 modules avec des fonctions différentes. Les fonctionnalités telles que la validation, la mise en cache, le traitement des pages statiques et les listes de répertoires sont toutes modularisées. Cela signifie que votre serveur web peut installer les modules fonctionnels correspondants en fonction de vos besoins opérationnels. Les modules pouvant présenter des risques de sécurité et qui ne sont pas nécessaires ne seront plus chargés en mémoire, la surface d'attaque du programme est réduite et les performances sont également améliorées.
IIS7 configuré via un fichier texte
Une autre fonctionnalité majeure d'IIS7 est que l'outil de gestion utilise le nouveau système de configuration distribué web.config. IIS7 ne dispose plus d'un seul stockage de configuration de métabase, mais utilisera le même modèle de fichier web.config pris en charge par ASP.NET, permettant aux utilisateurs de stocker et de déployer des configurations avec le contenu des applications Web, quel que soit le nombre de sites et d'utilisateurs. peut Il peut être configuré directement via le fichier web.config, donc lorsque l'entreprise a besoin de connecter un grand nombre de sites Web, cela peut ne prendre que peu de temps, car l'administrateur n'a qu'à copier le fichier web.config de n'importe quel site qui a été préparé auparavant, puis définit les paramètres. Il est transféré sur le serveur distant avec l'application Web. Il n'est pas nécessaire d'écrire des scripts de gestion pour personnaliser la configuration.
Dans le même temps, l'outil de gestion prend en charge « l'administration déléguée ». Les utilisateurs peuvent déléguer certains fichiers web.config identifiables à d'autres employés de l'entreprise. Bien entendu, dans ce cas, ce qui est affiché dans l'outil de gestion, ce sont les paramètres du client. propre site Web, plutôt que les paramètres de l'ensemble de la machine, afin que l'administrateur IIS n'ait pas à se soucier de chaque petite modification du site. Le contrôle de version est tout aussi simple. Les utilisateurs doivent simplement conserver différentes versions des fichiers texte dans l'organisation. puis utilisez-les si nécessaire. Restaurez-les simplement si nécessaire.
Les produits Microsoft se sont toujours enorgueillis d'interfaces conviviales. Cependant, en tant que serveur IIS7 conçu pour les professionnels de l'informatique, cela ne semble pas évident en passant d'IIS 4 à IIS 6, la console de gestion fournie aux utilisateurs n'est pas très simple. Fonctionnement pratique et, en raison de limitations techniques et d'autres raisons, il est difficile pour les utilisateurs d'effectuer tous les travaux de gestion via une interface unifiée.
Outil de gestion du mode graphique MMC
[Page coupée]Dans le nouveau IIS 7, ce problème a été considérablement amélioré. Les utilisateurs peuvent désormais utiliser des outils de gestion pour créer et gérer un nombre illimité de sites Web sur des machines clientes Windows. Elle n'est plus limitée à un seul site Web. En même temps, par rapport aux versions précédentes d'IIS, l'interface de gestion d'IIS7 est plus conviviale et puissante. De plus, les outils de gestion d'IIS7 sont écrits en .NET et Windows Forms et. peut être élargi. Cela signifie que les utilisateurs peuvent ajouter leurs propres modules d'interface utilisateur à l'outil de gestion pour fournir une prise en charge de la gestion de leurs propres modules d'exécution HTTP et paramètres de configuration.
Améliorations de la sécurité d'IIS 7
Les problèmes de sécurité sont toujours la priorité absolue lorsque Microsoft est attaqué. En fait, ce n'est pas que Microsoft soit indifférent à la sécurité. C'est parce que Microsoft est un cuirassé si énorme qu'il est inévitable que tous les secrets soient perdus. à chaque avis de sécurité avec des suggestions. Les problèmes de sécurité d'IIS se concentrent principalement sur la gestion efficace et la gestion des autorisations des programmes .NET. IIS 7 a apporté les améliorations correspondantes en réponse aux problèmes de sécurité rencontrés par le serveur IIS.
Dans la nouvelle version, les paramètres de gestion IIS et ASP.NET sont intégrés dans un seul outil de gestion. Cela permet aux utilisateurs d'afficher et de définir des règles d'authentification et d'autorisation en un seul endroit, plutôt que d'avoir à passer par plusieurs boîtes de dialogue différentes. Cela offre aux gestionnaires une interface utilisateur plus cohérente et plus claire, ainsi qu'une expérience de gestion unifiée sur la plateforme Web.
Dans IIS7, les applications .NET s'exécutent directement via le code IIS au lieu d'être envoyées à l'extension API du serveur Internet, ce qui réduit les risques possibles et améliore les performances. Dans le même temps, l'outil de gestion prend en charge les membres ASP.NET 3.0 et. Le système de gestion des rôles prend en charge l'interface de gestion. Cela signifie que les utilisateurs peuvent créer et gérer des rôles et des utilisateurs dans l'outil de gestion, ainsi qu'attribuer des rôles aux utilisateurs. Voici le diagramme complet de répartition des composants d'IIS 7.
Diagramme complet de distribution des composants IIS 7
Environnement de gestion Windows PowerShell pour IIS 7
Je pense que les amis qui s'intéressent à la programmation de scripts ou qui sont familiers avec Exchange Server 2007 connaîtront Windows PowerShell. Windows PowerShell est un shell de ligne de commande Windows spécialement conçu pour les administrateurs système. Ce shell comprend une invite interactive et un environnement de script qui peuvent être utilisés indépendamment ou en combinaison. Pour les professionnels de l'informatique qui aiment la gestion de scripts, Windows PowerShell les fera certainement adorer. Pour les serveurs IIS, Windows PowerShell peut également fournir des fonctions de gestion complètes.
[Page coupée]Cependant, bien que PowerShell puisse également gérer IIS6 exécuté sur Windows Server 2003, IIS7 est spécifiquement géré via la ligne de commande PowerShell. Il inclut la nouvelle fonction APPCMD. APPCMD crée et configure des sites via une interface de ligne de commande standard. Les scénarios d'application de tels outils de ligne de commande sont également très courants lorsque la gestion de scripts est utilisée dans l'environnement de l'utilisateur. grand avantage.
IS 7.0 est inclus avec les clients Windows Vista, et la version familiale du système d'exploitation est également livrée avec IIS 7.0 (contrairement à IIS 5.1, qui n'est disponible que sur XP Professionnel). La version IIS 7.0 du serveur sera publiée avec le serveur Windows Server 2008 plus tard cette année et ajoutera un ensemble de fonctionnalités de déploiement supplémentaires, notamment une prise en charge d'hôte plus riche, une prise en charge FTP sécurisée et une prise en charge intégrée du déploiement de batterie de serveurs Web.
La prise en charge d'une ferme Web serait particulièrement intéressante, car elle vous permettrait de déployer votre application Web sur un partage de fichiers contenant tout le codage, la configuration, le contenu et les clés nécessaires pour exécuter un serveur. Vous pouvez ensuite ajouter n'importe quel nombre de serveurs Web sans état et sans configuration à une batterie de serveurs Web en les pointant simplement vers ce partage de fichiers pour charger dynamiquement leurs paramètres de configuration (y compris les liaisons, les répertoires virtuels, les paramètres du pool d'applications, etc.) et le contenu de l'application. Cela rend la mise à l'échelle d'une application sur plusieurs machines un jeu d'enfant, éliminant le besoin de méthodes de réplication pour la configuration et le déploiement d'applications (copiez simplement les fichiers sur un partage de fichiers et toutes les machines de la batterie de serveurs Web chargeront immédiatement les modifications dans le fichier).
La version bêta 3 de Windows Server 2008 prend en charge les licences de mise en service, vous pourrez donc bientôt profiter de cette fonctionnalité. Nous exécutons déjà Windows Server 2008 sur un cluster IIS 7.0, vous ne serez donc pas seul !
Schéma de gestion Windows PowerShell
Migration vers IIS7.0
La migration de sites Web vers IIS7.0 est plus pratique que IIS6.0 car le plus grand avantage du serveur Web Apache est sa gestion personnalisée. IIS7.0 utilise désormais le concept Apache, vous pouvez donc copier le fichier de configuration du site vers un autre IIS7.0. être installé sur la machine hôte Pour plus de détails, veuillez en savoir plus sur « IIS7 configuré via des fichiers texte » et « Environnement de gestion Windows PowerShell d'IIS 7 » ci-dessus.
[Page coupée]Intégration d'ASP.NET et IIS 7.0
Dans les versions antérieures d'IIS, les développeurs devaient écrire des extensions/filtres ISAPI pour étendre les fonctionnalités du serveur. En plus d'être difficile à écrire, ISAPI est également très limité dans la manière dont il se connecte au serveur et permet aux développeurs de le personnaliser. Par exemple, vous ne pouvez pas implémenter de code de réécriture d'URL dans une extension ISAPI (remarque : ASP.NET est implémenté en tant qu'extension ISAPI). Si vous écrivez du code de longue durée en tant que filtre ISAPI, le résultat est que vous bloquerez le thread d'E/S du serveur Web (c'est pourquoi nous ne laissons pas le code managé s'exécuter pendant la phase d'exécution du filtre de la requête).
L’un des changements architecturaux majeurs que nous avons apportés au moteur de traitement IIS principal dans IIS7 est de permettre une évolutivité extrêmement riche grâce à une nouvelle architecture de pipeline de requêtes modulaire. Vous pouvez désormais écrire du code n'importe où dans le cycle de vie de n'importe quelle requête HTTP en enregistrant un module d'extensibilité HTTP auprès du serveur Web. Ces modules d'extensibilité peuvent être écrits à l'aide de code C++ natif ou de code géré .NET (vous pouvez utiliser l'interface ASP.NET System.Web.IHttpModule existante pour y parvenir).
Toutes les fonctionnalités IIS7 « intégrées » (authentification, autorisation, service de fichiers statiques, prise en charge de la liste des répertoires, ASP classique, journalisation, etc.) sont désormais implémentées à l'aide de cette API de pipeline modulaire publique. Cela signifie que vous pouvez supprimer n'importe laquelle de ces fonctionnalités "intégrées" d'IIS7 et les remplacer/étendre par votre propre implémentation.
[Page coupée]ASP.NET lui-même sur IIS 7.0 est également passé d'une implémentation ISAPI à un module directement connecté au pipeline IIS7 :
Tableau de comparaison IIS6.0 et IIS7.0
Cela apporte de nombreux avantages :
1) Vous pouvez désormais utiliser l'authentification par formulaires ASP.NET, les membres/rôles et toute autre fonctionnalité pour toutes les requêtes adressées au serveur (par exemple, fichiers .htm, .php, .jsp).
2) Vous pouvez désormais facilement réécrire l'URL de n'importe quelle requête Web ou modifier la requête de toutes sortes de manières intéressantes.
3) Vous pouvez remplacer ou étendre n'importe quelle fonctionnalité IIS existante à l'aide de VB ou C# (par exemple, vous pouvez supprimer le module de liste de répertoires intégré et brancher votre propre module).
Cela ouvre vraiment des possibilités d'extensibilité infinies pour les développeurs .NET.
Six nouvelles fonctionnalités d'IIS 7.0 :
1) Le cœur de réseau modulaire permet aux utilisateurs d'ajouter et de supprimer des fonctions spécifiques. Si vous souhaitez utiliser le composant de statistiques de service, seuls quelques modules (hors ISAPI) sont nécessaires.
2) Un pipeline HTTP standard unifié, qui correspond aux applications de gestion locales. Les utilisateurs peuvent utiliser un système d'authentification basé sur des formulaires pour les pages Web ASP classiques.
3) Les utilisateurs peuvent créer leurs propres IHttpModule et IHttpHandlers et les insérer dans un pipeline unifié.
4) Nouveau système de configuration XML distribué, qui tire parti du système de configuration ASP.NET.
5) Mécanisme de diagnostic et de résolution de problèmes amélioré, y compris de nouvelles fonctions d'état d'exécution et de suivi.
6) Nouvelle interface utilisateur administrateur extensible et orientée tâches.
Dans l'ensemble, IIS 7 fournira aux administrateurs Web et aux passionnés du Web des outils de gestion plus riches et plus faciles à utiliser. Dans le nouveau IIS7, les aspects de gestion et de sécurité ont été entièrement repensés. Du point de vue du groupe d'utilisateurs, en utilisant IIS7, les utilisateurs individuels peuvent créer leurs propres sites plus rapidement et plus facilement, tandis que les utilisateurs d'entreprise peuvent maintenir et gérer leur propre environnement WEB. de manière plus complète et plus sécurisée. À mesure que Windows Server 2008 approche, je pense qu'il y aura de plus en plus d'introductions sur la gestion d'IIS7. Attendons de voir si la nouvelle version nous a apporté des changements substantiels ou s'il s'agit simplement d'une amélioration des fonctions du serveur IIS.
[Page coupée]Dans le nouveau IIS 7, ce problème a été considérablement amélioré. Les utilisateurs peuvent désormais utiliser des outils de gestion pour créer et gérer un nombre illimité de sites Web sur des machines clientes Windows. Elle n'est plus limitée à un seul site Web. En même temps, par rapport aux versions précédentes d'IIS, l'interface de gestion d'IIS7 est plus conviviale et puissante. De plus, les outils de gestion d'IIS7 sont écrits en .NET et Windows Forms et. peut être élargi. Cela signifie que les utilisateurs peuvent ajouter leurs propres modules d'interface utilisateur à l'outil de gestion pour fournir une prise en charge de la gestion de leurs propres modules d'exécution HTTP et paramètres de configuration.
Améliorations de la sécurité d'IIS 7
Les problèmes de sécurité sont toujours la priorité absolue lorsque Microsoft est attaqué. En fait, ce n'est pas que Microsoft soit indifférent à la sécurité. C'est parce que Microsoft est un cuirassé si énorme qu'il est inévitable que tous les secrets soient perdus. à chaque avis de sécurité avec des suggestions. Les problèmes de sécurité d'IIS se concentrent principalement sur la gestion efficace et la gestion des autorisations des programmes .NET. IIS 7 a apporté les améliorations correspondantes en réponse aux problèmes de sécurité rencontrés par le serveur IIS.
Dans la nouvelle version, les paramètres de gestion IIS et ASP.NET sont intégrés dans un seul outil de gestion. Cela permet aux utilisateurs d'afficher et de définir des règles d'authentification et d'autorisation en un seul endroit, plutôt que d'avoir à passer par plusieurs boîtes de dialogue différentes. Cela offre aux gestionnaires une interface utilisateur plus cohérente et plus claire, ainsi qu'une expérience de gestion unifiée sur la plateforme Web.
Dans IIS7, les applications .NET s'exécutent directement via le code IIS au lieu d'être envoyées à l'extension API du serveur Internet, ce qui réduit les risques possibles et améliore les performances. Dans le même temps, l'outil de gestion prend en charge les membres ASP.NET 3.0 et. Le système de gestion des rôles prend en charge l'interface de gestion. Cela signifie que les utilisateurs peuvent créer et gérer des rôles et des utilisateurs dans l'outil de gestion, ainsi qu'attribuer des rôles aux utilisateurs. Voici le diagramme complet de répartition des composants d'IIS 7.
Diagramme complet de distribution des composants IIS 7
Environnement de gestion Windows PowerShell pour IIS 7
Je pense que les amis qui s'intéressent à la programmation de scripts ou qui sont familiers avec Exchange Server 2007 connaîtront Windows PowerShell. Windows PowerShell est un shell de ligne de commande Windows spécialement conçu pour les administrateurs système. Ce shell comprend une invite interactive et un environnement de script qui peuvent être utilisés indépendamment ou en combinaison. Pour les professionnels de l'informatique qui aiment la gestion de scripts, Windows PowerShell les fera certainement adorer. Pour les serveurs IIS, Windows PowerShell peut également fournir des fonctions de gestion complètes.