Archives mensuelles : avril 2014

WorkFolders pour Windows 7

Workfolders est une feature propre à Windows 8/8.1. Elle apportait un plus pour les scénarios de BYOD. l’équipe stockage chez Microsoft vient d’annoncer la disponibilité de WorkFolders pour Windows 7.

 

Prenez le temps de lire le billet avant de vous lancer dans l’installation car il y a quand mêmes quelques subtilités avec la version disponible sous Windows 8 :

  • Uniquement les systèmes Windows 7 SP1 connectés au domaine
  • L’absence de l’EAS Engine permettant de gérer le verrouillage et d’autres paramètres
  • Quelques subtilités lors de la création du SyncShare

 

Voila une cool feature que je vais pouvoir proposer avec DirectAccess .

 

BenoîtS – Simple and Secure by Design bu Business compliant

ADMPWD une solution de gestion du mot de passe administrateur local de vos systèmes Windows

Voilà un challenge que je retrouve dans beaucoup de projets de déploiement de poste de travail : Comment gérer le sacro-saint mot de passe administrateur local du poste de travail. C’est un sujet qui occupe toujours beaucoup et qui oppose :

  • La sécurité qui veut pouvoir le changer aussi souvent que possible et se parer contre la problématique Pass-The-Hash
  • L’exploitant qui en a besoin en cas de problème
  • Le support qui peut en avoir besoin lorsque le poste est dans la nature

Une recherche rapide chez le maitre Mark Russinovich et on trouve PsPasswd. L’avantage de sa solution, c’est qu’elle sûr à la base :

clip_image001

Certains pourront être tenté d’utiliser les GPO de préférence pour gérer le mot de passe Administrateur. Cependant, le mot de passe est-il chiffré ou juste dissimulé? Je vous laisse deviner la réponse (sic) :http://msdn.microsoft.com/en-us/library/cc422924.aspx.

Bref, on peut passer beaucoup de temps sur le sujet, mettre en œuvre différents processus pour invariablement arriver à avoir un mot de passe administrateur qui circule sous le manteau. Le problème, c’est que bien souvent, il est commun à une grande partie du parc de station, voire de serveur (ce qui est encore pire).

Pourtant ADMPWD existe depuis pas mal de temps et disponible sur CodePlex est l’une d’entre elle. Elle présente l’avantage de répondre à la majorité de nos problématiques tout en proposant un mode de fonctionnement que nous utilisons tous déjà beaucoup : BitLocker.

Pour rappel, BitLocker peut être configuré pour stocker la clé de recouvrement de chaque poste de travail dans l’annuaire Active Directory grâce à une extension de schéma. ADMPWD propose le même mode de fonctionnement mais avec sa propre extension de schéma (deux attributs en fait).

Dans le principe, chaque système configuré avec ADMPWD va générer son propre mot de passe administrateur et le stocker dans l’annuaire Active Directory avec pour instruction de revenir le changer selon une périodicité établie. On y voit tout de suite des avantages certains :

  • Plus personne ne connait le compte administrateur local
  • Chaque système génère son mot de passe administrateur propre
  • Même si on communique le mot de passe administrateur, ce n’est que pour un système donné et sa durée d’utilisation est limitée dans le temps.

Stocker un mot de passe dans l’annuaire Active Directory peut paraitre étrange quand on sait que l’information n’est pas chiffrée. Cependant, il y a une astuce. Par défaut, les attributs tous les attributs sont accessibles dès lors qu’on est authentifié, à l’exception des attributs confidentiels. Les attributs confidentiels ont été introduits avec Windows 2003 (KB922836). Cela permet de s’assurer que leur contenu ne sera accessible qu’à une population limitée. Dans le cas d’ADMPWD, ce sera à nous de fournir des groupes de sécurité pour définir :

  • Qui peut accéder au mot de passe Administrateur du système d’exploitation
  • Qui peut reconfigurer la durée de vie du dit mot de passe

Après cette rapide introduction, voyons comment le mettre en œuvre.

 

Etapes préparatoires

ADMPWD est disponible sous forme d’un package Windows Installer contenant tous les composants nécessaires. Avant de pouvoir l’installer, il conviendra de s’assurer que le Framework Dot.Net 4.0 minimum est installé. Si ce n’est pas le cas, c’est par ici que cela se passe. Dans le cas de mon contrôleur de domaine Windows Server 2012, le Framework est déjà installé. On peut donc commencer avec notre extension de schéma.

