Installation de PAM (Privileged Account Management)

Les articles publiés sur ce blog, ont pour but de partager des connaissances/concepts techniques et sont tous réalisés dans un environnement de test. Par conséquent, les auteurs dégagent toute responsabilité, de quelque ordre que ce soit, quant aux dommages directs, indirects ou consécutifs résultant de l’utilisation des informations contenus dans ceux-ci.

Introduction

PAM (Privileged Access Management) est une feature on-premise de MIM (Microsoft Identity Manager) qui permet d’attribuer des droits d’administration pour une durée limitée (s’appuyant sur le Just In Time Administration et les Shadow Principals). Cette feature renforce la sécurité des comptes à privilèges évitant ainsi que les droits/permissions soient affectés à ces comptes de façon permanente.

Le déploiement de PAM nécessite la présence du moteur de synchronisation ainsi que celle du portail MIM pour lesquels vous trouverez les infos sur leur installation ci-dessous :

  1. Installation du moteur de synchronisation MIM
  2. Installation du portail MIM

L’équivalent cloud de PAM est PIM (Azure AD Privileged Identity Management)

La solution PAM, comme vous l’avez compris, permet de sécuriser les comptes d’administration afin que ceux-ci ne disposent pas en permanence des droits d’administration. Celle-ci est généralement déployée dans un contexte de tiering modèle avec une forêt d’administration (red forest) et une ou plusieurs forêt(s) de production.

Cependant, le déploiement nécessite que les infrastructures Active Directory répondent aux exigences suivantes :

  • Forêt d’administration avec niveau fonctionnel de domaine et forêt Windows 2016
  • Forêt de production avec niveau fonctionnel de domaine et forêt ≥ Windows 2012 R2
  • Relation d’approbation de type Forest trust entre la forêt d’administration (red.lab) et la/les forêt(s) de production (corp.lab) unidirectionnelle autorisant les comptes de la forêt d’admin à se connecter sur la forêt de comptes (libre à vous de choisir le type d’authentification forest-wide ou selective)

Prérequis

Hardware et system

Système d’exploitationWindows Server 2008 x64 ou plus
SQL Server 2008 x64 ou plus
Web Server
Windows SharePoint Services 3.0 SP1
Microsoft .NET 3.0 ou plus
Windows Installer 4.5
Windows PowerShell 1.0 ou plus
ProcesseurArchitecture X64
Mémoire2 Go de RAM minimum
Disque Dur2 Go d’espace disque disponible

Le serveur sur lequel l’installation MIM est réalisée dans cet article a les caractéristiques techniques suivantes (VM Hyper-v):

Système d’exploitation

 

Software

Features

Windows Server 2022 standard

 

SQL Server 2019

.net framework 4.8

Windows PowerShell 5.1

XPS Viewer

Processeur8 vCPu
Mémoire4 Go de RAM
Disque Dur100 Go d’espace disque disponible

Comptes de service

Les noms des comptes indiqués ci-dessous, sont à titre d’exemple :

NomFonction
Svc_pamadminCompte d’installation du portail MIM (bris de glace)
Svc_mimserExécute le service MIM portal
Svc_mimspCompte de service sharepoint et app pool IIS
Svc_FIMServiceMACompte de service pour le Management Agent FIMService (MIM Portal)
Svc_mimMAREDCompte de service pour le Management Agent ADDS de red.lab
Svc_mimMAxxCompte de service pour les Management Agents ADDS
Svc_pammonCompte de service PAM Monitor
Svc_pamcompCompte de service PAM Components

DNS

Vérifiez/Créez un enregistrement DNS ayant les caractéristiques suivantes :

NOMTYPEADDRESSE IPDESCRIPTION
Fqdn d’accès au portail MIM

 Ex : mimportal.red.lab

AIP du serveur MIMAccès au portail MIM

Configuration Active Directory

SPN et KCD (Kerberos Constrained Delegation)

Vérifiez/Tapez les cmdlet suivantes pour configurer les SPN sur les comptes de service sur un contrôleur de domaine:

  • FIMService :
    • Setspn -S FIMService/mimportal.red.lab red\svc_mimser
