Remote-Einsatz von Windows User-ID Agent mit Ansible
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) verwendenund Benutzer-ID-Agenten aus der Ferne installieren und verwalten (Palo Alto Networks Admin Guide)
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 zeigt einige der Windows-Ansible-Module an, die verwendet wurden, um Ansible Play Book zu schreiben, um User-ID-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
Ich habe zum Beispiel einen User-ID-Agent-Server (uid1. palab. local) unter einem Tag (Windows) definiert.
Windows
uid1. palab. lokales
Das folgende Modul installiert User-ID Agent auf Windows Server. Details zum win_package-Modul finden Sie hier
Im folgenden Beispiel wird der User-ID Agent Installer (*. msi) auf einer Netzwerkfreigabe gehostet.
-Hosts: Windows-
Aufgaben:
-Name: Install UID
win_package:
Pfad: \\DC1\Users\Administrator\Downloads\UaInstall-8.0.7-2.msi
product_id: User-ID Agent
Zustand: Present
user_name: palab\administrator
user_password: MySuperSecretPass
Der folgende Befehl würde das Playbook ausführen:
ansible-Playbook-VVV install_uid. yml
Ansible kommt mit einem Tool, das als Ansible Vault (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: Install UID
win_package:
Pfad: \\DC1\Users\Administrator\Downloads\UaInstall-8.0.7-2.msi
product_id: User-ID Agent
Zustand: Present
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_uid_vault. yml
Vault Passwort: enterasupersecretpass
Weitere Informationen zu Vault finden Sie http://docs.ansible.com/ansible/Latest/playbooks_vault.html.
Hinweis: Wenn ein dediziertes Service-Konto für User-ID-Agent verwendet wird, müssen zusätzliche Schritte auf dem Windows-Server durchgeführt werden (wie zum Beispiel Konto Berechtigungen für den installationsOrdner zuweisen, Benutzer-ID-Agent-Registry-Berechtigungen ändern... etc). Siehe Admin Guide, um die richtigen Berechtigungen zu geben.
Das folgende ansible-Modul kann verwendet werden, um die Berechtigungen auf den entfernten User-ID Agent-Servern zu ändern. Im folgenden Beispiel wurde ein Service-Konto (uidagent @ palab. local) erstellt, das für User-ID-Agenten verwendet werden soll.
-Hosts: Windows-
Aufgaben:
-Name: setzen Sie die Berechtigungen des Ordners
win_acl:
Path: C:\Programm-Dateien (x86) \Palo Alto Networks
Rechte: FullControl-
Typ: erlauben Sie den
Staat: Geschenk
erben: containervererbe, ObjectInherit
-Vermehrung: ' none '
-Benutzer: Uidagent @ palab. local
-Name: setzen Sie Registry-Schlüssel rechts
WIN_ACL:
Path: HKLM: \ Software\wow6432node\palo Alto Networks
Benutzer: uidagent @ Palab. lokale
Rechte: FullControl-
Typ: Staat zulassen:
Geschenk erben
: Container erben, objetinherit-
Vermehrung: "keine"
Modul, um die Anmeldung als DienstLeistung mit dem Service-Konto zu setzen
-Hosts: Windows-
Aufgaben:
-Name: setzen Sie den Logon-Benutzer auf ein Domain-Konto
WIN_SERVICE:
Name: User-ID-Agent-
Zustand: Neustart-Benutzer
Name: Uidagent @ Palab. lokales
Passwort: mysupersecretuidpass
Bevor Sie andere User-ID-Agenten einsetzen, konfigurieren Sie User-ID einen des Windows-Servers (nennen wir ihn den Master Windows Server). Wir werden die Konfigurationen vom Master-Windows-Server kopieren und auf anderen Servern einsetzen.
Folgen Sie den Schritten (Admin Guide), um User-ID Agent auf Master Windows Server zu konfigurieren. Sobald die Konfigurationen abgeschlossen sind, wird die Datei "UserIDAgentConfig. xml" in den Ordner User-ID-Installation geschrieben. Kopieren Sie die UserIDAgentConfig. XML-Datei auf Ihren ansible Controller. Wenn Sie ein benutzerdefiniertes Zertifikat für den User-ID-Agent zuweisen, um sich an der Firewall zu authentifizieren, lesen Sie (optional). Sobald diese Schritte abgeschlossen sind, kopieren Sie die Datei "UserIDAgentConfig. xml".
Root @ ansible:/etc/ansible# CD Files/
root @ Kali:/etc/ansible/Files# ls-Ltr useridagentconfig. XML
-rw-r--r--1 root root 4559 Mar 14 12: 01 UserIDAgentConfig. XML
(Optional):
Um SSL-Verbindungen zwischen Firewall und dem User-ID-Agent zu authentifizieren, können Administratoren kundenspezifische Zertifikate auf den User-ID-Agent hochladen.
Um eine gegenseitige Authentifizierung zwischen Firewall und User-ID-Agenten zu ermöglichen, führen Sie die folgenden Schritte auf einem Master-Windows-Server durch und nutzen die Konfigurationen von diesem Server aus und schieben Sie aus der Ferne auf andere Server
- Installieren Sie User-ID Agent auf einem Master-Windows-Server
- Relevante User-ID-Agent-Konfigurationen ausführen
- Laden Sie auf diesem Server individuelle Zertifikate hoch.
- Speichern Sie die Konfiguration
- Verpflichten Sie die Konfiguration nicht
- Kopieren Sie die useridagentconfig. XML vom Windows-Server auf ansible Controller
- Wenn mehrere User-ID-Agenten auf diese Weise aus der Ferne konfiguriert werden müssen, gehen Sie zu Schritt 3 und laden Sie das entsprechende User-ID Agent-Zertifikat hoch. Treten Sie Schritt 4, 5 und 6.
Modul, um die "useridagentconfig. xml"-Datei auf entfernte Server zu kopieren.
"win_copy" (Link) wird verwendet, um die Konfigurationsdatei in den installationsORDNER der Benutzer-ID-Agenten auf den entfernten Agenten-Servern zu kopieren. Zum Beispiel werden Sie den Befehl "ansible-Playbook-VVV copy_uid_config. yml" verwenden, um die folgende Aufgabe auszuführen.
-Hosts: Windows-
Aufgaben:
-Name: Kopieren Sie eine einzelne Datei, die den dateiNAMEN
WIN_COPY:
src: useridagentconfig. XML
dest: C:\-Programmdateien (x86) \PALO Alto networks\user-ID Agent \
User-ID Agent kann mit dem gleichen Modul aktualisiert werden, das für die Installation von User-ID verwendet wird. Ändern Sie einfach die Installationsdatei
-Hosts: Windows-
Aufgaben:
-Name: Install UID
win_package:
Pfad: \\DC1\Users\Administrator\Downloads\UaInstall-8.1.0-66.msi
product_id: User-ID Agent
Zustand: Present
user_name: palab\administrator
user_password: MySuperSecretPass
Sobald das Upgrade abgeschlossen ist, muss der User-ID Agent-Dienst neu gestartet werden.
Mit demModul "win_service" (Link) können wir den User-ID Agent-Service neu starten.
-Hosts: Windows-
Aufgaben:
-Name: Neustart-Service
win_service:
Name: User-ID-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 User-ID-Agenten unterzeichnet hat.
Sonstiges:
Die Ignore-Benutzerliste legt fest, welche Benutzerkonten keine IP-Adresse-to-username-Kartierung benötigen (zum Beispiel Kiosk-Konten). Weitere Details finden Sie im Admin Guide
Erstellen Sie eine Ignore-Listen Datei in einem ansible Controller (Name der Datei als ignore_user_list. txt)
Root @ ansible:/etc/ansible# Cat files/ignore_user_list. txt
palab\administrator
Senden Sie die Ignorierliste an entfernte User-ID Agent-Server. Diese Datei wird in den Installationsordner kopiert. um diese Aufgabe zu erfüllen, wird das Ansible Windows-Modul "win_copy" verwendet.
-Hosts: Windows-
Aufgaben:
-Name: Kopieren Sie eine einzelne Datei, die den Dateinamen
win_copy:
src: ignore_user_list. txt
dest: C:\-Programmdateien (x86) \PALO Alto networks\user-ID Agent \
Damit die Ignorierliste wirksam wird, muss der User-ID-Agent-Dienst neu gestartet werden. Verwenden Sie das Rezept, das früher zur Verfügung gestellt wurde, um den User-ID Agent Service neu
Vor der Anwendung der Ignorierliste:
Nach Anwendung der Ignorierliste:
Verwenden Sie die obige Anleitung auf eigene Gefahr: die skizzierten Schritte spiegeln ein Setup wider, das wir in einer Laborumgebung durchgeführt haben.
Die Ergebnisse und Konfigurationsparameter können je nach Umgebung variieren und vor dem Einsatz in der Produktion überprüft und getestet werden.