Septembre 2008 Septembre 2008
ISA Server: Guide de sécurisation d'ISA Server 2006
De nombreuses entreprises utilisent ISA Server 2006 pour sécuriser leur environnement, mais peu d'entre elles prennent la peine de sécuriser ISA Server lui-même. Voici d'un guide de l'utilisation de l'Assistant Configuration de la sécurité et des rôles administratifs pour limiter la surface d'exposition aux attaques et sécuriser votre implémentation d’ISA Server 2006. Alan Maddison
ISA Server: Améliorez la sécurité de la passerelle TS grâce à ISA Server 2006
Grâce à la nouvelle fonctionnalité de Passerelle TS, Windows Server 2008 permet aux utilisateurs d'accéder à leurs bureaux de n'importe où, sans utiliser de connexion VPN. Découvrez comment vous pouvez publier la passerelle TS via ISA Server 2006 et étendre le scénario de publication ISA Server 2006 pour inclure l'application de l'intégrité du client. Dr. Thomas W. Shinder et Yuri Diogenes
IIS 7.0: Les 10 principales améliorations en matière de performances dans IIS 7.0
La dernière version d'IIS introduit une plate-forme modulaire et extensible avec une prise en charge améliorée des scénarios de déploiement et de gestion courants, offrant ainsi des améliorations de performances considérables. Voici 10 domaines clés d'IIS 7.0 qui offrent ces améliorations. Mike Volodarsky
Mobilité: Rendez vos applications métier mobiles
De nombreux professionnels mobiles ont aujourd'hui besoin que les applications métier qu'ils utilisent au bureau (CRM, ERP et autres) soient accessibles à partir d'un périphérique mobile lorsqu'ils sont en déplacement. Découvrez comment Windows Mobile et Mobile Device Manager vous permettent de déployer de riches fonctionnalités mobiles pour les applications métier critiques. Matt Fontaine
Sécurité: Comprendre la gestion des mots de passe des comptes partagés
Les mots de passe de comptes partagés et à privilèges sont très courants mais bien trop d'entreprises ne gèrent pas correctement ces mots de passe partagés. Ceci crée un problème de sécurité sérieux. Explorez les risques liés aux comptes partagés et à privilèges, et découvrez de meilleures approches pour la gestion de mots de passe plus sécurisés. Chris Stoneff
Columns
Le mot du rédacteur en chef: La rentrée des classes: | Lettres: Les lecteurs ont la parole: | Boîte à outils: Nouveaux produits pour les professionnels de l’informatique:
Questions et réponses sur la file d'attente Exchange: Alignement des partitions de disque, planification pour SCR et bien plus encore: Dans le numéro de septembre 2008 des Questions et réponses sur la file d'attente Exchange, nous répondons à des questions sur le calcul du nombre de serveurs de catalogue global dont vous aurez besoin, la modification de l'appartenance de site d'un serveur et bien plus encore.Henrik Walther | Coup de projecteur sur les utilitaires: Windows Memory Diagnostic: Découvrez comment cet utilitaire gratuit peut vous aider à déterminer si les problèmes que vous rencontrez pendant l'exécution de Windows sont dus à une mémoire défectueuse.Lance Whitney | Au cœur de SharePoint: Intégration de l'annuaire SharePoint: Pav Cherny traite des restrictions du service de gestion d'annuaire intégré dans SharePoint et explique comment vous pouvez remplacer ce composant par une solution personnalisée qui vous permet de synchroniser les informations de destinataire de SharePoint avec d'autres solutions d'annuaire.Pav Cherny
Windows PowerShell: Théorie des chaînes: Malgré sa nature orientée objet, Windows PowerShell peut également traiter des chaînes complexes. Don Jones montre comment vous pouvez y parvenir en utilisant la commande Select-String.Don Jones | Hé, vous le scripteur !: Restez connecté à votre grille-pain: Découvrez comment vous pouvez utiliser les jeux d'enregistrements déconnectés, ces tables de base de données virtuelles, pour contourner les restrictions de VBScript concernant le tri de données et travailler avec de grands jeux de données.Les scripteurs Microsoft | Histoires de Bureau: Fonctionnalités avancées de WDS: Dans son troisième article sur les Services de déploiement Windows (WDS), Wes Miller explore les fonctionnalités qui améliorent les performances et l'évolutivité, la journalisation et l'automation de ligne de commande.Wes Miller
Vigilance sécurité: Mots de passe et cartes de crédit, troisième partie: Dans la troisième et dernière partie de cette série, Jesper Johansson nous montre comment les fournisseurs de logiciels, les suites de sécurité et les efforts de commercialisation entravent les véritables efforts en matière de sécurité et comment ces pratiques peuvent mener à l'effondrement de l'écosystème de la sécurité de la technologie.Jesper M. Johansson | Sur le terrain: Innovation de l'intérieur: Romi Mahajan explique sa théorie de l'« Innovation de l'intérieur », qui met en évidence la créativité et le capital humains comme clés d'un avantage comparatif soutenu.Romi Mahajan | La vie secrète de Windows: Windows 95 débranché: Raymond Chen explique comment un bout de code de diagnostic a subitement ralenti considérablement la création de Windows 95.Raymond Chen


Guide de sécurisation d'ISA Server 2006
Alan Maddison
En un coup d'œil :
  • Méthodes recommandées pour sécuriser vos serveurs
  • Installation de l'Assistant Configuration de la sécurité
  • Description de l'Assistant Configuration de la sécurité
  • Attribution des rôles administratifs

Sommaire
Sécurisation de vos serveurs
Installation de l'Assistant Configuration de la sécurité
Exécution de l'Assistant Configuration de la sécurité
Rôles Administratifs
Si de nombreux professionnels de l'informatique font confiance à ISA Server 2006 (Internet Security and Acceleration Server 2006) pour sécuriser leurs ressources technologiques, peu d'entre eux prennent la peine de sécuriser ISA Server lui-même. Si vous
avez installé ISA Server 2006 récemment, vous vous rappelez peut-être qu'il était recommandé de le faire tout de suite après l'installation. Malheureusement, peu de professionnels de l'informatique prennent (ou ont) le temps d'effectuer cette étape importante, qui finit par conséquent sur la liste de choses à faire qui ne sont jamais faites.
Dans le paysage de la sécurité actuel en constante évolution, ce défaut de sécurisation d'ISA Server n'est plus acceptable. Heureusement, les outils utilisés pour sécuriser ISA Server ont progressé considérablement. Vous ne devez plus affronter les nombreux problèmes rencontrés dans les Assistants de renforcement de la sécurité proposés dans les versions antérieures à ISA Server 2004. Aujourd'hui, vous pouvez vous reposer sur une procédure et des outils bien définis, comme l'Assistant Configuration de la sécurité fourni avec Windows Server® 2003.
Dans cet article je fournirai un bref récapitulatif des meilleures pratiques générales pour sécuriser les serveurs. J'examinerai ensuite point par point les stratégies de renforcement d'ISA Server, en utilisant l'Assistant Configuration de sécurité pour réduire la surface d'exposition aux attaques d'ISA Server et les rôles administratifs pour limiter l'accès à ISA Server.

Sécurisation de vos serveurs
De nombreux éléments et meilleures pratiques sont impliqués dans la sécurisation des serveurs, qu'ils soient situés dans un centre de données ou dans la salle des serveurs située à côté de votre bureau. En tant qu'administrateur, il est de votre responsabilité de comprendre ce que sont ces meilleures pratiques et de faire de votre mieux pour implémenter ces exigences de manière pratique pour votre organisation. Du fait de la plus grande importance accordée à la sécurité dans les dernières années, la plupart d'entre nous sont aujourd'hui familiarisés avec les tâches qui composent l'essentiel de ces exigences ; je ne reviendrai donc pas sur ces points mais fournirai seulement une brève présentation.
La première mesure à prendre pour sécuriser votre environnement consiste à vous assurer que vos serveurs sont physiquement sécurisés. Ce que cela signifie dans la pratique, c'est que vous devez limiter l'accès physique à vos serveurs. Dans les plus petits environnements, cela signifie s'assurer que la porte de la salle des serveurs reste verrouillée et que la liste des personnes pouvant accéder à cette salle reste très restreinte. Dans les plus grands environnements, cette exigence fondamentale reste quasiment identique, mais elle peut être implémentée de façon plus sophistiquée. Un grand nombre d'entreprises utilisent la surveillance électronique, par exemple. Cela leur permet d'auditer l'entrée dans les salles de serveurs et même de limiter l'accès aux racks ou aux cages individuels en fonction de la façon dont les responsabilités sont structurées.
Certains facteurs uniques sont à prendre en compte lorsque l'on est confronté au vol ou à la violation physique d'un ordinateur ISA Server ou d'un serveur de stockage de configurations d'ISA. La nature des informations qui peuvent être obtenues à partir du serveur volé peut potentiellement compromettre tous les ordinateurs ISA Server et l'ensemble du trafic (y compris le trafic chiffré) dans votre environnement.
Si vous soupçonnez qu'un serveur a été compromis, a subi une violation, ou autre, retirez le serveur concerné immédiatement, (s'il est toujours sur le site) et suivez les procédures standard pour sécuriser les preuves. Après avoir pris les mesures nécessaires, vous devez entamer le processus de modification de toutes les informations confidentielles : tous les certificats installés sur le serveur doivent être révoqués et toutes les clés prépartagées et les secrets partagés doivent être modifiés. Par ailleurs, si vous maintenez un réplica de serveur de stockage de configuration, assurez-vous que toutes les données liées au serveur compromis sont supprimées.
Une fois vos serveurs physiquement sécurisés, l'étape suivante consiste à s'assurer qu'il existe une méthodologie structurée pour l'application des correctifs sur tous les logiciels, notamment la couche de virtualisation, le système d'exploitation et les applications. Les correctifs, les mises à niveau et les correctifs de sécurité doivent être vérifiés et appliqués régulièrement. Mais n'oubliez pas de tester ces mises à jour avant de les appliquer aux systèmes de production. Un correctif ne sera d'aucune utilité s'il finit par entraîner un problème qui compromet l'intégrité de l'application ou des données.
Si l'intégrité des données est compromise, vous devrez faire appel à vos sauvegardes. Ceci m'amène à un autre élément essentiel pour la sécurisation de votre infrastructure. Si vous ne pouvez pas restaurer les données rapidement et complètement en cas de besoin, les périodes d'interruption peuvent avoir un impact significatif sur vos opérations et, par conséquent, augmenter le coût d'une intrusion.
Deux autres éléments à prendre en compte sont la surveillance et l'audit. La surveillance de vos applications et systèmes est un élément critique de tout bon plan de sécurité. Si vous ne prenez pas le temps de consulter les journaux, notamment les journaux liés à la sécurité, Il est peu probable que vous trouviez des tentatives d'intrusion avant que le mal ne soit déjà fait.
De même, l'audit revêt une importance fondamentale. Pour de nombreuses organisations, en particulier les grands environnements, le processus d'audit est souvent formalisé et même requis par la législation. Quoi qu’il en soit, il est important dans n'importe quel environnement de consulter régulièrement les contrôles et la méthodologie utilisés pour sécuriser vos ressources afin que vos efforts ne soient pas vains.
Enfin, puisque vous exécutez Isa Server 2006 sous Windows Server® 2003, il est important que vous consultiez le Guide de sécurité Windows Server 2003 et que vous implémentiez les recommandations nécessaires. Vous pouvez trouver ce Guide de sécurité à l'adresse microsoft.com/technet/security/prodtech/windowsserver2003/w2003hg/sgch00.mspx.
Microsoft recommande actuellement d'implémenter le modèle de stratégie de sécurité de référence, mais vous ne devez pas implémenter les filtres IPSec (Internet Protocol Security).

Installation de l'Assistant Configuration de la sécurité
Donc comment pouvez-vous renforcer la sécurité d'ISA Server ? L'outil principal de sécurisation d'ISA est l'Assistant Configuration de la sécurité. Il s'agit d'un outil de réduction de la surface d'exposition aux attaques. Il crée des stratégies de sécurité qui ciblent les services d'un serveur, la sécurité réseau, le Registre et la stratégie d'audit, en configurant le système uniquement pour les services et les fonctionnalités qui lui sont nécessaires. Il est important de noter que vous devez configurer uniquement les services ISA Server que vous souhaitez utiliser. Par exemple, le service de proxy Web est activé par défaut, mais vous devez désactiver cette fonctionnalité si vous ne souhaitez pas l'utiliser. Ainsi, vous devez porter une attention toute particulière aux options de configuration proposées par l'Assistant Configuration de la sécurité.
Par défaut, l'Assistant Configuration de la sécurité n'est pas installé dans Windows Server 2003. La première étape consiste donc à l'installer vous-même en utilisant l'applet Ajouter/Supprimer des composants Windows® du panneau de configuration Ajout/Suppression de programmes. (Notez que l'Assistant Configuration de la sécurité est installé par défaut dans Windows Server 2008.) Une fois l'écran Composants Windows chargé, faites défiler vers le bas et activez la case à cocher correspondant à l'Assistant Configuration de la sécurité.
Une fois l'installation terminée, l'application se trouve sous Outils d'administration. Avant de commencer à utiliser l'Assistant, vous devez mettre à jour l'Assistant Configuration de la sécurité en téléchargeant une mise à jour pour ISA Server 2006 (disponible à l'adresse go.microsoft.com/fwlink/?LinkId=122532). Cette mise à jour ajoute les rôles pour ISA Server 2006 Édition Standard, ISA Server 2006 Édition Entreprise et le serveur de stockage de configurations ISA Server.
Après avoir téléchargé la mise à jour, vous devez exécuter le package et en extraire les fichiers. Après avoir extrait ces fichiers, copiez les deux fichiers .xml (isa.xml et isaloc.xml) dans le dossier de bases de connaissances de l'Assistant Configuration de la sécurité, qui sera c:\windows\security\msscw\kbs dans une installation par défaut de Windows Server.
Lorsque vous copierez les fichiers, vous serez invité à remplacer deux fichiers existants du même nom. Ces deux fichiers sont pour ISA Server 2004, donc vous devez les sauvegarder avant de les remplacer. La dernière étape consiste à copier le fichier isascwhlp.dll dans le dossier bin, qui se trouve généralement dans c:\windows\security\msscw\bin. Une fois que vous aurez terminé l'ajout des rôles ISA à l'Assistant Configuration de la sécurité, vous serez prêt à commencer l'installation.
Microsoft recommande généralement de n'exécuter l'Assistant Configuration de la sécurité qu'après avoir terminé la configuration d'ISA Server. Si vous exécutez l'Édition Entreprise, cela inclut la configuration de tous les groupes et tous les membres des groupes.

