Logo

TL;DR:

Ce rapide tuto indique toutes les étapes du déploiement "from scratch" d'un environnement CyberArk PAM on-prem (composants Vault, PVWA, PSM, CPM).

Ce document fait partie d'une série d'articles sur le PAM CyberArk.

Date: 07/2023

Version: 12.2

Mise à jour: en cours

Attention:

Ce tuto fournit le minimum pour un déploiement complet histoire de disposer rapidement d'un lab minimal fonctionnel pour faire des tests. On ne va pas dans l'exploration de nombreuses problématiques de configuration, de sécurisation et de tuning. Pas de DR Vault, pas de PTA, ...etc.

Sommaire

Introduction

Préparation

Déploiement

Test & validation

Ressources

Contexte & Pré-requis

L'idée ici est de disposer d'un environnement de Lab "fresh install/out-of-the-box" à la maison pour pouvoir faire des tests. On ne vise pas l'environnement de prod avec tout le détail du paramétrage spécifique.

Pour la réalisation de ce tuto je dispose d'une machine avec 32GB de RAM, OS Ubuntu 24.04 et hyperviseur KVM/libvirt (QEMU) installé, ainsi que le gestionnaire de machines virtuelles virt-manager (voir le détail du lab ici). De plus, j'ai créé des templates de VM Ubuntu Server et Windows Server.

Enfin, un environnement Active Directory de test est déployé.

Binaires

Il faut en outre disposer des binaires d'installation du logiciel. Pour ce tuto, les fichiers suivants seront utilisés:

Fichier Composant Remarques
Central Policy Manager-Rls-v12.2.4.zip CPM Gère les changements de mots de passes
Client-Rls-v12.2.zip Vault Client Client Windows pour accéder au Vault
Master CD:
DemoMasterKeys.zip
Readme.txt
recprv.key
recpub.key
rndbase.dat
server.key
Master CD + clés Clés de démonstration
Operator CD:
DemoOperatorKeys.zip
recpub.key
rndbase.dat
server.key
Operator CD + clés Clés de démonstration
ndp48-x86-x64-allos-enu.exe .NET Framework 4.8 Prérequis Windows pour plusieurs composants CyberArk
OPM-RHELinux8-Intel64-Rls-v12.2.zip
OPM-RHELinux-Intel64-Rls-v12.2.zip
OPM-Ubuntu-Intel64-Rls-v12.2.zip
OPM Linux Pour Redhat/Ubuntu
PACLI-Rls-v12.2.zip PACLI CLI du Vault
Password Upload Utility-Rls-v12.2.zip Password Upload Pour l'import massif de comptes dans le Vault
Password Vault Web Access-Rls-v12.2.4.zip PVWA Portail d'accès au PAM
Privileged Session Manager-Rls-v12.2.5.zip PSM Proxy RDP
PrivilegedSessionManagerSSHProxy-RHELinux8-Intel64-Rls-v12.2.5.zip
PrivilegedSessionManagerSSHProxy-RHELinux-Intel64-Rls-v12.2.5.zip
PSM Proxy SSH
Remote Control Client-Rls-v12.2.zip RC Client Utilisé avec certaines fonctions de contrôle à distance (PSM)
Roles-Rls-v12.2.3.zip Roles Package Scripts d'import des rôles et Safe par défaut
Server-Rls-v12.2.4.zip Vault Le coeur de la plateforme
Add-Ons-Rls-v12.2.5.zip Add-ons Modules complémentaires (connecteurs, extensions)
Disaster Recovery-Rls-v12.2.4.zip DR Vault Facultatif
ExportVaultData-Rls-v12.2.zip Export tool Pour migration/audit.
Facultatif
PTA Agent-Rls-v12.2.5.zip
PTA-Img-VMWare-Rls-v12.2.5.zip
PTA-Installer-Rls-v12.2.5.zip
Network Sensor-Rls-v12.2.zip
PTA Facultatif
Replicate-Rls-v12.2.zip Outils de réplication Vault Facultatif
Upgrade-Rls-v12.2.5.zip Outils d'upgrade Facultatif
Et bien sûr:
License.xml
Fichier de licence de test pour un lab A demander gentiment à votre commercial préféré
Diagramme de design high-level du lab CyberArk

