Déploiement à distance d'Agent des services Terminal Server à l'Aide de Ansible
Resolution
Ansible est un outil de gestion de configuration généralement utilisé pour appliquer l'état d'un serveur dans votre infrastructure informatique. Il est utilisé pour s'assurer que le serveur est en effet dans le même État que vous souhaitez qu'il soit. Il assure les paquets de droite sont installés, les bons fichiers de configuration sont en place, les services de droite sont en cours d'exécution avec les autorisations droites... etc.
Les administrateurs écrivent ensemble de règles dans un langage simple (YAML), sous la forme de Playbooks. Ansible fonctionne en se connectant à vos nœuds et en poussant de petits programmes, appelés «modules Ansible» pour eux. Plus de détails sur la façon dont Ansible fonctionne peut être trouvé ici
Les administrateurs peuvent utiliser les modules Windows Ansible (http://docs.Ansible.com/Ansible/latest/list_of_windows_modules.html) et installer et gérer à distance l'Agent des services Terminal Server (Guide d'administration)
Ansible par défaut utilise SSH pour gérer Linux. Pour gérer Windows, l'accès distant PowerShell est utilisé. Pour que Ansible gère les machines Windows, les étapes documentées dans le site Ansible doivent être suivies
Référence:http://docs.Ansible.com/Ansible/latest/intro_windows.html
Les étapes suivantes présentent certains des modules Ansible de Windows qui permettent d'écrire Ansible PlayBook pour déployer à distance l'Agent des services Terminal Server (TS).
Ansible fonctionne en même temps contre plusieurs systèmes de votre infrastructure. Il le fait en sélectionnant des portions de systèmes répertoriés dans l'inventaire de Ansible, qui par défaut est enregistré à l'emplacement /etc/Ansible/hosts
Par exemple, J'ai défini un serveur d'Agent TS (tsagent1. palab. local) sous une balise (Windows)
Windows
tsagent1. palab. local
Le module suivant installe l'Agent TS sur Windows Server. Les détails sur le module win_package peuvent être trouvés ici
Dans L'exemple ci-dessous, le programme d'installation de l'Agent TS (*. msi) est hébergé sur un partage réseau.
-hosts:
tâches Windows:
-nom: installer TS agent
win_package:
Path: \\DC1\Users\Administrator\Downloads\TaInstall64.x64-8.0.8-2.msi
product_id: Pan Terminal Server Agent
État: présent
nom_utilisateur: PALAB \Administrateur
user_password: MySuperSecretPass
La commande suivante exécuterait le PlayBook:
Ansible-PlayBook-VVV install_ts. yml
Ansible est livré avec un outil appelé comme Ansible Vault (lien) pour crypter les secrets. Ces secrets peuvent ensuite être utilisés dans les tâches.
Créez un fichier secret. yml.
---
MonSecret: MySuperSecretPass
Crypter le fichier secret. yml
# Ansible-Vault crypter secret. yml
nouveau mot de passe Vault: EnterASuperSecretPass
confirmer nouveau mot de passe Vault: EnterASuperSecretPass
cryptage réussi
Contenu du fichier secret. yml sera crypté et regardera comme indiqué ci-dessous (le contenu sera différent dans votre environnement)
Cat secret. yml
$ANSIBLE _vault; 1.1; AES256
63303662393262633865366536333531383362633838316462313739306431656130383730303036
6433623639316439313565393430333430643930623266350a353533666432613438626331396636
32326366386361363363383335333135386364346466636533353434323261373739363533626238
3635613765383762380a306439383961336261316432376266386338643765313064376264633535
35616534613264353739333564633534353230623630653762373632323766643838
La variable (par exemple: MonSecret) définie dans secret. yml peut maintenant être utilisée dans le Playbooks comme suit:
-hosts:
tâches Windows:
-nom: secret
include_vars: secret. yml
-nom: installer TS agent
win_package:
Path: \\DC1\Users\Administrator\Downloads\TaInstall64.x64-8.0.8-2.msi
product_id: Pan terminal État de l'Agent serveur
: présent
nom_utilisateur: PALAB\Administrator
user_password: "{{MonSecret} }"
Pour exécuter le PlayBook ci-dessus, vous devez entrer la commande folllowing:
root @ Kali:/etc/Ansible# Ansible-PlayBook-demander-Vault-passer install_ts_vault. yml
mot de passe Vault : EnterASuperSecretPass
Référez http://docs.Ansible.com/Ansible/latest/playbooks_vault.html pour plus de détails sur le coffre-fort.
(Facultatif)
Pour authentifier les connexions SSL entre le pare-feu et l'agent TS, les administrateurs peuvent télécharger des certificats personnalisés sur l'agent TS.
Pour activer l'authentification mutuelle entre les agents pare-feu et TS, effectuez les étapes suivantes sur un serveur maître Windows et utilisez les configurations et les certificats de ce serveur et poussez à distance vers d'autres serveurs.
- Installer l'Agent TS sur un serveur Windows
- Transférez des certificats personnalisés sur ce serveur.
- Ne redémarrez pas le service agent des services Terminal Server
- Copiez les valeurs du Registre à partir du serveur Windows et copiez également le certificat personnalisé (Custom-CERT. PEM) à partir du répertoire d'installation de l'Agent TS du serveur
L'Agent TS crypte la phrase de passe du certificat et crée une entrée de Registre (TSAgentSSL). Lorsque le service de l'Agent TS est redémarré, l'Entrée du registre sera supprimée et la phrase de passe chiffrée sera écrite dans la Banque d'informations d'identification. Le certificat personnalisé (Custom-CERT. pem) sera chargé et sera utilisé pour la communication avec le pare-feu.
Dans l'étape suivante, nous copierons le «Custom-CERT. PEM» à partir d'un serveur maître Windows sur lequel l'agent TS a été installé (reportez-vous aux étapes précédentes) aux serveurs d'agent TS distants.
"win_copy" (lien) est utilisé pour copier le fichier Custom-CERT. PEM dans le dossier d'installation de l'agent TS sur les serveurs d'agent TS distants. Par exemple, vous allez utiliser la commande "Ansible-PlayBook-VVV copy_ts_cert. yml" pour exécuter la tâche suivante.
-hosts:
tâches Windows:
-nom: copiez un fichier unique en gardant le nom de
win_copy:
SRC: Custom-CERT. pem
dest: c Program Files Files\Palo Alto Networks\Terminal Server Agent \
Dans la tâche ci-dessus, le fichier Custom-CERT. pem a été téléchargé depuis maître Windows Server vers le contrôleur Ansible et à partir du contrôleur Ansible, il sera copié sur des serveurs d'Agent TS distants
root @ Myans:/etc/Ansible# ls Files/Custom-CERT. pem
Files/Custom-CERT. pem
Sur les serveurs Windows de l'Agent TS distant, nous allons mettre à jour les clés de registre. À partir des étapes précédentes, nous avons pris note des clés de Registre suivantes:
- TSAgentCNEXPIRY
- TSAgentCNISSUER
- TSAgentCNNAME
- TSAgentCNSUBJECT
- TSAgentSSL
À l'Aidedumodule «win_regedit» (lien), les clés de registre des serveurs distants seront mises à jour
-hôtes:
tâches Windows:
-nom: CN expiration
win_regedit:
Path: HKLM: \ Software\Palo Alto Networks\TS Agent\Conf
nom: TSAgentCNEXPIRY
données: Mar 14 20:15: 47 2019 GMT
type: String
-Name: CN Emetteur
win_regedit:
Path: HKLM: \ Software\Palo Alto Networks\TS Agent\Conf
Name: TSAgentCNISSUER
Data:/CN = FW16. palab. local
type: String
-Name: nom du CN
WIN_ regedit:
Path: HKLM: \ Software\Palo Alto Networks\TS Agent\Conf
nom: TSAgentCNNAME
données: cert_TS12Cert. pem
type: String
-nom: CN sujet
win_regedit:
Path: HKLM: \ Software\Palo Alto Networks\TS Agent\Conf
Name: TSAgentCNSUBJECT
Data:/CN = 192.168.75.12
type: String
-Name: phrase de passe
WIN_REGEDIT:
Path: HKLM: \ Software\Palo Alto Networks\TS Agent\Conf
Name: TSAgentSSL
Data: ro6lSTTRERERERERTRRRR
type: String
En utilisant lemodule "win_service" (Link), nous pouvons redémarrer le service Terminal Server Agent. Une fois le service redémarré, l'Agent TS utilise le certificat personnalisé et déplace le mot de passe du Registre vers le magasin d'informations d'identification. Une fois que la clé de Registre (TSAgentSSL) est déplacée, elle ne sera plus visible pour l'affichage dans le registre.
-hosts:
tâches Windows:
-nom: Restart Service
win_service:
nom: Pan Terminal Server Agent
État: redémarré
Sur le pare-feu, vous pouvez noter que la sécurité de connexion a été configurée sous (Device > identification de l'utilisateur > sécurité de connexion). Dans cette étape, le pare-feu vérifie le certificat d'autorité de certification qui a signé les certificats de l'Agent du service Terminal.
Il est supposé que sur les serveurs Windows de l'Agent TS, les certificats d'AUTORITÉ de certification sont installés. Les certificats de L'AUTORITÉ de certification peuvent être installés via la stratégie de groupe Windows (lien)
On peut apporter des modifications aux configurations de l'Agent des services Terminal Server en effectuant des modifications au registre. L'article en direct suivant (lien) explique comment accorder le registre de l'Agent TS pour une meilleure allocation et gestion des ports.
Les captures d'écran suivantes montrent différentes entrées de Registre qui peuvent être modifiées, qui configure en interne les agents TS.
En utilisant lemodule "win_regedit", nous pouvons modifier les registres de l'Agent TS. Les tâches suivantes montrent peu de modifications qui ont été effectuées à L'Agent TS.
Valeurs du Registre modifiées pour les clés suivantes:
- StartSize
- MaxSize
- StartPort
- EndPort
- FreePortBlockDelay
- EnableTws
- TSAgentDomain
- OverrideDomainEnable
- ReservedPorts