Exécution de l'Assistant Configuration de la sécurité
La première étape consiste à lancer l'Assistant Configuration de la sécurité à partir des Outils d'administration ; souvenez-vous que vous avez besoin des autorisations administratives pour terminer le processus de l'Assistant Configuration de la sécurité avec succès.
La figure 5 présente le premier écran de l'Assistant. Si vous lisez le texte sur cet écran, notamment l'avertissement indiquant « Cet Assistant détecte les ports entrants écoutés par ce serveur », vous pouvez comprendre pourquoi il est important qu'ISA Server et les groupes soient entièrement configurés avant de commencer ce processus.
Figure 1 Démarrage de l’Assistant Configuration de sécurité (Cliquez sur l'image pour l'agrandir)
Si votre environnement n'est pas entièrement configuré, il y a de fortes chances que vous deviez mettre à jour la configuration de l'Assistant Configuration de la sécurité après avoir terminé la configuration d'ISA. L'écran suivant, illustré à la figure 2, demande quelle action vous voulez exécuter. Vous devez sélectionner l'option permettant de Créer une nouvelle stratégie de sécurité.
Figure 2 Création d'une nouvelle stratégie de sécurité (Cliquez sur l'image pour l'agrandir)
Vous êtes alors invité à sélectionner le serveur qui servira de référence pour la stratégie. Puisque vous créez une nouvelle stratégie, la sélection par défaut propose d'utiliser l'ordinateur sur lequel vous exécutez l'Assistant Configuration de la sécurité. Ce comportement change, cependant, en fonction de l'action que vous choisissez d'effectuer sur l'écran précédent. Quoi qu'il en soit, il est recommandé d'installer l'Assistant Configuration de la sécurité sur le serveur que vous souhaitez utiliser comme référence. Si l'Assistant Configuration de la sécurité n'est pas installé sur le serveur cible, les informations utilisées pour effectuer la stratégie seront manquantes. Ainsi, pour simplifier la tâche, installez et exécutez l'Assistant Configuration de la sécurité à partir du serveur qui servira de référence.
Lorsque vous appuyez sur Suivant, l'Assistant Configuration de la sécurité commence l'analyse de votre ordinateur ISA Server. Cette analyse inclut la détermination des rôles déterminants qui sont installés sur le serveur, des rôles qui sont probablement installés sur le serveur, des services qui sont installés et des informations de base sur les réseaux. Une fois le traitement terminé, vous pouvez afficher la base de données en sélectionnant Afficher la base de données de configuration. Cette base de données contient un grand nombre d'informations, notamment tous les rôles de serveur, fonctionnalités client et ports pris en charge.
L'Assistant Configuration de la sécurité commence ensuite à vous guider dans la configuration des services selon les rôles. En cliquant sur Suivant, vous accédez à l'écran suivant où vous êtes invité à sélectionner les rôles de serveur, comme illustré à la figure 3. L'analyse initiale effectuée par l'Assistant Configuration de la sécurité est fiable, et les rôles de serveur corrects devraient déjà avoir été identifiés. Cependant, il est très important de revérifier et de supprimer les éventuels rôles inutiles. Et si le serveur remplit plusieurs rôles, assurez-vous que tous les rôles appropriés sont sélectionnés.
Figure 3 Spécification des rôles de serveur (Cliquez sur l'image pour l'agrandir)
Il est important de rappeler, si vous exécutez ISA Server 2006 Édition Entreprise, que vous devez prendre en compte le serveur de stockage de configurations. Si celui-ci est installé sur un serveur qui joue également le rôle d'un serveur ISA Server (cela n'est pas conforme aux meilleurs pratiques mais cela se fait néanmoins fréquemment), vous devrez vous assurer que le rôle de serveur de stockage de configurations est également sélectionné. Vous ne devez pas utiliser une analyse de référence d'un serveur qui héberge les deux rôles pour les serveurs qui possèdent uniquement le rôle ISA Server 2006.
Ensuite, vous êtes invité à sélectionner les fonctionnalités client du serveur. En d'autres termes, vous devez spécifier les services requis par le serveur. Par exemple, presque tous les serveurs nécessiteront le client DNS, et si un serveur est membre d'un domaine, il nécessitera la fonctionnalité de membre du Domaine.
Une fois cette opération terminée, l'écran Options d'administration et autres options s'affiche. C'est là que vous indiquez les options d'application, d'administration et de système d'exploitation qui utilisent des services ou s'appuient sur la connectivité réseau. Tous les services non sélectionnés à ce stade seront désactivés. Mais une fois que vous avez effectué vos sélections et appuyé sur Suivant, vous pouvez sélectionner les services supplémentaires que vous souhaitez autoriser.
Continuez ensuite en configurant la manière dont les services non spécifiés doivent être prise en charge. Cela vous permet de définir ce qui doit arriver lorsque l'on trouve des services non inclus dans la base de données principale ou installés sur le serveur de référence lorsque la stratégie est appliquée. Il est généralement recommandé de désactiver les services non spécifiés car cela limite les vecteurs d'attaque imprévus. Malheureusement, cette option peut avoir des conséquences négatives si vos serveurs comportent des différences significatives ; n'oubliez pas ce paramètre si vous ajoutez des applications ou services réseau à l'avenir.
La section suivante de l'Assistant, qui est illustrée à la figure 4, vous permet d'examiner les services qui sont modifiés par l'Assistant Configuration de la sécurité. Cet écran de confirmation présente un affichage comparatif de l'état actuel et de l'état modifié des services après l'application de la stratégie.
Figure 4 Examinez et confirmez les modifications des services (Cliquez sur l'image pour l'agrandir)
Après la confirmation des services qui seront modifiés, vous devez passer à la section Sécurité réseau. C'est ici que l'Assistant Configuration de la sécurité vous permet généralement de modifier les paramètres de Pare-feu Windows et IPSec. Mais puisque vous configurez ISA Server 2006, vous n'avez pas d'autre choix que d'ignorer cette section, comme illustré à la figure 5.
Figure 5 Ignorez les paramètres de sécurité réseau (Cliquez sur l'image pour l'agrandir)
L'Assistant passe ensuite à la configuration des paramètres de Registre qui portent sur les méthodes d'authentification de réseau et la sécurité. Le premier écran de cette section implique la signature du bloc de message serveur (SMB). Le protocole SMB est un protocole réseau Microsoft de base et ces paramètres permettent des communications signées pour réduire la probabilité d'attaques d'intercepteur.
Les paramètres par défaut, comme illustré à la figure 6, fournissent un bon niveau de sécurité pour vos communications SMB ISA Server. Mais vous devez prendre en compte l'impact de la signature de toutes les communications. Si vous ne disposez pas de cycles processeur disponibles, vous devez désélectionner la deuxième option. Et pensez à tous les serveurs auxquels cette stratégie sera appliquée ; si vous disposez de serveurs avec des charges de travail différentes, le serveur ayant une plus forte sollicitation du processeur doit vous servir de guide pour savoir si vous devez sélectionner cette option.
Figure 6 Spécifiez si vous souhaitez des communications signées (Cliquez sur l'image pour l'agrandir)
La série d'écrans suivants concerne le niveau de compatibilité LM (Lan Manager) que l'ISA Server doit utiliser. Le premier de ces écrans présente trois choix. À moins d'avoir des clients Windows hérités (comme Windows 95 ou Windows 98) ou d'utiliser les comptes locaux pour le contrôle d'accès, vous devez laisser l'option par défaut Comptes de domaine sélectionnée.
Sur le deuxième écran qui gère le niveau de compatibilité LM, fournissez des informations sur vos contrôleurs de domaine. Si vous ne disposez pas de domaines Windows NT® 4.0, vous pouvez conserver le choix par défaut (Systèmes d'exploitation Windows NT 4.0 Service Pack 6a ou ultérieurs) sélectionné. Dans cette boîte de dialogue, vous devez également indiquer que les horloges doivent être synchronisées en sélectionnant l'option d'horloge du serveur. En sélectionnant Suivant, vous accédez à certaines options de configuration supplémentaires pour la communication LAN Manager (LM) entrante, comme illustré à la figure 7.
Figure 7 Indiquez les méthodes d'authentification entrantes (Cliquez sur l'image pour l'agrandir)
Ce troisième écran concernant le niveau de compatibilité LM déterminera si la version 2 de Windows NT LAN Manager (NTLM) est nécessaire et si les hachages LM sont stockés. Vous devez vous assurer qu'aucune de ces options n'est sélectionnée, pourvu que votre environnement prenne en charge cette configuration, puisqu'en désélectionnant ces deux options, vous améliorez la sécurité de façon significative. Un résumé des paramètres du Registre s'affiche. Examinez chaque entrée et confirmez que les paramètres de stratégie sont corrects.
Ensuite, l'Assistant vous fait accéder à la dernière section : Audit. Il est important de noter à propos des options de configuration que vous choisissez dans cette section qu'elles ne peuvent pas être restaurées. Mais puisque l'audit n'affecte pas la fonctionnalité de système, vous ne devez pas ignorer cette section.
La sélection par défaut de « Effectuer un audit des activités réussies » ne vous fournira pas les entrées de journal des événements pour les échecs de connexion. Toutefois, les échecs de connexion peuvent fournir des informations précieuses sur les tentatives d'intrusion. C'est pourquoi il est généralement recommandé de sélectionner « Effectuer un audit des activités ayant réussi ou échoué ».
Vous pouvez ensuite vérifier votre configuration d'audit et appuyer deux fois sur Suivant pour enregistrer votre stratégie de sécurité. Tout ce qui est demandé sur cet écran illustré à la figure 8, est un nom de fichier, mais vous pouvez également fournir une brève description. Cette description peut se révéler utile dans les grands environnements où plusieurs administrateurs partagent les responsabilités de sécurité.
Figure 8 Fournissez un nom et une description pour votre stratégie de sécurité (Cliquez sur l'image pour l'agrandir)
Une fois le fichier enregistré, vous pouvez appliquer la stratégie immédiatement ou plus tard. Si vous choisissez de l'appliquer plus tard, le processus est terminé. Si vous vous rendez compte que vous avez commis des erreurs dans la configuration de la stratégie, vous pouvez annuler la stratégie, à l'exception des paramètres d'audit.

Rôles administratifs
La réduction de la surface d'exposition aux attaques de votre ordinateur ISA Server est une étape essentielle pour réduire le risque de violations provenant de sources externes. Cependant, il est également important de vérifier l'attribution des rôles administratifs dans ISA Server pour limiter le risque de compromissions provenant de sources internes. Les rôles administratifs et une liste partielle de tâches courantes associées sont illustrés aux figures 9 et 10.
Figure 9 Rôles et tâches associés à l'Édition Standard
Tâche | Auditeur de surveillance | Auditeur | Administrateur complet
Afficher le tableau de bord, les alertes, la connectivité, les sessions et les services | Autorisé | Autorisé | Autorisé
Reconnaître les alertes | Autorisé | Autorisé | Autorisé
Afficher les informations des journaux | – | Autorisé | Autorisé
Créer des définitions d’alerte | – | – | Autorisé
Créer des rapports | – | Autorisé | Autorisé
Arrêter et démarrer des sessions et des services | – | Autorisé | Autorisé
Afficher la stratégie de pare-feu | – | Autorisé | Autorisé
Configurer la stratégie de pare-feu | – | – | Autorisé
Configurer le cache | – | – | Autorisé
Configurer un réseau privé virtuel (VPN) | – | – | Autorisé
Figure 10 Rôles et tâches associés à l'Édition Entreprise
Activité | Auditeur de surveillance de groupe | Auditeur de groupe | Administrateur de groupe
Afficher le tableau de bord, les alertes, la connectivité et les sessions | Autorisé | Autorisé | Autorisé
Reconnaître et réinitialiser les alertes | Autorisé | Autorisé | Autorisé
Afficher les informations des journaux | – | Autorisé | Autorisé
Créer des définitions d’alerte | – | - | Autorisé
Créer des rapports | – | Autorisé | Autorisé
Arrêter et démarrer des sessions et des services | – | Autorisé | Autorisé
Afficher la stratégie de pare-feu | – | Autorisé | Autorisé
Configurer la stratégie de pare-feu | – | – | Autorisé
Configurer le cache | – | – | Autorisé
Configurer un réseau privé virtuel (VPN) | – | – | Autorisé
Purger/arrêter NLB | – | Autorisé | Autorisé
Afficher la configuration locale (dans le registre d'un membre de groupe) | – | Autorisé | Autorisé
Modifier la configuration locale (dans le registre d'un membre de groupe) | – | – | –
Comme vous pouvez le constater, le niveau de segmentation des tâches administratives associées à ISA Server est important. Cela devrait simplifier l'attribution des rôles corrects aux utilisateurs au sein de votre organisation.
Par ailleurs, vous devez vous rappeler que la meilleure approche de l'attribution de rôles consiste à employer le concept de moindre privilège. Chaque utilisateur doit disposer de la quantité minimale de privilèges nécessaires pour lui permettre d'effectuer son travail.
Il est également important de se rappeler que les membres du groupe d'administrateurs locaux d'ISA Server 2006 Édition Standard disposent des mêmes droits qu'un administrateur complet ISA Server. Avec l'Édition Entreprise, les membres du groupe d'administrateurs locaux disposant du rôle de serveur de stockage de configurations possèdent un contrôle total sur la configuration d'Entreprise. Cela signifie que vous devez soigneusement examiner l'appartenance au groupe Admins du domaine, en supposant que votre ISA Server est membre d'un domaine, ainsi qu'à tout autre groupe qui est membre du groupe d'administrateurs locaux d'ISA Server.

Alan Maddison est consultant senior, spécialisé dans les technologies Microsoft, chez Strategic Business Systems, une division de Brocart.


ISA Server
Améliorez la sécurité de la passerelle TS grâce à ISA Server 2006
Dr. Thomas W. Shinder et Yuri Diogenes
En un coup d'œil :
  • Deux scénarios utilisant la passerelle TS avec ISA Server
  • Configuration d'ISA Server 2006
  • Test et surveillance

Sommaire
Au-delà du périmètre
Le premier scénario
Configuration d'ISA Server 2006
Test et surveillance de l'accès client
Surveillance à partir d'ISA Server
Le deuxième scénario
Et le Client ?
Conclusion
Suite au succès d'Outlook Anywhere dans Exchange Server 2007, Windows Server 2008 offre à son tour une fonctionnalité vous permettant d'accéder à votre bureau de n'importe où, de façon sécurisée et contrôlée.
Le nouveau service de passerelle des services Terminal Server (passerelle TS) de Windows Server® 2008 offre la flexibilité des services Terminal Server de Windows® ainsi que la possibilité de se connecter à un serveur Terminal Server à partir de n'importe où via une connexion HTTP. Ce service utilise le protocole RDP (Remote Desktop Protocol) via HTTPS (SSL) pour renforcer la sécurité tout en fournissant une interface client unique pour accéder aux ressources des services Terminal Server.
Ce nouveau service de passerelle TS offre des avantages considérables à ceux qui ont besoin d'accéder à leur ordinateur à distance :
  • Il n'est pas nécessaire d'établir une session de réseau privé virtuel (VPN) avant de se connecter aux ressources internes à l'aide du RDP.
  • La sécurité est améliorée grâce à la protection d’accès réseau (NAP) et aux vérifications de sécurité Windows pour contrôler les connexions RDP.
  • Il n'est pas nécessaire d'ouvrir le port TCP 3389 entrant pour permettre une publication Web plus sécurisée via les pare-feu.
Vous pouvez utiliser Microsoft® Internet Security and Acceleration (ISA) Server 2006 pour améliorer la sécurité du service de passerelle TS tout en permettant un accès externe aux ressources internes. Vous pouvez configurer un scénario de pont SSL à SSL dans lequel ISA Server 2006 reçoit des requêtes et les transmet au service de passerelle TS interne en utilisant également le protocole HTTPS. Pendant qu'il exécute un pontage de la requête, le pare-feu ISA décrypte les communications SSL et effectue l'inspection de la couche Application.
Si le flux de protocole HTTP réussit l'inspection, la communication est à nouveau chiffrée et transférée au proxy des services Terminal Server. Si le flux de protocole échoue l'inspection, la connexion est abandonnée.

Au-delà du périmètre
Microsoft a investi beaucoup d'efforts dans la sécurité et Windows Server 2008 est la version la plus sécurisée et robuste de Windows à ce jour. Mais l'entreprise se soucie également de la façon dont les utilisateurs implémenteront ses produits et dont ils suivront les meilleures pratiques pour maintenir la sécurité de leurs environnements. Les meilleures pratiques nécessitent une approche de défense approfondie qui fournit une protection à plusieurs points d'accès, ou couches. Les couches pertinentes pour notre discussion ici sont les couches Stratégies, procédures et sensibilisation, Périmètre, Réseau interne et Hôte.
Lorsque vous autorisez des utilisateurs externes à accéder à une ressource interne via ISA Server, vous devez comprendre les limites de chaque produit impliqué. ISA Server 2006 et la passerelle TS fourniront la sécurité à la couche Périmètre, mais pour les ressources internes, vous devez avoir des stratégies en place qui autorisent ou refusent l'accès si nécessaire. Les Services de stratégie et d’accès réseau (NPAS) vous permettent de réaliser cela, en travaillant au niveau de la couche Stratégies, procédures et sensibilisation. L'accès aux ressources internes (lecteur, presse-papiers, imprimantes, etc.) est défini par les stratégies d'autorisation d'accès aux ressources de Terminal Server, qui concernent la couche Réseau interne.
Dans cet article, nous examinerons d'abord comment publier la passerelle des services Terminal Server via ISA Server 2006. Nous étendrons ensuite notre scénario de publication ISA Server 2006 pour inclure l'application de l'intégrité du client à l'aide de la Protection d'accès réseau (NAP). En utilisant NAP, nous pouvons créer des stratégies d'intégrité du client qui nous aident à contrôler l'accès à la couche Hôte.

Le premier scénario
Notre objectif est de montrer comment publier la passerelle TS via ISA Server 2006. La figure 1 résume les ordinateurs et le flux de données pendant la connexion. Dans ce scénario, nous implémentons le rôle NPS (Network Policy Server) sur la passerelle TS elle-même ; cependant, nous modifierons ceci dans le deuxième scénario, où nous utiliserons un serveur NPS central. Suivez la séquence ci-dessous pour comprendre comment les communications fonctionnent parmi les composants de la solution de publication de Passerelle TS :
Figure 1 Passerelle TS de publication via ISA Server 2006 (Cliquez sur l'image pour l'agrandir)
  1. L'utilisateur RDP externe établit la connexion. La première chose que le client doit faire est de résoudre le nom externe de la passerelle TS (dans ce cas, tsg.contoso.com). Le DNS externe résout ce nom, qui pointe sur l'adresse IP externe d'ISA Server.
  2. Un tunnel SSL est établi entre le client RDP et l'interface externe d'ISA Server. ISA Server a une règle de publication Web sur le port TCP 443 qui utilise un certificat délivré à tsg.contoso.com.
  3. Après avoir évalué la règle et vérifié que le trafic est autorisé, ISA Server enverra une requête DNS au serveur DNS interne (situé sur le contrôleur de domaine) pour résoudre le nom du serveur spécifié sur la règle de publication Web.
  4. ISA Server ouvre ensuite un tunnel SSL vers la passerelle TS et lui transmet la requête d'authentification.
  5. Le serveur de passerelle TS valide les informations d'identification de l'utilisateur et vérifie que l'utilisateur est autorisé à établir la connexion.
  6. Après s'être assuré que l'utilisateur est autorisé à établir la connexion, le service de passerelle TS reçoit les requêtes sur le port TCP 443 et transfère les paquets RDP via le port TCP 3389 (par défaut) au serveur Terminal Server interne où réside l'application (telle qu'une application CRM).
À partir de là, tout paquet envoyé par le client RDP au service de passerelle TS via ISA Server est transféré au serveur Terminal Server interne et inversement.
Il est important de mentionner que le RDP sur HTTPS en arrière-plan n'est rien de plus qu'un RDP/RPC/HTTPS. Le client RDP encapsule les communications RDP dans un en-tête RPC, qui est encapsulé par la suite avec un en-tête HTTP qui est sécurisé à l'aide de SSL (ou TLS [Transport Level Security]). Tous les composants dont vous avez besoin pour un RPC via une solution HTTPS doivent être présents. C'est pourquoi, lorsque vous installez le service du rôle de passerelle TS, il installe automatiquement le Proxy RPC sur HTTP. Pour mieux comprendre le fonctionnement de ce protocole, nous vous recommandons de lire l'article « Testing RPC over HTTP through ISA Server 2006 Part 1; Protocols, Authentication and Processing » que vous trouverez sur le blog de l'équipe ISA Server (disponible à l'adresse blogs.technet.com/isablog).
Cette implémentation nécessite Windows Server 2008 avec la passerelle des services Terminal Server installée, et cette fonctionnalité dépend du proxy RPC sur HTTP. Pour que la fonctionnalité de proxy RDP via RPC sur HTTP fonctionne, Internet Information Services (IIS) 7.0 doit être installé et en cours d'exécution. Vous avez également besoin des Services de stratégie et d’accès réseau, mais, si vous préférez, vous pouvez configurer la passerelle TS pour utiliser le serveur NPS, auparavant appelé service d'authentification Internet (IAS), pour centraliser le stockage, la gestion et la validation de stratégies d’autorisation des connexions aux services Terminal Server (TS CAP). Enfin, vous devez obtenir un certificat SSL pour le serveur de passerelle TS, si vous n'en possédez pas déjà un. Il est important de souligner qu'ISA Server 2006 doit approuver l'autorité de certification (CA) qui émet le certificat. Par conséquent, veillez à importer le certificat dans la banque d'autorités de certification racine approuvées.
Les services de domaine Active Directory® sont uniquement requis si vous configurez une stratégie d'autorisation de passerelle TS nécessitant que les utilisateurs soient membres d'un groupe de sécurité Active Directory pour se connecter au serveur de Passerelle TS. Pour cette installation particulière, nous utiliserons Active Directory sur un ordinateur exécutant Windows Server 2003 SP2.
Une fois l'installation du service de passerelle Terminal Server terminée, l'écran de la figure 2 s'affiche, présentant les composants qui ont été installés. Pour connecter la passerelle TS, les clients doivent exécuter l'un des éléments suivants : Windows Vista® ; Windows XP avec SP2 et RDP 6.0 ou ultérieur ; Windows Server 2008 ; Windows Server 2003 avec SP1 ou ultérieur et RDP 6.0 ou ultérieur. Pour plus d'informations sur la configuration de la passerelle TS, consultez l'article Guide de configuration pas à pas du serveur de passerelle TS pour Windows Server 2008 disponible à l'adresse go.microsoft.com/fwlink/?LinkId=122251. Voyons maintenant comment configurer ISA Server 2006.
Figure 2 Résumé de l'installation de la passerelle TS (Cliquez sur l'image pour l'agrandir)

Configuration d'ISA Server 2006
La première étape consiste à créer un port d'écoute Web qui traitera les requêtes à partir du client RDP externe. Notre port d'écoute Web possède les paramètres suivants :
  • Authentification : de base
  • Validation d'authentification : Windows (Active Directory)
  • Connexions : activez les connexions SSL (HTTPS) sur le port 443
  • Certificats : certificat délivré à tsg.contoso.com
  • Réseaux : externe
Ensuite, créez la règle de publication Web. Du point de vue ISA Server 2006, le client RDP utilisera le même protocole qu'Outlook® Anywhere ; par conséquent, choisissez l'Assistant Exchange Server 2007. Exécutez simplement les étapes suivantes :
  1. Cliquez avec le bouton droit sur la stratégie de pare-feu, sélectionnez Nouveau, puis cliquez sur la règle de publication d'accès client Web Exchange.
  2. Sur la page Bienvenue dans l'Assistant de création d'une nouvelle règle de publication Web, tapez le nom de la règle et cliquez sur Suivant.
  3. Sur la page Sélectionnez l'action de la règle, choisissez l'option Autoriser et cliquez sur Suivant.
  4. Sur la page Nouvelle règle de publication Exchange, sélectionnez la version d'Exchange, dans notre cas, Exchange Server 2007. Sélectionnez Outlook Anywhere (RPC/HTTP(s)) et cliquez sur Suivant. Remarque : ne sélectionnez pas l'option Publication de dossiers supplémentaires sur Exchange Server pour les clients Outlook 2007.)
  5. Sur la page Type de Publication, sélectionnez l'option Publier un seul site Web ou équilibreur de charge et cliquez sur Suivant.
  6. Sur la page Sécurité de la connexion au serveur, sélectionnez Utiliser SSL pour établir la connexion au serveur Web publié ou à la batterie de serveurs et cliquez sur Suivant.
  7. Sur la page Informations de publication interne, dans le champ Nom de site local, tapez le nom du serveur de passerelle TS. Sélectionnez la case à cocher Utiliser un nom d'ordinateur ou une adresse IP pour établir la connexion avec le serveur publié, puis dans le champ Nom de l'ordinateur ou adresse IP, tapez le nom du serveur. Si vous ne connaissez pas le nom du serveur de passerelle TS, cliquez sur Parcourir pour accéder à son emplacement. Notez que le nom que vous utilisez sur cette page doit correspondre au nom commun ou au nom de sujet du certificat de site Web lié au site Web de passerelle TS.
  8. Sur la page Informations sur les noms publics, dans la liste déroulante Accepter les demandes pour, sélectionnez Ce nom de domaine (saisissez ci-dessous) puis, dans la zone Nom public, tapez le nom public correspondant au nom du certificat émis pour cette URL, dans notre cas, le nom était tsg.contoso.com. Ensuite, cliquez sur Suivant.
  9. Sur la page Sélectionnez le port d'écoute, cliquez sur la liste déroulante et sélectionnez le port d'écoute Web précédemment créé, puis cliquez sur Suivant.
Sur la page Délégation de l'authentification, sélectionnez l'option Pas de délégation mais le client peut s'authentifier directement, puis cliquez sur Suivant.
Sur la page Ensemble d'utilisateurs, vérifiez que l'option par défaut (Tous les utilisateurs) est sélectionnée, cliquez sur Suivant, puis sur Terminer et appliquez.
Si vous double-cliquez sur la règle et accédez à l'onglet Chemin, vous verrez que le seul chemin dont nous disposons est /rpc/*. Cela est dû au fait que nous avons utilisé l'Assistant Outlook Anywhere d'Exchange Server 2007.

Test et surveillance de l'accès client
Comme indiqué auparavant, vous avez besoin du client RDP 6.0 ou ultérieur pour vous connecter à la passerelle TS. Pour configurer l'application client RDP, lancez-la et tapez le nom du serveur Terminal Server auquel vous souhaitez vous connecter dans le champ Ordinateur. Cliquez sur le bouton Options, sur l'onglet Avancé, puis sur Paramètres, tapez ensuite le nom externe du serveur de passerelle TS, comme à la figure 3. Dans notre exemple, c'est le nom inscrit sur le certificat lié au port d'écoute Web qui est utilisé par notre règle de publication Web pour accepter les demandes entrantes. Notez que l'authentification Windows NT® LAN Manager est utilisée dans cet exemple. Lorsque vous avez terminé, cliquez sur OK, puis sur le bouton de connexion. Vous obtiendrez une invite d'authentification. Tapez les informations d'identification d'un utilisateur ayant accès au serveur Terminal Server et cliquez sur OK.
Figure 3 Configuration du client RDP (Cliquez sur l'image pour l'agrandir)
Notez que le client RDP 6.0 (pour Windows XP et Windows Server 2003) affichera l'écran de la figure 3. Vous serez invité à entrer des informations d'authentification deux fois, la première authentification est pour l'ordinateur de passerelle TS et la deuxième est pour le serveur Terminal Server auquel vous souhaitez accéder. C'est un point important car, si vous pouvez penser que cela est dû à la configuration ISA Server, en fait l'ISA Server ne gère pas l'authentification puisque la règle de Publication Web s'applique à « Tous les utilisateurs », ce qui autorise des connexions anonymes via le pare-feu ISA.
Le client RDP qui est fourni avec Windows Server 2008 dispose de l'option Utiliser les informations d’identification de passerelle Terminal Server pour l’ordinateur distant, comme illustré à la figure 4. Lorsque cette option est sélectionnée, vous n'avez pas besoin de taper vos informations d'identification deux fois, ce qui se traduit par une meilleure expérience utilisateur. Cette option d'authentification unique est également disponible sous Windows Vista après application du SP1.
Figure 4 Le client RDP de Windows Server 2008 (Cliquez sur l'image pour l'agrandir)
Vous pouvez contrôler la connexion via le Gestionnaire de passerelle TS, en utilisant l'option de surveillance. Le service de passerelle TS fournit également des informations lorsqu'un utilisateur non autorisé essaie de se connecter au serveur. À la figure 5, l'Observateur d'événements affiche une tentative de connexion à partir d'un utilisateur qui n'a pas l'autorisation de se connecter via la passerelle TS.
Figure 5 Evénement enregistré dans le service de passerelle TS (Cliquez sur l'image pour l'agrandir)
Pour cet événement, l'adresse IP interne d'ISA Server 2006 est enregistrée parce que l'option Les demandes semblent émaner du serveur ISA est activée dans la règle de publication Web. Si vous souhaitez enregistrer l'adresse IP originale du client, vous devrez modifier la règle de publication ISA Server Web 2006 et choisir l'option Les demandes semblent émaner du client d'origine dans l'onglet À.

Surveillance à partir d'ISA Server
Grâce aux nouvelles fonctionnalités du Pack de prise en charge ISA Server 2006, il est possible d'examiner attentivement et de comprendre chaque connexion au réseau interne. La figure 6 présente une connexion en surbrillance et, sur la ligne Demande :, l'expression RPC_IN_DATA indiquant l'URL du Proxy RPC sur HTTP.
Figure 6 Journalisation ISA Server 2006 à l'aide de la mise à jour de prise en charge (Cliquez sur l'image pour l'agrandir)
Si vous continuez d'examiner la journalisation, vous devez voir l'autre expression de RPC sur HTTP, RPC_OUT_DATA. Il est important de connaître les méthodes HTTP utilisées, qui sont RPC_IN_DATA et RPC_OUT_DATA pour RDP/HTTP, parce que si le Filtrage HTTP est configuré pour bloquer ces méthodes, le trafic sera bloqué sur ISA Server. Si vous souhaitez verrouiller votre environnement, vous pouvez configurer la règle de publication Web RDP/HTTP pour autoriser uniquement ces deux méthodes. Pour plus d'informations sur les méthodes HTTP utilisées généralement pour la publication, nous vous recommandons de lire l'article « Filtrage HTTP dans ISA Server 2004 » à l'adresse technet.microsoft.com/library/cc302627.

Le deuxième scénario
Pour ce scénario, la passerelle TS utilisera une stratégie centrale NPS située sur un autre serveur. Nous appliquerons une stratégie NAP pour les clients se connectant à distance via la passerelle TS. Les mêmes composants qui ont été utilisés dans le scénario 1 sont encore utilisés ici, seul le serveur NPS sera ajouté. Cependant, en raison de la contrainte de mise en conformité NAP, davantage de composants seront utilisés côté client, comme illustré à la figure 7.
Figure 7 Principaux composants de la topologie du scénario 2 (Cliquez sur l'image pour l'agrandir)
Voici l'explication des composants individuels. Sur le client Windows Vista, un agent d'intégrité système (SHA) est constitué de composants côté client responsables de la surveillance et de la génération de rapports sur l'état d'intégrité du client. Windows Vista est fourni avec le SHA Windows, mais d'autres fournisseurs travaillent sur la création de leurs propres SHA.
L'Agent NAP sur le client est chargé d'établir les communications avec le Serveur de contrainte de mise en conformité NAP lorsque le client essaie d'accéder au réseau. L'Agent NAP envoie la déclaration d'intégrité (SoH) du client à ce serveur.
Sur la passerelle TS, la stratégie d'autorisation d'accès aux ressources TS (TS RAP) est le composant qui vous permet de déterminer les ordinateurs disponibles pour recevoir les demandes RDP entrantes. La TS RAP détermine également quels utilisateurs sont autorisés à établir des connexions RDP à des serveurs spécifiques.
Le NPS central est chargé de contrôler les conditions, les contraintes et les paramètres qui régulent l'accès aux ordinateurs internes. Les programmes de validation d’intégrité système (SHV) sur le NPS Central sont chargés d'évaluer si la SoH soumise par le client est conforme à la stratégie définie par l'administrateur.
Maintenant, modifions la passerelle TS pour pointer vers un serveur NPS central. Ouvrez la console du Gestionnaire de passerelle TS, cliquez avec le bouton droit sur le nom du serveur et choisissez l'option Propriétés. Dans la fenêtre de propriétés du serveur, cliquez sur l'onglet Magasin de stratégies d’autorisation des connexions aux services Terminal Server et sélectionnez Serveur NPS central. Ensuite, tapez le nom ou l'adresse IP du serveur NPS et cliquez sur le bouton Ajouter. La fenêtre Secret partagé apparaît. Tapez le secret et cliquez sur OK, puis de nouveau sur OK pour fermer la fenêtre. Vous devez vous rappeler ce secret parce qu'il sera utilisé sur le serveur NPS.
Si le NPS est déjà installé sur un autre serveur, voici les étapes que vous devrez suivre :
  1. Ouvrez la console du serveur NPS et dans le volet de gauche, cliquez sur NPS (local).
  2. Dans le volet de droite, cliquez sur Configurer la protection d’accès réseau (NAP). La page Sélectionner la méthode de connexion réseau à utiliser avec la protection d’accès réseau (NAP) s'affiche.
  3. Sous Méthode de connexion réseau, sélectionnez Passerelle TS dans la liste déroulante et cliquez sur Suivant.
  4. Sur la page de spécification des serveurs de contrainte de mise en conformité NAP exécutant la passerelle TS, cliquez sur le bouton Ajouter.
  5. Dans la fenêtre Nouvelle passerelle TS, tapez le nom convivial et l'adresse IP du serveur de Passerelle TS. Puis au bas de la fenêtre, tapez le secret partagé, en utilisant le même secret que sur la configuration du serveur de passerelle TS. Cliquez ensuite sur OK.
  6. Sur la page Configurer les méthodes d’authentification et de redirection de périphériques clients, vous pouvez spécifier les périphériques qui seront redirigés et la méthode d'authentification autorisée (mot de passe ou carte à puce). Dans cet exemple, laissez les options par défaut et cliquez sur Suivant.
  7. Sur la page Configurer les groupes d’utilisateurs et les groupes d’ordinateurs, ajoutez le groupe d'utilisateurs qui est autorisé à établir la connexion. Pour cet exemple, cliquez sur le bouton Ajouter des utilisateurs sous Groupes d’utilisateurs : (obligatoire) et choisissez Admins du domaine. Cliquez sur OK, puis sur Suivant.
  8. Sur la page Définir la stratégie de contrôle d’intégrité NAP, vous remarquerez que le programme de validation d'intégrité par défaut est déjà sélectionné. Notez également que dans la partie inférieure de cette page, l'accès est refusé pour les ordinateurs non compatibles. Conservez les valeurs par défaut sélectionnées et cliquez sur Suivant.
  9. Sur la page Fin de la configuration de la stratégie d’application du service NAP et des clients RADIUS, vérifiez les options précédemment sélectionnées. Vous pouvez également cliquer sur le lien hypertexte Détails de la configuration et une page HTML s'ouvrira avec un résumé de vos sélections. Lorsque vous avez terminé, cliquez sur Terminer.
Cet Assistant prend en charge la configuration des paramètres pour un certain nombre de stratégies importantes (stratégies de demande de connexion, stratégies de réseau et stratégies d'intégrité), facilitant ainsi considérablement la configuration du NAP pour ce scénario.

Et le Client ?
Donc, maintenant que le serveur est entièrement installé et configuré, que devez-vous faire au niveau du client ?
Pour tirer parti de la stratégie contrainte de mise en conformité NAP, le client doit être Windows Server 2008 ou Windows Vista. Pour Windows XP, SP3 doit être installé, car il inclut le client NAP.
Outre la configuration du système d'exploitation, certains services et paramètres pertinents doivent être activés côté client. Il s'agit des services et paramètres suivants :
  • Ajout du nom de serveur de passerelle TS à la liste de serveurs de confiance sur le client.
  • Démarrage du service d'Agent NAP et définition du type de démarrage de service sur Automatique.
  • Activation du client de contrainte de mise en quarantaine de la passerelle TS.
Pour simplifier le déploiement de cette solution, Microsoft a créé la commande de configuration du client NAP des services Terminal Server (Tsgqecclientconfig.cmd), qui peut être téléchargée à l'adresse go.microsoft.com/fwlink/?LinkId=122267. Une fois la commande exécutée, le client sera configuré en tant que client NAP de contrainte de mise en conformité pour la passerelle TS. Notez que la commande doit être exécutée avec des privilèges élevés.
Tout au long de cet article, notre objectif de principe a été non seulement de décrire et expliquer la nouvelle fonctionnalité de passerelle TS disponible sous Windows Server 2008 tout en montrant comment la publier en toute sécurité via ISA Server 2006, mais également de vous présenter une perspective générale des avantages en matière de sécurité que la combinaison des deux produits peut offrir à votre entreprise.
Dans le monde actuel, la possibilité de se connecter de n'importe où est une condition essentielle de la réussite d'une entreprise. Cependant, cette connectivité ne doit pas être obtenue au prix d'une expérience utilisateur améliorée. Plus important encore, il est indispensable que tout ce processus se déroule de manière sécurisée.

Dr. Thomas W. Shinder est MCSE et MVP ISA Server. Il travaille en tant que formateur technique, auteur et consultant depuis 1996. Dr. Shinder a écrit six livres sur le Pare-feu ISA. Il est également prescripteur et créateur principal d'ISAserver.org, la plus grande communauté d'administrateurs et de passionnés du Pare-feu ISA sur Internet.

Yuri Diogenes, MCSE+S, MCTS, MCITP, Security+, Network+ et CCNP, est ingénieur support de sécurité de l'équipe ISA Server/IAG de Microsoft. Il écrit des articles pour Microsoft TechNet Library et le blog de l'équipe ISA Server. Yuri travaille avec la technologie Microsoft depuis 1993. Avant de rejoindre Microsoft, il travaillait comme formateur Microsoft, analyste support et consultant.


IIS 7.0
Les 10 principales améliorations en matière de performances dans IIS 7.0
Mike Volodarsky
En un coup d'œil :
  • Réduire l'encombrement de votre application
  • Réduire les coûts de bande passante
  • Utiliser des fonctionnalités de mise en cache améliorées

Sommaire
Des serveurs Web plus légers
Utilisation d'un système d'exploitation léger
Topologies d'applications spécialisées
Prise en charge des applications améliorée
Augmentation de la densité des applications
Réduction de la bande passante à l'aide de la compression
Limitation de la vitesse de transmission multimédia
Mise en cache de sortie
Conversion de Code ISAPI en modules IIS 7.0
Extensibilité de serveur
Conclusion
Durant les réunions que j'organise avec les entreprises qui ont l'intention d'adopter IIS 7.0, une question revient immanquablement : « le passage à IIS 7.0 garantira-t-il des améliorations au niveau des performances des serveurs ou des applications ? » La
réponse est généralement oui, mais ne soyez pas surpris si vous ne voyez pas d'améliorations des performances la première fois que vous migrez vos applications vers IIS 7.0.
Pour comprendre cela, vous devez comprendre la nature de la dernière version. IIS 6.0 était une version technique qui visait un triple objectif : renforcement de la sécurité, augmentation de la fiabilité et amélioration des performances. Par contraste, IIS 7.0 est une version de plate-forme. Son but était de convertir le noyau du serveur Web de base haute qualité de son prédécesseur en une plate-forme modulaire et extensible avec une prise en charge des principaux scénarios de déploiement et de gestion actuels.
Un grand nombre des modifications architecturales et des nouvelles fonctionnalités peuvent en fait avoir un impact négatif sur les performances du serveur Web, dans la mesure où, par exemple, l'une des modifications clés a consisté à diviser des chemins de code de serveur Web solidement optimisés en modules autonomes qui ne font pas l'objet d'un traitement spécial par le serveur Web. Cependant, grâce au solide travail effectué par l'équipe IIS, les performances d'IIS 7.0 sont comparables à celles de son prédécesseur et les dépassent dans certains domaines. De par mon expérience personnelle du noyau du serveur Web et du pipeline intégré, je peux vous affirmer qu'il a fallu beaucoup d'imagination dans la conception et d'efforts dans l'implémentation du produit pour arriver à ce résultat.
Néanmoins, IIS 7.0 est beaucoup plus susceptible de vous offrir des améliorations de performances significatives et de réduire les coûts des performances de votre batterie de serveurs que n'importe quelle autre version précédente d'IIS.
Vous ne verrez pas nécessairement ces avantages en migrant simplement vers IIS 7.0, mais certains environnements ne manqueront pas d'en bénéficier. Par exemple, Microsoft.com a constaté une amélioration de 10 % au niveau de l'efficacité du processeur (vous trouverez l'analyse complète sur le blog de l'équipe Microsoft.com à l'adresse go.microsoft.com/fwlink/?LinkId=122497). Vous risquez également de remarquer des améliorations sensibles dans certains domaines, notamment au niveau de l'authentification SSL (Secure Sockets Layer) et de l'authentification Windows® (toutes deux étant désormais exécutées dans le noyau), et de l'évolutivité verticale sur les ordinateurs multicœurs et multiprocesseurs.
Toutefois, la véritable puissance d'IIS 7.0 ne réside pas dans les améliorations des performances des fonctionnalités existantes mais plutôt dans les nouvelles fonctionnalités que vous devez utiliser activement. Ces fonctionnalités sont souvent enracinées dans la flexibilité et la nature extensible de la plate-forme, ainsi que dans les nouvelles fonctionnalités de performances. Dans cet article, je vous montrerai 10 des sources d'amélioration des performances les plus importantes que vous pourrez déverrouiller en passant à IIS 7.0.

Des serveurs Web plus légers
La possibilité de déployer des serveurs IIS 7.0 légers provient de l'architecture modulaire du serveur. Pratiquement toutes ses fonctionnalités de serveur Web sont implémentées sous forme de composants modulaires qui peuvent être ajoutés ou supprimés individuellement. Vous pouvez ainsi supprimer toute fonctionnalité de serveur qui n'est pas nécessaire au fonctionnement d'une application, ce qui se traduit par des avantages remarquables, notamment une réduction considérable de la surface d'attaque, une réduction de l'encombrement des opérations et des performances améliorées.
Le jeu de fonctionnalités du serveur Web d'IIS 7.0 comprend 44 modules, y compris des modules IIS natifs et des modules ASP.NET qui fournissent des services au pipeline intégré. Ces modules délivrent des services tels que l'authentification (modules d'authentification Windows et d'authentification Digest), la prise en charge de l'infrastructure des applications (module FastCGI), les services d'application (module État de session), la sécurité (module Filtrage des requêtes) et les performances (module Cache de sortie). Néanmoins, un serveur Web minimal qui a simplement besoin de servir du contenu statique peut être fonctionnel avec seulement 2 modules !
Les surcharges dues aux modules inutiles peuvent être assez importantes, par exemple, dans le cas des modules de journalisation des requêtes et de suivi des requêtes en échec. La suppression de tels modules dans les environnements où ils ne sont pas nécessaires peut se traduire par un débit total plus élevé et des réponses plus rapides qui réduisent le temps jusqu'au premier octet (TTFB) et le temps jusqu'au dernier octet (TTLB) pour la charge de travail du serveur.
La figure 1 montre les résultats d'un simple test de débit d'un fichier HTML (charge de travail statique) et d'une page ASP.NET hello world (charge de travail ASP.NET) lorsqu'ils sont configurés avec le jeu de fonctionnalités complet, le jeu de fonctionnalités par défaut de cette charge de travail et le jeu absolument minimal des fonctionnalités nécessaires pour la charge de travail. Bien que la plupart des fonctionnalités non essentielles soient déjà désactivées dans la configuration complète, leur suppression complète de la configuration minimale entraînera une augmentation considérable du débit de la charge de travail statique et de la charge de travail ASP.NET.
Figure 1 Taux de débit de la charge de travail statique et de la charge de travail ASP.NET dans trois configurations différentes avec 100 clients simultanés (Cliquez sur l'image pour l'agrandir)
Par ailleurs, vous verrez peut-être des améliorations au niveau de l'encombrement mémoire et une densité de site plus élevée, surtout dans les environnements d’hébergement partagés ou lorsque plusieurs processus de travail sont utilisés. Ces résultats s'obtiennent généralement en chargeant moins de DLL dans chaque processus et en éliminant toute allocation de mémoire survenant durant l'initialisation de module et le traitement des requêtes. La figure 2 illustre l'utilisation de la mémoire (octets privés du processus de travail IIS) dans le même test de débit. Bien que les améliorations ne soient pas aussi significatives dans cet exemple, les augmentations correspondent aux attentes, puisque la surcharge appdomain ASP.NET est relativement plus élevée que les économies de base offertes par les modules supprimés.
Figure 2 Utilisation de la mémoire (octets privés) des charges de travail statique et ASP.NET dans trois configurations différentes avec 100 clients simultanés (Cliquez sur l'image pour l'agrandir)
IIS 7.0 vous permet également de choisir les modules à activer au niveau de l'application et l'utilisation des modules en fonction de la charge de travail par le biais de préconditions de modules. Cette fonction nécessite, certes, une configuration avancée, mais elle peut offrir d'autres avantages dans les environnements multisites ou dans le cas d'applications qui prennent en charge plusieurs charges de travail distinctes.
Un avertissement, toutefois : il n'est pas toujours facile de déterminer les fonctionnalités dont vous avez besoin. Vous devez considérer non seulement les fonctionnalités minimales nécessaires pour prendre en charge l'infrastructure de votre application mais également toute autre fonctionnalité sur laquelle votre application peut indirectement s'appuyer. Par exemple, votre application peut dépendre de méthodes d'authentification spécifiques ou d'une sémantique d'autorisation fournie par diverses fonctionnalités IIS, auquel cas vous risquez de mettre en péril la sécurité de votre application en les supprimant. De même, votre application peut s'appuyer sur certains modules pour obtenir des effets fonctionnels ou de performances, auquel cas vous risquez des comportements incorrects ou une perte de performances en les supprimant.

Utilisation d'un système d'exploitation léger
Windows Server® 2008 fournit également une répartition en composants du système d'exploitation que vous pouvez utiliser pour réduire davantage la surface d'exposition de votre serveur Web. Server Core est une option d'installation minimale pour le système d'exploitation de Windows Server 2008 et contient un jeu minimal de sous-systèmes de système d'exploitation de base. Server Core est un environnement idéal pour les serveurs Web IIS 7.0 légers.
Toutefois, lorsque vous évaluez Server Core, sachez que certaines restrictions peuvent avoir un impact sur votre application. Server Core ne prend pas en charge Microsoft® .NET Framework, ce qui signifie que vous ne disposerez ni d'ASP.NET, ni de l'extensibilité .NET pour IIS, ni du gestionnaire IIS. En outre, les tâches de gestion locales nécessiteront des outils de ligne de commande puisque il n'y a pas de console MMC (Microsoft Management Console). Du point de vue performances, si vous tirez déjà correctement parti de la répartition en composants IIS, vous ne verrez peut-être pas de différence au niveau de l'encombrement mémoire ou du débit de la charge de travail de votre application exécutée sur Server Core par rapport à une implémentation Windows Server complète. Cela est dû au fait que le travail exécuté par IIS et par votre application est le même sur les deux plates-formes. Cependant, il y a un aspect au niveau duquel vous verrez une différence : l'encombrement général du serveur, en termes d'espace disque et d'utilisation de la mémoire.
En guise d'exemple, la figure 3 montre la différence d'encombrement après l'exécution du test de charge de travail statique sur une configuration Windows Server 2008 complète et sur Server Core. Bien que l'encombrement IIS soit pratiquement identique dans les deux cas, l'encombrement général plus réduit du système d'exploitation de Server Core permet à la charge de travail d'être prise en charge avec beaucoup moins de mémoire. L'encombrement réduit peut en fait vous permettre de déployer la charge de travail de votre application sur un matériel moins puissant en vous concentrant sur les demandes de traitement de l'application et non sur l'environnement d'exploitation. Bien sûr, cela fait de Server Core une excellente option pour les environnements virtualisés.
Figure 3 Encombrement mémoire d'un Windows Server 2008 complet par rapport à Server Core après l'exécution du test de charge de travail statique (Cliquez sur l'image pour l'agrandir)

Topologies d'applications spécialisées
Durant le travail d'optimisation, vous pouvez diviser les charges de travail de votre application en plusieurs parties distinctes. Par exemple, au lieu d'exécuter votre application sur une batterie de 30 serveurs Web identiques, vous pouvez l'exécuter sur 10 serveurs Web, 5 serveurs d'application et 3 serveurs proxy qui exécutent la mise en cache et la compression.
Cette spécialisation fonctionne bien pour plusieurs raisons. Tout d'abord, les performances de nombreuses charges de travail d'application sont étroitement liées à toute une série de ressources partagées, telles que la mémoire, qui pourraient être sollicitées par différentes parties de l'application. La concurrence pour ces ressources peut créer des goulots d'étranglement qui empêchent chaque serveur d'être pleinement utilisé à travers d'autres ressources. Si vous séparez des parties de l'application, vous leur donnez accès aux ressources qui seraient autrement contestées, ce qui entraîne de meilleures performances sur le même ensemble de ressources matérielles.
Ensuite, la spécialisation peut permettre à l'application d'atteindre une plus grande localité de cache, améliorant ainsi les performances. Ceci inclut les caches de bas niveau tels que le tampon de traduction TLB (Translation Lookaside Buffer) de la mémoire virtuelle, le cache du système de fichiers et d'autres caches du système d'exploitation et des applications. Une autre source de gain de localité est le processeur. En réduisant le nombre d'activités parallèles qui se produisent en se concentrant seulement sur une partie spécifique de l'application, l'application peut réduire le nombre de commutateurs de contexte et optimiser le travail effectué par le processeur.
Par ailleurs, la spécialisation permet également une optimisation spécifique à la charge de travail, ce qui améliore le fonctionnement de chaque partie de l'application. Un grand nombre de ces optimisations ne sont pas possibles lorsque l'application toute entière est prise en charge sur le même serveur en raison des besoins contradictoires de différentes parties de l'application.
C'est souvent le cas de la configuration des threads IIS et ASP.NET qui a un effet considérable sur la simultanéité et affecte indirectement l'utilisation de la mémoire, la latence et le débit de beaucoup d'applications. La charge de travail de fichier statique IIS est extrêmement asynchrone et nécessite une haute limite des requêtes simultanées, mais est extrêmement à l'aise lorsque le nombre de threads disponibles est très bas. D'autre part, de nombreuses fonctionnalités d'ASP.NET sont synchrones, ont un blocage long et nécessitent un nombre de threads élevé, tandis que d'autres nécessitent une limite de simultanéité plus basse pour réduire l'impact sur la mémoire. En séparant la charge de travail statique et en décomposant des parties du pipeline de traitement des requêtes dans un processus ou un serveur séparé, vous pouvez optimiser la simultanéité de chaque charge de travail individuelle.
Enfin, la spécialisation peut conduire à une meilleure évolutivité d'ensemble en permettant à l'application d'effectuer une évolution horizontale de charges de travail ou de parties discrètes de l'application indépendamment les unes des autres. Ceci peut permettre à la topologie de l'application d'atteindre une capacité et une redondance accrues là où elles sont le plus nécessaires, et vous évite donc d'avoir à appliquer le même modèle à l'application toute entière. Dans ce modèle, les ressources spécialisées peuvent être des serveurs physiques, des serveurs virtuels ou même des pools d'applications sur la même machine.
Lorsque vous évaluez les avantages potentiels de la spécialisation dans la topologie de votre application, commencez par localiser les goulots d'étranglement exigeant beaucoup de traitement ou de ressources dans votre application. Ces zones devraient être les premières à être concernées par la spécialisation car elles peuvent s'avérer une importante source d'optimisation lorsqu'elles sont isolées, et parce qu'elles exigeront une évolution horizontale de niveau supérieur. Ensuite, déterminez si le fait de les isoler permettra au reste de l'application d'utiliser les ressources de manière plus efficace. Enfin, vous devrez évaluer la surcharge du mécanisme de connectivité nécessaire pour rassembler les composants isolés de l'application.

Prise en charge des applications améliorée
IIS 7.0 comprend une prise en charge étendue des infrastructures d'application par le biais de FastCGI, un protocole ouvert pris en charge par de nombreuses infrastructures d'application Open Source qui autrement ne pourraient peut-être pas supporter une intégration native hautes performances à IIS. Contrairement au protocole CGI (Common Gateway Interface) qui est pris en charge par IIS depuis longtemps, FastCGI offre de bien meilleures performances sur la plate-forme Windows. Ceci est principalement dû à l'architecture à processus réutilisables de FastCGI, qui élimine la lourde surcharge de la création de processus à la demande, permettant ainsi aux clients d'utiliser des connexions persistantes toujours actives.
Si vous prenez en charge des infrastructures d'application sur ILS à l'aide du protocole CGI ou d'un autre mécanisme, vous pourriez obtenir de meilleures performances (et dans certains cas, une meilleure stabilité) en passant au protocole FastCGI.
La première infrastructure d'application à tirer parti de cette prise en charge est PHP. En fait, l'équipe IIS a collaboré directement avec Zend Technologies pour s'assurer que l'implémentation d'IIS FastCGI fonctionne correctement avec PHP et permet d'améliorer les performances de l'infrastructure PHP sur Windows. (Pour plus d'informations sur le projet, consultez l'entrée sur mon blog à l'adresse go.microsoft.com/fwlink/?LinkId=122509.) Si vous avez un mélange de technologies de serveur Web qui incluent des applications ASP ou ASP.NET s'exécutant sur IIS et PHP ou d'autres infrastructures d'application compatibles FastCGI utilisant d'autres technologies, vous pourrez probablement consolider ces applications sur la plate-forme IIS 7.0.
En migrant PHP et autres infrastructures d'application vers IIS 7.0 et FastCGI, vous pourrez tirer avantage de plusieurs fonctionnalités d'IIS 7.0, dont le pipeline ASP.NET intégré. Il est ainsi possible d'améliorer les infrastructures d'application avec des services ASP.NET sans les convertir à ASP.NET. Ceci permet également à des applications utilisant des infrastructures différentes de collaborer. Pour voir comment ajouter des fonctionnalités aux applications existantes et en améliorer les performances sans aucune modification de code, consultez mon article de MSDN® Magazine intitulé « Améliorez vos applications grâce au pipeline ASP.NET intégré » (disponible à l'adresse msdn.microsoft.com/magazine/cc135973.aspx).

Augmentation de la densité des applications
IIS 7.0 inclut de nombreuses améliorations destinées à augmenter la densité des applications qui peuvent être hébergées sur un seul serveur. Ces améliorations font partie des nombreuses fonctionnalités qu'IIS 7.0 propose pour améliorer la qualité des hébergements partagés, notamment par une meilleure mise en service des sites et un meilleur isolement des applications.
Du point de vue des performances, les améliorations portent principalement sur deux aspects liés à l'augmentation de la densité des applications : l'augmentation du nombre d'applications qui peuvent être configurées sur un serveur IIS 7.0 et l'augmentation du nombre d'applications qui peuvent être actives à tout moment.
Notez qu'IIS 7.0 facilite la mise en service d'un plus grand nombre d'applications sur chaque serveur ; lors de certains tests internes, ce nombre a atteint 100 000 sites sur un seul serveur. Ceci exploite la possibilité de créer et de configurer plusieurs sites et applications.
Un avertissement, toutefois : pour obtenir une mise en service rapide, vous devez passer aux nouvelles API de configuration, les anciennes n'en étant pas capables. En outre, les API de configuration IIS ne fournissent pas toutes les mêmes caractéristiques de performances ; choisissez donc avec soin pour garantir des performances de haute qualité. Dans le doute, choisissez des options de configuration qui s'appuient directement sur les nouveaux objets de configuration IIS, notamment l'espace de noms Microsoft.Web.Administration, l'outil de ligne de commande AppCmd.exe et les objets de configuration COM d'IIS accessibles depuis le script, .NET ou le code C++.
La différence entre le nombre de sites qui peuvent être configurés et le nombre de sites qui peuvent être actifs est une distinction très importante dans l'architecture IIS, qui utilise des applications et processus de travail persistants pour exécuter le traitement des requêtes. Dans ce modèle, les applications actives consomment plus de ressources sur le serveur mais offrent également de meilleures performances soutenues grâce à la mise en cache et à la suppression des coûts d'initialisation.
Étant donné que chaque application active nécessite une certaine quantité de mémoire et un processus de travail séparé (si le modèle d'isolement d'application recommandé est utilisé), le nombre d'applications actives est étroitement lié à l'encombrement mémoire de l'application. Ainsi, si une application unique servant seulement du contenu statique peut ne nécessiter que 3 Mo pour son processus de travail (et peut même partager le même processus de travail avec d'autres applications de contenu statique), certaines applications dynamiques peuvent nécessiter 100 Mo de RAM ou plus même lorsqu'elles sont peu utilisées. Ceci rend insignifiante la surcharge de mémoire du processus de travail IIS lui-même par rapport à l'encombrement de l'application lors de la définition de la densité maximale possible.
Dans le scénario d'hébergement partagé typique, il est courant de voir ce que l'on appelle une distribution 80/20 dans laquelle 80 % de requêtes vont à 20 % de sites. Cette distribution se traduit par un nombre réduit de sites actifs à tout moment. Pour permettre un nombre de sites plus élevé, IIS 7.0 propose une gestion de la durée de vie active. Ceci peut vous aider à récupérer de la mémoire des applications inactives afin de permettre à davantage d'applications actives d'être hébergées.
IIS 7.0 introduit un nouvel algorithme appelé durée d'inactivité dynamique, qui ajuste de façon proactive les délais d'inactivité des processus de travail en fonction de la mémoire disponible sur le serveur. À mesure que le niveau de la mémoire diminue, les applications inactives sont supprimées plus rapidement, ce qui permet d'héberger davantage d'applications actives. Cependant, si la mémoire est disponible, les délais d'inactivité peuvent rester grands afin d'assurer de meilleures performances et de maintenir l'état des applications. En plus de permettre à davantage d'applications d'être actives, la durée d'inactivité dynamique contribue également à éviter les conditions de mémoire basse qui causent une sérieuse dégradation des performances en raison de conflits.
Pour rendre possible l'hébergement d'un grand nombre d'applications actives, vous devriez également utiliser un système d'exploitation 64 bits car cela permettra au système d'exploitation de traiter plus de 4 Go de mémoire. En outre, vous pouvez configurer les processus de travail IIS de sorte qu'ils s'exécutent en mode 32 bits (SysWoW64), mode dans lequel ils utilisent eux-mêmes moins de mémoire tout en permettant au système d'exploitation de traiter plus de mémoire qu'il n'est possible dans un environnement 32 bits.

Réduction de la bande passante à l'aide de la compression
Il n'est pas surprenant que les coûts associés à la bande passante soient parmi les coûts les plus importants lorsqu'il s'agit de gérer un centre de données accessible par Internet. En outre, la bande passante requise pour fournir le contenu demandé est un facteur clé dans la réactivité perçue de votre application.
L'un des meilleurs moyens de réduire la bande passante nécessaire pour produire les réponses d'application est d'utiliser la compression HTTP. Cette compression peut permettre une réduction considérable de la taille de la réponse, souvent par un facteur de 10, lorsqu'elle est appliquée à un contenu de texte aisément compressible tel que le HTML. Par ailleurs, pratiquement tous les navigateurs de bureau la prennent en charge, et les coûts de décompression sur le matériel de bureau sont mineurs comparés aux économies de latence générée par l'envoi de moins de données. Et puisque la compression est fondée sur la négociation Contenu-Codage définie dans le protocole HTTP 1.1, son activation ne pose aucun problème aux clients qui ne la prennent pas en charge ; ces clients reçoivent tout simplement une version sans compression du contenu.
IIS 7.0 fournit les deux fonctionnalités de compression introduites par son prédécesseur : la compression statique et la compression dynamique. La compression statique compresse à l'avance le contenu statique et l'enregistre sur disque, permettant ainsi aux futures requêtes de servir du contenu compressé directement, sans surcharge de compression. La compression dynamique compresse la réponse en temps réel, ce qui permet une compression des réponses générées par les applications. N'importe quelle infrastructure d'application d'IIS 7.0 peut bénéficier de la compression dynamique, y compris ASP, ASP.NET ou PHP.
En dépit d'un mythe courant, la compression dynamique n'a généralement pas une trop grande surcharge de processeur. En fait, la compression dynamique génère souvent moins de 5 % de l'utilisation totale du processeur sur un serveur très sollicité. La compression dynamique peut être déployée de manière quelque peu libérale pour permettre des économies de bande passante maximales pour n'importe quelles charges de travail d'application.
Vous pouvez optimiser davantage la surcharge de compression en configurant la force de compression au niveau désiré par rapport au taux de surcharge du processeur. Enfin, vous pouvez également configurer votre application de sorte à activer la mise en cache du contenu compressé, ce qui élimine la surcharge de compression lors de l'accès au cache en servant du contenu déjà compressé. Notez que les caches de sortie ASP.NET et IIS ont tous deux été mis à niveau avec possibilité (facultative) de mettre en cache le contenu compressé pour les clients qui le prennent en charge, et de traiter les requêtes des clients nécessitant du contenu non compressé.

Limitation de la vitesse de transmission multimédia
Avec le nombre croissant de sites proposant du contenu multimédia, les coûts associés à la bande passante montent en flèche pour beaucoup d'entreprises. Pire encore, un grand pourcentage de bande passante multimédia est gaspillé parce que le contenu multimédia envoyé au client n'est jamais vraiment utilisé. À quoi cela est-il dû ?
Souvenez-vous de la dernière fois que vous avez regardé une vidéo en ligne ou vu une publicité vidéo en navigant sur Internet. Avez-vous regardé la vidéo jusqu'à la fin ? Souvent, les utilisateurs parcourant des sites vidéo ne regardent qu'une partie d'une vidéo avant de passer à la vidéo ou à la page suivante. Cependant, un serveur Web utilisant le téléchargement progressif pour fournir la vidéo enverra généralement beaucoup plus de données qu'il n'en est nécessaire pour ces quelques secondes de lecture. La plupart de ces données ne sont jamais utilisées.
Si vos vidéos n'utilisent en moyenne que 5 secondes de temps de lecture mais mettent en tampon des données représentant 30 secondes de lecture, cela signifie que vous gaspillez plus de 80 % de votre bande passante !
Il y a un an, pour résoudre ce problème pour un client adoptant une version bêta d'IIS 7.0, j'ai écrit un module de limitation de la bande passante qui détectait automatiquement la vitesse de transmission vidéo et faisait en sorte que le serveur délivre la vidéo au client plus ou moins à la même vitesse. L'équipe multimédia d'IIS a aimé ce module, appelé Module de limitation de la vitesse de transmission (voir figure 4), et il est désormais disponible dans le centre de téléchargement iis.net (iis.net/downloads/?tabid=34&g=6&i=1640). Vous en apprendrez plus à son sujet sur le blog de Scott Guthrie (disponible à go.microsoft.com/fwlink/?LinkId=122514).
Figure 4 La limitation de la vitesse de transmission réduit l'utilisation de la bande passante (Cliquez sur l'image pour l'agrandir)
Le module de limitation de la vitesse de transmission détecte automatiquement la vitesse d'encodage des types de vidéo les plus courants. Vous pouvez contrôler la quantité de données à envoyer au client afin d'éliminer les retards de mise en tampon initiaux (démarrage rapide) et le pourcentage de la vitesse encodée auquel vous aimeriez livrer le contenu. Vous pouvez également configurer de nombreuses autres options telles que la bande passante maximale et les connexions simultanées, et contrôler le module par programmation.

Mise en cache de sortie
En général, la mise en cache est la méthode la plus utilisée pour améliorer les performances des applications qui effectuent un travail continu. Contrairement aux améliorations des performances spécifiques à une application qui nécessitent souvent beaucoup d'efforts et entament lentement la surcharge de traitement d'une application, la mise en cache élimine la surcharge des requêtes répétées pour le même contenu.
Avant IIS 7.0, IIS et ASP.NET proposaient tous deux des fonctionnalités de mise en cache sous la forme du cache de noyau IIS et du cache de sortie ASP.NET. Le cache de noyau IIS offrait des performances maximales mais était essentiellement limité au contenu statique. Le cache de sortie ASP.NET était une solution beaucoup plus complète pour la mise en cache de contenu dynamique, avec, toutefois, des performances plus lentes et une gestion de la mémoire moins efficace. Le nouveau cache de sortie d'IIS 7.0 réduit l'écart entre le cache de noyau IIS et le cache de sortie ASP.NET.
Le cache de sortie IIS 7.0 permet de mettre en cache le contenu dynamique de n'importe quelle application, y compris ASP, ASP.NET, PHP et toute autre infrastructure d'application compatible IIS 7.0. En proposant une prise en charge de base de la variabilité et de l'expiration du contenu, cette nouvelle fonctionnalité facilite l'implémentation de la mise en cache de contenu qui ne peut pas être mis en cache par le cache de noyau IIS. Elle permet néanmoins d'utiliser le cache de noyau pour un contenu qui est sujet à des restrictions.
En outre, le cache de sortie IIS 7.0 propose une alternative offrant des performances supérieures au cache de sortie ASP.NET pour le contenu ASP.NET qui ne nécessite pas les fonctionnalités de mise en cache avancées (telles que les dépendances ou l’invalidation de cache) qui ne sont disponibles que dans le cache de sortie ASP.NET.
Les problèmes liés à la mise en cache de sortie résident normalement dans la définition des stratégies d'expiration, d'invalidation et de variabilité de contenu appropriées qui permettent une mise en cache des réponses efficace tout en maintenant l'exactitude et l'actualité du cache. Pour ce faire, il suffit souvent de bien configurer les règles de mise en cache, bien que certaines situations nécessitent des stratégies plus complexes qui dépendent des informations sur le runtime. C'est à cet effet que le cache de sortie IIS 7.0 propose des API de programmation qui peuvent être utilisées pour garantir le comportement de mise en cache requis. Ceci permet de déverrouiller le potentiel des performances de la mise en cache de contenu qui ne pourrait pas autrement être mis en cache. En outre, le pipeline ASP.NET intégré permet l'utilisation du cache de sortie ASP.NET pour un contenu non ASP.NET.
Le déploiement de la mise en cache de sortie pour le contenu dynamique peut être difficile et peut nécessiter une stratégie multiniveau pour exploiter l'efficacité et la flexibilité des différentes fonctionnalités de mise en cache sur la plate-forme IIS 7.0. Ainsi, il est souvent nécessaire de décrire plusieurs paramètres qui affectent la réponse et de définir des stratégies d'expiration et d'invalidation pour maintenir l'actualité du cache, puis de déterminer le cache qui prendra en charge la sémantique requise.
Toutefois, cette complexité en vaut très souvent la chandelle. En implémentant le cache de sortie IIS 7.0, vous pouvez obtenir des améliorations considérables du débit général de votre application et une réduction de même importance de la charge sur votre base de données et vos composants métier.

Conversion de Code ISAPI en modules IIS 7.0
IIS 7.0 introduit une nouvelle API de serveur sur laquelle sont basés tous les modules d'IIS 7.0. Elle remplace le filtre ISAPI et les API de l'extension ISAPI utilisés dans les versions précédentes d'IIS. Pour les nouveaux modules qui n'ont pas besoin de prendre en charge les versions précédentes, les nouvelles API sont plus faciles à utiliser, aident à produire du code côté serveur plus fiable et sont beaucoup plus puissantes.
Cependant, IIS 7.0 offre une option de prise en charge des filtres et extensions ISAPI existants grâce à une couche de compatibilité implémentée par le biais de modules IIS 7.0 facultatifs. Ceci permet aux composants ISAPI existants de fonctionner sur IIS 7.0 sans nécessiter de réécriture.
Bien que l'utilisation d'investissements ISAPI existants réduise le coût de la migration vers IIS 7.0, vous devriez sérieusement envisager la migration du code ISAPI hérité vers les nouvelles API d'IIS 7.0. Vous éliminez ainsi les surcharges de la couche de compatibilité ISAPI et déverrouillez des avantages de performances qui ne sont pas disponibles pour les composants ISAPI. Selon le travail effectué par le composant ISAPI, ces avantages de performances peuvent être très importants. Par exemple, l'API de module d'IIS 7.0 fournit une prise en charge intégrée de la mise en cache des métadonnées de configuration et autres données arbitraires associées aux sites, aux applications et aux URL, ce qui peut améliorer considérablement la vitesse des opérations internes du composant.
En outre, l'API de module d'IIS permet aux modules d'exécuter des opérations de longue durée (réception de données d'entité de requête ou envoi de réponse, par exemple) de manière asynchrone. L'exécution asynchrone de ces tâches permet au serveur de traiter un très grand nombre de clients simultanés (des dizaines de milliers) au lieu de quelques dizaines ou, au maximum, de quelques centaines de clients simultanés, en raison des limites liées au nombre de threads de requêtes. Le traitement asynchrone peut également éliminer l'effet du traitement sur les autres requêtes et activités dans l'application, réduire l'utilisation de la mémoire et permettre une bien meilleure utilisation du processeur.
En plus des modèles spécifiques affectant les performances, l'API native donne aux développeurs une plus grande flexibilité dans les tâches de traitement des requêtes. Ceci vous permet d'améliorer la conception du composant serveur, et par là même d'atteindre d'autres performances positives. Par exemple, certaines tâches de filtrage qui nécessitaient auparavant des extensions ISAPI génériques et l'exécution de requête enfant peuvent désormais être exécutées dans un module durant la requête originale, et peuvent également permettre une mise en cache de la réponse dans le noyau IIS.
Ceci peut nécessiter un certain prototypage et une certaine expérimentation afin de déterminer la conception qui optimise les avantages de la migration. En raison des différences d'architecture fondamentales entre ISAPI et l'API de module d'IIS 7.0, la voie du portage direct n'est pas nécessairement la bonne. La bonne nouvelle, c'est que l'API de module d'IIS 7.0 est également plus simple à utiliser que l'ISAPI, ce qui rend la migration moins difficile.

Extensibilité de serveur
IIS 7.0 offre une extensibilité de bout en bout. Il nécessite des connaissances préalables du fonctionnement des serveurs, mais il libère également un énorme potentiel de gains de performances spécifiques aux applications. Grâce à vos connaissances en matière d'architecture de serveur et de traitement des requêtes, vous pouvez tirer parti de cette extensibilité pour concevoir des solutions de performances personnalisées, adaptées à votre application, votre charge de travail et votre matériel.
Vous pouvez le faire en remplaçant notamment toutes les fonctionnalités intégrées à IIS 7.0 par des implémentations personnalisées. Bien que les fonctionnalités d'IIS 7.0 aient subi de nombreux tests d'optimisation et de performances, elles n'ont, bien sûr, pas été optimisées pour chaque utilisation possible. Ainsi, vous pouvez être à même d'améliorer les performances de modules spécifiques en intégrant des optimisations pour votre charge de travail spécifique. Par exemple, vous pouvez décider de réimplémenter le module de liste de répertoires pour mettre en cache les listes dans la mémoire au lieu d'utiliser les API de système de fichiers pour énumérer les fichiers.
Vous pouvez également utiliser l'extensibilité pour créer de nouvelles fonctionnalités de performances. Les exemples prédéfinis de telles fonctionnalités incluent le cache de sortie, les modules de compression et plusieurs autres caches internes.
Pour déterminer la nécessité d'une fonctionnalité de performances personnalisée, vous devez comprendre les caractéristiques de performances de votre application et sa charge de travail, et connaître le goulot d'étranglement que vous devrez traiter. IIS 7.0 offre une large prise en charge de diagnostic pour l'analyse des performances, ce qui peut rendre plus claires les exigences et la conception des fonctionnalités dont vous avez besoin.

Conclusion
Bien que la version IIS 7.0 soit principalement une version fonctionnelle, elle propose des améliorations de performances remarquables qui dérivent de son architecture modulaire, de sa configurabilité et de ses nouvelles fonctionnalités de performances. Ces améliorations peuvent ouvrir la voie à des économies considérables grâce à la consolidation des serveurs et à la réduction des coûts de bande passante, tout en offrant une meilleure expérience utilisateur.
Pour tirer le meilleur parti d'un grand nombre de ces améliorations, il est souvent nécessaire d'effectuer une analyse détaillée de votre plate-forme d'application actuelle et de bien connaître l'architecture d'IIS 7.0. Pour en savoir plus sur l'architecture d'IIS 7.0 et les fonctionnalités mentionnées dans cet article, consultez iis.net. Sur mvolo.com, je proposerai d'autres discussions sur les techniques qui s'appuient de façon proactive sur IIS 7.0 pour améliorer les performances des applications et réduire les coûts d'exploitation.
Mike Volodarsky est un ancien responsable de programme au sein de l'équipe IIS de Microsoft. Durant les cinq dernières années, il a supervisé la conception et le développement de fonctionnalités de base pour ASP.NET 2.0 et IIS 7.0. Actuellement, il crée des technologies de serveur Web avancées pour les batteries de serveurs Web hautes performances qui utilisent IIS 7.0 et Windows Server 2008. Mike est l'auteur principal du livre IIS 7.0 Resource Kit et écrit énormément pour MSDN Magazine et son blog IIS 7.0, mvolo.com.


Mobilité
Rendez vos applications métier mobiles
Matt Fontaine
En un coup d'œil :
  • Nécessité d'applications métier mobiles pour les entreprises
  • Plate-forme robuste pour le développement et le déploiement d'applications métier mobiles
  • Sécurité, gestion et configuration par voie hertzienne

Sommaire
Activation et gestion des télétravailleurs
Sécurité et gestion des périphériques
Interopérabilité
Productivité informatique et des utilisateurs
Développement et distribution
Conclusion
Outre les fonctions classiques de voix, de messagerie et de productivité, de nombreuses entreprises veulent désormais que les professionnels mobiles aient accès aux mêmes systèmes métier que ceux qu'ils utilisent
au bureau grâce à des applications métier mobiles. Les systèmes concernés incluent généralement les applications de gestion de la relation client (CRM), de planification des ressources d'entreprise (ERP), d'analyse décisionnelle (BI), de finance et de comptabilité. Il est évident que les applications métier mobiles, permettent aux utilisateurs mobiles d'accéder et d'utiliser des applications professionnelles riches et d'interagir avec les données en temps réel lorsqu'ils sont en déplacement, réduisant ainsi le délai de vente, améliorant la satisfaction du client et augmentant la productivité de l'entreprise. Voici quelques exemples de scénarios métier typiques :
  • Les équipes de ventes peuvent utiliser Microsoft Dynamics™ CRM Mobile pour afficher et mettre à jour des données clients de n'importe où. Une autre application métier mobile pourrait leur donner accès aux prix et aux données de stock en temps réel. De plus, les vendeurs pourraient utiliser des périphériques spécialisés pour recueillir de la documentation de vente sur le terrain, qu'il s'agisse de passer une commande ou de recueillir des signatures. En fait, il existe même des applications point de vente pour périphériques Windows Mobile® qui peuvent lire les codes barres et les cartes de crédit puis se connecter aux systèmes principaux de données métier à des fins de traitement.
  • L'emploi du temps des techniciens du service après-vente peut être planifié à l'aide de solutions ERP qui affectent le personnel en fonction des rendez-vous et des lieux, et les techniciens peuvent être suivis automatiquement en utilisant des périphériques Windows Mobile dotés de fonctionnalités GPS. Les techniciens du service après-vente connaissent seulement leur première mission de la journée ; une fois le travail terminé, ils sont automatiquement envoyés à l'intervention suivante (voir la figure 1).
  • Dans les entreprises de fabrication, des périphériques Windows Mobile dotés de fonctionnalités de balayage RFID (Radio Frequency Identification) peuvent être utilisés pour la gestion du stock dans un entrepôt compatible RFID, en transmettant instantanément les informations à une base de données via une connexion sans fil. De plus, il existe des périphériques Windows Mobile renforcés ou conçus pour être « intrinsèquement sûrs » pour les environnements de travail dangereux afin de fournir des données là où c'est nécessaire tout en respectant d'importantes exigences de sécurité.
  • Les cadres mobiles qui passent de réunions avec les clients à des réunions avec le conseil d'administration pour tout faire tenir en une seule journée (parfois loin de leur bureau d'attache), peuvent accéder aux rapports financiers, notes de frais et autres informations sur les clients où qu'ils se trouvent.
Ces scénarios métier, et bien d'autres, amènent les entreprises à la pointe du progrès à adopter les applications métier mobiles. Cet article vous montrera comment Windows Mobile et Mobile Device Manager coopèrent, permettant ainsi aux professionnels de l'informatique de déployer les riches fonctionnalités mobiles qui sont de plus en plus demandées par les entreprises.
Figure 1 Une application métier mobile montrant une intervention de service après-vente terminée

Activation et gestion des télétravailleurs
Windows Mobile s'est avéré être une plate-forme puissante pour l'expansion du télétravail dans diverses industries parce qu'il fonctionne bien avec les ressources informatiques Windows® existantes, que sa messagerie mobile et ses communications unifiées (UC) sont fournies par Exchange Server et Office Communications Server, et que les simples utilisateurs et comme les professionnels de l'informatique apprécient une expérience Windows familière dont l'utilisation et la compréhension nécessitent moins de formation.
Avec la sortie de Mobile Device Manager, Windows Mobile est devenu encore plus intéressant pour le déploiement d'périphériques mobiles dans des configurations d'entreprise. Mobile Device Manager permet aux périphériques mobiles d'être configurés, gérés et sécurisés par voie hertzienne en utilisant Active Directory® et la stratégie de groupe, comme si les périphériques étaient des PC en réseau ou des partages de fichier. Les stratégies et logiciels peuvent être envoyés automatiquement aux téléphones, et les stratégies sécuritaires, logicielles et matérielles peuvent être gérées d'une façon extrêmement précise avec de riches fonctionnalités de rapport d'inventaire.
L'idée derrière ces innovations est la notion que les périphériques mobiles devraient être les extensions naturelles des systèmes informatiques au lieu d'exister dans leur propre bulle middleware. Pour les entreprises qui veulent ne pas limiter leurs périphériques Windows Mobile à la messagerie, aux communications et à la productivité de base, il est indispensable de traiter les périphériques mobiles comme des citoyens de première classe sur le réseau.
Alors, que faire si vous faites partie de l'une de ces entreprises qui veulent passer à l'échelon supérieur ? Examinons comment les fonctionnalités de Windows Mobile et de Mobile Device Manager le permettent en fournissant une excellente plate-forme pour les applications métier mobiles.

Sécurité et gestion des périphériques
Les fonctionnalités mêmes qui rendent les applications métier mobiles attrayantes, à savoir le fait qu'elles fournissent partout, à tout moment, des informations métier critiques sur les clients, les finances, le stock etc., représentent un défi en termes de sécurité. Les utilisateurs entrent et accèdent à ces informations à partir de petits périphériques sur des réseaux publics dans une multitude de lieux.
De nombreuses entreprises permettent déjà l'accès mobile aux applications métier ainsi qu'à d'autres ressources et outils partagés sur l'intranet via des portables équipés de connexions à un réseau privé virtuel (VPN). Mobile Device Manager étend cette fonctionnalité aux périphériques Windows Mobile avec le VPN mobile (voir la figure 2). Le serveur de passerelle de Mobile Device Manager active un tunnel IPsec chiffré entre le client Windows Mobile et le réseau, fournissant ainsi un accès sécurisé aux informations derrière le pare-feu de l'entreprise sur des connexions publiques comme Internet ou des réseaux de données en paquets sans fil. Windows Mobile prend en charge plusieurs types de chiffrement dans cette configuration.
Figure 2 Gestion de périphérique avancée, sécurité et VPN mobile avec Mobile Device Manager (Cliquez sur l'image pour l'agrandir)

Interopérabilité
Des stratégies de chiffrement peuvent être définies et appliquées pour les données sur les périphériques et les cartes de stockage. Les employés utilisant les applications métier mobiles peuvent télécharger des informations confidentielles sur leurs périphériques mobiles, qui sont beaucoup plus faciles à égarer que les autres périphériques réseau. Heureusement, un effacement à distance du périphérique peut être exécuté sur tout périphérique compatible VPN mobile disposant d'une connexion de données (voir la figure 3). Si un vendeur d'une entreprise pharmaceutique, par exemple, télécharge des fichiers clients depuis le système CRM de son entreprise sur son périphérique mobile puis laisse par inadvertance le périphérique dans un taxi, les conséquences peuvent être graves.
Figure 3 Si un périphérique mobile est perdu ou volé, les informations qu'il contient peuvent être supprimées à distance. (Cliquez sur l'image pour l'agrandir)
Mobile Device Manager est conçu pour traiter ces problèmes. En fait, Mobile Device Manager vous permet de gérer presque tous les aspects de la stratégie d'utilisateur et de la fonctionnalité des périphériques Windows Mobile, de la désactivation de certaines fonctions matérielles au contrôle des applications pouvant être installées, en passant par la limitation de l'accès à certaines ressources réseau. Tout cela peut se faire à partir d'une solution unique, et tout cela peut se faire par voie hertzienne. Lorsque les utilisateurs peuvent accéder à des applications métier mobiles, ces fonctionnalités deviennent encore plus importantes. Par exemple, vous pouvez vouloir empêcher les utilisateurs d'utiliser la mise en réseau Bluetooth, qui pourrait permettre le téléchargement de données sur des périphériques non contrôlés. Vous pouvez vouloir que seuls certains utilisateurs puissent installer le client logiciel de comptabilité mobile. Il est ainsi possible de définir son téléchargement et son installation automatiques uniquement pour les utilisateurs qui ont en besoin.
Ressources supplémentaires
  • Microsoft System Center Mobile Device Manager 2008
  • Présentation de Microsoft System Center Mobile Device Manager 2008
  • Microsoft System Center Mobile Device Manager 2008 : livre blanc technique
  • Microsoft System Center Mobile Device Manager 2008 Une introduction destinée aux entreprises
  • Windows Mobile Line of Business Solution Accelerator 2008
De plus, Mobile Device Manager ne nécessite pas que les données d'entreprise passent par un centre d'opérations réseau (NOC) tiers susceptible de constituer un autre point faible pour la sécurité ou la disponibilité. Fondamentalement, Mobile Device Manager vous donne le contrôle intégral sur les déploiements de périphériques mobiles de presque n'importe quelle ampleur ; contrôle qui facilite le déploiement, la gestion et la sécurisation des fonctionnalités métier mobiles.
L'intégration réseau présente un autre avantage : tout le contrôle extrêmement précis est réalisé au moyen d'Active Directory et de la stratégie de groupe, sans devoir gérer les périphériques mobiles séparément des autres clients du réseau. Cela permet d'économiser du temps et de l'argent. Et plus important encore, elle vous permet d'utiliser des stratégies cohérentes de sécurité et d'accès. La stratégie de groupe est une façon extrêmement efficace de contrôler l'accès mobile aux données métier. Les personnes devant y accéder peuvent le faire facilement ; les autres personnes peuvent être interdites en masse ou individuellement.
L'interopérabilité avec l'infrastructure existante est un autre élément majeur à prendre en compte dans la gestion des déploiements métier mobiles, et des périphériques mobiles en général. Contrairement à Windows Mobile, certains systèmes d'exploitation de périphérique mobile sont déconnectés des autres versions informatiques, et nécessitent leurs propres langages, serveurs et outils. Ces facteurs deviennent de plus en plus importants lorsque vous fournissez des applications complexes et un accès à des données critiques sur des périphériques mobiles.
Windows Mobile et Mobile Device Manager fournissent cette interopérabilité. En tant que système d'exploitation Windows, Windows Mobile fonctionne bien avec les autres ressources informatiques Windows, telles que Microsoft® Exchange Server, Microsoft Forefront™, SQL Server®, et Microsoft Office Communications Server. Cette interopérabilité inter-familiale facilite la conception et la création d'une fonctionnalité métier mobile d'avant-garde.
Par exemple, Windows Communication Foundation (WCF), la technologie Microsoft .NET Framework permettant la communication entre les applications, peut permettre à Exchange Server d'être utilisé comme un utilitaire de transmission de messages pour les implémentations métier mobiles en utilisant une architecture orientée services (SOA). Les employés connectés de temps en temps peuvent rester au courant en utilisant une nouvelle infrastructure de synchronisation qui facilite la synchronisation des données entre les périphériques Windows Mobile utilisant SQL Server Compact 3.5 et les données d'entreprises sur SQL Server 2008. Ces scénarios peuvent être plus difficiles à mettre en œuvre sans une infrastructure mobile qui fonctionne avec de si nombreuses ressources réseau prêtes à l'emploi.

Productivité informatique et des utilisateurs
L'augmentation de la productivité est un objectif important des déploiements métier mobiles. Mais si les fonctionnalités sont difficiles à utiliser pour les employés et à gérer pour les professionnels de l'informatique, les coûts peuvent peser plus que les avantages ou au moins réduire le retour sur investissement (ROI). L'un des objectifs du développement de Windows Mobile est de le rendre aussi similaire que possible à l'expérience Windows sur ordinateur de bureau ; la familiarité obtenue peut améliorer la valeur de la solution pour toutes les parties impliquées.
Du point de vue informatique, Windows Mobile, associé à Mobile Device Manager, est conçu pour amener les périphériques Windows Mobile dans le flux principal du réseau. À ces fins, il utilise une technologie familière, en particulier Active Directory et Windows Server®. Mobile Device Manager fait partie de la famille System Center de solutions de gestion informatique, utilisées par un très grand nombre de professionnels de l'informatique dans le monde entier. Au lieu de devoir apprendre un tout nouveau jeu d'outils et pratiques, les professionnels de l'informatique qui connaissent bien un environnement Windows peuvent utiliser les logiciels enfichables de Microsoft Management Console qu'ils connaissent déjà.
Il en va de même pour les utilisateurs. La similitude entre l'environnement de bureau et Windows Mobile les aide à être rapidement opérationnels. Ils peuvent utiliser la suite Office Mobile, y compris Office Outlook Mobile®, pour travailler sans devoir apprendre à se servir de nouvelles applications. Ils ne doivent pas s'inquiéter de la gestion des périphériques parce qu'elle s'effectue de façon centralisée. Les applications métier mobiles peuvent être conçues pour fonctionner d'une façon familière pour les utilisateurs des versions de bureau de ces mêmes programmes ; de nouveaux outils peuvent être créés pour ressembler et se comporter comme tout logiciel Windows classique. Cette familiarité pour les utilisateurs peut réduire le nombre d'appels passés au support technique ainsi que la sévérité des incidents, ce qui constitue également un avantage pour les professionnels de l'informatique.
Les autres aspects de la plate-forme Windows Mobile et Mobile Device Manager améliorent également la productivité. VPN mobile offre une connectivité continue et persistante même sur plusieurs réseaux, en plus d'une fonctionnalité de reconnexion rapide, aidant les utilisateurs à se connecter lorsqu'ils en ont besoin et réduisant une autre source courante d'appels au support technique. Les multiples facteurs de forme de périphérique pris en charge par Windows Mobile permettent aux entreprises une standardisation sur un petit nombre de périphériques tout en donnant à leurs employés la possibilité de choisir des périphériques qui répondent à leurs besoins. La diversité des périphériques autorise également des scénarios métier mobiles d'amélioration de la productivité comme la gestion des stocks basée sur les codes barres ou le routage avec les périphériques compatibles GPS.

Développement et distribution
Les attributs qui définissent les applications métier, richesse de données, puissance et fonctionnalités spécialisées, ont tendance à mieux fonctionner sur une plate-forme mobile conçue pour la productivité basée sur les applications. Les employés mobiles utilisant Windows Mobile ont la même expérience qu'avec leur ordinateur de bureau, ce qui facilite le développement, la distribution et la gestion des applications métier mobiles.
Tout d'abord, Windows Mobile prend en charge une version de .NET appelée .NET Compact Framework. Comme .NET Framework est un ensemble d'outils de programmation utilisé par des millions de développeurs dans le monde entier, de nombreux services informatiques ont déjà les compétences en développement internes nécessaires pour personnaliser et créer des applications métier mobiles pour Windows Mobile. Si ce n'est pas le cas, ces compétences sont facilement disponibles sur le marché.
Windows Mobile prend également en charge un grand nombre d'applications métier mobiles disponibles dans le commerce. Microsoft propose des solutions métier mobiles dans le cadre de sa famille de produits Microsoft Dynamics, notamment Microsoft Dynamics CRM Mobile et Microsoft Dynamics AX Mobile Sales. En outre, les outils de développement Microsoft Dynamics fournissent aux développeurs des technologies pour étendre le logiciel à l'environnement mobile. Microsoft s'est engagé à rendre mobiles d'autres solutions Microsoft Dynamics, la prise en charge de Microsoft Dynamics NAV étant attendue sous peu. Et la plupart des principales solutions métier, telles que SAP, Siebel, PeopleSoft et SalesForce.com, fournissent des versions compatibles Windows Mobile de leurs suites d'applications.
Une fois qu'elles ont été achetées ou développées, les applications métier mobiles peuvent être déployées et gérées par voie hertzienne en utilisant Mobile Device Manager et Windows Server Update Services 3.0. Une stratégie de groupe peut être utilisée pour définir quels périphériques reçoivent l'application et à quelles fonctions ils peuvent accéder. Notez que les mises à jour de l'application peuvent être exécutées de cette même façon simple.

Conclusion
Un nombre croissant d'entreprises fournissent des applications métier mobiles à leurs employés et cadres. En conséquence, les personnes chargées de déployer et de gérer les systèmes informatiques doivent tenir compte de ces nouveaux éléments. Windows Mobile et Mobile Device Manager se basent sur la vision de périphériques mobiles compatibles réseau, fournissant une plate-forme facile à gérer pour le développement et le déploiement métier mobile. Cette plate-forme optimise la sécurité et la productivité de l'utilisateur tout en minimisant les maux de tête au sein du service informatique et l'investissement en infrastructure. Et comme Mobile Device Manager vous permet d'adapter les déploiements métier mobiles à un grand nombre d'utilisateurs, le coût de développement et de déploiement métier mobile par utilisateur diminue tandis que le ROI par utilisateur augmente. Ainsi, la facilité de la gestion de Windows Mobile avec Mobile Device Manager vous libère l'esprit et vous permet de penser de façon créative à la manière dont les applications métier mobiles peuvent être utilisées le plus efficacement possible, au lieu de vous limiter à les faire fonctionner.

Matt Fontaine est écrivain et consultant basé à Seattle, Washington. Il travaille dans de nombreux secteurs tels que l'informatique hautes performances, les logiciels d'entreprise, l'analyse des risques, l'immobilier, l'ingénierie, le BTP et les produits de grande consommation. Matt est fier d'avoir fait ses études à Evergreen State College.


Sécurité
Comprendre la gestion des mots de passe des comptes partagés
Chris Stoneff
En un coup d'œil :
  • Risques liés aux mots de passe des comptes partagés et à privilèges
  • Stockage des mots de passe
  • Gestion et sécurisation des mots de passe
  • Conformité

Sommaire
Présentation du problème
Plus c'est long, mieux c'est
Violence sur les domaines
Des excuses, des excuses, toujours des excuses
Ce que veulent les organismes de régulation
Approche automatisée
Pensez-y
Parmi les choses auxquelles les administrateurs sont de plus en plus souvent confrontés figure la modification régulière du mot de passe pour les comptes partagés et à privilèges, tels que le compte
administrateur ou racine prédéfini, les comptes d'urgence, voire les comptes de processus. S'il faut donner une définition, le compte administrateur ou racine prédéfini est le compte qui est fourni avec chaque version de Windows®, Linux et UNIX, et il possède toujours le même Identificateur de sécurité (SID) ou Identificateur d'utilisateur (UID). Les comptes d'urgence sont les autres comptes que vous créez afin de faciliter l'accès d'urgence à un système sécurisé. Ces comptes administrateur ou d'urgence sont parfois utilisés par des utilisateurs sans privilèges pour accéder aux systèmes principaux lorsque des problèmes surviennent. Enfin, les comptes de processus sont les comptes que vous utilisez pour exécuter les services, les tâches, les applications COM + et les éléments prédéfinis tels que les scripts et autres fichiers binaires qui doivent se connecter.
Maintenant, vous avez probablement déployé vos systèmes à l'aide de scripts ou d'images d'installation. Par ailleurs, tous vos postes de travail ou serveurs ont probablement le même nom de compte administrateur et le même mot de passe à 8 caractères, qui n'a sans doute pas été modifié depuis le déploiement initial des systèmes. Pour cette raison, j'utilise le terme singulier « mot de passe », par opposition aux « mots de passe ».
Un administrateur peut être obligé de modifier ces mots de passe pour se conformer aux meilleures pratiques ou respecter les exigences de conformité, telles que celles imposées par la loi Sarbanes-Oxley (SOX), le secteur des cartes de paiement (PCI) ou la loi HIPAA (Health Insurance Portability and Accountability Act). Il peut arriver qu'administrateur modifie les mots de passe lorsqu'un ancien administrateur ou un technicien qui a connaissance de ces mots de passe quitte l'entreprise, par crainte de la divulgation d'une violation de la sécurité ou de perte de la capacité de traiter les cartes de crédit. Malgré ces facteurs, tout cela se résume au fait que l'administrateur doit modifier ces mots de passe pour assurer la sécurité de l'entreprise et des données que l'entreprise est tenue de protéger.

Présentation du problème
Lorsqu'il s'agit de traiter ces comptes et leurs mots de passe, plusieurs facteurs doivent être bien compris :
  1. Plus un mot de passe vieillit, moins ce mot de passe est sûr.
  2. Les mots de passe plus longs sont, en règle générale, plus difficiles à craquer.
  3. Le mode d'authentification des ordinateurs ne change pas juste parce qu'ils appartiennent à un domaine. Au sein de chaque domaine se trouve le cœur d'un groupe de travail.
« Plus un mot de passe vieillit, moins ce mot de passe est sûr » est une affirmation trompeuse. Ce qu'elle signifie véritablement, c'est que si vous avez la volonté d'entrer par effraction dans un ordinateur, tout ce dont vous avez vraiment besoin, c'est de temps. Si quelqu'un me demande « Combien de temps cela prend-il pour craquer un mot de passe ? », je réponds généralement qu'il n'y a pas de réponse absolue et donne plutôt certains indices pouvant aider à déterminer la réponse pour un système donné :
  • Combien de personnes connaissent-elles le mot de passe ?
  • Toutes ces personnes travaillent-elles toujours pour l'entreprise ?
  • Si certaines des personnes qui connaissent le mot de passe du compte ne travaillent plus pour l'entreprise, étaient-elles en bon termes avec l'entreprise lorsqu'elles l'ont quittée ?
  • Refusez-vous l'accès pour un démarrage depuis le lecteur de disquette, de CD ou de DVD ou le réseau ?
  • Les utilisateurs des ordinateurs sont-ils également des administrateurs locaux ?
  • Tous vos systèmes utilisent-ils exactement le même mot de passe pour leurs comptes à privilèges ?
Pour commencer par le début de cette liste, il est juste de dire que plus le nombre de personnes connaissant un secret est élevé, plus ce secret risque d'être connu de tous. Je me rappelle avoir travaillé pour des entreprises où les administrateurs trouvaient qu'il était plus pratique de définir le mot de passe partagé sur la même valeur et de le communiquer aux membres de l'équipe informatique ainsi qu'aux stagiaires, plutôt que de taper les mots de passe pour eux lorsqu'ils en avaient besoin. Bien sûr, au fil du temps, l'entreprise a commencé à trouver des machines avec divers paramètres non approuvés et des utilisateurs réseau ordinaires capables de se connecter à ces comptes.
Si toutes ces personnes qui connaissent les mots de passe travaillent toujours pour l'entreprise et en sont des employés satisfaits et consciencieux, ce risque lié à l'accès est légèrement atténué. Mais vous ne savez jamais quand vous pourriez devoir combattre un utilisateur malveillant. Si l'un de ces utilisateurs a quitté l'entreprise en mauvais termes, vous avez un électron libre et hostile qui sait comment pénétrer dans votre réseau en utilisant un compte autrement intraçable.
Si vous ne refusez pas l'accès pour un démarrage depuis n'importe quoi d'autre que le disque dur, vous permettez également aux utilisateurs de démarrer en utilisant des images non autorisées, telles que Windows PE ou les divers systèmes Linux qui peuvent lire directement à partir du système de fichiers d'un ordinateur et accéder au stockage sécurisé de l'ordinateur. (Je dois faire remarquer qu'un grand nombre de violations émanent d'éléments internes. Même si tous les membres de personnel et les stagiaires sont toujours employés par l'entreprise, cela ne garantit en aucun cas que les mots de passe et les systèmes sont sécurisés).
Je connais beaucoup de personnes qui ont continué de se connecter à un réseau d'un employeur précédent juste parce qu'ils le pouvaient. Il est certes légèrement amusant qu'ils pointent du doigt la pratique peu recommandable de ne pas modifier les mots de passe des systèmes, mais il est également effrayant de considérer les dommages qu'ils pourraient faire s'ils avaient des intentions malveillantes.
Si vous autorisez la possibilité de démarrer depuis un DVD ou le réseau, vous risquez de ne pas pouvoir vérifier ce que les personnes font. En effet, un disque de démarrage Linux ou une image de réseau peut souvent accéder directement à votre système de fichiers. Si vos systèmes utilisent le même nom d'utilisateur et le même mot de passe pour leurs comptes à privilèges, vous préparez vos systèmes pour une lourde chute. Mais nous y reviendrons ultérieurement.
L'âge et la longueur des mots de passe sont pertinents suivant la méthode utilisée pour craquer un mot de passe. Si une méthode de force brute est utilisée pour déterminer des mots de passe, il ne s'agit alors vraiment que d'une question de temps. Moins un mot de passe est modifié, plus un pirate disposera de temps pour obtenir le mot de passe.
De même, les variations de caractères des mots de passe plus longs augmentent de façon exponentielle si bien que ces derniers nécessitent donc plus de temps pour les craquer. Il est donc important de considérer si vos mots de passe ont une longueur de 7 caractères, de 8 à 14 caractères ou 15 caractères ou plus. Et si les mots de passe font moins de 15 caractères et que vous utilisez Windows, désactivez-vous les hachages LAN Manager (LM) dans le cadre de la configuration du système ou de la Stratégie de groupe ?
Quelle est l'incidence de la durée du mot de passe ? Dans le cas de Windows, la réponse est simple. Passons sur l'historique des processus de hachage de Microsoft, mais disons que Microsoft implémente deux types de hachages pour les mots de passe : les hachages LM et les hachages Message Digest 4 (MD4). Par défaut, Microsoft utilise les hachages LM, et les valeurs sont stockées pour tous les mots de passe jusqu'à 14 caractères, à moins que vous désactiviez explicitement le stockage de ces hachages. Ces mots de passe sont décomposés en deux valeurs de 7 caractères, la première valeur pour les 7 premiers caractères et la deuxième valeur pour les 7 caractères suivants, comme illustré à la figure 1.
Figure 1 Exemple de table de hachage
Nom du compte | RID | Hachage LM | Hachage NT | Mot de passe | Remarques
Administrateur | 500 | aad3b435b51404ee: aad3b435b51404ee | 31d6cfe0d16ae931: b73c59d7e0c089c0 | M. de p. vide | Le hachage LM est identique au hachage LM de mot de passe de 20 caractères.
Administrateur | 500 | 0182bd0bd4444bf8: aad3b435b51404ee | 328727b81ca05805: a68ef26acb252039 | M. de p. de 7 car. = 1234567 | La première partie représentant les 7 premiers caractères est identique au mot de passe de 8 caractères.
Administrateur | 500 | 0182bd0bd4444bf8: 36077a718ccdf409 | 0182bd0bd4444bf8: 36077a718ccdf409 | M. de p. de 8 car. = 12345678 | La première partie représentant les 7 premiers caractères est identique au mot de passe de 8 caractères, mais la deuxième partie est différente.
Administrateur | 500 | aad3b435b51404ee: aad3b435b51404ee | b79d07c2ecb3d565: 033ece663f5a0b2e | M. de p. de 20 car. = 9876543210 9876543210 | Le hachage LM est identique au mot de passe vide parce qu'un hachage LM ne peut pas être créé avec des mots de passe de plus de 14 caractères.
Fred | 1221 | e52cac67419a9a: 224a3b108f3fa6cb6d | 8846f7eaee8fb117: ad06bdd830b7586c | Identique | Dans ces trois exemples, voyez-vous comme les hachages LM et NT sont identiques ? Cela signifie que tous les mots de passe sont identiques pour tous ces comptes. Microsoft ne varie jamais l'algorithme de hachage.
Lundi | 1385 | e52cac67419a9a: 224a3b108f3fa6cb6d | 8846f7eaee8fb117: ad06bdd830b7586c | Identique
SvcAcctX | 1314 | e52cac67419a9a: 224a3b108f3fa6cb6d | 8846f7eaee8fb117: ad06bdd830b7586c | Identique
Ainsi, si votre mot de passe fait seulement 7 caractères, il sera contenu dans un hachage LM unique. Pendant des années, Microsoft a recommandé d'utiliser au moins 8 caractères dans vos mots de passe. Cela était dû au fait que le huitième caractère obligeait alors à diviser le mot de passe en deux valeurs de hachage LM.
Toutefois, il est important de noter que les hachages LM sont très largement compris et très faciles à contourner. Leur seul but dans les solutions actuelles est d'aider à maintenir la compatibilité descendante avec les systèmes de plus bas niveau, tels que Windows NT® 4.0.
À l'heure actuelle, il est recommandé d'utiliser des mots de passe (ou plutôt des phrases de passe) d'au moins 15 caractères ou, de préférence, plus, parce que par définition, ils ne généreront pas de hachage LM. S'il n'est pas viable d'imposer l'utilisation de mots de passe de 15 caractères dans votre environnement, vous devez désactiver le stockage des hachages LM dans le processus de création d'image (en utilisant la stratégie locale) et dans votre Stratégie de groupe Active Directory®.
Cette stratégie se trouve sous à la Configuration ordinateur\Paramètres Windows\Paramètres de sécurité\Stratégies locales\Options de sécurité. Définissez simplement la stratégie « Sécurité réseau : ne pas stocker de valeurs de hachage de niveau Lan Manager sur la prochaine modification de mot de passe » sur ACTIVÉ.
Il est important de se rappeler que bien que les bonnes pratiques dictent l'utilisation de lettres majuscules et minuscules ainsi que de caractères numériques ou spéciaux, les meilleures pratiques dictent également une longueur de 15 caractères ou plus.