Le diagramme ci-dessous réprésente le lab à déployer. On a:

(image générée par IA)
Plan d'adressage
Machine Rôle Adresse IP
vault Vault 192.168.122.110
components PVWA, PSM RDP, CPM 192.168.122.111
psmssh PSM SSH 192.168.122.112
dr DR Vault 192.168.122.113
dc1 Domain Controller 192.168.122.101
batroun Serveur Windows banal 192.168.122.104
cedar Serveur Linux banal 192.168.122.105
pacli Machine d'admin 192.168.122.115

Préparation

NB: on est dans un mode de fonctionnement où on va utiliser les Transparent Users et les Transparent Groups dans CyberArk, c'est-à-dire que des groupes AD vont être mappés sur des groupes internes CyberArk de sorte à ce que l'appartenance de comptes AD à ces groupes procure des privilèges dans CyberArk.

Créer les groupes AD:

Groupe (mapping prévu dans CyberArk)
CyberArk Vault Admins Vault Admins
CyberArk Safe Managers Safe Managers
CyberArk Auditors Auditors
CyberArk Users Users
CyberArk Help Desk aucun
LinuxAdmins aucun
WindowsAdmins aucun

Créer les utilisateurs AD (LDAP) en correspondance avec le tableau ci-dessous:

User Description Authent Rôle Groupe AD
Administrator Cyberark Vault admin -
Master Cyberark Master user -
mike CyberArk Team (AD) LDAP Vault Admin CyberArk Vault Admins
cindy CyberArk Team (AD) LDAP Auditor CyberArk Auditors
dexter CyberArk Team (AD) LDAP User Manager (custom) CyberArk Help Desk
paul Linux Team LDAP Safe Manager CyberArk Safe Managers
carlos Linux Team LDAP User LinuxAdmins
tom Windows Team LDAP Safe Manager CyberArk Safe Managers
john Windows Team LDAP User WindowsAdmins
robert Oracle Team LDAP Safe Manager CyberArk Safe Managers

Mettre les groupes LinuxAdmins et WindowsAdmins dans le groupe CyberArk Users.

Note:

Tous les users AD sont membres du groupe CyberArk Users

Déployer les machines virtuelles depuis les templates:

Si nécessaire (optionnel), synchroniser le temps de toutes les machines virtuelles du Lab à une date antérieure selon cette procédure.

Joindre les machines au domaine.

Sur le host, faire un script de démarrage et un script d'arrêt du lab. Par exemple:

$ cat startCA.sh
#!/bin/bash
/usr/bin/virsh start DC1
/usr/bin/virsh start vault
/usr/bin/virsh start components
/usr/bin/virsh start psmssh
/usr/bin/virsh start DR
/usr/bin/virsh start windows1
/usr/bin/virsh start linux1

$ cat stopCA.sh
#!/bin/bash
/usr/bin/virsh shutdown DC1
/usr/bin/virsh shutdown vault
/usr/bin/virsh shutdown components
/usr/bin/virsh shutdown psmssh
/usr/bin/virsh shutdown DR
/usr/bin/virsh shutdown windows1
/usr/bin/virsh shutdown linux1

Sur le Domain Controller, ouvrir une console PowerShell:

Add-WindowsFeature Adcs-Cert-Authority -IncludeManagementTools
Install-AdcsCertificationAuthority -CAType EnterpriseRootCA

Exporter le certificat avec certsrv.msc.

Editer la GPO par défaut du domaine:

Procédure de déploiement

1. Serveur VAULT

Le firewall Windows doit être activé sinon le Vault ne fonctionne pas.

netsh advfirewall set allprofiles state on

Installer .net framework 4.8

Copier Master CD et Operator CD sur C:\

Renommer la licence en License.xml et la mettre sur C:\