A screenshot of a computer

Description automatically generated with medium confidence
  • Configurez la KCD comme suit :
Graphical user interface, text, application

Description automatically generated
  • IIS/SharePoint:
    • SPN
      • Setspn -S http/mimportal.red.lab red\svc_mimsp
Text

Description automatically generated
    • Setspn -S http/rolerequest.red.lab red\svc_mimsp
Text

Description automatically generated
  • Configurez la KCD (Kerberos Contrained Delegation) comme suit :
Graphical user interface, text, application, email

Description automatically generated

La configuration de la KCD nécessite la présence d’un SPN. Par ailleurs, il faut indiquer le nom du compte de service sur lequel on veut avoir une délégation.

Il est nécessaire de rajouter une délégation sur tous les contrôleurs domaine pour les services LDAP suivants : LDAP/<DC-shortName>, LDAP/<DC-fqdn>, LDAP/<DC-fqdn>/<Domain-NetBiosName>, LDAP/<DC-fqdn>/<Domain-fqdn>, LDAP/<DC-shortName>/<Domain-NetBiosName>. Cela implique également qu’à chaque refresh (promotion/dépromotion) de contrôleurs de domaine, il faut modifier (ajouter/supprimer) la délégation pour celui-ci.

Délégations Active Directory et GPO

Forêt d’admin Red.lab

Comptes de service (permissions appliquées à la racine du domaine)

Depuis la console dsa.msc, clic droit Properties sur le domaine red.lab, sélectionnez l’onglet Security > Advanced > Add :

Comptes de service :

  • Red\svc_mimser
  • Red\svc_pammon
  • Red\svc_pamcomp

Permission :

  • Type: Allow
  • Applies to: Descendant Group objects
  • Properties:
    • Read Members
    • Write Members
  • Type: Allow
  • Applies to: This object and all descendant objects
  • Permissions:
    • Create User objects
    • Delete User objects
  • Type: Allow
  • Applies to: Descendant User objects
  • Permissions: Full control

Compte red\svc_pamadmin (compte d’installation)(permissions appliquées à la racine du domaine)

Depuis la console dsa.msc, clic droit Properties sur le domaine red.lab, sélectionnez l’onglet Security > Advanced > Add :

Permission:

  • Type: Allow
  • Applies to: Descendant User objects
  • Permissions:
    • Change password
    • Reset password
  • Type: Allow
  • Applies to: This object and all descendant objects
  • Permissions:
    • Let all default permissions checked
    • Add:
      • Write all properties
      • All validated writes
      • Create all child objects
      • Delete all child objects
  • Properties:
    • Read all properties
  • Type: Allow
  • Applies to: This object and all descendant objects
  • Permissions:
    • Migrate SID history

Compte Svc_mimMARED (compte MA AD red.lab)(permissions appliquées à la racine du domaine)

Depuis la console dsa.msc, clic droit Properties sur le domaine red.lab, sélectionnez l’onglet Security > Advanced > Add :

Permission:

  • Type: Allow
  • Applies to: This object only
  • Permissions:
    • List contents
    • Read all properties
    • Read permissions
    • Replicating directory changes
  • Properties:
    • Read all properties
Table

Description automatically generated

ACL sur AdminSDHolder

Lancez les commandes suivantes dans un cmd run as Admin

dsacls “CN=AdminSDHolder,CN=System,DC=red,DC=lab” /G red\svc_mimser:WP;”member” dsacls “CN=AdminSDHolder,CN=System,DC=red,DC=lab” /G red\svc_pamcomp:WP;”member”

Activation/Vérification PAM feature

Lanez les cmdlets suivantes dans un prompt powershell runas admin :

$of = get-ADOptionalFeature -filter “name -eq ‘privileged access management feature'”

Enable-ADOptionalFeature $of -scope ForestOrConfigurationSet -target “red.lab” get-ADOptionalFeature -filter “name -eq ‘privileged access management feature'”

La dernière cmdlet permet de vérifier que la feature a bien été installée. Pour cela assurez-vous que l’attribut FeatureScope= {ForestOrConfigurationSet}

