Credentials sicher mit Passwort Servern verwalten – Integration von ScriptRunner und Pleasant

Autor: | Lesezeit: 3 Minuten | Kategorie: Automation, ScriptRunner

Secure Credentials Password Server, PowerShell

Einführung

Seit der Version 2018R3 kann ScriptRunner auch von Passwort-Servern die Credentials zum Ausführen von PowerShell anfragen. Dies ist besonders im Enterprise-Umfeld hilfreich und erhöht die Sicherheit bei der Verwendung der PowerShell.

Die meisten Passwort Server sind so konzipiert, dass Systeme (wenn sie Managed Service Accounts nicht unterstützen) so eingerichtet werden, dass der Passwort Server das Passwort im Active Directory ändert. Nachträglich wird auch der Dienst, unter dem der Account läuft, neu einrichtet. Das ist natürlich nur eine Hilfslösung, aber trotzdem bei sehr vielen Systemen der heutige Weg.

Daher haben viele ScriptRunner Kunden nach der Integration von Passwort Servern gefragt. Ab der Version ScriptRunner 2018R3 wurde dieser Wunsch umgesetzt. Ich hatte einen solchen Kunden und habe mir daher dieses neue Feature etwas näher angeschaut. Was mich natürlich besonders interessiert hat, ist die Benutzerverwaltung und der Aufbau der Connectoren.

Doch starten wir mit dem einfachen Teil. Als Erstes werfen wir einen Blick auch den Passwort Server, um zu verstehen was genau damit möglich ist.

Beispiel: Pleasant Passwort Server

Als Beispiel habe ich mir den Pleasant Passwort Server angeschaut. Daneben unterstützt ScriptRunner noch die Passwort-Server von CyberArk und Thycotic.

Je komplizierter ein Passwort ist, desto sicherer ist es, aber auch schwieriger zu merken. Bei viele Unternehmen werden daher Tools wie z.B. Keepass eingesetzt, in dem alle Passwörter abgelegt sind. Hier muss man sich nur das Master-Passwort merken. Alternativ liegt eine passwortgeschützte Exceldatei mit den Passwörtern auf einem Netzlaufwerk – insgesamt alles nicht wirklich schön, und auch nicht sonderlich sicher. Ein Passwort Server ist hier eine wirklich gute Lösung, um Passwörter sicher, verschlüsselt und zentral abzulegen. Doch sollte man hier immer noch den Gedanken von Anfang bis Ende durchspielen. Ein Passwort Server ist nur dann wirklich sicher, wenn nicht der lokale Admin Vollzugriff auf die Datenbank hat und in der Anwendung auch noch berechtigt ist, sowie außerdem das Passwort von dem lokalen Admin auch noch „Admin1234“ ist.

Pleasant hat hierfür einen Passwort Server entwickelt. Dieser ist bei vielen Unternehmen im Einsatz und integriert sich super in Keepass.

ScriptRunner und Passwort Server

Standardmäßig unterstützt ScriptRunner den lokalen Windows Credential Manager für die Speicherung der notwendigen Passwörter. Nachteil der Verwendung des Credential Managers ist, dass die Passwörter lokal auf der Maschine liegen und nicht geteilt werden können. Daher kann nur der Benutzer, unter dem die Passwörter angelegt sind, diese sehen und administrieren.

Das bedeutet, sobald der Benutzer kompromittiert wurde, unter dessen Account die Credentials abgelegt wurden, hat der Angreifer Zugriff auf die Passwörter, welche unter diesem Benutzer gespeichert wurden.

Genau aus diesem Grund ist die Unterstützung von Passwort Servern in ScriptRunner auch so wichtig, denn ScriptRunner ist in vielen Unternehmen die Drehscheibe für administrative Aufgaben. Auch das Teilen von Passwörtern ist gängiges Szenario, da man zum Testen einer Funktion oft den Benutzer testen möchte, unter dem die jeweilige Aktion ausgeführt wird. Darüber hinaus ist es bei vielen Unternehmen aus Sicherheitsgründen Pflicht, Passwörter in regelmäßigen Abständen zu ändern. Eine manuelle Nachbearbeitung im Zusammenhang mit ScriptRunner, gilt es natürlich zu vermeiden.

