Remote-Einsatz von Terminal Services Agent mit Ansible

Remote-Einsatz von Terminal Services Agent mit Ansible

27475
Created On 09/25/18 18:09 PM - Last Modified 06/14/23 06:19 AM


Resolution


Ansible ist ein Konfigurationsmanagement-Tool, das typischerweise verwendet wird, um den Zustand eines Servers in Ihrer IT-Infrastruktur durchzusetzen. Es wird verwendet, um sicherzustellen, dass der Server tatsächlich im gleichen Zustand ist, wie Sie es sich wünschen. Es sorgt dafür, dass die richtigen Pakete installiert sind, die richtigen Konfigurationsdateien vorhanden sind, die richtigen Dienste mit den richtigen Berechtigungen laufen... etc. 

 

Administratoren schreiben eine Reihe von Regeln in einer einfachen Sprache (YAML), in Form von Playbooks.  Ansible funktioniert, indem man sich mit den Knoten verbindet und kleine Programme ausschiebt,die Ihnen als "Ansible Module" bezeichnet werden. Weitere Details dazu, wie sich die arbeiten hier befinden, finden Sie hier

 

Administratoren könnten Windows-ansible -Module (http://docs.ansible.com/ansible/Latest/list_of_windows_modules.html) verwenden und denTerminal Services Agent (Admin Guide) aus der Ferne installieren und verwalten .  

 

Ansible standardmäßig verwendet SSH, um Linux zu verwalten. Um Windows zu verwalten, wird PowerShell Remoting verwendet. Für die Verwaltung von Windows-Rechnern müssen die in der Ansible-Seite dokumentierten Schritte befolgt werden

 

Referenz:http://docs.ansible.com/ansible/Latest/intro_windows.HTML  

 

Die folgenden Schritte stellen einige der Windows-Ansible-Module vor, die verwendet wurden, um Ansible Play Book zu schreiben, um Terminal Services (TS) Agent aus der Ferne einzusetzen.

  

Ansible arbeitet gleichzeitig gegen mehrere Systeme in Ihrer Infrastruktur. Sie tut dies, indem Sie Teile von Systemen auswählt, die im Inventar von Ansible aufgelistet sind, was in der Lage ist, am Standort gespeichert zu werden /etc/ansible/Hosts

 

Zum Beispiel habe ich einen TS Agent Server (tsagent1. palab. local) unter einem Tag (Windows) definiert.

 

Windows 
tsagent1. palab. lokales

 

Das folgende Modul installiert TS Agent auf Windows Server. Details zum win_package-Modul finden Sie hier

Im folgenden Beispiel wird der TS Agent Installer (*. msi) auf einer Netzwerkfreigabe gehostet. 

 

-Hosts: Windows-
Aufgaben:
-Name: Installation TS Agent
win_package:
Path: \\DC1\Users\Administrator\Downloads\TaInstall64.x64-8.0.8-2.msi
product_id: Pan Terminal Server Agent
Zustand: Present
user_name: palab \Administrator
user_password: Mysupersecretpass                                      

 

Der folgende Befehl würde das Playbook ausführen:

 

ansible-Playbook-VVV install_ts. yml 

 

Ansible kommt mit einem Tool, das als Ansible Vault (Link) bezeichnet wird, um Geheimnisse zu verschlüsseln. Diese Geheimnisse können dann in Aufgaben eingesetzt werden.

 

Erstellen Sie eine geheime. yml-Datei.

 

---
MySecret: Mysupersecretpass 

 

Verschlüsseln Sie die geheime. yml-Datei

 

# ansible-Vault verschlüsseln Secret. yml
Neues Vault-Passwort: Enterasupersecretpass
bestätigen neues Vault-Passwort: Enterasupersecretpass-

Verschlüsselung erfolgreich

 

Der Inhalt der geheimen. yml-Datei wird verschlüsselt und wird wie unten dargestellt aussehen (der Inhalt wird in Ihrer Umgebung unterschiedlich sein)

 

Cat Secret. yml 

$ANSIBLE _vault; 1.1; AES256

63303662393262633865366536333531383362633838316462313739306431656130383730303036
6433623639316439313565393430333430643930623266350a353533666432613438626331396636
32326366386361363363383335333135386364346466636533353434323261373739363533626238
3635613765383762380a306439383961336261316432376266386338643765313064376264633535
35616534613264353739333564633534353230623630653762373632323766643838

 

Die Variable (zum Beispiel: MySecret), die im geheimen definiert ist. yml könnte nun in den Spielbüchern wie folgt verwendet werden:

 

-Hosts: Windows-
Aufgaben:
-Name: Secret
include_vars: Secret. yml

-Name: Installation TS Agent
Win_package:
Path: \\DC1\Users\Administrator\Downloads\TaInstall64.x64-8.0.8-2.msi
product_id: Pan Terminal Server-Agent-
Zustand: anwesende
user_name: Palab\administrator
user_password: "{{MySecret }}"                                           

 

Um das obige Playbook auszuführen, würden Sie den erreichen-Befehl eingeben:

 

Root @ Kali:/etc/ansible# ansible-Playbook--Ask-Vault-Pass Install_ts_vault. yml
Vault Passwort: enterasupersecretpass

 

Weitere Informationen zu Vault finden Sie http://docs.ansible.com/ansible/Latest/playbooks_vault.html.

 

(Optional)

 

Um SSL-Verbindungen zwischen Firewall und TS-Agent zu authentifizieren, können Administratoren auf dem TS-Agent individuelle Zertifikate hochladen. 

 

Um eine gegenseitige Authentifizierung zwischen Firewall und TS-Agenten zu ermöglichen, führen Sie die folgenden Schritte auf einem Master-Windows-Server durch und nutzen die Konfigurationen und Zertifikate von diesem Server und schieben Sie aus der Ferne auf andere Server.

 

  • TS Agent auf einem Windows-Server installieren
  • Laden Sie auf diesem Server individuelle Zertifikate hoch.
  • Starten Sie nicht den Terminal Services Agent Service
  • Kopieren Sie die Registry-Werte vom Windows-Server und kopieren Sie auch das benutzerdefinierte Zertifikat (Custom-cert. PEM) aus dem TS-Agent-Installationsverzeichnis des Servers

TS Agent verschlüsselt die Passphrase des Zertifikats und erstellt einen Registry-Eintrag (Tsagentssl). Wenn der Dienst des TS Agent neu gestartet wird, wird der Registry-Eintrag gelöscht und die verschlüsselte Passphrase wird in den Bescheinigung Store geschrieben. Das Custom-Zertifikat (Custom-cert. PEM) wird geladen und wird für die Kommunikation mit der Firewall verwendet.

 

Screenshot 2018-03-20 um 11.35.57 Uhr. png

 

Screenshot 2018-03-20 um 11.36.20 Uhr. png

 

Screenshot 2018-03-20 um 11.36.47 Uhr. png

 

Screenshot 2018-03-20 um 11.37.04 Uhr. png

 

Screenshot 2018-03-20 um 11.37.40 Uhr. png

 

 

Im folgenden Schritt werden wir das "Custom-cert. PEM" von einem Master-Windows-Server, auf dem TS Agent installiert wurde (siehe vorherige Schritte), auf entfernte TS-Agent-Server kopieren.

"win_copy" (Link) wird verwendet, um die Custom-cert. PEM-Datei in den TS-Agent-installationsORDNER auf den entfernten TS-Agent-Servern zu kopieren. Zum Beispiel werden Sie den Befehl "ansible-Playbook-VVV copy_ts_cert. yml" verwenden, um die folgende Aufgabe auszuführen.

 

-Hosts: Windows-
Aufgaben:
-Name: Kopieren Sie eine einzelne Datei, die den Dateinamen
win_copy:
src: Custom-cert. PEM
dest: C:\Programm Files\palo Alto networks\terminal Server Agent \                    

 

In der obigen Aufgabe wurde die Custom-cert. PEM-Datei vom Master-Windows-Server auf den ansible Controller und vom ansible Controller hochgeladen, Sie wird auf entfernte TS-Agent-Server kopiert.

 

Root @ myans:/etc/ansible# ls files/Custom-cert. PEM 
Files/Custom-cert. PEM

 

Auf den entfernten TS-Agent-Windows-Servern werden wir die Registry-Schlüssel aktualisieren. Aus den vorangegangenen Schritten haben wir folgende Registy Keys zur Kenntnis genommen:

 

  • TSAgentCNEXPIRY
  • TSAgentCNISSUER
  • TSAgentCNNAME
  • Tsagentcnsubjekt
  • TSAgentSSL

 

Mit demModul "win_regedit" (Link) werden die Registrierungsschlüssel auf den entfernten Servern aktualisiert

 

-Hosts: Windows-
Aufgaben:
-Name: CN-Ablauf
win_regedit:
Path: HKLM: \ Software\palo Alto Networks\ts Agent\conf
Name: Tsagentcnexpiry
Data: Mar 14 20:15:                          47 2019 GMT
      -Typ: String
  -Name: CN-Emittent
    win_regedit:
      Path: HKLM: \ Software\palo Alto Networks\ts Agent\conf
      Name: tsagentcnissuer
      Data:/CN = FW16. PALAB. lokaler
      Typ: String
  -Name: CN Name
    win_ regedit:
      Path: HKLM: \ Software\palo Alto Networks\ts Agent\conf
      Name: Tsagentcnname
      Data: cert_TS12Cert. PEM
      Type: String
  -Name: CN SUBJEKT
    win_regedit:
      Path: HKLM: \ Software\palo Alto Networks\ts agent\conf
      Name: Tsagentcnbetreff
      Data:/CN = 192.168.75.12
      Type: String
  -Name: passpphrase
    WIN_REGEDIT:
      Path: HKLM: \ Software\palo Alto Networks\ts Agent\conf
      Name: Tsagentssl
      Data: ro6lSTTRERERERERTRRRR
      Type: String

 

Mit demModul "win_service" (Link) können wir den Terminal Server Agent-Service neu starten. Sobald der Dienst wieder gestartet ist, wird der TS-Agent das Custom-Zertifikat verwenden und die Passphrase von der Registry in den Bescheinigung Store verschieben. Sobald der Registrierungsschlüssel (TSAgentSSL) verschoben ist, wird er nicht mehr für die Anzeige in der Registry sichtbar.

 

-Hosts: Windows-
Aufgaben:
-Name: Neustart-Service
win_service:
Name: Pan-Terminal-Server-Agent-
Zustand: neu gestartet

 

Auf der Firewall können Sie beachten, dass die VerbindungsSicherheit unter (Gerät > BenutzerIdentifikation > VerbindungsSicherheit) konfiguriert wurde. In diesem Schritt prüft die Firewall das CA-Zertifikat, das die Zertifikate des Terminal Service Agent unterzeichnet hat. 

 

Screenshot 2018-03-20 um 1.24.49 Uhr. png

 

Screenshot 2018-03-20 um 1.25.13 Uhr. png

 

Es wird davon ausgegangen, dass auf dem TS Agent Windows-Server die CA-Zertifikate installiert sind. Die CA-Zertifikate können über die Windows Group Policy (Link) installiert werden.

 

Man kann Änderungen an den Terminal-Service-Agenten-Konfigurationen vornehmen, indem man Änderungen an der Registry vornimmt. Der folgende Live-Artikel (Link) diskutiert, wie man TS Agent Registry für eine bessere Hafen Zuweisung und-Handhabung einstimmt.

 

Die folgenden Bildschirmaufnahmen zeigen verschiedene Registry-Einträge, die modifiziert werden können, was die TS-Agenten intern neu konfiguriert.

 

Screenshot 2018-03-20 um 1.33.20 Uhr. png

 

Screenshot 2018-03-20 um 1.33.36 Uhr. png

 

Mit demModul "win_regedit" können wir die TS-Agenten-Registrierungen ändern. Die folgenden Aufgaben zeigen wenige Modifikationen, die an TS Agent durchgeführt wurden.

 

Registry-Werte für folgende Schlüssel geändert:

 

  • StartSize
  • Maxsize
  • StartPort
  • EndPort
  • FreePortBlockDelay
  • EnableTws
  • TSAgentDomain
  • OverrideDomainEnable
  • ReservedPorts
  •  
  •  

 

 

 

  

 

 

 

   

 

  

 

 

 



Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000ClNwCAK&lang=de&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language