Kennwortverwaltung in der Open-Source-Edition der Zimbra Collaboration Suite

Die Passwortverwaltung war schon immer eines der wichtigsten Probleme im Zusammenhang mit dem sicheren Betrieb von Informationssystemen. Die Möglichkeit, Kennwörter für mehrere Konten sicher zu speichern und schnell zu ändern, die Möglichkeit für Benutzer, ein vergessenes Kennwort sicher zurückzusetzen, und die Möglichkeit, ein Administratorkennwort sicher zurückzusetzen - all diese Funktionen sind nicht weniger wichtig als die zuvor erwähnte Kennwortsicherheitsrichtlinie . In diesem Artikel werden wir uns ansehen, wie diese Funktionen in Zimbra OSE implementiert sind.



Ändern des Benutzer- und des globalen Administratorkennworts

Das globale Administratorkennwort wird während der Installation von Zimbra OSE festgelegt und kann anschließend in den Webclient-Einstellungen geändert werden. Das Benutzerkennwort wird beim Erstellen des Kontos zunächst festgelegt. Der Administrator kann jedoch die erzwungene Kennwortänderung aktivieren, wenn sich der Benutzer zum ersten Mal beim Webclient anmeldet, damit der Benutzer nicht vergisst, sein eigenes Kennwort festzulegen.

Falls der Benutzer sein Passwort vergisst, bietet Zimbra OSE eine Passwortwiederherstellungsfunktion. Wenn diese Funktion vom Administrator aktiviert wird, kann der Benutzer ein Sicherungspostfach angeben, in das ein temporärer Bestätigungscode eingeht. Mit diesem einmaligen Code kann ein Benutzer auf den Zimbra OSE-Webclient zugreifen und sein Kennwort ändern.

Wenn der Administrator jedoch plötzlich das Kennwort für sein Konto vergessen hat und sich aus diesem Grund nicht beim Webclient anmelden kann, um das Kennwort zu ändern, kann er das Attribut  setPassword oder einfach  sp in der Befehlszeile verwenden. Mit dem Befehl  zmprov sp admin@company.ru qwerty  können Sie beispielsweise das Administratorkennwort in qwerty ändern, ohne sich beim Zimbra OSE-Webclient anzumelden. Mit demselben Befehl können Sie das Kennwort eines anderen Benutzers ändern.

Beachten Sie auch, dass der Administrator nicht die Option hat, das Kennwort des Benutzers anzuzeigen. Diese Einschränkung ist darauf zurückzuführen, dass Zimbra OSE im Prinzip keine Benutzerkennwörter im Klartext speichert. Stattdessen speichert Zimbra OSE nur gesalzene Kennwort-Hashes und vergleicht beim Anmelden den Hash des vom Benutzer eingegebenen Kennworts mit dem auf dem LDAP-Server gespeicherten.

Kennwortänderung während der Authentifizierung über AD

Wenn AD zur Authentifizierung von Benutzern verwendet wird, werden Kennwörter auch nicht auf dem Server gespeichert. Stattdessen übergibt Zimbra OSE AD einfach die Benutzereingabe und erhält eine Antwort darüber, ob dieses Konto authentifiziert ist oder nicht. Da alle Kontoinformationen auf einem anderen Server gespeichert sind, wird bei Verwendung von externem AD normalerweise empfohlen, die Funktion zum Ändern des Kennworts im Zimbra OSE-Webclient zu deaktivieren.

Es gibt jedoch eine Möglichkeit, die Benutzerauthentifizierung über AD mit der Möglichkeit zu kombinieren, das Kennwort für Benutzer unabhängig zu ändern. Dies kann durch eine Erweiterung namens  Active Directory Change Password erfolgen . Es ändert die Funktionalität der Schaltfläche zum Ändern des Kennworts im Zimbra OSE-Webclient, sodass sich das Kennwort in AD ändert. 

Die Erweiterung ist recht einfach zu installieren und funktioniert wie folgt:

  • Der Benutzer klickt auf die Schaltfläche zum Ändern des Passworts
  • Passwort eingeben
  • Erweiterung definiert Benutzer-DN
  • Sucht nach einem externen AD-Server
  • Ändert das Kontokennwort über eine sichere Verbindung

Die Erweiterung wird mit den folgenden Befehlen in der Befehlszeile installiert:
 
 mkdir -p /opt/zimbra/lib/ext/adpassword
  wget https://github.com/Zimbra-Community/ADPassword/raw/master/out/artifacts/ADPassword_jar/ADPassword.jar -O /opt/zimbra/lib/ext/adpassword/adPassword.jar
  su zimbra
  zmprov md domain.ext zimbraAuthLdapBindDn "%u@company.ru"
  zmprov md domain.ext zimbraAuthLdapSearchBase «CN=Users,DC=DOMAIN,DC=EXT»
  zmprov md domain.ext zimbraAuthLdapSearchBindDn «CN=serviceAccount,CN=Users,DC=DOMAIN,DC=EXT»
  zmprov md domain.ext zimbraAuthLdapSearchBindPassword "*********"
  zmprov md domain.ext zimbraAuthLdapSearchFilter "(samaccountname=%u)"
  zmprov md domain.ext zimbraAuthLdapURL «ldaps://ad.company.ru:636»
  zmprov md domain.ext zimbraExternalGroupLdapSearchBase «CN=Users,DC=DOMAIN,DC=EXT»
  zmprov md domain.ext zimbraExternalGroupLdapSearchFilter "(samaccountname=%u)"
  zmprov md domain.ext zimbraAuthMech «ad»
  zmprov md domain.ext zimbraAuthMechAdmin «ad»
  zmprov md domain.ext zimbraPasswordChangeListener ADPassword
  zmprov gd domain.ext | grep -i ldap | grep -v Gal
  zmprov gd domain.ext | grep -i zimbraPasswordChangeListener
  zmprov md domain.ext zimbraAuthFallbackToLocal FALSE
  zmcontrol restart