Erklärung: Kommunikation ScriptRunner – Passwort Server

Die Kommunikation zwischen ScriptRunner und Pleasant läuft in den folgenden 4 Schritten ab:

  1. Ein Benutzer/Admin startet eine Action durch die ScriptRunner Web-Oberfläche
  2. ScriptRunner erkennt, dass die Action durch einen Passwort Server verwalteten Account ausgeführt wird und erfragt bei diesem das Passwort.
  3. Der Passwort Server liefert das Passwort an ScriptRunner zurück.
  4. ScriptRunner führt die Action mit dem verwalteten Benutzer aus.
ScriptRunner-Architektur, Passwort-Server, Kommunikation

Ablauf Kommunikation

Passwort Server Connector

Um diese Aufgabe zu bewerkstelligen, gibt es seit der Version 2018R3 eine neue Art von Connector – den Passwort Server Connector. Aktuell haben wir drei Hersteller im Sortiment: Pleasant, CyberArk und Thycotic. Die Aufnahme von weiteren Passwort Servern ist geplant.

Step-by-step: So wird der Passwort Server Connector eingerichtet

Um einen Passwort Server mit ScriptRunner zu verbinden, muss zunächst der Passwort Server Connector eingerichtet werden. Das geschieht mittels Powershell auf dem ScriptRunner Host.

Mit „Get-ASRPasswordServerConnector“ kann die aktuelle Konfiguration abgefragt werden.

Get-ASR-PasswortServerConnector, PowerShell Script

Aktuelle Konfiguration

Für die Einrichtung eines neuen Connectors, steht das Cmdlet „Set-ASRPasswordServerConnector“ zur Verfügung.

!Achtung – dadurch wird der Service neugestartet!

Einrichten Passwort Server Connector, PowerShell Script

Einrichten eines Passwort Server Connectors


ScriptRunner Admin App, Passwort Server

Ansicht in der ScriptRunner-AdminApp

Verwendung

Ist der Passwort Server erfolgreich eingerichtet, können Credentials des Passwort Servers verwendet werden. Hierfür ist bei Pleasant die ID aus dem direkten Link zu verwenden.

Pleasant Passwort Server

Eintrag in Pleasant

Testen der Konfiguration

Um die korrekte Installation und Konfiguration des Passwort Servers zu testen, habe ich eine kleine Action in ScriptRunner erstellt.

ScriptRunner Admin App, Credential

Anlage eines Credentials in ScriptRunner

Als Erstes wird in der Action ein Credential angelegt, um sich mit einem Benutzer und einem Passwort zu verbinden. Dafür wurde hier der Passwort Server verwendet und auch die ID aus dem direkten Link eingetragen. Diese ID muss eindeutig sein.

Nach der Erstellung des Credentials wird ein Target angelegt, für das die Credentials verwendet werden.

ScriptRunner Admin App, Target

Anlage eines Targets in ScriptRunner

Bei der Anlage des Credentials ist der Unterschied gegenüber der Anlage ohne Passwort Server nur, dass ich hier den Account gleich hinter das Credential lege.

PowerShell-Script, ScriptRunner Action

Anlage eines Scripts für eine Action

Zum Test habe ich eine Action erstellt, um Account-Informationen aus dem Active Directory anzuschauen.

ScriptRunner Action, Admin App

Anlage einer Action in ScriptRunner


ScriptRunner, Admin App, Target

Auswählen des Targets in der Action

Funktioniert die Kommunikation zwischen Passwort Server und ScriptRunner, kann die Action ausgeführt werden. Zeitlich merkt man keinen Unterschied. Hier gibt es aber Abhängigkeiten bezüglich der Konfiguration des Passwort Servers und der Infrastruktur.

Report ScriptRunner I, PowerShell

Report I


ScriptRunner Report, PowerShell

Report II

Fazit

Das war eine kurze Einführung in den Passwort Server Connector von ScriptRunner in Verbindung mit Pleasant.

Viel Spaß mit dem Feature und happy automation 🙂

Diese Beiträge könnten Sie auch interessieren:

ScriptRunner 2019R1, Network, Multi-Team
ScriptRunner Version 2018R3