Text

Description automatically generated

Shadow Principals et authentication policy

Lancez adsiedit.msc, connectez-vous sur la partition de configuration, développez CN=Configuration… > CN=Services > CN=Shadow Principal Configuration

Allez dans Properties, sélectionnez l’onglet Security, Advanced et ajoutez:

  • Red\svc_mimser
  • Red\svc_pamadmin
  • N’importe quel admin MIM/PAM ayant besoin d’ajouter de nouveaux PAM groups

Permission :

  • Type : Allow
  • Applies to: This object and all descendant objects
  • Permissions:
    • Laissez les permissions par défaut cochées
    • Ajoutez :
      • Write all properties
      • Create all child objects
      • Delete all child objects
    • Properties:
      • Read all properties
  • Type: Allow
  • Applies to: This object only
  • Permissions:
    • Laissez les permissions par défaut cochées
    • Ajoutez :
      • Write all properties
      • Create all child objects
      • Delete all child objects
    • Properties:
      • Read all properties

Fermez adsiedit.msc

Lancez un prompt cm den runas admin et tapez les commandes suivantes :

dsacls “CN=AuthN Policies,CN=AuthN Policy Configuration,CN=Services,CN=Configuration,DC=red,DC=lab” /g red\svc_pamadmin:RPWPRCWD;;msDS-AuthNPolicy /i:s

dsacls “CN=AuthN Policies,CN=AuthN Policy Configuration,CN=Services,CN=Configuration,DC=red,DC=lab” /g red\svc_pamadmin:CCDC;msDS-AuthNPolicy

dsacls “CN=AuthN Silos,CN=AuthN Policy Configuration,CN=Services,CN=Configuration,DC=red,DC=lab” /g red\svc_pamadmin:RPWPRCWD;;msDS-AuthNPolicySilo /i:s

dsacls “CN=AuthN Silos,CN=AuthN Policy Configuration,CN=Services,CN=Configuration,DC=red,DC=lab” /g red\svc_pamadmin:CCDC;msDS-AuthNPolicySilo

GPO (hardening des comptes de service)

Lancez gpmc.msc sur un contrôleur de domaine pour créer/modifier une GPO et la liée à l’OU contenant le serveur MIM:

  1. Chemin : Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > User Rights Assignment
  2. Paramètres:
    1. Deny access to this computer from the network: RED\svc_pammon, RED\svc_pamcomp,red\svc_mimser
    2. Deny log on as a batch job: RED\svc_pammon, RED\svc_pamcomp,red\svc_mimser
    3. Deny log on locally: RED\svc_pammon, RED\svc_pamcomp,red\svc_mimser
    4. Deny log on through Remote Desktop Services: RED\svc_pammon, RED\svc_pamcomp,red\mimsp, red\svc_mimser
    5. Log on as a batch job: red\svc_mimsp, red\svc_mimsync
    6. Log on as a service: RED\svc_pammon, RED\svc_pamcomp ,red\mimsp,red\svc_mimser, red\mimsync, red\svc_sqlagent, red\svc_sql
Graphical user interface, text, application, email

Description automatically generated

Forêt de production corp.lab

Les étapes indiquées ci-dessous doivent être réalisées sur tous les domaines gérés par PAM

Si le niveau fonctionnel de domaine et de forêt est ≤ Windows 2016, appliquez les étapes suivantes :

  • Loguez-vous sur un contrôleur de domaine et ouvrez un powershell runas admin et tapez :

import-module activedirectory

New-ADGroup –name ‘<NETBIOS-DOMAIN-NAME>$$$’ –GroupCategory Security –GroupScope DomainLocal –SamAccountName ‘<NETBIOS-DOMAIN-NAME>$$$’

Exemple:

import-module activedirectory New-ADGroup –name ‘CORP$$$’ –GroupCategory Security –GroupScope DomainLocal –SamAccountName ‘CORP$$$’

GPO

Audit

