[Teched 2007] Windows Server 2008 for Developers - Application Compatibility
Jason Olson - Microsoft Evengelist
Objectifs de la session: identifier les éventuels problèmes de compatibilité de vos applications sous Windows Server 2008 en les diagnostiquant et en les contournant.
Cette session m'a surtout permi de découvrir quelques aspects spécifiques de Windows Serveur avec lesquels je ne suis pas spécialement familier tels que:
WRP: Windows Resource Protection, il s'agit du système qui vérifie que les programmes d'installations sont trusté, et empêche les installations des elements: DLL, modification de base de registre... Il est nécessaire de passer outre pour permettre une installation sans encombres.
Session 0 Isolation: La session 0 est la session Windows dans laquelle les services vont être executés. (l'utilisateur se log dans la session 1 sous Vista et WS 2008). L'intêret d'executer vos services dans la session 0 est qu'il empêche ceux-ci d'intéragir avec les applications utilisateurs.
Mantadory Integrity Control (MIC): Un process est éxécuté a un niveau de sécurité intégré: system (processus systeme), High (applications ayant besoin de droits administratifs), medium et low. Il est possible en ligne de commande de modifier le "Mandatory Level" avec l'outil "icacls" et de regarder avec quel niveau une application s'éxécute avec l'outil de sysinternal "accesscheck". Démonstration en utilisant un command prompt classique (mode medium) et en temps qu'administrateur (mode high): un fichier modifié en high par un administrateur ne sera plus modifiable dans un autre mode.
UI Privilege Isolation (UIPI): Empeche les applications d'envoyer des messages au applications s'executant dans un integrity level plus elevé (a moins que celles-ci ne l'autorise explicitement).
Detour ensuite par quelques nouveautés de Windows Server 2008:
Changement dans Active Directory:
- Modification de plusieurs noms d'application avec WS 2008 (y compris ADAM)
- Possibilité d'utiliser un controleur de domaine en mode "Read Only". Ce mode permet de dupliquer un DC principal afin d'améliorer les performances entre un siége et une filliale par exemple. Le passage d'un DC classique en Read Only se fait très simplement: cela signifie donc que les clients peuvent potentiellement le faire prochainement, problème, les application devant écrire sur le domaine controlleur échoueront ou seront extremement lentes (le temps de repliquer sur le DC principal).
Component Features
- Présentation de l'outil "Server Manager", évolution de la console MMC de base, permettant de configurer le serveur. Dans cette fenêtre apparait la notion de "Feature" (tiens cela fait penser à SharePoint ça). WS 2008 est livré avec la seule feature ".NET Framework 3.5" d'activée. Il est ensuite possible d'activer de nouvelles features telles que Remote Desktop, RPC Over HTTP, prise en compte de media, application server (comme cela se fesait sous la forme de rôles serveurs avant)...
- Pour vos applications, cela signifie qu'il faut se méfier car certaines options de WS 2003 sont maintenant représentées par ces features qui sont desactivées par défault.
Failover Clustering
Ensemble de nouvelles API ajoutant des fonctionnalitées permettant de développer des applications exploitant au maximum un déploiement sur cluster. Il existait une API dans WS 2003 rendu obsoléte, pour fonctionner sous cluster 2008 celles-ci doivent donc être re-écrite avec la nouvelle API.
Windows Firewall
Installé et activé par défault sous WS 2008. Les setup nécessitant l'ouverture de ports spécifiques ne fonctionneront donc pas. Il est par contre possible d'utiliser l'API INetFwPolicy2 pour contourner le problème en utilisant une gestion de la sécuritée avancée. A noter qu'il n'est pas possible de piloter le Firewall directement depuis .NET.
IIS 7
- Nouvelle API .NET pour l'extensibilité (traité dans d'autres sessions)
- ISAPI toujours supporté
Server Core
Présentation de WS 2008 Server Core (une première de mon coté), la version allegée de tous composants superfluts.