Plus c'est long, mieux c'est
L'une des méthodes actuellement utilisées pour pénétrer dans les ordinateurs est appelé « tables arc-en-ciel », et utilise les hachages LM comme code malveillant. Mais des mots de passe plus longs peuvent annuler l'efficacité des tables arc-en-ciel.
Je suis stupéfait du nombre d'administrateurs chargés de la sécurité qui semblent en savoir très peu (voire rien) sur les tables arc-en-ciel. Il existe diverses façons de créer des tables arc-en-ciel pour traiter différents algorithmes. Mais il s'agit simplement d'une liste pré-calculée de tous les hachages LM de 0 à 14 caractères.
L'inconvénient des tables arc-en-ciel réside dans le fait que l'attaquant doit d'abord obtenir les hachages LM. Ceci mène aux questions précédentes concernant la façon dont le système peut être démarré (sur CD ou DVD) ou si vos utilisateurs sont des administrateurs locaux. En fin de compte, ces hachages LM peuvent être extraits en quelques secondes à l'aide d'outils gratuits, comme pwdump. Avec l'utilisation des tables arc-en-ciel, les hachages sont analysés pour déterminer le mot de passe.
Pour satisfaire ma propre curiosité, j'ai défini un mot de passe sur le compte administrateur prédéfini d'un système. Il se composait de 14 caractères et contenait diverses lettres majuscules et minuscules ainsi que des caractères et des numéros spéciaux. J'ai ensuite utilisé des tables arc-en-ciel que j'ai téléchargées gratuitement sur Internet, et j'ai pu extraire les hachages de mot de passe pour tous les comptes sur mon système et déterminer le mot de passe de l'administrateur en moins de deux minutes.
Je dois admettre qu'il est assez intéressant de regarder le premier hachage LM être vaincu, ensuite le deuxième hachage, puis de les réunir pour obtenir le mot de passe. Pour réitérer mon argument, si j'avais désactivé mes hachages LM en utilisant la stratégie que j'ai évoquée précédemment, ce vecteur d'attaque particulier serait sévèrement limité, si pas entièrement bloqué.

