Pleasant Password Server

Passwort Managemant

Demoversion gibt es auf der Herstellerwebseite: Kostenlos testen – Passwort Manager – Pleasant Password Server

Bereitstellung des Servers

Für meinen Testaufbau verwende ich folgende VM:

  • 2 vCPU
  • 4 GB RAM statisch
  • 100 GB Festplatte
  • 1 vEthernet
  • Windows Server 2022 Standard

Voraussetzungen seitens des Herstellers

Software

  • Supported Operating Systems:
    • Windows Server 2022 (including Server Core), 2019, 2016, 2012, 2008
    • Windows 10, 8, 7, Vista (Ultimate or Business)
  • Supported Databases:
    • SQLite (default)
      • only recommended for smaller installations (1 – 100 users)
    • Microsoft SQL Server:
      • Versions 2005 or higher (Express Edition or better)
      • Including High Availability features (Always On Availability Groups, Windows Server Failover Cluster)
    • PostgreSQL 9.0 or higher
    • Microsoft Azure SQL DB
  • Microsoft .NET Framework:
    • 4.8 is required (4.8 default, installed for you)
  • Supported versions of IIS or IIS Express:
    • IIS Express versions 8+ (default, installed for you)
    • IIS versions 7+

Hardware

  • Micro installation (<1k entries; 1-10 users):
    • Dual-Core 1.6 Ghz or higher
    • 2 GB RAM
    • 500 MB free disk space
  • Small installation (1k-10k entries; 10-100 users):
    • Dual-Core 2 Ghz or higher
    • 4 GB RAM
    • 1 GB free disk space
  • Medium installation (10k+ entries; 100-1,000 users):
    • Quad-Core 2 Ghz or higher
    • 8 GB RAM
    • 2 GB free disk space
  • Large installation (100k+ entries; 1,000-10,000 users):
    • Contact Us
  • Very Large installation (1M+ entries; 10,000+ users):
    • Contact Us

With the release of version 7, PPASS requires a 64-bit processor; use version 6 for 32-bit processors.

Installation

Die Installation wird am besten als „Run as administrator“ gestartet. Im ersten Dialog setze ich den Haken bei den Lizenzbestimmungen und klicke auf den Button <Options> . Hier kann jetzt der Installationspfad angegeben werden. Ich empfehle eine zweite Festplatte und dort das Programm hinzuinstallieren, in meiner Testumgebung hat die VM jetzt nur die Betriebssystemplatte, weshalb ich das direkt nach „C:\Pleasant Solutions\Pleasant Password Server“ installiere und auf den Button <OK>“ klicke, gefolgt von einem Klick auf <Install>.
Das Setup installiert automatisch „IIS 8.0 Express“ und „Microsoft Visual C++ 2015-2019 Redistributable“ mit. Zudem öffnet sich bei Abschluss der Browser mit nützlichen weiterführenden Informationen.


Konfiguration

In der Onlinedokumentation ist auch ein tolles Schaubild über alle Schnittstellen enthalten:

Wechsel der Datenbank

Standardmäßig ist eine SQLite-Datenbank installiert, das reicht für kleine Umgebungen aus. Man kann/sollte natürlich für eine Ausfallsicherheit auf ein hochwertiges Produkt wechseln. Unterstützt werden:

  • SQLite (default)
  • PostgreSQL
  • MS-SQL
  • Azure DB

Benutzeraccount

Im AD wird der Benutzeraccount „SA-PWS“ angelegt.

MSSQL-Datenbank

Im SQL Management Studio wird die Datenbank „PWS“ angelegt und der Benutzeraccount „SA-PWS“ mit dem Privileg „db_owner“ berechtigt.

Die Skripte hierfür sind:

Backup der aktuellen SQLite-Datenbank