Dans sa forme pré-packagée, tout est disponible dans l’installer disponible à la fois pour la plateforme X86 et X64.

clip_image002

Pour les plus curieux, ADMPWD repose dur une Client-Side Extension (CSE) qui est un composant intégré aux stratégies de groupe. C’est ce composant qui va récupérer sa configuration dans une stratégie de groupe et réaliser le changement de mot de passe.

Sur notre contrôleur de domaine, le composant CSE n’est pas nécessaire. Les contrôleurs de domaines RWDC n’ayant pas de pas SAM, il n’y a pas de mot de passe administrateur local à maintenir (cela ne veut pas dire qu’il ne faut pas changer le mot de passe administrateur du domaine de temps en temps). Par contre, on va installer :

  • l’interface graphique pour relever/réinitialiser un compte administrateur
  • Le module Powershell
  • Le fichier modèle d’administration pour créer/gérer le paramétrage d’ADMPWD dans les GPO

clip_image003

Une fois installé, c’est maintenant que cela se complique. Si on tente d’importer le module ADMPWD.PS, on obtient l’erreur suivante.

clip_image004

Comme indiqué, ADMPWD requiert la présence du Framework Dot.Net 4.0 car on l’utilise bien. Par contre, l’installer ne veut pas dire qu’on l’utilise bien avec Powershell. Regardons un peu l’environnement d’exécution avec la variable $PSVersiontable.

clip_image005

Effectivement, notre moteur Powershell utilise le Framework Dot.Net 2.0. Aidons le un peu en créant le fichier de configuration "PowerShell.Exe.Config"

clip_image006

Et en plaçant celui-ci dans le répertoire c:\Windows\System32\WindowsPowershell\V1\".

clip_image007

Lorsqu’on relance une nouvelle invite de commande Powershell, la version du Framework Dot.Net utilisée est maintenant la bonne.

clip_image008

Note : c’est uniquement nécessaire pour utiliser le module Powershell.

Nous pouvons donc réaliser l’extension de schéma à l’aide de la commande Powershell "Update-ADMPWDADSchema" qui fonctionnera tant qu’on aura les privilèges nécessaires, …

clip_image009

Premier constat, deux attributs ont été ajoutés à la classe "Computers". Le premier désigne la date d’expiration du mot de passe administrateur et le second pour le mot de passe administrateur.

Maintenant rentrons un peu dans le cœur du sujet. Le premier besoin est que chaque système puisse mettre à jour son propre mot de passe Active Directory et inscrire la date d’expiration associée. Pour cela il faut s’assurer que la permission SELF dispose bien des privilèges nécessaires. La commande "Set-ADMPwdComputerSelfPermission" fait cela très bien. On peut même spécifier sur quel conteneur mettre en place la permission (pour les objets computers) de manière récursive. Dans mon cas, j’ai choisi les serveurs composant la fabric de mon cloud privé .

clip_image010

Second besoin, identifier qui pourra lire le mot de passe Administrateur des serveurs de ma fabric. On dispose de la commande "Set-AdmPwdReadPasswordPermission" pour accorder le privilège de lecture à un groupe donné (ADMPWD-Read dans mon cas). ADMPWD est assez souple pour permettre de proposer des permissions différentes en fonction des périmètres (station de travail, serveurs, …).

clip_image011

Même principe avec la commande "Set-ADMPwdResetPasswordPermission" pour réinitialiser ou modifier la date d’expiration du mot de passe et donc forcer son changement immédiatement ou à la date indiquée pour un périmètre donné (toujours les serveurs composants la Fabric de mon cloud prive) et une population donnée (le groupe de sécurité ADMPWD-Reset)

clip_image012

Maintenant, cela se complique. Comme le composant que nous allons installer sur nos système est une client-side extension de GPO, il va récupérer ces paramètres dans la clé de registre "HKLM\Software\Policies\Microsoft Services\AdmPwd". De ce fait, il faut l’enregistrer en conséquence. Cet emplacement est un peu particulier car même l’administrateur du système n’y a pas accès. C’est quelque peu logique que l’on ne puisse pas changer le paramétrage d’ADMPWD dans le registre. Ça aurait fait désordre. C’est aussi pour s’assurer du bon déclenchement du CSE lorsqu’un rafraichissement de stratégie de groupe surviendra. Par défaut, cela survient :

  • Au démarrage du système
  • Cycliquement avec une périodicité comprise entre 90 et 120 minutes
  • Toutes les 11 heures
  • Lors de l’exécution de la commande GPUPDATE /Force ou son équivalent Powershell