Violence sur les domaines
Être dans un domaine ne résout pas le problème. Les ordinateurs qui se trouvent dans un domaine authentifient toujours de la même façon. Et, comme j'ai dit auparavant, au sein de chaque domaine se trouve le cœur d'un groupe de travail. Cette affirmation simple n'est pas toujours évidente. J'ai eu de nombreuses conversations à ce sujet, et je me trouve souvent à rappeler aux administrateurs ce qui est nécessaire pour accéder à une machine : un nom d'utilisateur et un mot de passe. Je dois ensuite plonger dans une discussion sur le fonctionnement de Windows dans un groupe de travail.
Si vous tentez d'accéder à un système, vous aurez besoin de fournir un nom d'utilisateur et un mot de passe au système distant. Grâce à l'utilisation de l'authentification intégrée, Windows tentera de le faire pour vous. Cela signifie que si vous accédez à un autre système Windows, Windows utilisera vos nom d'utilisateur et mot de passe actuellement connectés. Par conséquent, si vous tentez d'accéder à un autre système Windows, ces nom d'utilisateur et mot de passe ne vous seront jamais demandés si le système distant a les mêmes nom d'utilisateur et mot de passe.
Ce mode d'authentification est également appelé authentification directe. Ce processus fonctionne dans les groupes de travail et entre les domaines. Dans le pire des cas, le système vous demandera un nom d'utilisateur et un mot de passe, ce qui signifie que vous devez simplement retaper vos informations de connexion.
Maintenant, même si vous connectez un poste de travail ou un serveur à un domaine et qu'Active Directory devient votre référentiel de comptes central, tous les Gestionnaires de comptes de sécurité locaux (SAM) ou magasins de comptes locaux sur ces systèmes ne disparaissent pas comme par magie. La seule chose qui semble arriver à ces SAM locaux, c'est qu'ils ne sont plus gérés ni sécurisés, et c'est là que se trouve la racine du problème. Quand avez-vous modifié le compte administratif ou racine prédéfini pour la dernière fois sur vos systèmes ? Mieux encore, téléchargez n'importe quel utilitaire de rapports capable d'afficher l'âge du mot de passe pour tous vos comptes et voyez si les résultats seraient acceptables en cas d'audit.
Si vous ne voyez toujours pas très bien ce que je veux dire, prenez n'importe lequel de vos postes de travail de domaine et ouvrez une session en tant que compte de domaine avec les privilèges d'administrateur. Ouvrez la gestion des ordinateurs sur votre système et créez un utilisateur local nommé JVousLAvaisBienDit. Donnez un mot de passe au compte et ajoute-le au groupe d'administrateurs locaux de votre système. Répétez ce processus sur un deuxième système de domaine.
Maintenant, de l'un ou l'autre de ces systèmes, ouvrez une session en tant que compte JVousLAvaisBienDit local et tentez d'accéder à la deuxième machine en allant dans \\Nom_système\c$. Vous pourrez accéder au partage administratif et vous ne devrez même pas fournir un mot de passe ! J'espère que cet exemple ne vous surprend pas. Si c'est le cas, s'il vous plaît, tirez-en la leçon et permettez-moi de me répéter : le simple fait que votre système appartienne à un domaine ne modifie pas le fait que tous ces systèmes fonctionnent toujours comme s'ils appartenaient à un groupe de travail.
Si vous utilisez pour vos comptes partagés et à privilèges des mots de passe qui ne changent que rarement, voire jamais, vos comptes partagés et à privilèges courent un risque. Et tout ce qu'il faudra pour compromettre l'ensemble de votre réseau, c'est un peu de temps.

Des excuses, des excuses, toujours des excuses
Lorsque je parle avec des administrateurs et même avec des directeurs informatiques, j'entends fréquemment les mêmes principales raisons pour ne pas modifier les mots de passe de ces comptes :
  • Nous avons des milliers de systèmes et pas suffisamment de temps ou de main-d'œuvre pour modifier ces comptes.
  • Nous n'avons pas le budget nécessaire.
  • Nous avons complètement désactivé nos comptes administrateur.
  • Nous n'avons pas encore été compromis, donc nous ne pensons pas que ce soit vraiment un problème.
  • Les auditeurs n'ont pas remarqué.
Bien que je puisse comprendre les deux premières raisons, ces excuses ne sont pas valables. Je frémis à l'idée que certaines de mes informations personnelles puissent être stockées par des entreprises qui ne résolvent pas ce problème pour une raison quelconque.
S'il est vrai que tous les systèmes de votre réseau ne stockent pas des informations sensibles, les utilisateurs de ces ordinateurs ont potentiellement accès à des informations sensibles, telles que votre numéro de sécurité sociale, vos dossiers médicaux ou vos données financières. En tant qu'administrateur d'un système, un utilisateur peut installer des enregistreurs de touches et des utilitaires de capture d'écran, empêcher la Stratégie de groupe de s'appliquer, introduire des shims dans divers sous-systèmes pour capturer et transmettre des données, et ainsi de suite. Et lorsque l'utilisateur fait cela au niveau d'un ordinateur individuel, votre capacité à attraper cet utilisateur malveillant est beaucoup plus limitée puisqu'il s'agit d'un administrateur nommé.
Saviez-vous que le fait de désactiver le compte administrateur prédéfini dans Windows ne vous empêche pas d'ouvrir une session en tant que ce compte ? Essayez ce qui suit : redémarrez votre système dans le mode Sans échec et ouvrez une session en utilisant le compte administrateur prédéfini. Vous pouvez probablement utiliser le mot de passe attribué au compte à partir de l'image originale et y parvenir. Pour plus d'informations sur ce comportement, consultez l'article de la base de connaissances Microsoft® « Comment accéder à l'ordinateur après avoir désactivé le compte d'administrateur » (support.microsoft.com/kb/814777).

Ce que veulent les organismes de régulation
Les réglementations SOX, PCI, HIPAA et autres peuvent vous faire tourner la tête. Il peut être difficile de comprendre leurs exigences, dans la mesure où elles sont extrêmement vastes et ne sont pas clairement définies. De façon générale, ce que recherchent ces réglementations peut être résumé comme suit.
Premièrement, vous devez garantir qui a accès à tous les comptes et informations privilégiés à tout moment, et fournir une méthode permettant de le prouver. Ceci est le bon comportement dans tous les scénarios ; un compte à privilèges est un compte assortis de droits à faire n'importe quoi sur un système. Ceci est l'administrateur prédéfini. Ceci est le compte d'urgence. Il s'agit des comptes que l'ensemble de votre personnel de support technique et chaque administrateur travaillant pour vous connaissent probablement.
Lorsque vous choisissez d'implémenter une solution pour gérer ces mots de passe de compte partagés, vous créez une piste d'audit pour le compte administrateur prédéfini où il n'en existe pas actuellement. Vous obtenez un mot de passe qui est fluide. Et comme la solution est automatisée, vous ne perdrez pas des semaines de productivité passées à modifier ces mots de passe. Au bout du compte, puisque la solution fournit des fonctionnalités d'audit, votre entreprise se rapprochera d'autant de la réussite à son audit.

Approche automatisée
La façon la plus efficace de traiter les comptes de ce type consiste à modifier régulièrement les comptes de sorte que deux comptes ne partagent jamais le même mot de passe. Avec les mots de passe partagés, la compromission d'un système entraînerait la compromission de l'autre. En d'autres termes, il ne devrait pas exister de comptes locaux ou de domaine communs.
Lorsque vous utilisez des solutions automatisées capables d'attribuer ces mots de passe de façon aléatoire et d'en assurer la gestion, évitez de faire seulement le strict minimum de ce qui est requis par vos auditeurs. Par exemple, pourquoi n'utiliser que 8 caractères pour vos mots de passe quand vous pourriez en utiliser 15, 20 ou 127, sans effort supplémentaire (voir la figure 2) ?
Figure 2 Utilisez l'automatisation pour créer de très longs mots de passe (Cliquez sur l'image pour l'agrandir)
Envisagez également de randomiser vos comptes à privilèges tous les jours, comme illustré à la figure 3. Il n'y a pas de raison de ne faire cela que tous les 90 jours si vous pouvez le faire tous les mois, toutes les semaines ou même tous les jours. Après tout, si la procédure est automatisée, cela ne devrait pas créer de travail supplémentaire. Par ailleurs, si vous faites cela régulièrement, vous obligerez les utilisateurs à récupérer les mots de passe depuis l'interface de récupération vérifiée de l'outil, générant ainsi une autre piste d'audit là où il n'en existait pas auparavant. (Si vous stockez actuellement les mots de passe écrits dans une enveloppe dans un coffre dans le coin arrière du bureau de quelqu'un, vous ne disposez pas de piste d'audit pour ces mots de passe comme vous en disposeriez si vous utilisiez une solution de gestion des mots de passe).
Figure 3 Randomisez vos comptes à privilèges tous les jours (Cliquez sur l'image pour l'agrandir)
Enfin, assurez-vous que lorsque les mots de passe sont récupérés, ils peuvent être et seront à nouveau randomisés après une période fixe suivant la récupération. Je ne parle pas des tâches de randomisation planifiées que vous avez créées, je parle de créer des mots de passe à usage unique qui soient uniquement valides pendant quelques heures au lieu de quelques mois. Une fois encore, cette méthode obligera les utilisateurs à récupérer les mots de passe depuis l'interface de récupération vérifiée de l'outil, ce qui génère une piste d'audit.

Pensez-y
Le problème de la gestion des mots de passe des comptes partagés doit être résolu. Cela signifie que vous devez mettre en place une méthode vous permettant de modifier vos mots de passe de façon régulière et fiable. La solution doit être évolutive et flexible. Elle doit également fournir un accès sécurisé aux mots de passe, et doit vérifier chacune des actions effectuées par l'outil et chacune des actions effectuées par chacun des utilisateurs de l'outil. En outre, les mots de passe générés doivent être uniques à chaque système afin d'éviter une intrusion due au partage des informations de compte.
Beaucoup de fournisseurs se sont attaqués à ce problème il y a déjà de nombreuses d'années, et encore plus de nouveaux fournisseurs se sont récemment introduits dans ce domaine. Veillez à faire des recherches et à essayer tous les nouveaux outils avant d'acheter pour garantir que la solution que vous choisissez est adaptée à votre environnement.

Christophe Stoneff est responsable de produit chez Lieberman Software (liebsoft.com), une société de développement de logiciels de gestion de la sécurité et de systèmes. Ce qui le motive n'est pas tant de savoir comment les choses fonctionnent, mais pourquoi.