Hierzu im Portal (standardmäßig https://localhost:10001/ ) im Menü auf „Settings > Database Backups“ gehen. Hier einen passenden Pfad auswählen (bspw. „C:\Pleasant Solutions\Backup“) und den EncryptionKey sicher abspeichern. Anschließend auf <Save> und danach auf <Backup Now> klicken.


Backup des aktuellen Connection-String

Hierzu die Anwendung „Service Configuration“ öffnen; auf den Button <Database Configuration> klicken und im neuen Fenster den Text aus dem unteren Eingabebereich rauskopieren und sicher verwahren.

Datenbank wechseln

Den Dienst „Pleasant Password Server“ stoppen, im Reiter „Log on“ umstellen von „Local System account“ auf „This account“ und den oben angelegten User „SA-PWS“ inkl. dazugehörigem Kennwort eintragen und auf <Apply> klicken.

Dann im „Service Configuration“ auf den Button „<Database Configuration> klicken. Anschließend auf das Dropdown klicken und „MS-SQL“ auswählen; jetzt den neuen Connection-String nach folgendem Schema eintragen:

Server=YourServerName;Database=YourDatabaseName;Encrypt=TrueOrFalse;
Integrated Security=SSPI;TrustServerCertificate=TrueOrFalse;
Server=YourServerName;Database=YourDatabaseName;Encrypt=TrueOrFalse;
User Id=myUsername;Password=myPassword;TrustServerCertificate=TrueOrFalse;

In meinem Fall:

Server=SQL-AG1;Database=PWS;Encrypt=False;Integrated Security=SSPI;TrustServerCertificate=False;

Und auf den Button <Save Changes> klicken.

Jetzt beim Dienst „Pleasant Password Server“ wieder auf den Button <Start> klicken; dabei erstellt der Password-Server alle notwendigen Tabellen automatisch.

Hinweis:
Bei meinem ersten Versuch musste ich den „SA-PWS“ in die Gruppe der lokalen Administratoren mit aufnehmen. Das ist aus Security-Sicht natürlich nicht so toll, ggfs. findet sich da noch eine bessere Lösung.

Daten wiederherstellen

Da beim Datenbank-Wechsel nun eine neue & leere Datenbank auf dem SQL-Server liegt, ist der Admin-Login wieder auf den Standard zurückgesetzt.
Daher sicherstellen, dass das Backup-File im Pfad „C:\ProgramData\Pleasant Solutions\Password Server\Backups“ liegt, dann im Menü auf „Settings > Restore Database“, den passenden Encryption-Key eintragen und auf <Restore> klicken.

Jetzt kann erscheint der Anmeldebildschirm und man kann sich mit seinen eigenen Admin-Logindaten anmelden.


Wichtig:
In meinem Fall habe ich eine SQL-AlwaysOn-Verfügbarkeitsgruppe, d.h. ich muss den User „SA-PWS“ auf dem sekundären SQL-Server ebenfalls anlegen. Eine Zuweisung zur Datenbank „PWS“ kann nicht erfolgen, da sie auf dem sekundären SQL-Server nicht im Zugriff sein darf. Man kann an der Stelle einen Schwenk ausführen und dann die Benutzerzuweisung prüfen. Da die SID des AD-Users identisch ist, sollte die Zuweisung automatisch passen.

USE [master]
GO
CREATE LOGIN [DEMOLABOR\SA-PWS] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
GO

Port wechseln

Häufig ist es gewünscht, dass Standardports verwendet werden, d.h. wenn bspw. HTTPS verwendet werden soll, dann nicht auf einem beliebigen Port sondern eben auf TCP/443.

Zuerst mit einer administrativen Kommandozeile oder PowerShell prüfen, ob der Port ungenutzt ist, dazu diesen Befehl ausführen:

netstat -b -p TCP -q

Der Portwechsel selbst wird über das Tool „Service Configuration“ gemacht. Hier auf den Button <Port configuration> klicken, im Eingabebereich von „10001“ auf „443“ umstellen und auf den Button <Set Port> klicken.

Zusätzliche Schritte

Wird als Webserver der „IIS Express“ verwenden müssen folgende Schritte durchgeführt werden:

  1. Stoppen des Dienstes „Pleasant Password Server“
  2. In administrativer Kommandozeile folgenden Befehl ausführen:
    • netsh http add urlacl url=https://YOURSERVERNAME:443/ user=everyone
  3. Die Konfigdatei öffnen:
    • %ProgramData%\Pleasant Solutions\Password Server\IISExpress\PleasantPasswordManagerHost.config
  4. Diese Zeile im Bereich „Binding“ hinzufügen:
    • <binding protocol="https" bindingInformation="*:443:YOURSERVERNAME" />
  5. Starten des Dienstes „Pleasant Password Server“

Kleine Info:
Ich habe bei mir das Binding anstelle von <binding protocol="https" bindingInformation="*:443:YOURSERVERNAME" /> ein <binding protocol="https" bindingInformation="*:443:*" /> eingetragen, dadurch bin ich nicht auf den Hostnamen des Servers gebunden, sondern kann später auch einen einfachen DNS-Namen (wie bspw. „password(.demolabor.intern)“) verwenden.


SSL-Zertifikat tauschen

Zertifikat generieren

Da mein Password-Server Mitglied in einer AD ist, kann ich ganz einfach über die Management-Console das Zertifikat anfordern.


Zertifikat hinterlegen

Jetzt im Tool „Service Configuration“ auf den Button <Certificate Configuration> klicken und im neuen Fenster auf den Button <Import Certificate> klicken. Den Pfad zum Zertifikat angeben und auf den Button <OK> klicken, danach das Password zum Zertifikat eintragen und auf den Button <OK> klicken.

Jetzt noch den Dienst neustarten und auf die Webseite gehen, um zu prüfen, dass der Zertifikatsfehler weg ist.

In meinem Fall musste ich dann anstelle https://localhost/WebClient eben den für das Zertifikat genutzten DNS-Namen verwenden, also https://pws.demolabor.intern/WebClient und dann habe ich eine fehlerfreie Seite angezeigt bekommen und konnte mich einloggen.


Verwenden von Active Directory-Benutzern zur Anmeldung

Zur einfacheren Benutzerverwaltung kann der Pleasant-Password-Server auch an ein Active Directory oder anderes LDAP-System angebunden werden. In meinem Beispiel binde ich ihn an das DEMOLABOR-AD an.

Active Directory Anbindung

Auf dem Webportal als Administrator anmelden und dann im Menü auf „Users and Roles > Active Directory / LDAP“ gehen. Dort dann auf den Button <Add New Active Directory> klicken.

Folgende Einstellungen nehme ich vor:

  • Connection:
    • Authentication Type: „Kerberos „Microsoft Negotiate“ (-> Aus Security-Gründen wäre „Kerberos“ sicherer und es sollte kein NTLM mehr verwendet werden, aber damit ist Pleasant nicht klar gekommen – leider ohne sinnvolle Fehlermeldung)
    • Alias: „DEMOLABOR.intern“
    • Host Domain: „DEMOLABOR.intern“
    • Port: 389 (Kein Haken „Use SSL“ gesetzt)
    • Direcotry Credentials:
      • Radio-Button bei „Use the following credentials“
      • Connection Username Type: SAMAccount
      • User Name: SA-PWS-ADLINK (Account wurde vorher im AD angelegt)
      • Password: „MeinSupersicheresPassword“ 😉
  • Import
    • Auto Import: Haken setzen
    • Import As: „Password Server User“ (eine andere Auswahl ist auch nicht möglich)
    • Allow Password Changes: Haken nicht setzen!
    • Password Policy: Kann leer bleiben, da Passwortänderungen eh nicht erlaubt werden
    • Base Distinguished Name: „OU=TEMP,DC=DEMOLABOR,DC=intern“ (also die Haupt-OU, unter der die Benutzer & Gruppen liegen)
    • User Relative DN: „OU=USER
    • Group Relative DN: „OU=GROUPS
    • Also Assign Roles from User’s Nested Groups: Haken setzen
  • Directory Mapping and Schema
    • Account Username Type: SAMAccount
    • Display Name Attribute: cn
    • Email Address Attribute: mail
    • Phone Number Attribute: telephoneNumber
    • User Status – Enabled/Disabled Status: Haken setzen
  • Search Filter
    • Enforce Search Filters: Haken setzen
    • Additional User Filters: hier füge ich ohne Anführungsstriche ein:
      • „memberOf:1.2.840.113556.1.4.1941:“ is „CN=T2-PasswordServer-Users,OU=GROUPS,OU=TEMP,DC=DEMOLABOR,DC=intern
    • Additional Group Filters: Hier nehme ich keine Änderung vor

Anschließend auf den Button <Create> klicken. Es wird wieder zur AD-/LDAP-Übersicht geleitet. Man kann jetzt in der ersten Spalte auf den Namen des Eintrags (in meinem Fall „DEMOLABOR“) klicken, gelangt nochmal zu den Einstellungen, hier dann ganz unten auf den Button <Test Connection> klicken.


Automatischer Benutzer-Import

Natürlich möchte man nicht jedes Mal bei Änderung der Benutzer, welche den Passwort-Server verwenden dürfen, manuell die Synchronisierung bzw. den Import anstoßen.

Auf dem Webportal als Administrator anmelden und dann im Menü auf „Users and Roles > Active Directory / LDAP“ gehen. Dort dann in der Zeile der hinterlegten Active Directory auf den Button <Actions> klicken und im Kontextmenü den Eintrag „Automatic Directory Sync“ auswählen.

Je nachdem, wie viele Benutzeränderungen es pro Tag oder Stunde es voraussichtlich geben wird, sollte bei „Sync Schedule“ die passende Zeit gewählt werden. Für den „Health Check Schedule“ gilt das gleiche Prinzip; hier kann aber eine weitaus geringere Häufigkeit verwendet werden.

Optional kann noch eine Benachrichtigung im Fehlerfall hinterlegt werden – dazu muss aber SMTP bzw. ein Email-Server hinterlegt sein, damit das funktioniert.

Abschließend auf den Button <Save> klicken. Jetzt sollte nach der eingetragenen Zeit die ersten Benutzer auch im System landen. Der Benutzer wird automatisch bei der ersten Anmeldung importiert. Den Import kann man aber auch über den Button <Action> und im Kontextmenü bei „Import Users“ manuell anstoßen.

Man sollte allerdings die Rollen (also die AD-Gruppen, mit denen man bspw. später die Unterordner im Password Server berechtigen will) bereits manuell importieren.

Zu den Gruppen/Rollen kommt weiter unten noch ein Kapitel.


Benutzeranmeldung

Damit sich Benutzer erstmalig am System anmelden können, muss eine sog „Challenge“ hinterlegt sein.

In meinem Beispiel habe ich eine einfache Challenge mit nur einer Frage (Name des Tiers) hinterlegt. Bei der ersten Anmeldung (in meinem Beispiel mit dem Benutzer „Max Muster“) folgt dann direkt die Aufforderung die Frage auszufüllen. Anschließend wird man auf die Hauptseite geleitet


Zugriff auf die Daten

Es gibt für Anwender zwei Möglichkeiten, um auf die Passwörter zuzugreifen:

  1. Über das Webportal
  2. Über den KeePass-Client

Installation des Clients (KeePass)

Leider funktioniert der Password Server nicht mit der Einzelbenutzer-Version von KeePass (gibt es auf der Herstellerseite: Downloads – KeePass ), sondern man muss die spezielle Multibenutzer-Version von Pleasant verwenden. Die passende Version erhält man nach Anmeldung am Passwort-Server im Menüpunkt „Client Download“, dort gibt es einen <Download>-Button (aktuell führt dieser zu diesem Installationspaket: https://downloads.pleasantsolutions.com/download/PasswordServer/7.11.38.0/Pleasant%20KeePass%20Client.exe )

Das Setup starten und im ersten Dialog den Haken bei „I agree to the licence terms and conditions“ setzen, optional bei <Option> einen anderen Installationspfad hinterlegen und dann auf den Button <Install> klicken. Danach ist „KeePass for Pleasant Password Server“ im Startmenü zu finden.


Starten von KeePass

Beim Start kommt direkt eine Login-Abfrage, hier muss zuerst der Server (in meinem Fall also „https://pws.demolabor.intern/“) eingetragen und auf <Continue> geklickt werden. Danach kommt die eigentliche Kennwortabfrage. Hier die eigenen Anmeldedaten eintragen und auf <Sign in> klicken. Sofern bereits ein zweiter Faktor hinterlegt wurde, muss dieser nun eingegeben werden, danach dem Client Zugriff gewähren durch Klick auf den Button <Grant Access> , sowie bei der darauffolgenden Meldung den Haken setzen und auf den Button <Open> klicken. Nun öffnet sich das Hauptfenster von KeePass.

Leider ist die von Pleasant verwendete Version recht alt (zum Zeitpunkt des Artikels die Version 2.39.1 von 2018 – aktuell von KeePass-Hersteller ist gerade 2.53.1) und man kann nur hoffen, dass Pleasant da endlich mal aktualisiert.


Struktur

Wie in der Anleitung zu sehen ist, habe ich den Filter für den Benutzerimport so eingestellt, dass alle Benutzer (und auch in den Untergruppen) der AD-Gruppe „T2-PPS-Users“ zugriffsberechtigt sind und somit bei der ersten Anmeldung importiert werden.

Ich habe bei mir in der AD folgende Gruppen angelegt und Testbenutzer aufgenommen

  • T2-PPS-Users (in der obigen Anleitung hieß sie noch „T2-PasswordServer-Users“)
    • T2-PPS-Users_DEMOFOLDER01
      • MaMu („Max Muster“)
      • Demo01
    • T2-PPS-Users_DEMOFOLDER02
      • MaMu („Max Muster“)
      • Demo02

Die Ordnerstruktur im Password Server ist ähnlich dazu aufgebaut:

  • Root
    • DEMOFOLDER01
      • Zugriffsberechtige Rolle: T2-PPS-Users_DEMOFOLDER01
    • DEMOFOLDER02
      • Zugriffsberechtige Rolle: T2-PPS-Users_DEMOFOLDER02
  • Private Folders
    • Loginname@DEMOLABOR.intern

Der eingebaute Administrator kann auf alles zugreifen. Das kann man dann auch schön sehen, wenn man sich mit den unterschiedlichen Accounts anmeldet.


Ronny Böttcher

Microsoft-Systemadministrator seit 2007 und seit 2021 als IT-Consultant bei Bechtle in Deutschland am Standort Mannheim; alle bisherigen Stationen siehe bei "Über mich". In seiner Freizeit bei der Feuerwehr und Modellbahner, zudem gerne am Kochen/Grillen - oder am Essen 😁

5 Antworten

  1. Eve sagt:

    Danke für die Information, sehr gut und verständlich zusammengefasst. Weißt du evtl. welchen Webserver Pleasant Passwort benutzt. Ich habe vor Redirect von WebClient URL in einer verständlichen Form für die Endbenutzer zu machen. Danke im Voraus.

    • Hallo Eve,

      vielen Dank für deine Rückmeldung 😊
      In der Standard-Installation kommt ein IIS-Express mit. Für meine Tests und den Artikel habe ich es dabei belassen und lediglich die Portanpassung (TCP/10001 -> TCP/443) gemacht. Ich bin mir gerade unsicher, ob der IIS-Express ebenfalls eine Management-Console hat, wie der vollwertige IIS bzw. ob diese Console auch den IIS-Express verwalten kann.
      Man könnte aber auch einen vollwertigen IIS verwenden. Die Anleitung hierzu gibt es auf der Herstellerseite: IIS Hosting (Info > Pleasant Password Server > A. Install > IIS Hosting) .

      Ich hoffe, ich habe dir damit weiterhelfen können 😉

      Viele Grüße und ein schönes Wochenende!
      Ronny

  2. Kage sagt:

    Wow, wie immer ein echt umfangreicher Beitrag und die Software sieht auch noch super interessant aus!

    Hut ab und weiter machen!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

DSGVO Cookie Consent mit Real Cookie Banner