A Propos

MS MVP Logo

View Marc Lognoul [MVP]'s profile on LinkedIn

Limite de Responsabilité

Le contenu de ce site, échantillons de codes, scripts ou fichiers de configuration sont délivrés "TEL QUEL" et ne confèrent aucun droit ni garantie. Ce site ne reflète en aucun cas les pensées, intentions, projets ou stratégies de nos employeurs, clients, amis ou membre de nos familles. Il est uniquement l’expression de nos opinions personnelles.

Notes Techniques et Tutos

    Désactiver la validation PAC II : Pour ne pas se faire encore avoir !

    by Antho 17. mai 2010 20:07

    Je ne m’attendais pas à recevoir un tel retour par mail à ce sujet (si peu passionnant), et je ne parle pas que des sites de référencement. Cela me motiva donc à boucler la boucle en exécutant de nouveaux tests intensifs avec Windows 2008 (SP2) ainsi que Windows 2008 R2 afin de couvrir tous les cas de figure.

    En résumé, quand la vérification de la signature PAC va-t ’elle se réaliser ?

    Le tableau ci-dessous nous montre les différents scénarios possibles :

    OS Serveur / Application
    ou Service Cible

    2003 Serveur pre-SP2

    2003 Serveur SP2 et supérieur,
    avec configuration additionnelle de la base de registre

    2008 Serveur,
    2008 Serveur R2

    File & Print Sharing

    PAS de Validation

    PAS de Validation

    PAS de Validation

    Exchange Server

    Validation

    PAS de Validation

    PAS de Validation

    SQL Server

    Validation

    PAS de Validation

    PAS de Validation

    IIS dont le pool d’application tourne dans le contexte Local System ou Network Service

    Validation

    PAS de Validation

    PAS de Validation

    IIS dont le pool d’application tourne dans le contexte d’un utilisateur du domaine

    Validation

    Validation

    Validation

    En bref, la seule différence entre Windows Serveur 2003 et 2008/2008R2 est que la base de registre n’a plus à être modifiée puisque la valeur par défaut est inversée depuis 2008.

    Une fois de plus, le point important ici est: si vous configurez Kerberos sur une ferme IIS (Sharepoint ou “simple” ASP.Net), la validation PAC sera TOUJOURS effectuée, quoique vous fassiez pour l’en empêcher A MOINS que l’application ne se voit accorder le droit « Autorisation d'agir dans le cadre du système d'exploitation », et en fasse usage.

    Si l’application cible s’est vue accorder le privilège seTcb et en fait usage :

    Accorder le privilège seTcb n’est pas suffisant parce qu’il sera désactivé par défaut jusqu’à ce que l’application le requière. Mais pourquoi en aurait-elle besoin ? Pour différentes raisons ce privilège peut être nécessaire par l’application du serveur. Deux usages courants sont expliqués dans les sections ci-dessous.

    Transition de protocole

    La transition de protocole est l’habilité pour une application serveur de déléguer les crédentiels d’un utilisateur vers un service back-end utilisant Kerberos, bien que non soumis de cette manière par le client.

    En clair, cela signifie qu’un utilisateur peut être authentifié par un service utilisant des protocoles autres que Kerberos, tels que Basic, NTLM ou digest et que ce service, en utilisant cette particularité, transformera les crédentiels afin de les présenter à un autre serveur.

    Exemple : un utilisateur qui s’authentifie à SharePoint en utilisant NTLM, désire utiliser le service de reporting qui tourne sur un second serveur. Le serveur SharePoint fera la transition nécessaire afin de transférer (appelé « déléguer ») les crédentiels de l’utilisateur au serveur SRS en utilisant Kerberos.

    Ken Schaefer, MVP IIS, nous en donne un excellent aperçu sur son blog (en anglais) : IIS and Kerberos Part 5 - Protocol Transition, Constrained Delegation, S4U2S and S4U2P.

    Services pour l’utilisateur (S4U – Services for user)

    Les extensions S4U sont étroitement liées à la transition de protocole. Pour faire très court, elles permettent, sous certaines conditions, à une application d’effectuer un logon pour le compte de l’utilisateur sans connaître son mot de passe.

    Cette caractéristique est, par exemple, utilisée dans le produits IAM (Identity Access Management) ou SSO (Single Sign-On) tels que IBM TAM/WebSEAL ou CA SiteMinder.

    Pour chacune des technologies, puisque l’utilisateur ne s’authentifie pas à l’origine en utilisant Kerberos, il n’y a pas de PAC à valider.

    OK. Mais finalement, pourquoi désactiver la validation PAC est si importante ?

    En fait, je ne dirais pas que c’est « si important ». Cela peut permettre d’améliorer les performances sous certaines circonstances. Puisque, pour faire bref, le PAC est vérifié par l’application serveur avant d’accorder un Ticket-Granting-Service (TGS) au client, cela n’est pas effectué à chaque requête tant que le TGS reste valide (note : il existe certaines exceptions à cette règle). MAIS dans certains cas, la vérification initiale peut prendre un certain temps car 1) l’AD du client est distant (en termes de réseau, nombre de sauts, latence, bande passante, …) de l’AD du serveur ou 2) l’AS du client est trop chargé. Cela donne donc la fausse impression que l’authentification du client au serveur est ralentie alors qu’on s’attend à une nette amélioration en passant à Kerberos.

    Ressources additionnelles (en anglais)

    · MSDN Patterns & Practices - Protocol Transition with Constrained Delegation Technical Supplement

    · MSDN Magazine April 2003 - Exploring S4U Kerberos Extensions in Windows Server 2003

    · MSDN - [MS-APDS]: Authentication Protocol Domain Support Specification

    Marc

    (traduit de l’anglais par Anthony)

    Tags:

    AD | IIS | Sécurité | SharePoint | Windows

    Petit Condensé de l'installation Automatisée de SharePoint (WSS3 et MOSS2007)

    by Marc 31. mars 2010 13:22

    Il existe déjà pas mal d’articles ou de de blogs traitant du sujet il est vrai. Mais ayant beaucoup travaillé pour de nombreux clients sur le sujet, j’avais envie de livrer une approche complète (toutes les étapes, y compris avant et après installation) de manière peu détaillée (lien vers de bonne sources d’informations, détaillées elles) afin de tenir dans un blog sans souffrir d’une longueur rébarbative.

    Dans l’ordre voici les étapes d’une installation complète (sans toutefois tenir compte des dépendances de type comptes techniques, Active Directory, Reverse-proxy etc…)

    Les Frameworks .Net

    Le niveau de version des Framework dépend du code qui tournera sur vos applications.

    Attention : il faudra tenir compte des redémarrages éventuels (et très probables)

    Les Frameworks supportes les paramètres d’installation /q (quiet) /norestart (empêcher le redémarrage automatique si celui-ci est requis)

    N’oubliez pas d’installer les MAJ si nécessaire. Les paramètres sont identiques pour la plupart

    IIS

    Installer IIS est relativement simple, la méthode dépendant de la version choisie :

    Configurer IIS peut se révéler complexe en fonction des éléments que l’on veut paramétrer et de la version utilisée

    SQL Server

    L’installation de SQL dépend de la version et du choix au niveau SharePoint

    Pour paramétrer SQL Server, il faut la plupart du temps recourir à des scripts en Transact-SQL exécutable à partir, par exemple, de SQLCMD (http://msdn.microsoft.com/en-us/library/ms162773.aspx) voir utiliser les SQL Management Objects (http://msdn.microsoft.com/en-us/library/ms162169.aspx et http://msdn.microsoft.com/en-us/library/dd206997.aspx) à travers PowerShell

    Les Binaires SharePoint

    L’installation des binaire consiste à installer les composants nécessaires à SharePoint grâce à une série de packages MSI. C’est à ce moment que le type de serveur peut-être spécifié : WFE (frontal) Application ou Standalone (incluant donc SQL Server). C’est également le moment ou la clé d’activation est fournie ainsi que la version exacte de MOSS (Standard ou Enterprise). Attention, la clé fournie prend le pas sur le paramètre.

    Le tout se fait grâce à la commande setup.exe et son fichier d’entrée au format XML : WSS (http://technet.microsoft.com/fr-fr/library/cc288033.aspx), MOSS (http://technet.microsoft.com/fr-fr/library/cc262897.aspx)

    Il ne faut pas oublier d’en faire de même pour la language packs (http://technet.microsoft.com/en-us/library/cc288518.aspx)

    C’est également l’occasion d’incorporer les mises à jour, grâce au répertoire « Updates » (http://technet.microsoft.com/en-us/library/cc261890.aspx)

    Créer ou joindre une ferme

    La commande PSCONFIG effectuera les mêmes opérations que l’assistant d’installation avec un avantage : pouvoir spécifier le nom de la base de données de contenu du Central Admin et dès lors éviter l’affreux GUID : http://technet.microsoft.com/fr-fr/library/cc263093.aspx

    C’est également PSCONFIG qui mettra en place l’application Central Admin.

    Paramétrage de base

    Paramétrage avancé

    Beaucoup d’éléments de configuration (liés aux SSP en particulier) ne sont hélas pas directement accessibles via STSADM en standard. Il vous faudra soit recourir à :

    Des extensions de STSADM

    Du développement .Net (applications console par ex.)

    Des scripts PowerShell s’apparentant à du développement (usage quasi identique des API)

    Toutefois, certains paramètres avancés sont accessibles avec STSADM :

    Paramétrage IIS Post-Déploiement de SharePoint

    Une fois SharePoint déployé et paramétrer, la configuration IIS peut être finalisée :

    • Les Applications Pools
    • Les Paramètres spécifiques par Web Application

    Dans les deux cas, les méthodes détaillées plus haut (section IIS) s’avèreront être suffisantes dans la plupart des cas

    Gestion de sites et Ajout de contenu

    Pour ajouter du contenu, il est préférable de toujours recourir à l’utilisation des API, soit avec une application soit avec PowerShell :

    Active Directory

    Si vous utilisez Kerberos, la commande SETSPN (http://technet.microsoft.com/en-us/library/cc773257(WS.10).aspx) facilitera le paramétrage des Service Principal Names

     

     

    Si le déploiement automatisé est un facteur clé de l’industrialisation de votre environnement SharePoint, il convient de le renforcer par un Framework de déploiement afin d’en faciliter la gestion.

    Le Microsoft Deployment Toolkit 2010 (http://technet.microsoft.com/en-us/solutionaccelerators/dd407791.aspx) peut s’avérer d’une aide précieuse. Il existe également des alternatives commerciales

     

    Informations additionnelles

     

    C’est tout pour aujourd’hui, à chaque jour suffisant sa Payne, Max!

    Marc

    Tags:

    AD | Administration | IIS | SharePoint | Windows | Windows Server

    Plus aucune bonne raison de de ne pas passer à IIS pour vos projets web!

    by Marc 28. février 2010 07:42

    Microsoft France frappe très fort en mettant à disposition dès maintenant et gratuitement 5.000 serveurs tout équipés jusqu’au 30 juin pour vous permettre de tester IIS ainsi que des produits de gestion de contenu web tels que Joomla, Drupal, WordPress, DotNetNuke etc dans leurs moindres détails!

    Et après le 30 juin me direz vous? Et bien c’est simple, vous pourrez soit transférer votre serveur chez vous, soit vers un hébergeur proposant des solutions basées sur IIS!

    Ma Plateforme Web

    Cette initiative sera également l'occasion pour moi de poster quelques billets concernant IIS alors n'hésitez pas à repasser pas ici de temps en temps!

    Marc

    Tags:

    IIS | Windows | Divers

    Une MAJ est disponible pour Windows 7 et Server 2008 R2 permettant la restauration de sauvegardes effectuées à l'aide de NTBACKUP sur Windows XP et Server 2003

    by Marc 30. janvier 2010 11:42

    Tags:

    Sauvegarde et restauration | Windows | Support

    WinSxS: Toujours à l’origine de beaucoup de débats

    by Marc 25. janvier 2010 14:37

    La sortie de Windows Seven ne tarit pas vraiment le flot de questions sur le répertoire WinSxs, son utilitié et surtout sa taille…

    Qu’est-ce que WinSxS?

    WinSxS (SxS pour Side-By-Side soit côte-à-côte) est une technologie intégrée à Windows ainsi un emplacement de stockage centralisé pour les fichiers d’installation de Windows, des mises à jours et des application à conditions que celles-ci soient compatibles avec cette technologie.

    Les buts de cette technologie sont les suivants:

    • Améliorer voire garantir (grâce notamment à d’autres technologie connexe) l’intégrité du système, de ses dépendances et composants additionnels/optionnels
    • Palier aux problèmes récurrents de conflits de DLL qui affectent Windows depuis des années.

    Un garant de l’intégrité du système?

    Windows Vista et à fortiori Seven sont des systèmes modulables, en tous cas, beaucoup plus modulables que XP et ses prédécesseurs. Lors de l’installation, tous les fichiers sont copiés sur le disque dur même si certains sont liés à des fonctionnalités non-activées. Cela évite que par après, à l’activation de celles-ci, on ne se retrouve avec des conflit de version si par exemple, un service pack a été installé entretemps.

    Afin d’éviter les manipulations manuelles hasardeuses, les emplacements habituels du systèmes et des applications tels que “C:\Windows” ou “C:\Program Files” sont protégés par des permissions assez strictes qui empêche même l’administrateur ou le compte “SYSTEM” d’y effectuer des modifications de fichiers. Cela évite également toute modification par des processus malveillants même ci ceux-ci exploitent le contexte de sécurité d’un administrateur. Cette protection se voit renforcée grâce à l’UAC (User Account Control), encensé ou décrié, c’est selon…

    Seul le compte “TrustedInstaller” (Installateur approuvé) possède les permissions suffisantes pour modifier les fichiers et répertoires stockés dans ces emplacements.. Ce compte est en fait un compte de service, principalement responsable de toutes les installations de mises à jour, service pack, fonctionnalités etc… Il est d’ailleurs propriétaire de la plupart de ces fichiers. Donc, à moins de modifier ces permissions (opération non supportée), aucun moyen modifier le contenu de ces répertoires, WinSxS inclus.

    WinSxS, par la même occasion, permet également la désinstallation de Service Pack de manière propre et sans danger pour le système, pour peu que les fichiers originaux soient préservés (voir section “Et peut-on le nettoyer pour faire de la place?”)

    La solution aux problèmes de conflits de DLL?

    “Avant”, les applications ayant besoin d’un DLL donnée la recherche tout d’abord dans leur propre répertoire d’installation et faute de la trouver, cherchaient ensuite dans divers répertoires (les emplacements et ordre de priorité diffèrent selon la version de Windows et le paramétrage, voir MSDN - Dynamic-Link Library Search Order.

    Des DLL bien connus et très utilisées comme comdlg32 ou le runtime C++ par exemple, se retrouvaient à divers endroits à divers niveaux de versions

    Actuellement, et pour autant que l’application soit conforme à la technologie SxS, elle expose ses besoin en terme de DLL (et version) sous la forme d’un manifeste (fichier XML de configuration), contenant une liste de “dépendances”.

    Pourquoi ce répertoire utilise-t-il autant d’espace disque?

    Regardé par le biais d’un explorateur Windows, il semble en effet être un gouffre à Giga et c’est en grande partie le cas car il contient, en gros presque tous les fichiers nécessaires pour installer et maintenir Windows ainsi que les applications installées, à l’exception de celles antérieures à cette technologie bien entendu.

    En réalité, beaucoup de fichiers présents dans les sous-répertoires de WinSxS sont des “hardlinks”: un lien de très bas niveau qui pointe vers le fichier réel et se comporte exactement comme lui. Impossible de reconnaitre un hardlink en utilisant la commande DIR ou l’explorateur. L’outil en ligne de commande “FSUTIL hardlink list” permet d’afficher ces hardlink pour un fichier donné mais pas de lister tous ceux présdent dans un répertoire donné. A ma connaissance, seul l’outil non MS “FINDDUPE” permet de lister ceux-ci, via l’option “-hardlink”, voir http://www.sentex.net/~mwandel/finddupe/.

    Donc en résumé, l’espace disque utilisé en réalité en moindre que ce que représente le total de WinSxS et des autres répertoires car nombre de “doublons” donnent l’impression contraire. Note: la taille réelle d’un hardlink est en fait négligeable.

    Et peut-on le “nettoyer” pour faire de la place?

    Malgré ce que certains clament haut et fort dans les forums, il n’existe aucun moyen pour réduire de manière drastique la taille de ce répertoire, qui rappelons-le est moins volumineux que ce que l’Explorateur Windows ou la command DIR pourrait indiquer. Il faut égalemnt garder à l’esprit qu’il ne fera que grandir étant donné les MAJ du système et des applications. En attendant, on peut réduire sa taille de manière modérée par les méthodes suivantes:

    Question subsidiaire: peut-on déplacer ce répertoire?

    Pas à ma connaissance!

    Est-il nécessaire d’en prendre un backup

    Non, ce répertoire est lié au système et applications installées, pas au données des utilisateurs.

    Par contre, il rend également le système quasi parfaitement compatible au backup de type “Image”: Winimage, Acronis… Parce que, notamment, il prévient les dépendant sur les sources d’installation externes…

    Infos Complémentaires

    Marc

    Tags:

    Windows | Configuration Logicielle | Administration | Sécurité