Pour cela, il est nécessaire de préalablement créé une stratégie de groupe avec la commande "New-GPO" qui sera utilisée pour propager le paramétrage d’ADMPWD.

clip_image013

Puis d’utiliser la commande "Register-ADMPwdWithGPO" pour réaliser la liaison avec la stratégie de groupe.

clip_image014

Dès lors, on peut prendre l’éditeur de stratégie de groupe (GPMC) et configurer les deux seuls paramètres.

clip_image015

Le premier permet de désigner le compte dont il faut changer le mot de passe. ADMPWD est intelligent car si on ne lui dit rien, il va automatiquement identifié le compte avec son well-known SID. C’est quand même super-pratique avec des systèmes installés en plusieurs langues. Avec cette approche, on retrouve toujours le compte administrateur, même si celui-ci a été renommé.

clip_image016

Pour la stratégie de mot de passe, c’est ici que cela se passe :

  • Majuscules
  • Majuscules + Minuscules
  • Majuscules + Minuscules + Chiffres
  • Majuscules + Minuscules + Chiffres + Caractères spéciaux

clip_image017

Reste plus qu’à lier la stratégie de groupe au conteneur contenant tous les serveurs de ma fabric.

 

Mise en place

Maintenant, y a plus qu’à installer l’extension CSE sur tous les serveurs de ma fabric.

clip_image018

Et lier la stratégie de groupe avec une petite commande “New-GPLINK”.

clip_image019

Et forcer une actualisation des stratégies de groupe (Depuis Windows 2012, on a Invoke-GPupdate )

 

Révélons le mot de passe

Déjà, on peut constater que le mot de passe est bien visible en clair dans l’AD. C’est normal que je puisse le voir, mon compte a été positionné comme membre des groupes “ADMPWD-Read” et “ADMPWD-Reset”. Si ce n’était pas le cas, je ne pourrais pas accéder à l’information.

clip_image020

Si on a pas le module Active Directory, on peut aussi utiliser la commande Get-AdmPwdPassword du module ADMPWD.PS

clip_image021

Ou bien utiliser l’interface graphique mise à disposition dans le package MSI

clip_image022

Au final, la solution ne présente que des avantages. Il devient criminel de s’en passer. C’est un excellent pour répondre à la problématique des attaques ciblant nos comptes BUILTIN qui ne sont pas soumis à la politique de verrouillage de mot de passe.

Pour ceux qui ne sont pas encore convaincus par la solution, le dernier commentaire de l’auteur devrait pouvoir rassurer les sceptiques.

clip_image023

Voilà pour la technique. Maintenant, il manque un peu de processus autour de cela. La sécurité, c’est pas que de la technique mais aussi du process. Donc, un prochain billet dur ADMPWD.

 

BenoîtS – Simple and Secure by design but business compliant

Update Rollup2 pour System Center 2012

L’équipe System Center vient de publier le second Update Rollup pour System Center 2012. ce qu’on peut dire, c’est qu’ils n’ont pas chômé puisque cela couvre toutes les versions de SCSM 2012 supportées à ce jour (SCSM 2012 SP1 & SCSM 2012 R2). En parcourant la liste des bogues traités, j’ai tout de suite remarqué la section “Console Fixes”.  Pour tout ceux qui utilisent Service Manager, nous savons qu’il y en a un qui est une plaie.

image

Cette fois, il est corrigé. On va enfin pouvoir utiliser la console Service Manager en plein écran. Les UR seront mis en ligne le 22 avril 2014 : 

 

Benoîts – Simple and Secure by Design but Business compliant.

Infrastructure as a Service Product Line Architecture

Avec la sortie des versions R2 de toute la gamme System Center, il devenait temps de mettre à jour les guides d’architecture. En plus, il y a maintenant plein de nouvelles technologies autour d’Azure qui sont intégrées. Faisons le point sur les changements :

  • Utilisation du socle Windows Server 2012 R2 (Plein de nouveaux jouets )
  • Utilisation du Software Defined Network (Pour les survivants de LA session techdays Level 400 )
  • L’intégration de Windows Microsoft Azure
  • L’intégration de Service Management Automation (Une nouvelle approche des Runbooks livrée avec Orchestrator 2012 R2, que du Powershell)
  • L’intégration de Service Reporting
  • L’intégration de Windows Azure Pack
  • ADFS (Logique avec Windows Azure Pack)
  • Service Provider Foundation

 