Ces dernières semaines, j'ai eu la chance de bénéficier d'un cours de recyclage sur ce que c'est qu'être un professionnel de l'informatique en exercice. Alors que l'été se termine et que nos pensées se tournent vers la rentrée des classes, cela semble certainement approprié. Mais je dois admettre que ça a tout de même été un choc.
Voyez-vous, l'équipe Magazine de Microsoft (le groupe responsable de la publication de MSDN Magazine et de TechNet Magazine) est en train d'étudier et d'améliorer notre... disons... processus. Nous avons finalement décidé que, comme nous sommes en 2008, nous devions laisser tomber les dernières mises en page papier et annotations au stylo de couleur pour passer totalement au numérique. (Je sais, je sais, c'est révolutionnaire !) Plus sérieusement, il était temps que nous bénéficions de cette efficacité supplémentaire sur laquelle ces grandes entreprises de logiciels basent leurs arguments de vente.
Alors que nous nous adaptions à notre nouveau flux de travail numérique, il est rapidement devenu évident que nous étions freinés par l'outil qui suivait l'état des articles. Il était déjà « numérique » mais basé sur une technologie plutôt archaïque (dont nous espérons débarrasser ce monde à jamais) et complété par de petites cases colorées imprimées en haut de chaque mise en page. High-tech, pas vrai ? Je me suis donc attelé à créer un remplacement de validation technique et me suis dit que SharePoint serait parfait.
Je passe les détails et me contenterai de dire que j'ai un tout nouveau respect pour les administrateurs SharePoint qui comptent parmi nos lecteurs. Ce n'est pas une critique de SharePoint (pour le moins, cela s'adresse à la puissance et à la flexibilité de la plate-forme), mais il est vraiment difficile de créer une solution de flux de travail personnalisée dans SharePoint ! (Heureusement, notre nouvelle rubrique Au cœur de SharePoint est là pour nous aider). Ce défi, avoir mis les mains dans le cambouis après toutes ces années passées loin du front, m'a fait l'effet d'une révélation : il est temps pour moi de retrouver le chemin de l'école.
Il existe d'excellentes ressources pour vous aider à approfondir les principes fondamentaux ou à découvrir quelque chose de nouveau : de la nouvelle série de vidéos « Comment... » sur TechNet (technet.microsoft.com/cc138021), aux screencasts que nous réalisons dans le magazine (.com/video), en passant par TechNet Edge (edge.technet.com), et bien plus encore. Mais je pense qu'il est probablement temps de développer notre couverture des « principes fondamentaux » directement dans TechNet Magazine. Ce n'est pas pour nous vanter, mais je pense que nous avons été assez bons pour fournir le matériel technique très approfondi que vous avez appris à connaître et (nous l'espérons) aimer. Cependant, il me semble qu'il serait bénéfique que nous nous replongions dans les principes de base de temps à autres. Alors, profitez des derniers jours de l'été, parce que très bientôt, nous retournons tous à l'école. —Joshua Hoffman

Merci aux experts techniques Microsoft suivants : Nathan Bigman, Nino Bilic, Mai-lan Tomsen Bukovec, Eric Charran, Trina Gorman, Gershon Levitz, Thomas Marquardt, Mandy Maxwell, Michael Murgolo, Sanjeev Nair, Michelle Rutzer, Jez Sadler, Jim Truher et Shimon Yannay.


Lettres Les lecteurs ont la parole

Outil de planification des capacités SharePoint
Mon entreprise compte moins de 600 employés et un grand nombre d'entre eux n'utilisent pas activement leur ordinateur ou notre Intranet. Mais une demande générale de communication et de collaboration d'entreprise se fait sentir. Je pense que Windows® SharePoint® Services (WSS) 3.0 serait parfait pour notre environnement de travail, mais mon responsable n'a budgétisé qu'un seul serveur pour cet effort.
J'ai essayé d'utiliser l'outil de planification des capacités SharePoint, mais il ne permet pas de simuler un modèle à serveur unique. Connaissez-vous une option de simulation pour serveur unique ?
—Allen M.
Je ne pense pas qu'il y ait une option pour un serveur unique. Mais il est difficile de calibrer sans prendre en considération tous les comportements utilisateur. J'utiliserais un processeur à quatre cœurs et démarrerais avec 8 Go de RAM. Fondamentalement, un serveur moyen devrait fonctionner correctement.
Joel Oleson a compilé un grand nombre de références de dimensionnement que vous pouvez consulter sur son blog à l'adresse blogs.msdn.com/joelo/archive/2007/07/09/capacity-planning-key-links-and-info.aspx. Cela pourra peut-être vous aider à prendre la meilleure décision pour répondre aux besoins de votre entreprise.
—Pav Cherny, chroniqueur,
Au cœur de SharePoint

Microsoft Bob
Je sais que le but de la chronique La vie secrète de Windows « L'histoire prend de la place » (juillet 2008, technet.microsoft.com/magazine/cc565089) était de révéler que le programme Microsoft® Bob était caché sur le disque de Windows XP, mais c'est encore une critique d'un programme que mes enfants ont aimé et utilisé pour apprendre les bases du traitement de texte. Bob était fourni avec notre premier ordinateur, un NEC Ready sous Windows 95. Mes enfants ont grandi et joué avec Bob pendant des heures.
Bob a été ridiculisé dans la chronique comme un mauvais produit technologique, mais c'était en fait un excellent logiciel qui a simplement été présenté à un marché inadéquat... . . celui des adultes. Il était adapté aux enfants, et s'il avait été présenté de cette manière, il aurait été vu sous un jour différent et aurait peut-être même eu un sort différent. Qui sait, s'il avait été présenté comme programme pour enfants dès le départ, mes petits-enfants auraient pu encore l'apprécier dans le futur.
—Jim S.

L'impression est morte
J'ai lu avec beaucoup d'intérêt votre mot du rédacteur en chef de juillet 2008, « L'impression est morte » (à l'adresse technet.microsoft.com/magazine/cc595615). À mon avis, les livres imprimés spécialisés dans l'informatique seront bientôt morts et remplacés par des supports numériques. Mais selon vous, 90 % de vos lecteurs interrogés préfèrent les supports imprimés. Cette enquête est-elle représentative ? Ou seules les personnes que vous avez contactées par le biais des supports imprimés ont-elles répondu à l'enquête ? Ce groupe n'inclurait pas la plus jeune génération, qui ne s'abonne plus aux journaux ou aux magazines comme le vôtre mais obtiennent toute leurs informations en ligne et n'ont jamais entendu parler de votre enquête.
Un lecteur de texte imprimé ne peut pas démarrer une vidéo ou un webcast à partir de texte flottant. Il ne peut pas cliquer avec la souris sur un lien Internet pour ouvrir une page d'accueil, un groupe de discussion ou un blog. Il ne peut pas cliquer avec la souris pour télécharger un complément ou un outil mentionné dans le texte imprimé.
Pour résumer mon propos : le livre imprimé est un mauvais compromis. Le lecteur se rendra bientôt compte que la lecture d'un livre imprimé n'offre qu'une fraction des avantages du DVD et il peut copier tout le contenu du DVD sur son ordinateur portable et accéder à ce contenu à tout moment et en tout lieu.
—Ulrich S.
Merci pour votre remarque et vos commentaires ! En réponse à vos questions spécifiques sur les 90 % de nos lecteurs qui disent préférer les supports imprimés, cette enquête a été menée tant auprès de nos abonnés à la version papier et qu'auprès des lecteurs du Web (avec environ le même nombre de personnes dans chacun des deux groupes) dans le cadre de notre recherche éditoriale annuelle, présentée sur Internet, pas sur papier. La question a été posée à ceux qui ont affirmé avoir lu les deux (les versions papier et en ligne) et 90 % d'entre eux ont dit qu'ils préféraient les versions papier.
Si je suis tout à fait d'accord avec vous sur les avantages de la publication de contenu en ligne (supports riches, portée mondiale, liens interactifs, etc.), je pense toujours que la lecture d'un article sur une page imprimée offre une expérience plus motivante. Cette approche me convient mieux et j'ai un contact plus personnel avec le contenu, et beaucoup d'autres personnes partagent mes sentiments. Cela dit, le fait que chaque support offre ses propres avantages est la raison pour laquelle nous continuons de publier TechNet Magazine sur les deux supports. Merci encore !
—Joshua Hoffman, rédacteur en chef


Boîte à outils Nouveaux produits pour les professionnels de l’informatique
Greg Steen

Surveillez vos serveurs
Mastering SQL Server 2005 Reporting Services Infrastructure Design
sybex.com
Plus nos infrastructures deviennent complexes, plus nous sommes, nous administrateurs, inondés d'informations — la plupart d'entre elles étant enregistrées dans des fichiers ou des bases de données. Cependant, pour rendre ces informations intelligibles, vous avez besoin d'un moteur analytique et d'un outil permettant de présenter les données analysées de façon sensée. Pour ce faire, l'outil Microsoft® SQL Server® 2005 Reporting Services est très pratique. Cet outil peut vous aider à placer toutes ces données dans un formulaire collectif, puis de présenter celui-ci dans un format lisible. De plus, il peut livrer les informations dans des emplacements disparates, automatiquement ou sur demande, mettant efficacement à disposition de vos utilisateurs professionnels les données en temps quasi-réel dont ils ont besoin pour prendre des décisions commerciales plus intelligentes.
La planification, le déploiement et la gestion d'une infrastructure Reporting Services réussie (ou de toute nouvelle infrastructure de serveur) répondant aux besoins de votre entreprise et évoluant au rythme de celle-ci nécessite de la préparation, du savoir-faire et une certaine persévérance. Si vous envisagez de déployer une instance de Reporting Services, Mastering SQL Server 2005 Reporting Services Infrastructure Design, de Joseph L. Jorden (Sybex, 2007) peut vous aider à mieux comprendre et vous guider dans les étapes d'une opération réussie.
Ce livre explique bien les aspects souvent oubliés de la mise en œuvre des systèmes, avant d'aborder les détails techniques d'un déploiement de Reporting Services. Ces aspects rudimentaires vous poussent à déterminer la raison de la mise en œuvre du système et les exigences de cette utilisation métier, et à définir le mode de gestion des attentes de vos utilisateurs finaux. Un chapitre traite des stratégies de gestion des modifications dans votre système de création de rapports. Cette section couvre les différentes approches de la gestion des modifications et fournit un modèle et des lignes directrices pour les formulaires de demande de gestion des modifications. Je ne suis pas du genre à exposer les avantages de la bureaucratie, mais dans ce cas, une certaine structure garantira un environnement beaucoup plus stable.
Après le côté métier de Reporting Services, le livre s'attaque au déploiement, analysant les principes fondamentaux de l'installation, l'évolutivité, l'automation et la configuration. Il propose également des conseils sur l'intégration à Microsoft Windows® SharePoint® Services (WSS). Ce livre vous permet de prendre un bon départ à l'aide d'une liste de vérification de déploiement vous évitant les obstacles.
La création de rapports ad hoc constitue l'une des nouvelles fonctionnalités pratiques de SQL Server 2005 Reporting Services. Cette fonctionnalité permet à vos utilisateurs de créer des rapports en un clin d'œil. Le livre explique comment activer cette fonctionnalité et configurer l'outil Report Builder. Ensuite, cet ouvrage aborde la création d'abonnements pour les rapports, une fonctionnalité permettant de générer et de distribuer vos rapports selon un calendrier via message électronique, partage de fichiers ou livraison intégrée SharePoint.
Tous les systèmes ont besoin de maintenance au fil du temps et le chapitre d'après couvre les tâches essentielles de ce processus, telles que la sauvegarde de votre instance, la gestion du contenu des rapports et la résolution des problèmes à l'aide des journaux disponibles. Il y a également un bon chapitre sur la sécurité qui couvre les options d'authentification et d'autorisation de votre déploiement.
Les programmeurs apprécieront le chapitre sur l'extension de Reporting Services, de même que celui sur l'accès aux rapports et leur manipulation via des applications basées sur Microsoft .NET Framework. Le langage RDL est l'un des principaux aspects de Reporting Services, et le livre consacre un chapitre à certains des éléments clés qui vous sont disponibles, la structure d'un fichier RDL et les principes fondamentaux de la création et du déploiement de ces fichiers.
Le livre termine avec quelques conseils et astuces sur l'optimisation des performances de votre déploiement de Reporting Services. Vous y trouverez des informations sur la mesure des performances, les modifications des fichiers de configuration et l'utilisation de la console de performances. Il y a également une bonne annexe sur l'intégration de Reporting Services à SharePoint. Si vous envisagez de déployer SQL Server 2005 Reporting Services dans votre environnement, vous devriez jeter un œil à ce livre. Il pourrait vraiment vous aider à partir d'un bon pied.

Prix : 49,99 $ (direct).

Examinez votre environnement
Alloy Discovery Professional Edition
alloy-software.com
Pouvoir récupérer rapidement les informations d'un système particulier dans votre zone de couverture est vital à l'exécution de votre tâche, à la résolution des problèmes et à la vérification de la mise à jour des systèmes, ainsi que de leur respect des stratégies de sécurité et logicielles. De plus, si vous disposez de ces informations à un format convivial pour l'utilisateur professionnel qui permet des évaluations de votre infrastructure en un coup d'œil, vous avez un avantage conséquent (sans oublier l'effet produit auprès de votre direction). Si cela ne vous suffit pas, cet accès rapide aux informations peut également vous aider à déterminer qui utilise quel logiciel, afin de garantir que vos utilisateurs disposent des licences adéquates. Cet outil d'inventaire et d'audit, auquel vous voudrez peut-être jeter un œil, s'appelle Alloy Discovery Professional Edition, de Alloy Software.
Cette application est très facile à configurer et vous permet de rapidement démarrer un audit sur un groupe ou une gamme d'ordinateurs de votre réseau local. L'interface utilisateur groupe vos ordinateurs selon un affichage organisé ressemblant beaucoup à celui d'Internet Explorer®. Une fois que votre ou vos groupes d'ordinateurs auditables sont configurés, il vous suffit d'un clic pour effectuer un audit. Les informations recueillies sont assez conséquentes, entre le matériel, les logiciels, les périphériques, les imprimantes, les partages et même les événements. Vous pouvez également afficher les numéros d'identification, numéros de série, statistiques de fonctionnement, variables d'environnement, la configuration réseau et les comptes utilisateur locaux. En résumé, vous pouvez recueillir tout ce que vous devez connaître de votre environnement sans jamais quitter votre bureau (même si je vous recommande de vous dégourdir les jambes de temps en temps pour votre propre santé).
Vous pouvez non seulement effectuer des audits d'ordinateurs sur demande, mais aussi en planifier. Pour les ordinateurs situés à l'extérieur de votre réseau local direct et ceux auxquels vous ne pouvez pas vous connecter à distance avec suffisamment de privilèges pour pouvoir effectuer une tâche d'audit, Alloy Discovery propose une méthode d'audit d'ordinateurs cibles basée sur des agents. Ce type d'audit peut prendre la forme d'un script et être programmé pour s'exécuter régulièrement, ou via l'agent, puis envoyé par message électronique de l'agent à votre référentiel Alloy Discovery principal. Une autre solution est de mettre l'agent dans un lecteur flash et de le déplacer d'ordinateur à ordinateur pour lancer un audit. Après l'audit, vous pouvez synchroniser les informations automatiquement ou à la main, selon la méthode utilisée avec le répertoire principal.
Alloy Discovery dispose également de filtres que vous pouvez appliquer aux résultats de votre audit pour analyser l'inventaire global. Par exemple, vous pouvez voir combien d'ordinateurs auraient besoin d'une mise à niveau de mémoire pour prendre en charge une application ou quels ordinateurs dans votre environnement exécutent Windows® XP Professionnel et Windows Vista® Business Edition.
Une fois que vous avez vos données, vous voudrez créer des rapports. L'application peut publier des rapports dans des pages HTML que vous pouvez analyser. Vous pouvez en outre configurer une tâche planifiée pour produire ces rapports de façon continue, une solution de choix pour votre Centre d'opérations réseau. Par ailleurs, vous pouvez exporter toutes les informations d'audit au format XML, CSV ou Microsoft Excel® pour, par exemple, fournir une preuve aux auditeurs.

Prix : 795 $ (direct) pour le produit de base, plus 3 $ pour chaque nœud. ﻿
Soyez à jour sur votre environnement avec Alloy Discovery (cliquer sur l'image pour l'agrandir)

Gérez vos mots de passe
Password Corral
cygnusproductions.com
Les mots de passe sont une réalité de notre monde interconnecté. (au moins jusqu'à ce que tout soit biométrique ou que nous créions une certaine forme d'utopie de confiance universelle, mais aucun de ces scénarios ne sera vrai dans un avenir proche). Si vous êtes comme moi, vous avez probablement divers types de mots de passe pour divers types d'environnements, et vous faites varier ces mots de passe par le biais de supports différents.
Au-delà des utilisations les plus courantes, il existe également des mots de passe système pour les comptes administrateur, les comptes de services et divers comptes de domaines. Et, bien sûr, les noms d'utilisateur associés à ces mots de passe sont tous différents. La liste n'en finit pas. Comment parvenez-vous donc à suivre tous ces mots de passe facilement et de façon sécurisée ?
L'une des solutions est d'utiliser un référentiel de mots de passe qui verrouille toutes les données dans un fichier fortement crypté. Pour ce faire, Password Corral est un bon choix. Cette application facile d'utilisation et fortement cryptée, qui utilise le cryptage Diamond2 ou Blowfish pour crypter tous vos mots de passe dans un fichier, existe depuis 2001. Elle a fait l'objet d'essais et de tests répétés et continue de bénéficier d'une prise en charge active et d'un développement pour les versions actuelles et à venir.
Après avoir installé le programme, vous obtenez votre nouveau fichier de mot de passe en créant un nouvel utilisateur et en sélectionnant l'emplacement du fichier de mot de passe sur votre système (ou lecteur réseau). Maintenant, il va sans dire que si vous gardez toutes vos informations sensibles de mot de passe pour tous vos comptes dans un seul fichier Password Corral, votre mot de passe Password Corral devra être extrêmement fort et vous devrez souvent le changer. Il s'agit du mot de passe que vous devrez vraiment vous rappeler et protéger. Pensez-y donc bien.
Une fois que vous vous êtes authentifié, Password Corral fournit une interface utilisateur qui ressemble beaucoup à celle d'Internet Explorer, avec une structure de dossiers hiérarchique sur la gauche et un volet de détails sur la droite. Vous pouvez organiser vos mots de passe dans une structure d'arborescence de dossiers. Chaque mot de passe peut avoir une description, un nom d'utilisateur, un mot de passe, une URL de référence, une adresse de messagerie de référence et des commentaires sur le compte. Par ailleurs, vous pouvez indiquer à l'application quelle est la stratégie de mot de passe pour chaque compte, en spécifiant le numéro de jours du cycle d'expiration et le nombre de jours restant jusqu'à l'expiration d'un mot de passe donné.
L'une des options d'affichage inclut le filtrage par mots de passe expirés pour que vous puissiez voir lequel de vos comptes nécessitera une réinitialisation lors de la prochaine utilisation. Une autre fonctionnalité pratique est que vous pouvez demander au programme de générer un mot de passe à votre place, vous évitant d'inventer vos propres mots de passe forts pour chaque compte. Ce générateur de mot de passe est également personnalisable, ce qui vous permet de le définir selon la longueur, la complexité et la composition de caractères que vous souhaitez.
Une autre fonctionnalité utile est qu'une fois que vous avez entré tous vos mots de passe, vous pouvez facilement les rechercher à l'aide de tout champ pour lequel vous avez entré des données, ce qui vous permet de trouver les comptes rarement utilisés dans une profonde structure de dossiers. Vous pouvez également définir une expiration sur l'application. Ainsi, si vous oubliez de fermer Password Corral, l'application se verrouillera automatiquement, protégeant donc vos informations sensibles. L'application éliminera également par défaut votre presse-papiers de façon automatique dès que vous la quittez, au cas où vous laisseriez le mot de passe que vous avez copié dans votre tampon après l'avoir utilisé.
Si vous avez besoin d'un accès constant à vos mots de passe, vous pouvez utiliser l'option d'icône de barre d'état de système de l'application, qui vous permet de simplement double-cliquer pour lancer l'application à partir de cet endroit. Si vous voulez utiliser Password Corral et enregistrer vos comptes à un autre emplacement, l'application vous permet aussi de les importer d'un fichier, vous évitant d'entrer toutes les données supplémentaires. Et si tel est votre choix, vous pouvez même exporter et imprimer vos mots de passe — assurez-vous seulement de manger le papier une fois que vous avez fini ! Au total, cet outil gratuit est très utile.

Prix : Gratuit.
Suivez tous vos mots de passe avec Password Corral (cliquer sur l'image pour l'agrandir)

Utilisation du fichier d'audit
File System Auditor
scriptlogic.com
Maintenir un suivi d'audit sur les systèmes de fichiers partagés peut vous éviter beaucoup de problèmes. Cependant, ce qui est plus important, c'est la nécessité de remplir certaines normes de stratégie de rétention des informations. Pour vous aider à savoir qui a fait quoi et quand, vous voudrez peut-être jeter un œil à File System Auditor de ScriptLogic. Cette application est un système de gestion centralisé qui audite l'utilisation des fichiers sur les systèmes cibles en temps quasi-réel et enregistre les informations dans une base de données SQL Server pour la création de rapports d'utilisation.
File System Auditor prend en charge Microsoft SQL Server Desktop Engine (MSDE), SQL Server 2000 et toutes les versions de SQL Server 2005 (y compris la version gratuite SQL Server 2005 Express). Chaque système contrôlé nécessitera l'installation d'un agent, utilisé pour contrôler l'utilisation des fichiers et la rapporter à SQL Server. Après l'installation, vous utiliserez l'Assistant Base de données pour créer le référentiel de bases de données où toutes les informations d'audit seront enregistrées.
En tant qu'administrateur de systèmes, vous pensez peut-être maintenant à la bande passante et à la verbosité sur un système lourdement utilisé, mais l'application utilise volontairement un système d'audit intelligent qui combine des actions différentes en une seule entrée d'audit. En matière de bande passante, File System Auditor n'utilise que 100 octets de données pour le premier accès à un fichier et 10 à 20 octets pour chaque accès ultérieur.
Vous vous demanderez peut-être pourquoi il ne suffit pas d'utiliser l'audit Windows pour accomplir tout cela, mais l'administration centralisée, la fusion des événements et les fonctionnalités de création de rapports d'une application de surveillance dédiée sont un peu plus flexibles et utilisables. De plus, disposer de toutes ces informations dans une base de données SQL facilite grandement le référencement à partir d'autres systèmes.
Après avoir configuré votre base de données, configurez vos Agents sur les serveurs cibles via la console de configuration des agents. Vous pouvez soit taper un nom de serveur, soit en rechercher un en naviguant à l'aide d'Active Directory®. File System Auditor prend également en charge les serveurs de fichiers en cluster pour que vous puissiez taper le nom de votre instance de cluster. Ensuite, vous installez le service d'agent (avec un seul clic si votre compte dispose d'un accès à distance) et choisissez qui du compte Windows ou SQL Server l'agent doit utiliser pour se connecter à la base de données File System Auditor.
Serveur par serveur, vous pouvez configurer trois types différents d'exclusion de surveillance : Filtres de chemin d'accès, filtres d'exclusion de processus et filtres d'exclusion d'utilisateurs. Les filtres de chemin d'accès vous permettent de choisir si vous souhaitez inclure ou exclure certains événements de dossiers et de fichiers — comme les modifications, la création et la suppression d'autorisations — pour tous les fichiers ou les fichiers de certains types. Les exclusions de processus et les exclusions d'utilisateur vous permettent de faire la même chose pour les événements de fichiers et de dossiers se rapportant à un processus particulier sur le serveur cible, mais ne prennent pas en charge les filtres de type fichier.
Après avoir terminé la configuration et démarré le recueil des événements d'audit, vous lancez la console de configuration des rapports pour utiliser ces données d'audit. Pour configurer un rapport, vous pouvez définir plusieurs filtres sur les données, y compris les utilisateurs, certains événements de fichiers ou de dossiers, les chemins d'accès, les serveurs, les processus et les plages de date. Par ailleurs, vous pouvez ensuite planifier le rapport et indiquer à l'application d'envoyer par message électronique le rapport publié via votre serveur SMTP. Finalement, pour voir ce qui arrive aux fichiers sur un système en temps réel, vous pouvez lancer la Visionneuse en temps réel de File System Auditor pour regarder les événements bruts défiler comme si vous étiez derrière un fichier journal.

Prix : Démarre autour de 800 $ (direct) pour le programme et une licence serveur.
Utilisation du fichier d'audit avec File System Auditor (cliquer sur l'image pour l'agrandir)

Greg Steen est un professionnel de l’informatique, dynamique et enthousiaste. Il est constamment à la recherche d’outils innovants destinés à faciliter les opérations, l'assurance qualité et le développement pour les professionnels de l’informatique.


Coup de projecteur sur les utilitaires Windows Memory Diagnostic
Lance Whitney

Téléchargement du code disponible ici : Utility2008_09.exe (640 Ko)

Sommaire
Obtention d'un diagnostic de mémoire Windows
Test de la mémoire
L'un des ordinateurs dont vous assurez le support fait des caprices : il se fige, se bloque ou affiche des écrans bleus. Un composant matériel est-il en train de lâcher ? Une application récemment installée pourrait-elle causer des problèmes ? Ou pourrait-il s'agir d'une mémoire défectueuse ? L'une des façons d'obtenir une réponse définitive consiste à utiliser l'outil gratuit Microsoft® Windows® Memory Diagnostic. Cet outil exécutera toute une série de tests sur la mémoire RAM de votre ordinateur pour déterminer si l'un des modules présente des défauts.