Wenn Ihre Zimbra OSE- und Active Directory-Server unterschiedliche SSL-Zertifikate verwenden, sollten Sie das AD-Zertifikat außerdem der vertrauenswürdigen Liste auf dem Zimbra OSE-Server hinzufügen. Wenn beide Informationssysteme dasselbe Zertifikat verwenden, können Sie diesen Schritt überspringen.

Nach der Installation dieser Erweiterung können Ihre Benutzer ihr Kennwort direkt im Zimbra OSE-Webclient ändern, auch wenn Sie die Authentifizierung mit AD verwenden.

Massenpasswort zurücksetzen

Es ist durchaus akzeptabel, dass Sie Kennwörter für eine große Anzahl von Zimbra OSE-Benutzern schnell zurücksetzen müssen. Für den Fall, dass die Anzahl der Benutzer groß genug ist, nimmt das manuelle Zurücksetzen von Kennwörtern viel Zeit in Anspruch, was in einer kritischen Situation einfach nicht akzeptabel sein kann. Ein Skript kann zur Optimierung dieser Aufgabe beitragen, mit der die Kennwörter von Benutzern einer separaten Domäne und eines gesamten Mailservers automatisch zurückgesetzt werden können.

Setzen Sie beispielsweise die Kennwörter aller Benutzer der Domäne company.ru zurück. Melden Sie sich dazu beim Server an und führen Sie den Befehl  zmprov -l gaa company.ru> /tmp/domainusers.txt aus . Als Ergebnis der Ausführung dieses Befehls wird die Textdatei domainusers.txt erstellt, in dem alle Benutzer der von uns angegebenen Domain aufgelistet werden. Wenn Sie in diesem Befehl keine Domäne angeben, werden alle Konten auf diesem Server in die Textdatei geschrieben.

Danach können Sie alle Systemkonten wie Galsync oder Spam sowie die Benutzer, deren Kennwort nicht zurückgesetzt wird, aus der empfangenen Textdatei entfernen. Wenn die Datei fertig ist, können Sie das folgende Skript ausführen:

für i in `cat / tmp / domainusers.txt`; do newpass = "Z1mBr @` openssl rand -base64 12`0a "&& / opt / zimbra / bin / zmprov sp $ i $ newpass && echo $ i $ newpass >> newlogin.txt && echo $ i && sleep 5s; erledigt

Das Ergebnis dieses Skripts ist eine newlogin.txt- Datei mit neuen Kontokennwörtern . Wir empfehlen, dass Sie es so schnell wie möglich an einem sicheren Ort speichern und diese Datei vom Server löschen. Danach können Sie den Benutzern ihre neuen Passwörter mitteilen, damit sie weiterhin in Zimbra OSE arbeiten können.

Separates Passwort für mobile Geräte

Eine weitere interessante Funktion, die nach der Installation der Zextras Suite mit Erweiterungen für Zimbra OSE verfügbar wird, ist ein separates Kennwort für die Eingabe der Mailbox von einem mobilen Gerät aus. Mit anderen Worten, mit dem Konto auf dem mobilen Gerät wird ein zusätzliches Kennwort für das Konto erstellt, mit dem es sein Gerät mit dem Postfach synchronisieren kann, sich jedoch nicht beim Zimbra OSE-Webclient anmelden kann. Diese Funktion kann die Sicherheit bei der Verwendung von E-Mails außerhalb des Büros erheblich erhöhen, da das mobile Gerät kompromittiert oder sogar gestohlen werden kann. Die Funktion für das mobile Kennwort verhindert, dass das Kennwort für das echte Konto in die Hände von Angreifern gelangt.


Das Erstellen eines Passworts für mobile Geräte ist ganz einfach. Dies kann sowohl in der Administrationskonsole mit dem Zextras-Plugin als auch in der Befehlszeile erfolgen. Wenn Sie beispielsweise den Befehl  zxsuite mobile setAccountMobilePassword manager@company.ru Z1mBr @ verwenden, geben Sie dem Benutzer manager@company.ru das Kennwort Z1mBr @. Mit dem Befehl  zxsuite mobile getAccountMobilePassword manager@company.ru können Sie das mobile Passwort des Benutzers manager@company.ru anzeigen und mit dem Befehl zxsuite mobile unsetAccountMobilePassword manager@company.ru können Sie das mobile Passwort vollständig vom angegebenen Benutzer entfernen. 

Bei allen Fragen zur Zextras Suite können Sie sich per E-Mail an katerina@zextras.com an den Vertreter der Zextras-Firma Ekaterina Triandafilidi wenden

All Articles