Lancez gpmc.msc sur un contrôleur de domaine pour créer/modifier une GPO et la liée à l’OU Domain Controllers:

  • Chemin : Computer Configuration > Policies > Windows Settings > Security Settings > Advanced Audit Policy Configuration > Audit Policies
  • Paramètres:
    • Account Management:
      • Enable all subcategories
      • Check success and failure
    • DS Access:
      • Enable all subcategories
      • Check success and failure
A picture containing graphical user interface

Description automatically generated
TCP IP Client Support

Lancez gpmc.msc sur un contrôleur de domaine pour créer/modifier une GPO et la liée à l’OU Domain Controllers:

  • Chemin : Computer Configuration > Preferences > Windows Settings > Registry
  • Paramètres:
    • Action: Update
    • Hive: HKEY_LOCAL_MACHINE
    • Key Path: SYSTEM\CurrentControlSet\Control\Lsa
    • Value name: TcpipClientSupport
    • Value type: REG_DWORD
    • Value data: 1
    • Base: Decimal
Graphical user interface, text, application, email

Description automatically generated

La GPO indiquée ci-dessus ne doit s’appliquer que sur le contrôleur de domaine exécutant le rôle FSMO PDC emulator.

Pour cela, il suffit de créer un filtre WMI afin de l’appliquer dynamiquement au PDCe

Graphical user interface, text, application, email

Description automatically generated

Redémarrez le contrôleur de domaine exécutant le rôle FSMO PDCe pour la prise en compte de la clé de registre.

Délégation red\svc_pammon (permissions appliquées à la racine du domaine)

Depuis la console dsa.msc, clic droit Properties sur le domaine corp.lab, sélectionnez l’onglet Security > Advanced > Add :

Permission:

  • Type: Allow
  • Applies to: Descendant User objects
  • Permissions: Read all properties
  • Properties: Read all properties

Délégation red\Svc_mimMAxx (permissions appliquées à la racine du domaine)

Cette délégation ne doit être mise en place uniquement s’il y a un MA à qui synchronise des objets de la forêt de production dans le FIMService. Nous préconisons d’utiliser un compte de la forêt d’admin pour synchroniser les objets de la forêt de production.

Permission:

  • Type: Allow
  • Applies to: This object only
  • Permissions:
    • List contents
    • Read all properties
    • Read permissions
    • Replicating directory changes
  • Properties: Read all properties

Configuration de la relation d’approbation entre la forêt d’admin (red.lab) et la forêt de production (corp.lab)

Assuez-vous que le serveur PAM arrive à contacter les contrôleurs de domaine de production ou a minima le PDCe

Dans le cas d’une relation d’approbation avec authentification sélective, comme dans cet article, il faut s’assurer que le compte red\svc_pamadmin a la permission Allowed to authenticate sur tous les contrôleurs de domaine du domaine de production géré par PAM. Nous préconisons d’ajouter cette permission sur chaque contrôleur de domaine individuellement pour des raisons de sécurité.

Loguez-vous sur le PDCe de la forêt de production (trusting domain) et tapez les commandes suivantes dans un prompt cmd runas admin:

netdom trust corp.lab /domain:red.lab /enablesidhistory:yes

netdom trust corp.lab /domain:red.lab /enablepimtrust:yes

Enfin les prérequis sont terminés !!! Nous allons pouvoir passer à l’installation proprement dite de PAM

Installation de PAM

Montez l’iso de MIM et ouvrez un prompt cmd runas admin :

cd C:\_sources\MIM\MIMSources\Service and Portal\

msiexec /i « Service and Portal.msi » /L*v c:\temp\PAMSetup.Log

Sélectionnez Privileged Access Management

Graphical user interface, text, application

Description automatically generated

Configure the MIM database connection:

  • Database Server: <Nom serveur SQL>\<Nom Instance SQL> (ex: MIM-PAM\MIMPAM)
  • Database Name : FIMService
  • Re-use the existing database

Dans le contexte de l’article, la base FIMService est déjà installée, raison pour laquelle l’option est forcée sur re-use existing database.

Graphical user interface, text, application, email

Description automatically generated

Configure mail server connection