Obtention d'un diagnostic de mémoire Windows
Pour utiliser l'outil de diagnostic de mémoire Windows, téléchargez et exécutez le fichier unique du programme, mtinst. exe, à l'adresse oca.microsoft.com/en/windiag.asp. Notez que vous ne devez pas installer Windows Memory Diagnostic. L'outil vous présente deux options, comme illustré dans la capture d'écran :
Figure 1 Options de l'outil de diagnostic de mémoire Windows pour la création d'un support de démarrage (cliquer sur l'image pour l'agrandir)
  • Create Startup Disk (Créer un disque de démarrage) d'où vous pouvez créer une disquette de démarrage contenant le programme.
  • Save CD Image to Disk (Enregistrer l'image de CD sur le disque) d'où vous pouvez enregistrer une image ISO du programme sur votre disque dur. Vous pouvez ensuite graver cette image sur un CD et le rendre amorçable en utilisant un logiciel de création de CD. Après avoir créé votre support de démarrage, redémarrez votre ordinateur et lancez le diagnostic depuis la disquette ou le CD.
Test de la mémoire
Lorsque le programme se charge, il commence immédiatement à analyser votre mémoire RAM. L'outil Windows Memory Diagnostic démarre dans le mode standard, qui inclut 6 tests de mémoire différents successifs, chacun d'entre eux utilisant un algorithme unique pour rechercher des types d'erreur différents. Un écran affiche chaque test individuel à mesure qu'il s'exécute, en indiquant sa progression et la plage d'adresses de mémoire en cours d'analyse. Une fois ces 6 tests terminés, l'outil exécute un autre passage en utilisant les mêmes tests et continue d'exécuter passage après passage jusqu'à ce que vous quittiez le logiciel. Un seul passage est toutefois généralement suffisant pour dire si la mémoire est défectueuse.
Pour un test plus approfondi, vous pouvez passer au mode étendu, qui exécute 11 tests de mémoire distincts. Il existe également un mode élémentaire qui exécute seulement 2 tests, mais pour être complet, vous vous en tiendrez aux modes standard et étendu. Si vous exécutez la suite de tests étendue, il est suggéré que vous laissiez Windows Memory Diagnostic tourner toute la nuit.
Une fois chaque test terminé, l'outil affiche un message d'échec ou de réussite. Le message d'échec est suivi d'informations liées à l'échec et indique généralement un défaut dans l'un de vos modules de mémoire RAM. Selon votre environnement, le diagnostic peut être en mesure de réduire le problème de mémoire à un module spécifique.
Dans ce cas, une option permettant d'afficher les erreurs par module de mémoire s'affiche dans le menu. Cette option peut vous aider à déterminer les modules défectueux spécifiques devant être remplacés.
Dans l'écran des options avancées, vous pouvez basculer entre les modes élémentaire, standard et étendu. Vous pouvez également y désactiver le cache du processeur pendant les analyses, ce qui force l'outil à accéder aux données directement à partir de la mémoire RAM et garantit ainsi un test plus complet. La commande Information System (Informations système) répertorie la capacité et le type de mémoire RAM installée dans chaque emplacement.
Windows Memory Diagnostic prend en charge les plates-formes x86, y compris les processeurs Intel Pentium et Celeron et les processeurs AMD K6, Athlon et Duron. Toutefois, l'outil est limité à 4 Go de mémoire RAM et ne poursuivra pas l'analyse au-delà de cette plage.
Vous trouverez également une version de ce diagnostic installée dans Windows Vista® sous Outils d'administration et sur le support d'installation de Windows Vista sous l'option Réparation. Toutefois, la version de Windows Vista ne fournit pas autant d'informations visuelles ou d'options. Vous devrez donc veiller à conserver l'édition autonome à portée de main pour la prochaine fois où un de vos ordinateurs commence à faire des caprices.
Lance Whitney est consultant en informatique, formateur et rédacteur technique. Il a passé un nombre d'heures incalculable à affiner des postes de travail et serveurs Windows. Journaliste de formation, il s'est reconverti à l'informatique il y a 15 ans.


Au cœur de SharePoint Intégration de l'annuaire SharePoint
Pav Cherny

Téléchargement du code disponible à l'adresse SharePoint2008_09.exe (2 775 Ko)

Sommaire
Service de gestion d'annuaire SharePoint
Service de gestion d'annuaire personnalisé
SharePoint et ILM
Conclusion
Microsoft Windows SharePoint Service (WS) 3.0 et Microsoft Office SharePoint Server (MOSS) 2007 incluent des fonctionnalités de synchronisation d'annuaire sous forme d'un service de gestion d'annuaire capable de configurer les objets de groupe et les contacts à extension messagerie pour les ressources SharePoint dans Active Directory. La configuration de ces types
d'objets destinataires pour les ressources SharePoint® permet aux utilisateurs de sélectionner des bibliothèques, des listes et des groupes SharePoint directement depuis le carnet d'adresses Microsoft® Outlook® lors de l'envoi de documents et d'autres informations.
Les objets destinataires SharePoint permettent également de contrôler les transferts de messages et les conversions de format dans une organisation Exchange Server. Vous pouvez entre autres empêcher des expéditeurs non authentifiés, tels que des expéditeurs de courrier indésirable, d'envoyer des messages aux bibliothèques SharePoint en définissant des restrictions de remise des messages dans Active Directory®.
Les fonctionnalités de gestion d'annuaire de SharePoint sont toutefois limitées et, au moment de la rédaction de cet article, considèrent Exchange Server 2003 comme le système de messagerie sous-jacent. Pour l'instant, si vous utilisez Exchange Server 2007 ou un système de messagerie tiers, vous devez étendre ou remplacer les fonctionnalités de gestion d'annuaire intégrées par une solution personnalisée pour atteindre le niveau d'interopérabilité voulu.
Dans cet article, j'examinerai brièvement les fonctionnalités de gestion d'annuaire de SharePoint puis proposerai une approche visant à surmonter les restrictions existantes. Le principe de départ est que le service de gestion d'annuaire intégré ne répond qu'aux exigences utilisateur les plus basiques. Les environnements composés de plusieurs systèmes de messagerie et plates-formes d'annuaire ont besoin d'une plus grande flexibilité et de davantage de fonctionnalités. En remplaçant le composant intégré par une solution personnalisée, vous pouvez synchroniser les informations de destinataire SharePoint avec toute solution d'annuaire disposant de fonctionnalités API ou d'importation.
Pour preuve, je vous montrerai comment synchroniser les informations de destinataire SharePoint d'une façon compatible avec Exchange Server 2007. De même, vous pouvez utiliser une solution personnalisée pour synchroniser les informations de destinataire avec IBM Lotus Notes ou d'autres systèmes.
Vous pouvez également centraliser les processus de configuration d'annuaire sur la base d'un service de méta-annuaire, tel qu'Identity Information Server, inclus à Microsoft Identity Lifecycle Manager (ILM) 2007 Feature Pack 1 (FP1). En particulier, je vous montrerai comment intégrer SharePoint avec ILM 2007 pour coordonner la configuration d'objets d'annuaire pour les bibliothèques de documents SharePoint. Vous pouvez trouver les outils, le code source et les instructions détaillées pour créer cette solution dans le matériel associé à cet article, disponible dans la section de téléchargement des codes de .com.

Service de gestion d'annuaire SharePoint
Contrairement à Exchange Server, qui utilise Active Directory pour pratiquement toutes les informations de configuration et de destinataire, SharePoint s'appuie sur des bases de données de contenu et de configuration. SharePoint doit en conséquence propager les informations de destinataire pour les bibliothèques, les listes et les groupes à extension messagerie de ses bases de données vers un annuaire. Après tout, les clients de messagerie s'attendent à trouver les informations de destinataire dans un carnet d'adresses, généralement généré à partir d'objets d'annuaire.
Dès l'installation, SharePoint inclut un service de gestion d'annuaire destiné à ces fins, qui fait partie du service Web d'intégration de messagerie électronique (SharepointEmailWS.asmx) que vous pouvez configurer dans l'administration centrale de SharePoint 3.0, à la page Opérations, dans le paramétrage des messages électroniques entrants. La figure 1 illustre le fonctionnement du service de gestion d'annuaire intégré.
Figure 1 Architecture du service de gestion d'annuaire SharePoint (Cliquez sur l'image pour l'agrandir)
Lorsque vous activez une batterie de serveurs Web pour la gestion d'annuaire puis attribuez une adresse de messagerie à une bibliothèque, une liste ou un groupe pour recevoir des messages, par exemple en utilisant EmailSettings.aspx, vous appelez implicitement le service Web d'intégration de messagerie électronique pour configurer les objets de destinataire correspondants dans Active Directory. Tout d'abord, SharePoint enregistre les informations d'adresse de messagerie dans la base de données de contenu. Ensuite, SharePoint envoie la requête de configuration en votre nom au service Web d'intégration de messagerie électronique en utilisant l'identité du compte de pool d'applications Web. Si la requête de configuration échoue, vous disposez des informations d'adresse de messagerie dans la base de données de contenu mais pas des objets de destinataire correspondants dans Active Directory.
Ressources supplémentaires
  • Site Web des technologies et produits SharePoint
  • TechCenter Windows SharePoint Services
  • Centre de développement Windows SharePoint Services
  • Blog de l'équipe Produits et technologies Microsoft SharePoint
Les requêtes de configuration peuvent échouer pour plusieurs raisons. La raison la plus courante est l'absence d'autorisation d'accès à la métabase IIS. Comme SharepointEmailWS.asmx est conçu pour être un service Web pour les comptes de pool d'applications, ce service Web vérifie la métabase IIS pour voir si l'appelant est un compte de pool d'applications et refuse l'accès si ce n'est pas le cas, quels que soient les niveaux d'autorisation d'Active Directory et de votre site SharePoint.
Cependant, SharepointEmailWS.asmx exécute cette vérification d'accès sous l'identité de l'appelant, donc le compte de pool d'applications appelant doit accéder à la métabase pour vérifier ses propres autorisations d'accès. Cela vous oblige à accorder à vos comptes de pool d'applications des autorisations élevées pour réussir.
Bien sûr, des autorisations élevées sur un serveur Web sont une source de problèmes de sécurité. Il existe de meilleures façons de contrôler l'accès à un service Web ASP.NET. De plus, SharePoint s'attend à trouver le service de gestion d'annuaire dans le site d'administration centrale. Toutefois, ce site n'est pas toujours disponible dans une batterie de serveurs Web verrouillée pour réduire la surface d'exposition aux attaques. Donc, si vous voulez utiliser le service de gestion d'annuaire intégré dans votre environnement de production SharePoint, vous devez accepter une configuration de sécurité affaiblie.
Les autres restrictions qui existent viennent du fait que le service de gestion d'annuaire intégré est basé sur une architecture client/serveur étroitement couplée. Microsoft.SharePoint.dll utilise directement System.DirectoryServices.dll, donc vous ne pouvez pas implémenter votre propre logique pour personnaliser le processus de configuration. Par exemple, l'implémentation du service de gestion d'annuaire intégré n'écrit pas tous les attributs de destinataire pour prendre en charge Exchange Server 2007, et il n'est pas possible de personnaliser les règles de génération d'attribut.
L'impossibilité d'implémenter votre propre logique implique également que vous ne pouvez pas personnaliser le processus de configuration, par exemple, pour implémenter des approbations personnalisées. SharePoint prend en charge les processus d'approbation pour les groupes, mais cette fonctionnalité est basée sur le site d'administration centrale. Seuls les administrateurs de batterie SharePoint peuvent approuver les requêtes en cours, mais les administrateurs SharePoint ne sont pas nécessairement en charge de l'approbation des processus de configuration d'Active Directory.
Et chose peut-être encore plus importante, il n'existe pas de processus d'approbation pour les listes et les bibliothèques de documents à extension messagerie. Si vous activez la gestion d'annuaire, vous accordez essentiellement à tous les administrateurs du site de votre batterie de serveurs Web le droit de créer des contacts et des groupes à extension messagerie dans Active Directory. Il n'est pas non plus possible de structurer la gestion de destinataire sur la base des unités d'organisation (OU), parce que tous les objets de destinataire par batterie de serveurs Web sont placés dans la même OU.
Vous ne pouvez pas déplacer les objets de destinataire vers une autre OU parce que le service de gestion d'annuaire s'attend à trouver les objets de destinataire dans l'OU SharePoint, et que vous devez accorder au compte de pool d'applications de l'administration centrale SharePoint les autorisations administratives dans Active Directory. Par ailleurs, il n'est pas possible d'implémenter la synchronisation bidirectionnelle entre SharePoint et Active Directory. La modification des attributs d'objet dans Active Directory ne propage pas les modifications en retour dans l'environnement SharePoint.

Service de gestion d'annuaire personnalisé
Maintenant que j'ai établi que le service de gestion d'annuaire intégré laisse un peu de liberté pour plus de flexibilité, discutons de l'une ou l'autre solution alternative. La bonne nouvelle, c'est que SharePoint vous permet d'implémenter votre propre service de gestion d'annuaire. Il vous suffit pour cela d'enregistrer votre service Web en tant que service de gestion d'annuaire distant dans l'administration centrale de SharePoint 3.0, à la page Opérations, dans le paramétrage des messages électroniques entrants.
Pour des instructions détaillées concernant le déploiement et l'enregistrement d'un service Web personnalisé, reportez-vous à la feuille de travail « Directory Integration Based on a Custom Directory Management Service.xps » dans le matériel associé. Par ailleurs, mon service Web personnalisé montre comment configurer les objets de destinataire compatibles avec Exchange Server 2007 dans Active Directory sans applets de commande ou outils de gestion Exchange. Le code source correspondant se trouve dans le dossier EmailIntegrationService. La figure 2 illustre l'architecture de la solution.
Figure 2 Architecture du service de gestion d'annuaire personnalisé (Cliquez sur l'image pour l'agrandir)
L'interface du service Web personnalisé doit correspondre à l'interface du service de gestion d'annuaire, comme décrit dans le SDK SharePoint. Si vous recherchez « SharepointEmailWS » sur le site Web MSDN® (msdn.microsoft.com), vous trouverez tous les détails nécessaires. Vous pouvez également consulter le fichier Service.cs dans le dossier EmailIntegrationService\App_Code du matériel associé. Ce fichier implémente l'interface de service Web requise, tandis que le véritable code de configuration des objets Active Directory réside dans SPRecipient.cs. Par exemple, la fonction UpdateRecipientAttributes dans SPRecipient.cs génère les attributs Exchange Server 2007 requis. SPRecipient.cs est le fichier de code que vous devez remplacer si vous voulez développer votre propre service de gestion d'annuaire personnalisé.
Un service de gestion d'annuaire personnalisé est un bon outil pour surmonter les exigences d'autorisations élevées et intégrer SharePoint avec des systèmes de messagerie ou d'annuaire tiers. Vous ne devez pas vérifier la métabase IIS pour limiter l'accès du service Web aux comptes de pool d'applications. Au lieu de cela, vous pouvez ajouter une section <authorization> au fichier web.config de votre service Web (voir le matériel associé pour un exemple).
Toutefois, plusieurs problèmes subsistent parce que vous ne pouvez pas contrôler si et quand SharePoint appelle votre service de gestion d'annuaire. Entre autres choses, SharePoint n'appelle pas le service de gestion d'annuaire lorsque vous supprimez une bibliothèque ou liste de documents à extension messagerie, si bien qu'un objet de destinataire non valide reste dans Active Directory. Que vous utilisiez le service de gestion d'annuaire intégré ou une solution personnalisée, vous ne pouvez pas garantir que les informations de destinataire dans Active Directory correspondent aux ressources SharePoint.

SharePoint et ILM
Pour une intégration d'annuaire fiable, vous devez envisager de déployer un package de gestion d'annuaire professionnel, tel qu'ILM. Ce système repose sur un modèle de synchronisation d'annuaire basé sur l'extraction. Les agents de gestion extraient les informations de leurs sources connectées, les importent dans un méta-annuaire commun et exportent les informations d'exportation du méta-annuaire vers leurs systèmes connectés. Les systèmes sources ne poussent généralement pas leurs informations dans le méta-annuaire. En extrayant les informations, vous pouvez garantir la cohérence avec chaque cycle de synchronisation.
Un autre avantage est qu'ILM inclut plusieurs agents de gestion pour prendre en charge Active Directory, Lotus Notes et divers autres systèmes prêts à l'emploi. Il vous suffit d'implémenter un agent de gestion personnalisé pour SharePoint afin de synchroniser les informations de SharePoint avec une autre plate-forme d'annuaire prise en charge dans votre environnement.
Vous devez implémenter la logique pour récupérer les informations voulues de SharePoint, enregistrer les informations dans un fichier d'importation et transférer les informations importées dans le méta-annuaire. Mais vous n'avez pas besoin d'implémenter la logique pour exporter ces informations du méta-annuaire dans Active Directory ou une autre plate-forme d'annuaire. La figure 3 montre comment implémenter la synchronisation de SharePoint à Active Directory en utilisant ILM. Il est également possible de réaliser la synchronisation dans l'autre direction pour configurer les ressources SharePoint pour les objets d'annuaire, bien que cela puisse être considéré comme inutile ou facultatif.
Figure 3 Intégration d'annulaire basée sur Identity Lifecycle Manager (Cliquez sur l'image pour l'agrandir)
L'article d'Alex Tcherniakhovski « Connecting ILM 2007 with SharePoint Services Lists », disponible sur blogs.msdn.com/alextch/archive/2007/09/02/wsslistsandilm.aspx, est un bon point de départ pour développer un agent de gestion SharePoint. Alex explique comment créer une solution de gestion d'annuaire basée sur ILM qui s'appuie sur les requêtes de configuration InfoPath® envoyées à une bibliothèque de documents. L'agent de gestion d'Alex récupère toutes les requêtes approuvées de la bibliothèque de documents et crée les objets de méta-annuaire correspondants qui peuvent ensuite être exportés dans les annuaires connectés.
Mais par défaut, SharePoint ne génère pas de requêtes de configuration InfoPath lorsque vous activez la messagerie pour une liste ou un groupe. Vous pouvez le faire via un service de gestion d'annuaire personnalisé, mais vous rencontrerez alors les problèmes de cohérence mentionnés ci-dessus parce que SharePoint n'appelle pas le service de gestion d'annuaire dans tous les cas. Pour cette raison, je recommande que votre agent de gestion récupère les informations de destinataire SharePoint voulues directement depuis les listes et groupes de votre collection de sites. Si vous avez besoin de processus d'approbation, vous pouvez ensuite produire les requêtes de configuration InfoPath pour de nouvelles ressources dans l'agent de gestion et traiter par la suite toutes les requêtes approuvées.
Vous avez plusieurs options pour récupérer les informations de SharePoint. Vous pouvez lire les informations directement à partir des bases de données de contenu, utiliser le modèle objet de SharePoint ou profiter des services Web de SharePoint.
Il n'est pas recommandé d'accéder directement aux bases de données de contenu parce que les structures de base de données peuvent changer dans des versions futures, ce qui briserait votre solution de gestion d'annuaire.
L'utilisation du modèle d'objet de SharePoint directement dans votre agent de gestion est également risquée parce que le modèle d'objet nécessite que vous exécutiez e code localement. Cependant, l'installation d'ILM sur un serveur Web dans chaque batterie de SharePoint dans votre environnement peut compliquer l'infrastructure de gestion d'annuaire.
Vous pouvez envisager d'utiliser les services Web de SharePoint, mais cela crée une autre difficulté parce que les informations voulues ne sont pas facilement accessibles via les services Web de SharePoint, par exemple les informations d'adresse de messagerie pour les groupes SharePoint ou l'adresse complète du serveur de courrier entrant.
En fin de compte, il semble plus judicieux d'implémenter un service Web SharePoint personnalisé qui utilise le modèle d'objet de SharePoint pour récupérer les informations voulues et les transmet à l'appelant sous la forme d'un document XML. Maintenant, vous pouvez centraliser le déploiement d'ILM et intégrer un nombre illimité de batteries et collections de sites via des instances individuelles du service Web SharePoint personnalisé, comme illustré à la figure 3.
Il convient d'aborder un dernier d'aspect, à savoir le fait que l'intégration d'annulaire basée sur ILM ne dispense pas d'un service de gestion d'annuaire personnalisé. Ce service personnalisé n'a pas besoin de faire quoi que ce soit parce qu’ILM configure les objets d'annuaire, mais vous devez fournir un service personnalisé afin de pouvoir activer la gestion d'annuaire dans l'administration centrale de SharePoint 3.0. À défaut, par exemple, vous ne pourrez pas attribuer des adresses de messagerie aux groupes en premier lieu. La figure 4 montre l'architecture de la solution obtenue.
Figure 4 Intégration d'annuaire SharePoint basée sur un service Web (Cliquez sur l'image pour l'agrandir)
Vous pouvez transformer le service de gestion d'annuaire personnalisé inclus dans le matériel associé en un service factice en réglant le paramètre OpMode dans le fichier web.config (<add key="OpMode" value="dummy"/>). Dans cette configuration, le service personnalisé renvoie toujours SUCCESS en réponse aux appels de configuration sans rien faire.
Par ailleurs, le service personnalisé expose une méthode ResolveUsers que l'agent de gestion SharePoint peut appeler pour résoudre les noms du compte d'utilisateur basés sur NetBIOS en noms uniques, ce qui est une étape requise pour la configuration de groupes. (SharePoint renvoie des informations d'appartenance au groupe sous la forme d'une liste de noms de compte d'utilisateur basés sur NetBIOS, mais Active Directory s'attend à des noms uniques). Et c'est tout ! Pour plus de détails sur la façon de déployer la solution obtenue, reportez-vous au fichier « Configuring Directory Integration based on ILM 2007.xps » dans le matériel associé.
WS 3.0 et MOSS 2007 incluent un service de gestion d'annuaire pour intégrer SharePoint avec Exchange Server 2003 pour une collaboration multiplate-forme basée sur la messagerie.
Il existe toutefois plusieurs restrictions. Les utilisateurs doivent remplacer le service de gestion d'annuaire intégré par une solution personnalisée. Vous pouvez également utiliser une solution de gestion d'annuaire professionnelle, comme ILM, pour intégrer SharePoint dans une infrastructure de gestion d'annuaire. Cela fournit le plus grand niveau de flexibilité et aide à garantir la cohérence des informations via un modèle de synchronisation basé sur l'extraction.

Pav Cherny est un expert informatique et auteur spécialisé dans les technologies Microsoft pour la collaboration et la communication unifiée. Ses publications incluent des livres blancs, des manuels de produits et des livres avec un intérêt particulier pour les opérations informatiques et l'administration système. Pav est le président de Biblioso Corporation, une entreprise spécialisée dans les services de documentation et de localisation gérés.


Windows PowerShell Théorie des chaînes
Don Jones

Sommaire
Une situation réelle
Correspondances complexes
Un monde rempli de chaînes
Lorsque j'interviens dans des conférences, comme Tech•Ed ou TechMentor, je m'habitue à proclamer certaines choses — des annonces générales qui aident les utilisateurs à se rappeler les points clés de Windows PowerShell par exemple. La dernière en date était : « Si vous traitez une chaîne dans Windows PowerShell, quelque chose ne va pas ».
En effet, je considère Windows PowerShell™ comme un shell orienté objet. Si, par exemple, vous transférez des listes de services dans un fichier texte et que vous traitez ce dernier pour voir quels services ont été démarrés, vous en faites trop. Cette approche est valide dans un système d'exploitation textuel comme UNIX, mais Windows PowerShell (de même que Windows® lui-même) vous permet d'utiliser les objets d'une façon bien plus efficace.
Vidéo
Regardez Don Jones démontrer comment vous pouvez utiliser Windows PowerShell pour analyser des chaînes complexes.

Même vos propres scripts devraient produire des objets, non pas du texte formaté, pour que les divers formatages, filtrages, exportations et autres commandes du shell puissent être utilisés afin de manipuler la sortie de vos scripts. (Lisez mon article de juillet 2008 sur Windows PowerShell pour en savoir plus sur la notion d'objets personnalisés, comme la sortie de script).
Lors d'un récent TechMentor à Orlando, en Floride, l'un de mes étudiants m'a rappelé que presque toutes les règles, en particulier les règles générales, ont des exceptions. « Pourquoi ne pas trouver des éléments dans un fichier journal IIS ? Vous ne devez pas analyser le texte dans ce cas ? »
Oui, en effet. Et heureusement, même s'il est très facile à utiliser avec des objets, Windows PowerShell peut aussi traiter des chaînes de texte. Et maintenant que vous le dites, les fichiers journaux IIS, les fichiers journaux de pare-feu et les autres journaux textuels en sont des exemples parfaits.

Une situation réelle
J'ai déjà dû traiter une série de fichiers journaux de pare-feu pour une entreprise qui m'embauchait. On avait découvert un employé qui regardait certains sites Web inappropriés et dans le cadre de l'enquête de suivi, le service des Ressources humaines avait besoin d'une liste exhaustive des sites Web qu'il avait consultés. S'il est un peu délicat d'extraire le fichier journal d'un jour donné, le service RH voulait remonter jusqu'à plusieurs semaines — ce que je n'avais pas envie de faire manuellement.
Le serveur DHCP (Dynamic Host Configuration Protocol) de l'entreprise indiquait que l'ordinateur de l'employé avait utilisé la même adresse IP (disons 192.168.17.54 pour donner un exemple) depuis plusieurs mois. Cela n'est bien sûr pas surprenant, puisqu'il s'agissait d'un ordinateur de bureau qui était rarement éteint. Et puisque le journal de pare-feu conservait une liste des adresses IP source, j'ai vu que Windows PowerShell pourrait être utile.
Le secret réside dans la commande, souvent négligée, Select-String. Vous devrez également connaître les expressions régulières (que j'ai abordées dans l'article de novembre 2007 sur Windows PowerShell).
La commande Select-String accepte les chemins d'accès remplis de fichiers textuels, les expressions régulières ou les simples chaînes. Elle fera alors sortir chaque ligne de chaque fichier journal correspondant à l'expression régulière ou à la chaîne simple. Pour commencer, j'ai simplement voulu obtenir chaque ligne contenant l'adresse IP de l'ordinateur de bureau de l'employé. Chaque ligne de fichier journal contenait une date et un horodatage, exactement ce que recherchait le service RH.
Voici la commande :
select-string -path c:\logs\*.txt -pattern "192.168.17.54"
-allmatches –simplematch
Le paramètre –simpleMatch spécifie que le modèle fourni est juste une simple chaîne, pas une expression régulière. La figure 1 affiche une partie de la sortie, qui pourrait également être rattachée à un fichier. Il est important de noter que la sortie inclut le nom de fichier et le numéro de la ligne où la correspondance a été trouvée, ce qui peut être très utile si vous voulez revenir en arrière à un moment donné pour rechercher plus d'informations.
Cmdlet du mois : Start-Sleep
Voici une cmdlet qui vous apporte exactement ce dont vous avez besoin en plein milieu d'une longue journée de travail — une petite sieste. Start-Sleep offre une pause rapide — pour les scripts Windows PowerShell, évidemment.
Il n'est pas rare d'avoir besoin d'une pause rapide dans un script. Par exemple, admettons que vous ayez besoin de démarrer un service, d'attendre quelques secondes pour qu'il se mette en route, puis d'effectuer d'autres tâches qui dépendent de ce service. Start-Sleep est exactement ce qu'il vous faut dans ce cas. Exécuter Start-Sleep 10, par exemple, mettra le shell en pause pendant 10 secondes. Si vous avez besoin d'un contrôle plus précis, vous pouvez exécuter Start-Sleep -milli 100, par exemple, pour pauser pendant 100 millisecondes. Start-Sleep suspend totalement le shell, y compris les scripts, les canaux et tout ce qui reste, pendant la durée spécifiée. Si seulement quelqu'un pouvait maintenant écrire cette cmdlet Start-Nap que je recherche depuis si longtemps.
Figure 1 Sortie d'une commande Select-String (cliquer sur l'image pour l'agrandir)

Correspondances complexes
Après avoir fourni aux personnes du service RH ce qui était demandé, elles se sont rendu compte que ce n'était pas ce qu'elles voulaient. Mon rapport comprenait des visites à de nombreuses adresses IP, comme 207.68.172.246 (le site Web de MSN®). La demande suivante de l'enquêteur était d'affiner mon rapport pour n'inclure que les visites à une adresse IP spécifique, qu'ils avaient identifiée comme appartenant à un des sites Web en question. Je ne révélerai pas dans cet article la véritable adresse IP mentionnée dans l'enquête. J'utiliserai à la place 207.68.172.246 pour cet exemple (bien que le site Web de MSN ne soit généralement pas considéré comme inapproprié).
Cette demande aurait pu être un peu plus difficile. Dans le fichier journal sur lequel je travaillais, les adresses IP de source et de destination étaient juste à côté l'une de l'autre et séparées par une virgule. Je pouvais donc simplement modifier ma chaîne de recherche en « 192.168.17.54,207.68.172.246 » et répéter la recherche.
Cependant, un fichier journal plus complexe pourrait contenir des données variables enregistrées entre les deux adresses IP. Une simple correspondance de chaînes ne suffirait alors pas. Dans ce cas, vous devriez recourir à une expression régulière, qui fonctionne également bien sur les formats de journaux plus simples, thème que je vais maintenant aborder.
Dans une expression régulière, le point remplace n'importe quel caractère. Je peux également utiliser la sous-expression (.)* pour rechercher un nombre de caractères donné entre mes deux adresses IP. Cependant, il est nécessaire d'utiliser une barre oblique inverse pour ignorer les points qui apparaissent dans les adresses IP.
La commande qui en résulte est :
select-string -path c:\logs\*.txt -pattern
"192\.168\.17\.54(.)*207\.68\.172\.246" –allmatches
J'ai supprimé le paramètre –simpleMatch puisque j'utilise cette fois une expression régulière. La sortie en résultant affichait seulement les visites de l'ordinateur de l'employé en question sur le site Web identifié comme inapproprié. Elle incluait également les informations de date et d'horodatage dont l'enquêteur avait besoin. La figure 2 montre une partie de la sortie que vous pouvez obtenir lorsque vous exécutez une commande comparable.
Figure 2 Résultats de recherche affinés n'affichant que les visites sur un site spécifique (cliquer sur l'image pour l'agrandir)
Mais je peux aller un peu plus loin et rattacher la sortie à Format-Table afin d'afficher des colonnes calculées. Je peux faire en sorte que le tableau comprenne le nom du fichier journal et le numéro de la ligne où la correspondance a été trouvée. Je peux même afficher la ligne correspondante elle-même. Cependant, je peux indiquer au shell de remplacer la correspondance de l'expression régulière avec une chaîne vide pour n'afficher que le reste de la ligne — la date et l'horodatage dans mon exemple. Il s'agit d'une astuce de niveau avancé, mais elle démontre un peu plus comment Windows PowerShell peut manipuler des données de chaînes et produire des sorties hautement personnalisées, le tout dans une seule ligne de commande :
select-string -path c:\logs\*.txt -pattern
"192\.168\.17\.54(.)*207\.68\.172\.246" -allmatches |
ft  filename,linenumber,@{"Label"="Time";
"Expression"={$_.line.replace
($_.matches[0],"")}} –auto
La figure 3 montre le possible aspect de mes résultats finaux.
Figure 3 Sortie formatée provenant d'une commande Select-String (cliquer sur l'image pour l'agrandir)

Un monde rempli de chaînes
Proclamer que la nature orientée objet de Windows PowerShell est l'une de ses plus grandes forces est peut-être un peu rapide. Mais il y a néanmoins des situations où les objets ne conviennent pas.
Windows PowerShell réside peut-être dans un monde orienté objet. Heureusement, l'équipe de Windows PowerShell a reconnu que votre monde contient fréquemment des données externes sous forme de chaînes formatées. Elle a donc inclus la commande Select-String. Avec cette commande et une connaissance des expressions régulières, vous pouvez utiliser Windows PowerShell pour écrire des commandes unilignes qui traiteront les chaînes les plus complexes qui soient.

Don Jones est coauteur de Windows PowerShell: TFM et auteur de douzaines d'autres ouvrages informatiques. Contactez-le sur son blog à www.concentratedtech.com.


Hé, vous le scripteur ! Restez connecté à votre grille-pain
Les scripteurs Microsoft

Téléchargement du code disponible ici : HeyScriptingGuy2008_09.exe (150 Ko)

S'il est possible de résumer notre monde moderne, c'est bien avec ces deux mots : restez connecté. Grâce aux téléphones cellulaires, il n'est plus nécessaire que vous soyez chez vous pour que les gens vous appellent : ils peuvent vous joindre où que vous vous trouviez, à tout moment du jour ou de la nuit. (Oh, comme c'est... agréable !) Grâce à l'informatique sans fil, il n'est plus nécessaire que vous soyez à votre bureau pour travailler : désormais, vous pouvez travailler à votre domicile, sur la plage, bref où que vous vous trouviez.
Une histoire vraie : les parents du scripteur sont récemment partis en vacances en camping, mais ils ont été forcés de vivre à la dure, exactement comme les grands explorateurs Lewis et Clark, lorsqu'ils ont eu des problèmes pour se connecter au réseau sans fil du terrain de camping. Heureusement, la télévision par satellite fonctionnait encore !
Et ce n'est qu'une partie de l'histoire. Les périphériques GPS vous permettent de savoir exactement où vous vous trouvez, à quelques mètres près. Et certains de ces appareils permettent également à d'autres personnes de savoir exactement où vous vous trouvez. (La vieille expression « vous pouvez courir mais vous ne pouvez pas vous cacher » n'a jamais était aussi vraie qu'à l'heure actuelle). S'il le voulait, le scripteur qui écrit cet article pourrait demander à son compte-chèques de l'appeler à chaque fois qu'un chèque est débité ou à sa voiture de lui envoyer des rapports d'état mensuels par message électronique. Et comme si ça ne suffisait pas, le grille-pain a proposé d'emmener promener le chien et d'arroser les plantes lorsqu'il part en vacances.
Bon, d'accord, cette dernière partie n'est peut-être pas vraie, pas encore du moins. Mais s'il le voulait, le scripteur pourrait acheter un grille-pain doté de fonctionnalités Internet. Il pourrait ensuite appeler son grille-pain en rentrant chez lui et être accueilli par du pain grillé tout chaud lorsqu'il franchirait le pas de sa porte. Pour être honnête, nous ne voyons pas pourquoi vous voudriez être accueilli par du pain grillé tout chaud lorsque vous franchissez le pas de votre porte. Mais si cela vous tente...
Bien sûr, si l'objectif de tout un chacun est de rester connecté, il n'est pas surprenant que les scripteurs, qui ne sont pas esclaves des tendances, vous poussent à vous déconnecter davantage. Cela signifie-t-il que les scripteurs vous recommandent de jeter votre téléphone cellulaire ou votre ordinateur portable ? Non, même les scripteurs sont plus intelligents que cela. Cependant, ils plaident pour que vous ajoutiez des jeux d'enregistrement déconnectés à votre arsenal de scripts. Mais si vous voulez jeter votre téléphone cellulaire ou votre ordinateur portable, et bien, nous ne vous en empêcherons pas.
Remarque Selon une étude réalisée par Harris Interactive, 43 % des Américains ont utilisé un ordinateur portable en vacances pour consulter et envoyer des messages électroniques en rapport avec leur travail. Et plus de 50 % des Américains utilisent leur téléphone cellulaire en vacances pour consulter leurs messages électroniques et/ou leur messagerie vocale. Et cela n'inclut pas les 40 % d'Américains qui ne prennent pas de vacances sur une année.
Il va sans dire que de nombreuses personnes seraient ravies d'ajouter des jeux d'enregistrements déconnectés à leur arsenal de scripts, à ce détail près : elles n'ont pas la moindre idée de ce qu'est un jeu d'enregistrements déconnecté. Hé bien, au cas où vous ne seriez pas familiarisé avec le concept, un jeu d'enregistrements déconnecté est (plus ou moins) une table de base de données qui n'est pas liée à une véritable base de données. Au lieu de cela, elle est créée par un script, elle existe uniquement en mémoire et elle disparaît à la fin du script. En d'autres termes, un jeu d'enregistrements déconnecté est une structure de données constituée qui n'existe que pendant quelques minutes puis disparaît, emportant ses données avec elle. Woaw, bravo les scripteurs, ça semble vraiment utile ! Merci de votre aide !
Bon, d'accord : les jeux d'enregistrement déconnectés ne semblent pas terriblement passionnants. Et à la vérité, ils ne le sont pas. Mais ils peuvent être extrêmement utiles. Comme les auteurs de VBScript expérimentés ne le savent que trop bien, VBScript n'offre pas exactement les meilleures fonctionnalités de tri de données au monde. (Pas à moins que vous ne considériez l'absence de fonctionnalités de tri de données comme les meilleures fonctionnalités de tri de données au monde). De même, la capacité de VBScript à traiter de grandes séries de données est limitée, au mieux. Outre l'objet Dictionary (qui vous limite à travailler avec des articles qui ont, au plus, deux propriétés) ou le tableau (qui est principalement limité aux listes de données à propriété unique), hé bien... il n'y a rien d'autre.
Le jeu d'enregistrements déconnecté vous permet de gérer ces deux problèmes (et d'autres encore). Vous devez trier vos données, notamment des données à propriétés multiples ? Aucun problème ; comme nous l'avons dit, un jeu d'enregistrements déconnecté est l'équivalent virtuel d'une table de base de données et il n'y a rien de plus facile à faire que trier une table de base de données. (D'accord, si vous voulez être pointilleux, on peut considérer que ne pas trier une table de base de données est plus facile que trier une table de base de données). Ou peut-être disposez-vous d'une grande série d'éléments, des éléments avec des propriétés multiples, dont vous devez assurer le suivi ? Aucun problème. Avons-nous dit qu'un jeu d'enregistrements déconnecté est l'équivalent virtuel d'une table de base de données ? Vous devez filtrer des informations ou rechercher des données avec une valeur spécifique ? Oh, si seulement il existait un moyen d'utiliser l'équivalent virtuel d'une table de base de données...
Voilà une remarque judicieuse : il est peut-être temps de vous montrer de quoi nous parlons. (En supposant que nous sachions de quoi nous parlons). Pour les débutants, disons que nous avons des statistiques de base-ball présentées à la figure 1, statistiques collectées sur le site Web MLB.com et stockées dans un fichier de valeurs séparées par des tabulations, C:\Scripts\Test.txt.
Figure 1 Statistiques stockées dans un fichier de valeurs séparées par des tabulations
Joueur | Coups de circuit | Points produits | Moyenne
D Pedroia | 4 | 28 | .276
K Kouzmanoff | 8 | 25 | .269
J Francouer | 7 | 35 | .254
C Guzman | 5 | 20 | .299
F Sanchez | 2 | 25 | .238
I Suzuki | 3 | 15 | .287
J Hamilton | 17 | 67 | .329
I Kinsler | 7 | 35 | .309
M Ramirez | 12 | 39 | .295
A Gonzalez | 17 | 55 | .299
Tout cela est bien beau, mais supposons que nous voulions afficher cette liste de joueurs triée en fonction du nombre de coups de circuit qu'ils ont réalisés. Un jeu d'enregistrements déconnecté peut-il nous aider dans ce cas ? Nous allons très bientôt le savoir. Jetez à coup d'œil à la figure 2. Oui, il y a beaucoup de code, pas vrai ? Mais ne vous inquiétez pas. Comme vous le verrez bientôt, cela fait plus de bruit que de mal.
Figure 2 Un jeu d'enregistrements déconnecté
Const ForReading = 1
Const adVarChar = 200
Const MaxCharacters = 255
Const adDouble = 5