Ça commence à faire beaucoup de nouveautés. La documentation est bien plus étoffée que pour la version précédente et propose maintenant deux patterns de mise en œuvre :

  • Cloud Management Infrastructure
  • Scale-out Management infrastructure

Pour simplifier, disons que le premier permet de se faire la main sur une infrastructure minimaliste avec une infrastructure de poche basée sur un cluster Hyper-V de deux nœuds (Ca fait quand même trois Shuttle à la maison ). Cependant, minimaliste ne veut pas dire minuscule :

clip_image002

Pour ceux qui ont les moyens, il y a la version « petit pimousse », sur une base d’un cluster Hyper-V à quatre nœuds (une paille me direz-vous, sauf que si on calcule toujours en Shuttle, c’est tout sauf WAF).

clip_image004

Le Windows Azure Pack est maintenant au centre de tout cela avec une pointe de cloud Hybride. Bref, c’est du très lourd. Va valoir investir un max pour monter ça chez soi maintenant :

· Infrastructure as a Service Product Line Architecture – Fabric Management Guide

· Infrastructure as a Service Product Line Architecture-Fabric Architecture Guide

· Infrastructure as a Service Product Line Architecture-Deployment Guide

· Infrastructure as a Service Product Line Architecture – Consolidated Set

Bonne lecture.

BenoîtS – Simple and Secure by Design but Business compliant

Un portail SCSM alternatif

Avec l’arrivée de Windows Azure Pack, on peut dire que le portail SCSM a pris un coup de vieux. Ca fait quelques temps que même Microsoft Azure a abandonné Silverlight pour une interface plus au gout du jour. C’est le problème de la majorité des solutions d’ITSM. C’est conçu pour les IT donc l’esthétique n’est pas le premier critère . Par contre, le premier utilisateur c’est bien l’utilisateur final.

 

En lisant le billet Windows Azure Pack: GridPro – Installation and Overview, j’y ait vu une solution “temporaire”. GridPro est une extension proposée depuis le portail WAP. Autant dire tout de suite que ça a un autre look maintenant :

View1

C’est une approche intéressante car on peut utiliser le portail WAP comme nouveau portail pour une infrastructure Service Manager existante et les services qu’elle propose. L’intéressant, c’est qu’on peut rapidement tester presque toutes les fonctionnalités avec la version gratuite.

Comparaison

 

Je dis bien que c’est une solution “temporaire” car il y a bien des domaines dans lesquels le portail SCSM reste loin devant. Rien que l’aspect multi-langue, ça pèse lourd.

 

Voila une alternative intéressante à mettre en face des produits de substitution tels que ceux proposés par Cireson qui sont fortement intégrés à SCSM.

 

BenoîtS – Simple and Secure by design but Business compliant

Petit debug de Service Manager 2012

Cela faisait quelques temps que j’avais pas redémarré ma plateforme Cloud privée basée sur le Cloud Services Process Pack. Après avoir installé les mises à jour, j’ai constaté quelques problèmes mais j’arrivais pas à mettre le doigt dessus.

 

Premièrement ma console Service Manager était bien capable de se connecter au Management group mais étrangement, il n’était plus possible de se connecter au Datawarehouse. La lecture du journal “Operations manager” confirme cela mais sans donner plus d’information. Pourtant, on parle de de temps, timeout, …

0

 

Pourtant, sur le Datawarehouse, tous semble bien opérationnel. Après, j’ai constaté un problème en relation avec SCSM lors de l’exécution d’un Runbook Orchestrator qui utilisait l’Integration Pack de Service Manager :

1

 

A la lecture du journal détaillé de l’activité, je constate la présence du même code erreur que sur ma console SCSM.

2

 

Et effectivement, lorsque j’ai tenté de vérifier le bon fonctionnement de l’Integration Pack dans la console Orchestrator, il y a bien un problème.

 

Au final, j’ai passé par mal de temps sur le problème, jusqu’à me rendre compte que ma machine virtuelle SCSM n’était pas à la même heure que les autres et pour cause, suite au changement d’heure, elle s’est mise à l’heure au contraire de toutes les autres pour lesquels j’avais désactivé la fonctionnalité des le services d’intégration.

 

BenoîtS – Simple and secure by Design but Business compliant