Mail Server: exchange.red.lab

Cochez Use SSL

Graphical user interface, text, application, email

Description automatically generated

Configure service certificate

Laissez l’option par défaut

Graphical user interface, text, application, email

Description automatically generated

Configure the MIM service account

  • Service Account Name: svc_mimser
  • Service Account Password: <password>
  • Service Account Domain: RED
  • Service Email Account: svc@red.lab
Graphical user interface, text, application, email

Description automatically generated

Configure the MIM Service and Portal synchronization

  • Synchronization Server: MIM-PAM
  • MIM Management Agent Account: RED\svc_FIMServiceMA
Graphical user interface, text, application, email

Description automatically generated

Configure connection to the MIM Service

  • MIM Service Server address: mimportal.red.lab
Graphical user interface, text, application, email

Description automatically generated

Sharepoint site collection URL

  • http://mimportal.red.lab
Graphical user interface, text, application, email

Description automatically generated

Next

Graphical user interface, text, application, email

Description automatically generated

Next

Graphical user interface, text, application, email

Description automatically generated

Security Changes

  • Grant authenticated users access to the MIM Portal site
Graphical user interface, text, application, email

Description automatically generated

Configure PAM REST API

  • Host Name: laissez à vide
  • Port : 8086
Graphical user interface, text, application, email

Description automatically generated

Configure PAM REST API

  • Application Pool Account Name : svc_mimsp
  • Application Pool Account Password: <Password>
  • Application Pool Account Domain: RED
Graphical user interface, text, application, email

Description automatically generated

Configure the PAM Component Service

  • Service Account Name: svc_pamcomp
  • Service Account Password: <Password>
  • Service Account Domain: RED
Graphical user interface, text, application, email

Description automatically generated

Configure the PAM Monitoring Service

  • Service Account Name: svc_pammon
  • Service Account Password: <Password>
  • Service Account Domain: RED
Graphical user interface, text, application, email

Description automatically generated

Next

Graphical user interface, text, application, email

Description automatically generated

Change

Graphical user interface, text, application, email

Description automatically generated

Redémarrez le serveur MIM

Check post-install PAM

Loguez-vous sur le serveur MIM avec le compte de service RED\svc_pamadmin

Connectez-vous au portail MIM via l’URL : http://mimportal.red.lab/IdentityManagement/

Vérifiez que la rubrique Privileged Access Management est présente sur le portail

Graphical user interface, text, application, email

Description automatically generated

Sélectionnez Management Policy Rules

Tapez User management dans la zone de recherche (en haut à droite de la fenêtre)

Cliquez sur

Graphical user interface, application

Description automatically generated

Sélectionnez “User management: Users can read attributes of their own”

Décochez Policy is disabled

OK

Submit

Graphical user interface, text, application, email

Description automatically generated

Assurez-vous que tous les services requis sont démarrés

Graphical user interface, application

Description automatically generated

Afin de maintenir votre infra MIM/PAM à jour, il est recommandé d’installer les MAJ que vous trouverez sur cette URL : https://learn.microsoft.com/en-us/microsoft-identity-manager/reference/version-history

Les udaptes sont cumulatifs.

Pour une meilleure sécurisation de l’infra MIM/PAM, il est possible d’utiliser des comptes GMSA.

Cependant seuls les comptes suivants sont éligibles :

  • Microsoft Identity Manager Synchronization Service (FIMSynchronizationService) (svc_mimsync)
  • Microsoft Identity Manager Service (FIMService) (svc_mimser)
  • Microsoft Identity Manager Password Registration
  • Microsoft Identity Manager Password Reset
  • Privileged Access Management (PAM) Monitoring Service (PamMonitoringService) (svc_pammon)
  • PAM Component Service (PrivilegeManagementComponentService) (svc_pamcomp)

Pour les plus curieux : https://learn.microsoft.com/en-us/microsoft-identity-manager/microsoft-identity-manager-2016-gmsa

Dans un prochain article, nous verrons comment utiliser PAM.

A ciao & have fun !!!

Leave a Reply

Your email address will not be published. Required fields are marked *