Set DataList = CreateObject("ADOR.Recordset")
DataList.Fields.Append "Player", _
  adVarChar, MaxCharacters
DataList.Fields.Append "HomeRuns", adDouble
DataList.Open

Set objFSO = _
  CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile _
  ("C:\Scripts\Test.txt", ForReading)

objFile.SkipLine

Do Until objFile.AtEndOfStream
    strStats = objFile.ReadLine
    arrStats = Split(strStats, vbTab)

    DataList.AddNew
    DataList("Player") = arrStats(0)
    DataList("HomeRuns") = arrStats(1)
    DataList.Update
Loop

objFile.Close

DataList.MoveFirst

Do Until DataList.EOF
    Wscript.Echo _
        DataList.Fields.Item("Player") & _
        vbTab & _
        DataList.Fields.Item("HomeRuns")
    DataList.MoveNext
Loop
Pour commencer, nous définissons quatre constantes :
  • ForReading. Nous utiliserons cette constante lorsque nous ouvrons et lisons le fichier texte.
  • adVarChar. Il s'agit d'une constante ADO standard pour créer un champ qui utilise le type de données Variant.
  • MaxCharacters. Il s'agit d'une constante ADO standard utilisée pour indiquer le nombre maximal de caractères (dans ce cas, 255) qu'un champ Variant peut contenir.
  • adDouble. Une dernière constante ADO, permettant de créer un champ qui utilise un type de données doubles (numériques).
Après avoir défini les constantes, nous avons ce bloc de code :
Set DataList = CreateObject _
    ("ADOR.Recordset")
DataList.Fields.Append "Player", _
    adVarChar, MaxCharacters
DataList.Fields.Append "HomeRuns", _
    adDouble
DataList.Open
C'est la partie du script dans laquelle nous configurons réellement notre jeu d'enregistrements déconnecté. Pour cela, la première chose à faire est de créer une instance de l'objet ADOR.Recordset ; inutile de dire que cela crée notre table de base de données virtuelle (c'est-à-dire, notre jeu d'enregistrements déconnecté).
Nous utilisons ensuite cette ligne de code (et la méthode Append) pour ajouter un nouveau champ au jeu d'enregistrements :
DataList.Fields.Append "Player", adVarChar, MaxCharacters
Comme vous pouvez le voir, il n'y a aucune fantaisie dans tout cela : nous appelons simplement la méthode Append suivie par trois paramètres :
  • Le nom du champ (Player).
  • Le type de données pour le champ (adVarChar).
  • Le nombre maximal de caractères pouvant être enregistrés dans le champ (MaxCharacters).
Après avoir ajouté le champ Player, nous pouvons ajouter un deuxième champ : HomeRuns (Coups de circuit), qui a un type de données numériques (adDouble). Une fois terminé, nous appelons la méthode Open pour déclarer notre jeu d'enregistrements ouvert et prêt à fonctionner.
Ensuite, nous créons une instance de Scripting.FileSystemObject et ouvrons le fichier C:\Scripts\Test.txt. Cette partie du script n'a en réalité rien à voir avec le jeu d'enregistrements déconnecté ; elle n'est là que parce que nous devons récupérer des données depuis un fichier texte. La première ligne du fichier texte contient nos informations d'en-tête :
Player     Home Runs     RBI        Average
Nous n'avons pas besoin de ces informations pour notre jeu d'enregistrement, donc la première chose à faire après avoir ouvert le fichier est d'appeler la méthode SkipLine pour ignorer la première ligne :
objFile.SkipLine
Maintenant que nous sommes passés à la première ligne comprenant réellement des données, nous configurons une boucle Do Until conçue pour nous permettre de lire le reste du fichier ligne par la ligne. Chaque fois que nous lisons une ligne du fichier, nous enregistrons cette valeur dans une variable nommée strLine, puis utilisons la fonction Split pour convertir cette ligne en un tableau de valeurs (en fractionnant la ligne chaque fois que nous rencontrons une tabulation) :
arrStats = Split(strStats, vbTab)
Il est vrai que c'est une présentation un peu rapide, mais nous pensons que, maintenant, la plupart d'entre vous êtes assez bons pour récupérer des informations depuis des fichiers texte. En résumé, pour le premier passage dans la boucle, le tableau, arrStats, contiendra les éléments de la figure 3.
Figure 3 Contenu du tableau
Numéro d'élément | Nom d'élément
0 | D Pedroia
1 | 4
2 | 28
3 | .276
Maintenant, il est temps de s'amuser :
DataList.AddNew
DataList("Player") = arrStats(0)
DataList("HomeRuns") = arrStats(1)
DataList.Update
Nous ajoutons les informations pour le joueur 1 (D Pedroia) au jeu d'enregistrements déconnecté. Pour ajouter un enregistrement au jeu d'enregistrements, nous commençons par appeler la méthode AddNew : cela crée un nouvel enregistrement vierge avec lequel nous pouvons travailler. Nous utilisons les deux prochaines lignes de code pour attribuer des valeurs à deux champs du jeu d'enregistrements (Player et HomeRuns), puis nous appelons la méthode Update pour écrire officiellement cet enregistrement dans le jeu d'enregistrements. Puis de retour au sommet de la boucle, nous répétons le processus avec la ligne suivante, autrement dit le joueur suivant, dans le fichier texte. Vous voyez ? Il y a peut-être beaucoup de code ici, mais c'est globalement assez simple.
Alors, que se passe-t-il après que tous les joueurs ont été ajoutés au jeu d'enregistrements ? Après avoir fermé le fichier texte, nous exécutons ce bloc de code :
DataList.MoveFirst

Do Until DataList.EOF
  Wscript.Echo _
    DataList.Fields.Item("Player") & _
    vbTab & _
    DataList.Fields.Item("HomeRuns")
  DataList.MoveNext