Lancer l'installation (ne pas activer le hardening quand demandé pour env. de test)

Dans C:\program files (x86)\provateark\server\conf\dbparm.ini, ajouter une ligne pour spécifier l'adresse IP du serveur components, puis indiquer le chemin vers la recovery key du Master CD:

EmergencyStationIP=192.168.122.11
RecoveryPrvKey="C:\Master CD\recprv.key"

Redémarrer le service.

2. Serveur components (PVWA)

Prérequis au PVWA:

PS> Install-WindowsFeature Web-Asp-Net45

Copier les binaires sources d'install sur C:\

Installer .net framework 4.8

1: Installer le client privateArk et rebooter.

2: Lancer l'install de PVWA.

Ouvrir l'URL du PVWA et faire le user provisioning LDAP pour le domaine.

3: Installation de CPM.

CPMEM038E importation des platforms en erreur

Prérequis au PSM RDP:

PS> Enable-PSRemoting
PS> Enable-PSRemoting -Force
PS> Enable-PSRemoting -Force -SkipNetworkProfileCheck

Sur le Domain Controller, ajouter dans les serveurs managés le serveur COMPONENTS:

4: Installation du PSM (Privileged Session Manager-Rls-v12.2.5).

Serveur PSMSSH (centos 7)

Copier PrivilegedSessionManagerSSHProxy-RHELinux-Intel64-Rls-v12.2.5.zip sur le serveur.

Installer le composant:

# yum install unzip
# cd /tmp
# unzip /home/thom/PrivilegedSessionManagerSSHProxy-RHELinux-Intel64-Rls-v12.2.5.zip
# vi vault.ini
   VAULT="lab"
   ADDRESS=192.168.122.10
# yum install libssh
# cp psmpparms.sample /var/tmp/psmpparms
# vi /var/tmp/psmpparms
   InstallationFolder=/tmp
   AcceptCyberArkEULA=Yes
# chmod +x CreateCredFile
# ./CreateCredFile user.cred Password -Username administrator -Password LabPassword123! -EntropyFile
# rpm -i IntegratedMode/CARKpsmp-infra-12.02.5.19.x86_64.rpm
# rpm -i CARKpsmp-12.02.5.19.x86_64.rpm
# service psmpsrv status
# cat /var/opt/CARKpsmp/temp/EnvManager.log

Test & validation

Sur le serveur components: clic droit/properties sur This PC ; Remote settings => décocher la case "Allow connections only from ..."

Sur le Domain Controller: créer des users winadmin et linadmin et les mettre dans les groupes WindowsAdmins et LinuxAdmins.

Sur components: Login PVWA en administrator

Sur components: Login PVWA en mike

Dans la master policy:

Création du safe WIN_ADM (ajout groupe Cyberark Windows Sysadmins)

Onboarding du compte winadmin

test de connexion: dans la case du milieu (target) mettre vesvres.local puis cliquer Resolve et cocher la case mettre dans le profil. Remote machine: windows1 => Connect

Faire le test de connexion en "john"

Intégration Linux
Contexte:

linux1 est un serveur Ubuntu 24.04

Voir doc d'intégration AD

$ sudo su -
# hostnamectl set-hostname linux1
# vi /etc/netplan/00*.yaml

Mettre le DC en DNS (192.168.122.20)

netplan apply
vi /etc/resolv.conf
nameserver 192.168.122.20
search [nom_du_domaine]
apt install sssd realmd
realm discover vesvres.local
realm join vesvres.local

Création compte local linadmin (ou intégration compte windows)

PVWA: création du safe LIN_ADM (ajout groupe Cyberark Linux Sysadmins)

Onboarding du compte linadmin

Test: login en carlos et utilisation du compte

2nd onboarding du compte linadmin en mode SSHkey

# vi /etc/ssh/sshd_config
   PubkeyAuthentication yes
   PubkeyAcceptedKeyTypes=+ssh-rsa
systemctl restart sshd

Ressources

Sample RestAPI scripts

PAM Documentation

--
TG - 07/2023

Cet article a été généré par un humain