Loop
À la ligne 1, nous utilisons la méthode MoveFirst pour positionner le curseur au début du jeu d'enregistrements ; si nous ne faisons pas cela, nous courons le risque d'afficher seulement une partie des données dans le jeu d'enregistrements. Nous configurons ensuite une boucle Do Until qui continuera jusqu'à ce que nous n'ayons plus de données (c'est-à-dire, jusqu'à ce que la propriété EOF (fin de fichier) du jeu d'enregistrements soit True).
Dans cette boucle, nous nous limitons à renvoyer les valeurs des champs Player et HomeRuns (notez la syntaxe quelque peu curieuse utilisée pour indiquer un champ précis : DataList.Fields.Item("Player"). Nous appelons ensuite simplement la méthode MoveNext pour passer à l'enregistrement suivant dans le jeu d'enregistrements.
Inutile de le dire, c'était vraiment facile. Une fois que tout est terminé, nous devrions obtenir ce qui suit :
D Pedroia       4
K Kouzmanoff    8
J Francouer     7
C Guzman        5
F Sanchez       2
I Suzuki        3
J Hamilton      17
I Kinsler       7
M Ramirez       12
A Gonzalez      17
Comme vous pouvez le voir, c'est... bon, en fait, ce n'est pas si bien que ça, pas vrai ? Certes, nous avons le nom des joueurs et les totaux des coups de circuits, mais ces derniers ne sont pas classés dans l'ordre. Saperlipopette, pourquoi le jeu d'enregistrements déconnecté ne trie-t-il pas nos données pour nous ?
Pour une bonne raison : nous n'avons pas dit au jeu d'enregistrements sur quel champ nous voulions baser le tri. Mais c'est très simple à corriger : il suffit de modifier le script pour ajouter les informations de tri avant d'appeler la méthode MoveFirst. Autrement dit, cette partie du script doit ressembler à cela :
DataList.Sort = "HomeRuns"
DataList.MoveFirst
Évidemment, il n'y a aucune astuce. Nous attribuons simplement le champ HomeRuns à la propriété Sort. Jetons maintenant un coup d'œil au résultat obtenu en exécutant le script :
F Sanchez       2
I Suzuki        3
D Pedroia       4
C Guzman        5
J Francouer     7
I Kinsler       7
K Kouzmanoff    8
M Ramirez       12
J Hamilton      17
A Gonzalez      17
C'est bien mieux. Oui, à l'exception d'une chose : généralement les totaux des coups de circuit sont classés dans l'ordre décroissant, le joueur ayant réalisé le plus de coups de circuit apparaissant en premier. Est-il possible de trier un jeu d'enregistrements déconnecté dans l'ordre décroissant ?
Bien sûr. Il suffit d'utiliser l'utile paramètre DESC, comme cela :
DataList.Sort = "HomeRuns DESC"
Et que fait le paramètre DESC pour nous ? Vous l'avez deviné :
A Gonzalez      17
J Hamilton      17
M Ramirez       12
K Kouzmanoff    8
I Kinsler       7
J Francouer     7
C Guzman        5
D Pedroia       4
I Suzuki        3
F Sanchez       2
Au passage, il est parfaitement possible d'effectuer un tri basé sur plusieurs propriétés ; il suffit d'attribuer chacune de ces propriétés à l'ordre du tri. Par exemple, supposons que vous vouliez baser le tri en premier sur les coups de circuit puis sur les points produits. Aucun problème, cette commande est là pour ça :
DataList.Sort = "HomeRuns DESC, RBI DESC"
Essayez et vous vous en rendrez compte vous-même. Ce n'est pas aussi amusant que consulter ses messages électroniques en vacances, mais c'est pas mal.
Remarque N'oubliez pas que vous ne pouvez pas baser le tri sur un champ qui n'a pas été ajouté au jeu d'enregistrements. Qu’est-ce que cela signifie ? Avant d'ajouter une propriété telle que RBI à l'instruction de tri, vous devez ajouter ces lignes à votre script aux emplacements appropriés :
DataList.Fields.Append "RBI", adDouble

DataList("RBI") = arrStats(2)
Et si vous voulez voir le résultat, vous devez également modifier votre instruction Wscript.Echo :
Wscript.Echo _
  DataList.Fields.Item("Player") & _
  vbTab & _
  DataList.Fields.Item("HomeRuns") & _
  vbTab & DataList.Fields.Item("RBI")
Voyons, que pouvons-nous faire d'autre avec les jeux d'enregistrements déconnectés ? Je pense bien à quelque chose. Supposons que nous récupérions toutes les informations pour tous les joueurs puis triions ces données en fonction de la moyenne à la batte. (Entre autres choses, cela signifie que nous devons modifier notre script original pour créer des champs nommés RBI (points produits) et BattingAverage (moyenne à la batte). Voici à quoi ressemble le résultat :
J Hamilton      17      67      0.329
I Kinsler       7       35      0.309
A Gonzalez      17      55      0.304
C Guzman        5       20      0.299
M Ramirez       12      39      0.295
I Suzuki        3       15      0.287
D Pedroia       4       28      0.276
K Kouzmanoff    8       25      0.269
J Francouer     7       35      0.254
F Sanchez       2       25      0.238
C'est bien, mais que se passe-t-il si nous voulons juste la liste des joueurs avec un score minimal de 0,300 ? Comment pouvons-nous limiter les données affichées aux joueurs qui respectent certains critères spécifiés ? Et bien, une façon de procéder consiste à attribuer un filtre au jeu d'enregistrements :
DataList.Filter = "BattingAverage >= .300"
Un filtre de jeu d'enregistrements sert globalement à la même chose qu'une requête de base de données : il fournit un mécanisme pour limiter les données renvoyées à un sous-ensemble de tous les enregistrements du jeu d'enregistrements. Dans ce cas, nous demandons simplement au filtre d'éliminer tous les enregistrements sauf ceux dont le champ BattingAverage a une valeur supérieure ou égale à 0,300. Et vous savez quoi ? Le filtre fera exactement ce que nous lui demandons :
J Hamilton      17      67      0.329
I Kinsler       7       35      0.309
A Gonzalez      17      55      0.304
Si seulement nos gosses se comportaient de la même façon...
À propos, vous pouvez utiliser plusieurs critères dans un filtre unique. Par exemple, cette commande limite les données renvoyées aux enregistrements dans lesquels le champ BattingAverage est supérieur ou égal à 0,300 et le champ HomeRuns est supérieur à 10 :
DataList.Filter = _
  "BattingAverage >= .300 AND HomeRuns > 10"
En revanche, ce filtre limite les données aux enregistrements dans lesquels le champ BattingAverage est supérieur ou égal à 0,300 ou le champ HomeRuns supérieur à 10 :
DataList.Filter = "BattingAverage >= .300 OR HomeRuns > 10"
Essayez les deux solutions et vous verrez la différence. Et puis flûte : juste pour le plaisir, voici un autre filtre que vous pouvez essayer :
DataList.Filter = "Player LIKE 'I*'"
Il se trouve que vous pouvez également utiliser des caractères génériques dans vos filtres. Pour cela, utilisez l'opérateur LIKE (par opposition au signe égal) puis l'astérisque comme vous le feriez en exécutant une commande MS-DOS® comme dir C:\Scripts\*.txt. Dans l'exemple précédent, nous devrions obtenir une liste de joueurs dont le nom commence par la lettre I. En effet, la syntaxe employée dit « Montre-moi une liste de tous les enregistrements dans lesquels la valeur du champ Player commence par I puis est suivie de n'importe quoi ». Essayez, enfin vous connaissez la routine maintenant.
À propos, vous n'êtes pas non plus bloqué avec les moyennes à la batte comme 0,309. (En anglais, généralement, les moyennes à la batte sont exprimées sans le 0, autrement dit .309, par exemple). Mais c'est parfait. Vous pouvez simplement utiliser la fonction FormatNumber pour formater la moyenne à la batte comme vous le voulez :
FormatNumber (DataList.Fields.Item("BattingAverage"), 3, 0)
Il vous suffit d'inclure cette fonction dans votre instruction Wscript.Echo lorsque vous affichez le nombre (ou bien, vous pouvez attribuer le résultat à une variable et mettre la variable dans votre instruction Echo) :
Wscript.Echo _
  DataList.Fields.Item("Player") & _
  vbTab & _
  DataList.Fields.Item("HomeRuns") & _
  vbTab & DataList.Fields.Item("RBI") & _
  vbTab & _
  FormatNumber _
  (DataList.Fields.Item("BattingAverage"), _
   3, 0)
Amusant, pas vrai ?
Malheureusement, il semble que nous n'ayons plus assez de temps ce mois-ci. En résumé, nous voudrions juste dire que..., désolé le téléphone sonne.
De toute façon, nous voulions préciser que..., oh, super, maintenant le téléphone portable sonne. Et nous venons de recevoir un message électronique du grille-pain. Important : notre pain grillé tout chaud est prêt. Voulons-nous du beurre ou de la confiture ? Je dois y aller, mais nous vous verrons le mois prochain !
Les scripts embrouillés du Dr. Scripto
Le défi mensuel qui teste non seulement votre capacité à résoudre des énigmes, mais également vos compétences d'écriture de scripts.

Septembre 2008 : Recherche de script
Voici une recherche de mot simple (ou peut-être pas si simple). Recherchez toutes les fonctions et instructions VBScript de la liste. Mais attention au piège : les lettres restantes forment un mot masqué qui s'avère être, vous l'avez deviné, une applet de commande Windows PowerShell™ !
Liste des mots : Abs, Array, Atn, CCur, CLng, CInt, DateValue, Day, Dim, Else, Exp, Fix, InStr, IsEmpty, IsObject, Join, Len, Log, Loop, LTrim, Mid, Month, MsgBox, Now, Oct, Replace, Set, Sin, Space, Split, Sqr, StrComp, String, Timer, TimeValue, WeekdayName.

RÉPONSE :
Les scripts embrouillés du Dr. Scripto
Réponse : Septembre 2008 : Recherche de script

Les scripteurs travaillent pour (enfin, sont employés par) Microsoft. Lorsqu’ils ne sont pas en train de jouer au base-ball, d’entraîner une équipe ou de regarder un match (ou de se livrer à de multiples autres activités), ils dirigent le Script Center TechNet. Vous pouvez le vérifier vous-même sur www.scriptingguys.com.


Histoires de Bureau Fonctionnalités avancées de WDS
Wes Miller

Sommaire
Gestion de ligne de commande
Magasin d'image
Multidiffusion
Journalisation WDS
Autres problèmes
Conclusion
Depuis deux mois, je consacre cette rubrique aux Services de déploiement Windows (WDS). J'ai commencé par m'intéresser à l'historique des outils de déploiement basés sur l'environnement d'exécution de prédémarrage (PXE) proposés par Microsoft, puis j'ai présenté les Services de déploiement Windows. Ce mois-ci, je vais approfondir la question et traiter des sujets suivants :
WDSUtil (le puissant utilitaire de ligne de commande pour WDS), le magasin d'image WDS, la journalisation WDS et l'utilisation de la fonctionnalité de multidiffusion dans WDS pour Windows Server® 2008.
Lorsque les services d'installation à distance (RIS) étaient fournis dans Windows® 2000 et Windows Server 2003, ils n'étaient pas aussi riches en fonctionnalités que beaucoup l'auraient souhaité. Trois domaines sont particulièrement concernés :
  • Performances (déploiement plus évolutif)
  • Journalisation/Audit
  • Automation de ligne de commande
Au cours de la lecture de cet article, vous verrez qu’avec la version initiale de WDS, et en particulier avec WDS dans Windows Server 2008, des avancées significatives ont été réalisées sur chacun de ces fronts.

Gestion de ligne de commande
J'ai noté le mois dernier que WDS offrait une console de gestion considérablement améliorée. Mais, et c'est encore plus important pour la plupart des entreprises, WDS dispose d'un nouvel utilitaire de ligne de commande pour la gestion, WDSUtil.exe (voir la figure 1). WDSUtil est installé avec le composant facultatif WDS sur Windows Server 2003 (SP1+WDS ou SP2) et avec le rôle WDS sur Windows Server 2008.
Figure 1 Paramétrage de l'option de découverte d'architecture sur Oui avec WDSUtil (Cliquez sur l'image pour l'agrandir)
WDSUtil est un utilitaire étonnamment puissant, mais complexe. En effet, tout ce que vous pouvez faire via Microsoft® Management Console (MMC), et plus encore, peut être fait via WDSUtil. En fait, pour en avoir la preuve et diagnostiquer du même coup d'éventuels problèmes, exécutez :
wdsutil /get-server /show:config
Les résultats reflètent presque entièrement ce que vous verriez dans la MMC WDS, bien que WDSUtil puisse les présenter dans un format facilement lu que vous pouvez ensuite convertir en un fichier texte.
Pas assez d'informations ? Essayez d'exécuter la commande suivante, elle est encore plus détaillée :
wdsutil /get-server /show:all /detailed
Et vous pouvez arrêter et redémarrer le serveur WDS en exécutant :
wdsutil /stop-server
wdsutil /start-server
Vous trouverez une référence de commandes pour WDSUtil à l'adresse go.microsoft.com/fwlink/?LinkId=112194. Si vous préférez, vous pouvez également en télécharger une version .chm (avec tous les documents WDS 2008) à l'adresse go.microsoft.com/fwlink/?LinkId=89381.
Avec les services d'installation à distance, il n'était pas facile, à moins d'être un gourou des interfaces de service Active Directory®, de trouver via la ligne de commande si une GUID ou une adresse MAC spécifique était associée à un objet compte d'ordinateur (MAO) dans Active Directory. Avec WDSUtil, votre requête peut porter sur l'une ou l'autre.
Les GUID peuvent être déroutantes, car vous pouvez les entrer sous forme de chaînes binaires ou de chaîne GUID, la seule différence étant l'ordre des octets et l'absence de trait d'union. Les adresses MAC peuvent être entrées avec ou sans trait d'union en utilisant l'une des lignes de code suivantes :
wdsutil /get-device /id:01-23-45-67-89-AB
wdsutil /get-device /id:0123456789AB
Vous pouvez obtenir des informations sur les périphériques par chaîne binaire en utilisant cette commande :
wdsutil /get device /id:ACEFA3E81F20694E953EB2DAA1E8B1B6
Ou vous pouvez obtenir des informations sur les périphériques par chaîne GUID à l'aide de la commande suivante :
wdsutil /get device /id:E8A3EFAC-201F-4E69-953-B2DAA1E8B1B6
Un grand nombre de vos ordinateurs sont probablement capables d'exécuter la version 64 bits de Windows, mais malheureusement, certains ne signalent pas leur architecture correctement. Vous pouvez laisser WDS essayer de déterminer si un système est compatible x64 en exécutant un petit programme de démarrage réseau fourni avec WDS. Comme l'illustre la figure 1, vous pouvez le faire avec la commande suivante :
wdsutil /set-server /architecturediscovery:yes
En fait, la commande set-server de WDSUtil vous permet de configurer un grand nombre de paramètres de serveur. Pour voir les possibilités, exécutez cette commande :
wdsutil /set-server /?
Si vous avez mis à niveau un serveur WDS Windows Server 2003 vers Windows Server 2008, vous pouvez convertir n'importe quelle image RIPrep au format Windows Imaging (WIM) en exécutant cette commande :
WDSUtil /convert-RIPrepImage
Bien que WDSUtil puisse convertir les images RIPrep, les images RISetup restantes (installations par script WDS hérité/RIS traditionnelles) ne peuvent pas être converties.
La puissance de WDSUtil réside dans sa capacité à automatiser les tâches répétitives. Les commandes de la figure 2 vous donnent une idée des fonctionnalités de WDSUtil. Que vous introduisiez de nouveaux serveurs WDS, ajoutiez ou modifiez des images sur plusieurs serveurs, administriez votre infrastructure de multidiffusion ou spécifiez quel programme de démarrage réseau utiliser pour un client de démarrage spécifique, WDSUtil apporte une puissance qui n'était auparavant pas disponible dans les Services d'installation à distance.
Figure 2 Commandes de WDSUtil
Commande | Description
/add | Ajoute des périphériques, des images ou des groupes d'images.
/approve-AutoAddDevices | Approuve les périphériques d'ajout automatique en attente et vous permet de définir les informations de configuration les concernant.
/convert-RiprepImage | Convertit une image RIPrep héritée en une image WIM.
/copy-Image | Duplique une image dans un magasin d'image.
/delete-AutoAddDevices | Supprime la totalité ou certains périphériques d'ajout automatique spécifiques en attente.
/disable | Désactive un serveur WDS ou un serveur de transport.
/disconnect-Client | Déconnecte un client d'une transmission par multidiffusion ou d'un espace de noms.
/enable | Active un serveur WDS ou un serveur de transport.
/export-Image | Comme avec /export dans ImageX, cette commande exporte une image existante du magasin d'image vers une image WIM.
/get | Obtient les propriétés et les attributs pour un périphérique, une image, un groupe d'images, un serveur WDS ou un serveur de transport.
/initialize-Server | Configure un serveur WDS à des fins d'utilisation après la première installation.
/new | Crée des images de capture ou de découverte, des transmissions par multidiffusion et des espaces de noms.
/progress | Affiche les progrès lorsqu'une commande donnée est exécutée.
/reject-AutoAddDevices | Rejette la totalité ou certains périphériques d'ajout automatique spécifiques en attente.
/remove | Supprime des images, des groupes d'images, des transmissions par multidiffusion et des espaces de noms.
/replace-Image | Remplace (écrase) une image par une nouvelle image.
/set | Définit les propriétés et les attributs pour un périphérique, une image, un Groupe d'images, un serveur WDS ou un serveur de transport.
/start | Démarre un serveur WDS ou un serveur de transport.
/stop | Arrête un serveur WDS ou un serveur de transport.
/uninitialize-Server | Annule les modifications apportées au serveur pendant l'initialisation du serveur (le ramène à un état non configuré).
/update-ServerFiles | Met à jour les fichiers dans le dossier partagé REMINST avec les dernières versions du répertoire System32\RemInst du serveur.
/verbose | Affiche la sortie détaillée lorsqu'une commande donnée est exécutée.

Magasin d'image
Le mois dernier, j'ai expliqué comment le stockage d’instance simple (SIS) utilisé par les RIS pour stocker les fichiers plus efficacement sur le disque a été abandonné dans WDS. Maintenant, toutes les images en mode natif (WIM), quel que soit le système d'exploitation, sont conservées dans le magasin d'image WDS. Comme je l'ai indiqué dans les articles précédents, cette fonctionnalité d'instance unique vous faisait gagner de l'espace dans les fichiers .wim lorsque les images de volume avaient des fichiers associés. Le magasin d'image WDS fonctionne de la même façon. En fait, il utilise la fonctionnalité WIM pour stocker les images.
Pour travailler avec le magasin d'image, vous devez avoir au moins un groupe d'images ; l'initialisation de WDS vous invite généralement à en créer un. Vous pouvez également créer un nouveau groupe d'images lorsque vous ajoutez une image d'installation, et l'image lui sera ajoutée (voir la figure 3).
Figure 3 Création d'un nouveau groupe d'images (Cliquez sur l'image pour l'agrandir)
Qu'est-ce que le magasin d'image ? Regardez dans le répertoire RemoteInstall, dans le répertoire Images, et vous trouverez des répertoires pour chaque groupe d'images que vous avez créés. Comme l'illustre la figure 4, il y a un fichier .wim pour chaque image d'installation que vous avez importée dans le groupe d'images et un seul fichier .rwm (Resource WIM).
Figure 4 Contenu d'un groupe d'images (Cliquez sur l'image pour l'agrandir)
Regardez attentivement les fichiers à la figure 4. Ce groupe d'images comprend :
  • install.wim (Windows Server 2008, Standard Edition)
  • install-(2).wim (Windows Server 2008, Enterprise Edition)
  • install-(3).wim (Windows Server 2008, Datacenter Edition)
  • install-(4).wim (Windows Server 2008, Standard Edition (Server Core)
  • install-(5).wim (Windows Server 2008, Enterprise Edition (Server Core)
  • install-(6).wim (Windows Server 2008, Datacenter Edition (Server Core)
Comparez à présent les tailles de ces fichiers à celles des fichiers de MMC (voir la figure 5). La taille de chaque fichier .wim de la figure 4 est une nettement inférieure à la taille du fichier .Res.rwm. Pourquoi ? Hé bien, pour économiser l'espace, les fichiers .wim affichés sont simplement des stubs des véritables fichiers. Ils contiennent les métadonnées permettant de restaurer le fichier .wim mais ne contiennent pas réellement les ressources du fichier. Toutes les ressources de fichier d'un groupe d'images sont stockées dans le fichier .rwm pour ce groupe d'images.
Figure 5 Images affichées dans le gestionnaire de serveur (Cliquez sur l'image pour l'agrandir)
Pour modifier une image d'installation dans un magasin d'image, vous pouvez exporter l'image, apporter vos modifications puis remettre en place l'image (ou l'importer de nouveau), ou vous pouvez interagir avec elle en désactivant l'image d'installation appropriée à partir de MMC et apporter vos modifications en montant et modifiant le fichier .wim.
La réplication d'image à toujours posé problème avec les RIS. Lorsque vous copiez des fichiers SIS via le réseau, le SIS est perdu car il s'agit d'un attribut NTFS. Cela signifie que si vous aviez 40 Go d'images RISetup et RIPrep et que vous les répliquiez sur un autre serveur, même si le SIS Groveler les avait réduites à seulement 5 Go, vous répliquiez toujours 40 Go via le réseau. Ce n'est pas le cas avec le magasin d'image WDS. En fait, du fait de l'architecture du magasin d'image, vous pouvez l'enregistrer sur un serveur de fichiers distribué (DFS) et utiliser Réplication DFS (DFS-R) pour le répliquer de site à site.
Les détails de cette opération varient en fonction de la version de WDS. Pour Windows Server 2003, reportez-vous au chapitre 7, « Utilisation des images », dans la documentation téléchargeable à l'adresse go.microsoft.com/fwlink/?LinkId=81031. Pour Windows Server 2008, reportez-vous à « Stockage et réplication d'images à l'aide de DFS » sur go.microsoft.com/fwlink/?LinkId=121960. Comme les ressources sont toutes stockées dans le fichier .rwm, même lorsque vous copiez un groupe d'images d'un serveur à l'autre, la quantité de données échangée est une nettement inférieure à ce qu'elle serait si chaque fichier .wim entier était transmis (ou dans l'ancienne architecture SIS des RIS).
Quand créer un nouveau groupe d'images, et quand utiliser l'ancien groupe ? Les règles sont généralement identiques à celles en vigueur pour un fichier .wim. Bien que vous puissiez mettre une image de Windows XP Professionnel SP3 dans un groupe d'images composé principalement d'images de Windows Server 2008, cela n'aurait pas vraiment de sens, car vous ne gagneriez pas beaucoup d'espace. Comme avec les fichiers .wim, vous voudrez généralement avoir un groupe d'images pour, au moins :
  • Chaque version spécifique de Windows, version étant à la fois une référence standard (Windows XP Professionnel) et une révision sous forme de Service Pack (SP3).
  • Windows Server 2003 et versions antérieures : chaque version localisée dans une langue (pas le pack d'interface utilisateur multilingue). Avant Windows Vista®, les versions localisées étaient des binaires complètement différents, donc ils ne se stockaient pas bien dans un fichier .wim en termes d'instanciation unique.
  • Chaque Service Pack de chaque version. Bien que vous puissiez stocker des images Windows Server 2008 et Windows Vista SP1 ensemble, demandez-vous si cela est intéressant du point de vue fonctionnel dans votre organisation.
Le magasin d'image, encore plus que SIS avant lui, permet d'économiser l'espace, à la fois sur disque et via le réseau, et nécessite généralement peu de travail pour continuer à fonctionner sans problème.

L'une des plus grandes faiblesses des RIS résidait dans son manque d'évolutivité. Le déploiement multidiffusion est sur le point de rectifier cela. Les gens perçoivent souvent la multidiffusion comme un déploiement plus « rapide », mais il ne s'agit pas réellement de rapidité, mais de « plus ». Vous pouviez déjà déployer plusieurs systèmes via les RIS. En fait, les RIS pouvaient gérer le déploiement simultané de quelque 75 systèmes.
Mais bien avant d'approcher de cette limite, les performances étaient affectées et chaque installation prenait de plus en plus de temps. Pire encore, lorsque le nombre d'installations augmentait, le risque de défaillance faisait de même. Parallèlement, les installations multiples saturaient votre réseau avec le trafic réseau SMB (ainsi, pendant le déploiement, les employés pouvaient ne pas arriver à accéder à des ressources réseau critiques telles que Microsoft Exchange Server).
La multidiffusion permet d'augmenter considérablement le nombre de vos déploiements. Que vous déployiez quatre serveurs ou un centre de conférence avec 100 systèmes, la multidiffusion vous permet de réaliser ce déploiement dans un délai raisonnable et sans saturer le réseau. Bien que vous puissiez utiliser la multidiffusion pour déployer un seul système, ce n'est que lorsque vous avez plusieurs systèmes écoutant la transmission que les avantages d'échelle deviennent évidents.
Pour utiliser la multidiffusion, vous devez avoir des routeurs qui prennent en charge la multidiffusion. Généralement, cela signifie que l'espionnage par Internet Group Management Protocol (IGMP) doit être activé. Vous devez également avoir Windows PE 2.1 (Windows Server 2008 RTM ou Windows Vista SP1), car la version (2.0) accompagnant Windows Vista RTM ne peut pas recevoir de transmission par multidiffusion.
Vous devez également veiller, si vous avez plusieurs serveurs WDS (ou d'autres serveurs de multidiffusion) sur le même réseau, à spécifier une plage d'adresses IP personnalisée. Celle-ci peut être facilement modifiée via la MMC WDS en cliquant avec le bouton droit sur le serveur, puis en cliquant sur Propriétés et enfin sur l'onglet Paramètres réseau.
Lors de l'exécution d'une diffusion par multidiffusion, le serveur de multidiffusion peut régler la vitesse à laquelle le client le plus lent peut recevoir, ou il peut réguler la vitesse à un niveau plus élevé et abandonner les clients qui ne peuvent pas suivre. Pour garantir la fiabilité, WDS fonctionne à la vitesse du client le plus lent recevant la transmission.
Si vous trouvez que les performances de transmission sont plus lentes que prévu, exécutez wdsutil /Get-MulticastTransmission/Show-clients. Cette commande révèle le client maître qui limite la transmission. Vous pouvez ensuite déconnecter ce client et il recommencera à utiliser SMB au lieu de la multidiffusion. Pour un exemple de script qui déconnecte automatiquement les clients lents, allez sur go.microsoft.com/fwlink/?LinkId=121961.
Pour créer une transmission par multidiffusion, vous pouvez cliquer avec le bouton droit sur une image d'installation et sélectionner Créer une transmission par multidiffusion, ou vous pouvez cliquer avec le bouton droit sur Transmissions par multidiffusion dans la console WDS et sélectionner Créer une transmission par multidiffusion. Lorsque vous créez la transmission par multidiffusion, vous pouvez créer une Diffusion automatique ou une Diffusion planifiée. La diffusion automatique est utile lorsque vous avez plusieurs clients qui viennent régulièrement en ligne, et qui ont tous besoin exactement de la même image ; les nouveaux clients seront automatiquement ajoutés à la transmission en cours qui a été établie pour le tout premier client demandant une image d'installation. La diffusion planifiée vous permet de configurer une taille de groupe qui, si elle est atteinte, entraîne le début d'une transmission.
Vous pouvez également configurer la transmission pour qu'elle démarre à une heure spécifiée. Une fois que les clients utilisent la transmission par multidiffusion, vous pouvez les afficher en cliquant sur le nom d'image. Dans le volet de droite, vous voyez les détails des clients connectés à la transmission.
Généralement, vos utilisateurs finaux utilisent la multidiffusion du client d'installation WDS. Cependant, il existe un utilitaire de ligne de commande appelé WDSMCast et intégré au kit d'installation automatisé (WAIK) de Windows Server 2008, qui vous permet de demander un fichier .wim via une transmission par multidiffusion depuis WDS. Le fichier .wim doit être transféré en intégralité et appliqué au client ; en conséquence vous devrez vérifier que l'espace disque est suffisant pour l'image à stocker et appliquer. Le mois prochain, je vous expliquerai comment intégrer WDSMCast dans votre propre processus de déploiement personnalisé.

Journalisation WDS
WDS est capable d'exécuter une journalisation et un suivi considérables, bien qu'une grande partie de cette fonctionnalité soit désactivée par défaut pour économiser de l'espace. Il existe deux types d'enregistrement des événements : lorsqu'un client écrit dans le journal des événements Windows et l'enregistrement dans les journaux de suivi pour d'autres aspects de WDS.
Cependant, dans Windows Server 2008, WDS exécute pas mal de journalisation par défaut. Ces journaux sont disponibles sous Outils d'administration | Observateur d'événements. Les journaux WDS sont visibles dans l'Observateur d'événements sous Journaux des applications et des services | Microsoft | Windows | Déploiement-Services-Diagnostic. Par souci de commodité, ce sont les mêmes journaux qui sont visibles lorsque vous affichez le rôle WDS dans MMC (voir la figure 6).
Figure 6 Affichage des événements WDS dans le gestionnaire de serveur (Cliquez sur l'image pour l'agrandir)
L'enregistrement des clients WDS (visible dans les journaux des événements de la figure 6) peut être démarré en exécutant WDSUtil avec les arguments suivants :
wdsutil /wdsclientlogging /enabled:yes /logginglevel:info
Vous pouvez également activer la journalisation de suivi sur plusieurs sous-composants de WDS. Pour configurer le suivi, définissez une valeur de Registre DWORD en conséquence sous la ou les clés de Registre, comme illustré à la figure 7. Tous les journaux de suivi sont stockés sous \Windows\tracing. Vous devez ensuite redémarrer le composant approprié pour que la journalisation commence.
Figure 7 Paramétrage de la journalisation de suivi
Composant WDS | Clé de Registre | Valeur de Registre | Nom du journal
Serveur | HKLM\SOFTWARE\Microsoft\Tracing\WDSServer\EnableFileTracing | 1 | wdsserver.log
Multidiffusion | HKLM\System\CurrentControlSet\Services\WDSServer\Providers\WDSMC\TraceDisabled | 0 | wdsserver.log
Composants de gestion | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Tracing\WDSMGMT\EnableFileTracing | 1 | wdsmgmt.log
MMC | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Tracing\WDSMMC\EnableFileTracing | 1 | wdsmmc.log
WDS dispose également de compteurs de performances (décrits à l'adresse go.microsoft.com/fwlink/?LinkId=121962) que vous pouvez contrôler en cas de problèmes de performances du système (ou pour exécuter des analyses des performances du système à l'avance). Comme indiqué ci-dessus, vous pouvez obtenir des informations plus détaillées si vous rencontrez des problèmes en utilisant les commutateurs /detailed, /verbose, ou /progress avec WDSUtil.
Si vous avez des problèmes avec des clients WDS se connectant ou interagissant avec un serveur WDS, Microsoft Network Monitor (Netmon) est un excellent outil pour déboguer ces problèmes. Network Monitor est disponible au téléchargement à l'adresse go.microsoft.com/fwlink/?LinkId=121491.

Autres problèmes
Je pense qu'il convient de mentionner deux autres problèmes. Le premier concerne la mémoire : n'oubliez pas qu'au niveau de son noyau, WDS est basé sur Windows PE 2.x. Cela signifie que les clients WDS ont besoin d'au moins 384 Mo de mémoire RAM, et idéalement de 512 Mo pour des performances optimales. Rappelez-vous également que Windows PE 2.x ne peut pas démarrer sur des systèmes non ACPI (Advanced Configuration and Power Interface), et que ce n'est pas toujours synonyme de vieux matériel. Des systèmes relativement récents ne prenant pas en charge ACPI ont été signalés.
Notez que ces systèmes ne prennent pas non plus en charge Windows Vista ou Windows Server 2008. Pour les systèmes qui ne prennent pas en charge ACPI, vous devez garder un serveur RIS ou WDS Windows Server 2003 ou version antérieure disponible, avec ces clients préconfigurés sur ce serveur, ou installer Windows via un mécanisme non-PXE.
Enfin, n'oubliez pas que si vous voulez démarrer Windows PE 1.x depuis votre serveur, vous devrez également utiliser un serveur RIS ou WDS Windows Server 2003 ou version antérieure, car WDS dans Windows Server 2008 ne peut pas démarrer une image Windows PE 1.x (RAMDisk ou PXE).

Jusqu'ici, je me suis plongé dans l'historique, les principes de base et les notions avancées de WDS. Le mois prochain, j'examinerai certains scénarios WDS personnalisés, en particulier comment vous pouvez interagir avec WDS et l'amener à exécuter les tâches pour lesquelles vous en avez besoin, souvent sans utiliser le WDS/l'installation existants.

Wes Miller est responsable de produit technique pour CoreTrace (www.CoreTrace.com) à Austin au Texas. Il travaillait auparavant chez Winternals Software et comme responsable de programme pour Microsoft. Vous pouvez contacter Wes à l’adresse suivante : technet@getwired.com.


Vigilance sécurité Mots de passe et cartes de crédit, troisième partie
Jesper M. Johansson

Sommaire
Surcharge des technologies de mise à jour
Messages incohérents sur la sécurité
Les cases à cocher en question
Appel aux armes
Dans les deux derniers numéros de TechNet Magazine, nous avons vu comment les professionnels de la sécurité et du secteur informatique dans son ensemble troublent les consommateurs et entravent les efforts de sécurité. Dans les deux premières parties de cette série, je me suis concentré sur des sujets tels que les solutions qui fournissent des informations incorrectes aux consommateurs, surchargent
le flux de travail d'ouverture de session et enseignent de mauvais comportements. Jusqu'ici, nous avons vu de nombreux exemples de la façon dont l'industrie, soucieuse de prouver son intérêt pour la sécurité des consommateurs, n'a fait qu'aggraver la situation. Dans cette troisième et dernière partie, nous verrons comment certaines des technologies les plus importantes qui sont mises à la disposition des consommateurs ne répondent pas aux attentes de ces derniers. Je conclurai en lançant un appel aux armes.

Surcharge des technologies de mise à jour
L'un des principes les plus importants, la condition sine qua non, en fait, de la sécurité électronique est de garder tout vos logiciels à jour. Presque tous les grands fournisseurs de logiciels proposent désormais un moyen semi-automatique quelconque de maintenir au moins certains de leurs logiciels à jour. Cependant, les choses ne sont pas aussi simples que cela.
Tout d'abord, plus vous avez de logiciels, plus vos mises à jour seront nombreuses. Et plus vous avez de fournisseurs de logiciels, plus les mécanismes de mise à jour à utiliser seront nombreux. Cela peut causer une certaine confusion.
Par exemple, si vous laissez les paramètres par défaut en place, Internet Explorer® se mettra à jour lui-même. Toutefois, Internet Explorer n'est qu'un conteneur pour d'autres technologies. L'impact potentiel de ce fait a été démontré à la conférence de CanSecWest de 2008 où Shane Macaulay a utilisé une combinaison de vulnérabilités dans Java and Adobe Flash pour pirater un Mac. (Les détails n'étaient pas nombreux au moment de la rédaction de cet article car la vulnérabilité n'avait pas encore été révélée). Ce que je veux dire, cependant, c'est que bien qu'aucune de ces technologies ne soit un composant intégré, elles sont toutes deux disponibles sur la plupart des ordinateurs parce qu'elles sont largement utilisées sur Internet. Toutes deux sont difficiles à maintenir à jour : elles ont chacune un mécanisme de mise à jour automatique mais qui ne se déclenche pas très souvent.
En outre, la plupart des utilisateurs finaux ne savent tout simplement pas que ces technologies sont là et qu'elles ont besoin d'être mises à jour. Dans de nombreux cas, ces technologies ont été fournies dans l'image OEM de l'ordinateur qui, pour le consommateur, est indifférenciable du système d'exploitation. Pour l'utilisateur final, si Windows® Update dit qu'il n'y a pas de mise à jour, c'est qu'il n'y a pas de mise à jour.
Le second problème est que les mécanismes de mise à jour sont souvent plus complexes que nécessaire. Il est peu probable qu'un mécanisme de mise à jour dont le mode n'est pas entièrement automatique soit largement utilisé car les utilisateurs ne savent généralement pas qu'ils doivent exécuter cet outil. En outre, dans la plupart des cas, l'utilisateur doit avoir des privilèges d'administrateur pour pouvoir installer les mises à jour, et dans le pire des cas, l'utilisateur doit avoir des privilèges d'administrateur juste pour être informé de la disponibilité d'une mise à jour.
Enfin, les fournisseurs utilisent de plus en plus des technologies de mise à jour logicielle pour déployer des logiciels sans rapport que l'utilisateur n'a pas installés, par exemple des barres d'outils. Les technologies de mise à jour logicielle qui, au départ, étaient exclusivement destinées à déployer des mises à jour de logiciels, sont désormais utilisées pour distribuer également d'autres logiciels.
En guise d'exemple, nous citerons le service Microsoft® Windows Update (figure 1) et Apple Software Update (figure 2). Apple et Microsoft ont tous deux choisi d'utiliser leurs mécanismes de mise à jour non seulement pour mettre à jour des logiciels mais aussi pour déployer des logiciels que l'utilisateur n'a pas installés au départ.
Figure 1 Utilisation de Windows Update pour déployer Silverlight (Cliquez sur l'image pour l'agrandir)
Figure 2 Utilisation des mises à jour logicielles d'Apple pour distribuer Safari (Cliquez sur l'image pour l'agrandir)
Dans le cas d'Apple, iTunes et Safari vous sont proposés même si vous n'avez installé que QuickTime. Il est intéressant de noter qu'ils sont également sélectionnés par défaut.
Dans le cas de Windows Update, le logiciel le plus récemment déployé par le service de mise à jour est Silverlight™. Microsoft a utilisé cette technique dans le passé pour distribuer de nouveaux logiciels. À son crédit, au moins Microsoft n'a-t-il pas coché par défaut la case d'installation des nouveaux logiciels.
Cette stratégie de distribution de nouveaux logiciels via un mécanisme de mise à jour cause deux problèmes aux utilisateurs. Tout d'abord, beaucoup de ces utilisateurs finiront par avoir sur leurs ordinateurs un nombre de logiciels beaucoup plus important qu'ils n'en avaient au départ. Comme vous le savez, les logiciels, quels qu'ils soient, comportent des bogues, et certains de ces bogues peuvent entraîner des vulnérabilités en matière de sécurité. Et certaines de ces vulnérabilités finiront par être utilisées dans des attaques. Par conséquent, certains utilisateurs seront attaqués par des logiciels dont ils n'ont pas besoin ou qu'ils n'utilisent même pas et qui ont été déployés sur leur ordinateur par un mécanisme de mise à jour logicielle.
En outre, les utilisateurs peuvent se faire une fausse idée de la valeur des mécanismes de mise à jour logicielle. Si les utilisateurs découvrent que les mécanismes de mise à jour logicielle sont utilisés pour déployer des logiciels au lieu de proposer de nouvelles mises à jour, ils risquent de les considérer comme étant inutiles et de ne plus les utiliser. Imaginez ce que doit ressentir un utilisateur qui a été victime d'une attaque via une vulnérabilité provenant d'un programme qu'il n'utilise jamais mais qu'il a installé par le biais d'un mécanisme de mise à jour logicielle !
L'intégrité et la sécurité de l'écosystème technologique peuvent être sérieusement compromises si les utilisateurs ne font plus confiance aux technologies chargées d'assurer leur sécurité. Une fois que les utilisateurs auront perdu cette confiance, ces technologies commenceront à être rejetées et ne seront finalement plus utilisées. Si les technologies qui sont essentielles à la protection, telles que les technologies de mise à jour, ne bénéficient plus de la faveur du grand public, l'ensemble de l'écosystème technologique sera compromis. La protection de cet écosystème constitue la raison pour laquelle Microsoft distribue des mises à jour de sécurité même aux ordinateurs qui exécutent des logiciels piratés.
Par comparaison, j'ai beaucoup de respect pour l'interface de mise à jour de Mozilla Firefox, propre et conçue pour un usage bien déterminé, et illustrée par la figure 3. J'espère que Mozilla continuera d'éviter la tentation de distribuer des logiciels supplémentaires via son outil de mise à jour logicielle.
Figure 3 L'interface de mise à jour logicielle de Firefox est l'une des plus propres de l'industrie (Cliquez sur l'image pour l'agrandir)

Messages incohérents sur la sécurité
Ce serait quand même formidable si l'industrie se mettait d'accord, un jour, sur un message commun à envoyer aux consommateurs. Bien sûr, la concurrence dans l'industrie est essentielle, mais les consommateurs ont besoin de savoir ce que le terme sécurité doit signifier pour eux. Malheureusement, ils ne le sauront pas si l'industrie continue de leur envoyer des messages contradictoires. Franchement, je serais déjà satisfait si les entreprises commençaient déjà par mettre un peu de cohérence dans leurs propres messages.
Certes, l'industrie n'acceptera probablement jamais de se mettre d'accord sur un message commun, mais les entreprises doivent au moins faire preuve de cohérence et d'honnêteté dans leurs messages. Vu qu'il est absolument vital que les clients continuent à faire confiance aux technologies de sécurité, l'industrie dans son ensemble doit faire mieux.
Parallèlement, nous devons aussi remettre en question ce qui représente de la valeur aujourd'hui. Par exemple, je ne crois pas que les antivirus soient aussi efficaces ou même critiques aujourd'hui que ne le laisse entendre l'industrie. Considérons l'ordinateur que mon fils, âgé de sept ans, utilise et l'ordinateur qui se trouvent dans ma cuisine. Tous deux sont dotés de logiciels antivirus depuis trois ans, et durant tout ce temps, aucun n'a lancé d'alerte pour quoi que ce soit. Je ne dis pas que nous devrions oublier les antivirus ; à ce stade, ils représentent un composant fondamental de l'écosystème technologique. Il est clair que si nous désinstallions brusquement tous les antivirus, les pirates ne tarderaient pas à en profiter et nous commencerions à voir davantage d'infections.
Ce que je veux dire, c'est que l'industrie doit réfléchir sur les fonctionnalités dont les utilisateurs ont vraiment besoin dans leurs produits de sécurité, sur l'efficacité de ces fonctionnalités et sur la façon dont les entreprises communiquent ces besoins et ces valeurs aux consommateurs. Pour le moment, les utilisateurs reçoivent beaucoup trop de messages contradictoires, exagérés et souvent faux sur la sécurité.

Les cases à cocher en question
En guise d'exemple, l'industrie des logiciels de sécurité ne jure que par les suites. Aujourd'hui, les logiciels de sécurité sont presque exclusivement distribués sous forme de lots de fonctionnalités sans aucun rapport apparent. Et il n'y a pas pratiquement pas d'informations sur les fonctionnalités dont les utilisateurs ont réellement besoin.
Cela semble se traduire par une course effrénée à la coche Si listes de vérification représentent, certes, un bon moyen de comparer des produits, elles peuvent aussi donner naissance à des fonctionnalités qui ne sont pas nécessaires ou désirables, ou même qui n'ont aucun sens. Les figures 4 à 7 présentent quatre listes de coches de quatre fournisseurs de logiciels de sécurité différents. Est-il logique de supposer que le produit comportant 17 coches est supérieur à celui qui n'en a que 10 ?
En réalité, je trouve ces figures plutôt amusantes. À la figure 4, le produit a reçu une coche parce qu'il s'agit d'une nouvelle version. Le produit de la figure 5 obtient une coche car, d'après l'entreprise, « il empêche les attaques provenant de sites Web détestables ». Le produit de la figure 6 obtient des points supplémentaires parce qu'il « protège les enfants en ligne ». Il est évident que personne ne voudrait d'un produit qui ne protègerait pas les enfants. Le gagnant obtient, toutefois, le prix de la créativité pour avoir inclus des fonctionnalités telles que le nettoyage de Registre et la défragmentation de disque dur dans une suite de sécurité. La première fonctionnalité est rarement, voire jamais, nécessaire et la seconde est déjà intégrée au système d'exploitation. En fait, le système d'exploitation Windows inclut déjà des solutions pour 15 des 17 coches illustrées par la figure 7.
Figure 4 Ce produit haut de gamme possède seulement 10 coches (Cliquez sur l'image pour l'agrandir)
Figure 5 Ce produit avec 11 coches doit être meilleur (Cliquez sur l'image pour l'agrandir)
Figure 6 Attendez ! Celui-ci a 12 coches (Cliquez sur l'image pour l'agrandir)
Figure 7 Mais ce produit à 17 coches doit être le meilleur, non ? (Cliquez sur l'image pour l'agrandir)
Nous constatons ici des tendances inquiétantes. Non seulement ces produits dupliquent des fonctionnalités qui existent déjà dans le système d'exploitation (chose que l'on a oublié de mentionner dans les documents de marketing), mais ils affirment également des choses qui ne sont absolument pas vraies. Par exemple, aucun logiciel de sécurité au monde ne peut véritablement arrêter les attaques ; il ne peut que contribuer à les empêcher. De même, aucun produit ne peut vraiment cacher votre présence aux pirates.
Le problème, c'est que la sécurité logicielle a été principalement conçue autour de la protection des utilisateurs contre des vulnérabilités rendues possibles par des produits créés par d'autres fournisseurs. Toutefois, comme ces fournisseurs sont de plus en plus aptes à protéger leurs propres clients, le modèle commercial de l'industrie de la sécurité logicielle est menacé. Pourtant, l'industrie de la sécurité logicielle a assurément beaucoup à offrir à mesure que de nouvelles menaces apparaissent ; toutefois, les fournisseurs doivent aider les clients à gérer les risques, et non pas simplement à éviter des menaces qui ne sont plus vraiment des menaces.

Appel aux armes
S'il y a une chose que j'aimerais que les lecteurs retiennent de cette série en trois parties, c'est qu'en tant qu'industrie, nous devons être honnêtes avec nos utilisateurs et nos clients. Nous devons expliquer les risques et comment leur faire face. Et nous devons enfin commencer à offrir aux utilisateurs ce dont ils ont besoin pour se protéger.
Ma plus grande inquiétude à propos de toutes ces « solutions », c'est qu'il y a de bonnes chances qu'elles dégradent la sécurité à long terme. Si les utilisateurs, et même les responsables informatiques, pensent réellement que ces produits résoudront les risques de sécurité réels, en particulier tous les risques que ces produits prétendent à tort pouvoir neutraliser, nous risquons de perdre l'occasion de montrer aux consommateurs comment ils peuvent véritablement se protéger.
Prenons l'exemple des systèmes d'authentification par mot de passe. Si les utilisateurs pensent qu'ils sont effectivement protégés par les modules complémentaires faibles ajoutés aux systèmes d'authentification par mot de passe dont j'ai parlé dans la première partie de cette série, ils peuvent devenir encore moins vigilants et utiliser des mots de passe encore plus faibles. Dans les pires cas que j'ai soulignés dans cette série, la technologie oblige en fait l'utilisateur à utiliser une sécurité plus faible que celle qu'il aurait utilisée si la nouvelle technologie n'avait pas été implémentée. Cela signifie que lorsque les utilisateurs malveillants trouveront le moyen de vaincre ces systèmes, ce qui n'est souvent pas compliqué, nos problèmes de sécurité empireront. Cela pourrait ébranler la confiance de manière considérable et pousser les utilisateurs à se détourner des solutions possédant une vraie valeur.
Nous devons prendre des mesures maintenant pour protéger l'écosystème technologique sur lequel reposent nos entreprises. L'innovation doit, bien sûr, être encouragée, mais nous devons également tout faire pour éviter que des innovations non nécessaires n'entravent l'analyse des risques réels, sinon, nous n'aurons qu'une comédie sécuritaire qui finira par se retourner contre nous.
Il en va de même pour les autres exemples que j'ai abordés. Prenez le mirage de sécurité, par exemple. Il n'est d'aucune utilité : il donne aux utilisateurs un faux sentiment de sécurité et permet aux fournisseurs de service en ligne d'offrir des optimisations qui causent des dommages indirects aux utilisateurs. Entre temps, il suffirait de quelques milliers d'euros, ou peut-être de quelques dizaines de milliers d'euros dans les cas les plus extrêmes, pour fournir aux utilisateurs les informations dont ils ont besoin. Est-ce vraiment trop demander aux fournisseurs que de consacrer une telle somme à la protection de leurs clients et de leurs entreprises ?
Les implications d'une telle situation sont nombreuses. Tout d'abord, nous devons combattre la perception selon laquelle les utilisateurs sont incapables de prendre des décisions et doivent donc en être empêchés. Il est tout à fait possible de montrer aux utilisateurs comment prendre des décisions. Après tout, ces utilisateurs ont déjà pris de nombreuses décisions : ils ont notamment décidé d'acheter un ordinateur, d'utiliser votre site, d'acheter l'un de vos produits ou de vos services, etc. Tout comme les gens doivent apprendre à conduire une voiture en toute sécurité, ils doivent apprendre à utiliser un ordinateur en toute sécurité. Aujourd'hui, les attaques ciblent les utilisateurs personnellement, et la technologie ne peut pas écarter les utilisateurs pour prendre les décisions à leur place. Les technologies de sécurité doivent plutôt être des systèmes d'aide à la décision, qui fournissent les bonnes informations au bon moment pour permettre à l'utilisateur de prendre une décision intelligente.
Les pires interfaces utilisateur au monde proviennent de solutions de sécurité parce que les applications ont été conçues pour empêcher l'utilisateur de prendre tout type de décision ou pour décharger (froidement) sur lui toutes les données disponibles. Aucune de ces approches ne fonctionne. La première met les utilisateurs en péril parce qu'il n'est pas possible de se reposer sur la technologie pour faire le bon choix. Et si la technologie est perçue comme étant un frein aux objectifs professionnels de l'utilisateur, elle ne tardera pas à être désactivée. La seconde conception, quant à elle, n'est pas appropriée parce que les gens n'aiment pas trop entendre parler d'adresses IP, d'ID de processus et d'autres données qui ne signifient rien pour eux. Ils souhaitent tout simplement savoir ce que l'ordinateur fait avec leurs mots de passe et leurs cartes de crédit. C'est là, après tout, le vrai objectif de la sécurité.

Jesper M. Johansson est architecte de logiciels, chargé des problèmes de sécurité logicielle et contribue à l’élaboration de TechNet Magazine. Titulaire d'un doctorat en systèmes d'informations de gestion, il a plus de 20 ans d'expérience dans le domaine de la sécurité et est MVP dans le domaine de la sécurité d'entreprise. Son dernier ouvrage s'intitule Windows Server 2008 Security Resource Kit.


Sur le terrain Innovation de l'intérieur
Romi Mahajan

Dans son livre The Future of Management, le célèbre gourou en gestion et stratège en entreprise Gary Hamel affirme que l'avantage comparatif à long terme provient de la création d'une culture d'innovation qui est elle-même un produit de l'évolution des technologies de gestion. Alors que dans de nombreux domaines, l'industrie n'a pas cessé d'innover et de se réinventer, la plupart des entreprises baignent encore dans une culture d'encadrement hiérarchique. Celle-ci empêche toute culture vraiment innovatrice d'émerger tout simplement parce qu'elle n'engendre pas de retour intéressant sur la créativité et le capital humains.
Ces hiérarchies sont des obstacles à l'innovation. La créativité humaine, lorsqu'elle est déployée, constitue le moteur essentiel pour un avantage comparatif innovateur et à long terme. Lorsque la créativité est bridée, plus de 80 % des employés ne s'investissent pas dans leur travail. Hamel est persuadé que ce n'est pas seulement un échec commercial mais aussi un échec moral.
À un niveau très fondamental, cela devrait être pour l'industrie une incitation à bannir une hiérarchie excessive. Par essence, l'argument est fondamentalement anti-bureaucratique. Le pouvoir de prise de décision ne devrait pas reposer sur des dirigeants inaccessibles et des cadres surpayés.
Hamel affirme que c'est l'encadrement, pas l'équipe informatique, qui est la source d'innovation. Après tout, l'informatique peut être considérée comme un produit de base et, par conséquent, comment peut-elle fournir un avantage comparatif ? Si l'informatique n'est pas la source d'innovation, et si les gains de productivité, la durée de fonctionnement, la fiabilité, l'intégration des nouvelles applications et l'authentification unique (et autres) ne peuvent pas fournir un avantage comparatif, alors qu'est-ce qui nous préoccupe tant ?
Êtes-vous disposés à analyser en profondeur vos organisations informatiques et vos entreprises dans leur ensemble pour voir si peut-être, le point soulevé par Hamel est valable ? Comment pouvez-vous être sûrs que l'informatique n'est pas considérée comme un produit de base ?
En intégrant les meilleurs concepts de Hamel et en les utilisant pour aider les organisations informatiques à sécuriser leur avenir en tant que centres d'innovation, j'ai développé une théorie appelée Innovation de l'intérieur. L'utilisation optimale de la créativité et du capital humains est la clé d'un avantage comparatif soutenu, et les grandes organisations doivent rendre l'innovation intrinsèque à leur fonctionnement. Les organisations doivent ouvrir leurs bras à la communauté, pas à la bureaucratie. Plus important encore, l'encadrement entrave trop souvent l'innovation ; c'est seulement lorsque l'encadrement évolue qu'une véritable innovation est possible.
Examinons les organisations. Les membres des départements informatiques sont souvent très intelligents, dévoués et prêts à apporter leur contribution. Souvent appelés pour faire beaucoup avec peu de ressources, ils passent la plupart de leur temps à exécuter des tâches de base, ce qui laisse peu de temps à l'innovation.
Mon concept d'innovation de l'intérieur applique la théorie de Hamel au secteur de l'informatique. Les principes fondamentaux sont les suivants :
  • Étant donné la créativité inhérente à l'équipe informatique, il est de notre intérêt d'assurer un modèle d'encadrement informatique qui utilise ce potentiel.
  • L'innovation vient du processus systématique et irrévérencieux de pensée-essai-erreur-révision, processus inhérent à l'informatique.
  • Lorsque la communauté est parfaitement et ouvertement intégrée, des solutions techniques émergent. L'équipe informatique peut montrer le chemin, en commençant par elle-même !
  • En informatique, les personnes sont la seule source d'avantage comparatif.
  • L'encadrement informatique doit évoluer de la focalisation sur un projet et un budget à une nouvelle et passionnante approche de gestion de l'innovation.
  • Il ne doit pas être question d'endiguement des coûts, mais plutôt de création de résultats intéressants.
Êtes-vous prêt à croire en cette théorie ? Pouvons-nous appliquer le concept d'innovation de l'intérieur et démontrer que les organisations informatiques sont le lieu adéquat pour mener cette expérience fantastique ? Les dirigeants sont-ils prêts à abandonner le pouvoir et à collaborer avec leurs propres communautés ? La direction est-elle prête à renoncer à son pouvoir et à accueillir notre intelligence collective ?

Romi Mahajan est directeur marketing en chef chez Ascentium Corporation. Avant de rejoindre Ascentium, il a passé plus de sept ans chez Microsoft où sa dernière fonction était celle de Directeur de l'équipe Technical Audience and Platform Marketing. Romi est largement publié dans les secteurs de la technologie, la politique, l'économie et la sociologie.


La vie secrète de Windows Windows 95 débranché
Raymond Chen

Bien que les programmes 32 bits pour Windows® 95 pussent utiliser un compilateur 32 bits ordinaire et que les programmes 16 bits eussent été en mesure d'utiliser un compilateur 16 bits ordinaire, Windows 95 lui-même avait besoin d'un compilateur spécial capable de comprendre les univers 32 bits et 16 bits et de les rapprocher. Windows 95 avait également besoin d'un éditeur de liens personnalisé qui comprenne comment coller ces deux types de code ensemble, et d'un éditeur de liens personnalisé pour VxDs (le format de pilote pour Windows 95).
L'équipe de Windows 95 comptait sur la division des langages et outils pour fournir ces compilateurs et éditeurs de liens spéciaux. Je suis sûr que la division de langages a trouvé cette requête étrange : « Vous voulez que nous écrivions un compilateur qui fasse X, Y, et Z et qui sera utilisé pour compiler uniquement deux DLL dans toute sa vie » ? C'est vrai. Mais il s'agissait, après tout, de deux DLL assez importantes.
Malgré l'absurdité apparente de la requête, la division des langages et outils a rempli sa tâche, et le compilateur et l'éditeur de liens extrêmement spécialisés sont devenus des éléments à part entière du processus de construction de Windows 95. Bien sûr, le compilateur n'a pas immédiatement pris sa forme définitive. L'équipe Windows a reçu une version préliminaire, puis des mises à jour périodiques à mesure que de nouvelles optimisations étaient implémentées les bogues corrigés.
Un jour, la construction de Windows 95 a subitement commencé à ralentir considérablement. Un fichier dont la liaison prenait quelques secondes prenait brusquement plusieurs minutes. Le fichier était toujours généré correctement, mais cela prenait une éternité. Et ce n'était pas juste sur la machine d'un seul développeur ; le problème a frappé tous les membres de l'équipe. Notre code avait-il soudain rencontré un cas pathologique dans l'éditeur de liens ? Étions-nous tombés sur un bogue de l'éditeur de liens ?
Après un peu de débogage, nous avons identifié la source du problème. La version la plus récente de l'éditeur de liens contenait un code de diagnostic que les collègues de l'équipe des langages avaient oublié de supprimer avant de transmettre le code à l'équipe Windows. Ce code de diagnostic enregistrait ses résultats dans un fichier qui était stocké sur un ordinateur qui se trouvait dans le bureau d'un membre de l'équipe du compilateur. Et l'ordinateur était éteint. (Ceci me fait penser à Leslie Lamport, et à sa fameuse description du système distribué comme étant un système où vous ne pouvez pas faire votre travail parce qu'un ordinateur dont vous n'avez jamais entendu parler est en panne).
Cette version de l'éditeur de liens avait tourné tranquillement pendant des semaines. Chaque fois que quelqu'un essayait de lier un VxD pendant la création de Windows 95, une mise à jour était apportée au fichier stocké dans cet ordinateur de développement. Tant que cet ordinateur était resté allumé et connecté au réseau, personne n'avait jamais rien remarqué. Mais un jour, cet ordinateur avait été éteint et tout avait commencé à ralentir considérablement.
Une fois le problème identifié, il n'a pas fallu très longtemps à l'équipe du compilateur pour fournir à l'équipe Windows un correctif qui supprimait le code de diagnostic de l'éditeur de liens.
Cette histoire à une chute différente en fonction de qui la raconte. Lorsque je raconte l'histoire, la chute est « Et ce développeur du compilateur a plus tard été muté à l'équipe de Windows et a fini par devenir mon chef ». Je me suis souvent amusé à raconter cette histoire pour le taquiner gentiment.
Cependant, si mon chef raconte l'histoire, la chute est très différente : « Et il se fait que je n'avais même pas écrit ce code de diagnostic. C'était un de mes collègues, qui avait décidé qu'au lieu d'encombrer son propre ordinateur des informations de diagnostic, il encombrerait le mien ! »

Le site Web de Raymond Chen, The Old New Thing, et son livre du même titre traitent de l’historique de Windows et de la programmation Win32. Son ADN est rempli de code mort.