Domino: Der Server-basierte Zertifikatsdienst

07.02.2007 von Martin Kuppinger
Lotus Domino nutzt digitale Zertifikate schon immer für die Sicherheit. Ab der Version 6 gibt es mit der Server-basierenden CA einen neuen Zertifikatsdienst, der sowohl für das Management von Notes- als auch Internet-Zertifikaten genutzt werden kann.

Im Notes/Domino-Umfeld werden zwei Varianten von Zertifikaten genutzt. Zum einen sind das die Notes-Zertifikate, die für die systeminterne Kommunikation verwendet werden, zum anderen die Internet-Zertifikate, die beispielsweise für SSL oder S/MIME genutzt werden. Letztere entsprechen dem Standard X.509v3, während die Notes-Zertifikate sich davon unterscheiden.

Da schon für die internen Aufgaben Zertifikate erforderlich sind, wird auch ein Zertifikatsdienst benötigt, bei Lotus ist das die Certification Authority oder CA. Bis zur Version 5.x gab es dabei eine zwingende Trennung zwischen der integrierten, automatischen Erstellung von Notes-Zertifikaten und einer optionalen, getrennten CA für die Erstellung von Internet-Zertifikaten. Ab der Version 6.0 kann dagegen mit der Server-basierenden CA gearbeitet werden, die beide Funktionen integriert. Die bisherigen Ansätze können aber weiterhin verwendet werden. Die erstellten Zertifikate sind miteinander kompatibel. Es geht also „nur“ um eine administrative Änderung.

Basis der Zertifikate

Die Basis für die Änderungen bildet der CA-Prozess. Dabei handelt es sich um einen Server-Prozess von Domino, der auf ausgewählten Systemen zusätzlich als Task gestartet werden muss.

Neben dem wichtigen Punkt, dass sich Zertifikate nun über eine einheitliche Schnittstelle administrieren lassen, ist die entscheidende Änderung aber, dass die Erstellung von Zertifikaten keine Kenntnis des Kennworts des so genannten Zertifizierers mehr benötigt, sondern dass mit zu Benutzerkonten zugeordneten Rollen gearbeitet wird. Der Zertifizierer ist das Zertifikat der Stelle, die Zertifikate erzeugt, beispielsweise einer organisatorischen Einheit innerhalb einer Notes-Infrastruktur. In der Regel ist er in einer Datei cert.id gespeichert. Die Nutzung einer solchen Datei über ein mehreren Benutzern bekanntes Kennwort ist nicht sonderlich sicher. Bei der Server-basierenden CA erfolgt dagegen die Authentifizierung mit der jeweils persönlichen Notes-ID, der die entsprechende Rolle eines RAs (Registration Agent) zugeordnet ist.

Darüber hinaus gibt es noch andere wichtige Erweiterungen. So werden nun CRLs (Certificate Revocation Lists) mit Informationen zu nicht mehr gültigen Zertifikaten und ICLs (Issued Certificate Lists) mit Daten über die ausgegebenen Zertifikate unterstützt.

Die Grundkonfiguration

Um mit dem CA-Prozess arbeiten zu können, sind mehrere Schritte erforderlich:

  1. Der CA-Prozess muss gestartet werden. Dazu wird der entsprechende Task geladen. Der Status kann mit tell ca stat überprüft werden.

  2. Mindestens ein vorhandener Zertifizierer muss für den CA-Prozess migriert werden.

  3. Die zuständigen Administratoren müssen festgelegt werden.

Der erste Schritt ist einfach, da es sich um die normale Vorgehensweise beim Start eines Tasks handelt. Um den Zertifizierer zu migrieren, wird im Domino Administrator im Register Configuration bei Tools der Befehl Certification – Migrate Certifier verwendet. Dort muss zunächst über Select die Datei mit dem Zertifizierer gewählt werden. Standardmäßig ist das die Datei cert.id im Verzeichnis domino\data. Für diese Datei muss das Kennwort angegeben werden.

Bildunterschrift: Basisdaten: Um die Server-basierende CA nutzen zu können, müssen bestehende Zertifizierer zunächst migriert und die Administratoren definiert werden.

Im angezeigten Dialogfeld müssen zunächst der Server mit dem CA-Prozess und der Name der ICL-Datenbank angegeben werden. Die ICL-Datenbank wird standardmäßig mit einem automatisch generierten Dateinamen angelegt.

Darunter muss definiert werden, wie der Zertifizierer geschützt werden soll. Hier gibt es zwei Optionen. Die Verwendung der Server-ID bietet relativ wenig Schutz, solange ohne Kennwort gearbeitet wird. Bei Nutzung eines Kennworts ist das Problem aber, dass dieses wieder mehreren Personen bekannt sein muss. Besser ist eine Locking-ID, die an ein gegebenenfalls auch speziell für diesen Zweck erstelltes Benutzerkonto gekoppelt ist.

Im unteren Bereich können die Administratoren konfiguriert werden. CAAs (Certificate Authority Administrators) sollte es wenige geben. Diese dürfen grundlegende Einstellungen der CA anpassen. RAs (Registration Agents) kann es dagegen mehr geben, weil diese beim Anlegen von Benutzern die erforderlichen Zertifikate über die CAs anfordern dürfen.

Einstellungen zu Zertifikaten

Der nächste Konfigurationsschritt ist die Festlegung der Einstellungen zu Zertifikaten. Im Register Certificates kann festgelegt werden, welche Lebensdauer EE-Certificates (End Entities, also die Benutzer und Systeme, für die Zertifikate ausgestellt werden) und das CA Certificate haben. Die Einstellungen können bei der Ausgabe von Zertifikaten im definierten Wertebereich angepasst werden. Die gewählten Werte sind relativ hoch und lassen sich aus Sicherheitsgründen verkürzen.

Die Änderung wird als administrative Anforderung an den Admin-Prozess (adminp) übergeben. Statt darauf zu warten, dass sie im Rahmen der turnusmäßigen Verarbeitung durchgeführt wird, kann man mit

tell adminp process all

eine sofortige Verarbeitung veranlassen. Das kann allerdings dazu führen, dass auch andere und mitunter lastintensive Verarbeitungsschritte ausgelöst werden. Mit

tell ca refresh

kann anschließend dafür gesorgt werden, dass die Einstellungen der CA aktualisiert werden. Das Ergebnis lässt sich mit

tell ca stat

betrachten. Hier wird angegeben, welche Zertifizierer bereits migriert wurden und damit im Rahmen des CA-Prozesses nutzbar sind.

Bildunterschrift: Einfacher nutzbar: Bei Verwendung des CA-Prozesses wird kein Kennwort für eine Zertifizierer-ID mehr benötigt. Ein RA kann den gewünschten Zertifizierer beim Anlegen von Benutzern einfach auswählen.

Ab diesem Zeitpunkt kann der CA-Prozess bei der Registrierung von Benutzern verwendet werden. Bei der Auswahl des Zertifizierers muss man nun nicht mehr die Datei angeben, sondern kann den CA-Prozess und dort den gewünschten Zertifizierer auswählen.

Internet-Zertifikate

Neben den Notes-Zertifikaten lassen sich auch Internet-Zertifikate erstellen. Dafür wird entweder die Keyring-Datei einer bestehenden CA benötigt oder es wird ein neuer Zertifizierer erstellt, der von dem eigenen Zertifikatsdienst verwendet wird. In diesem Fall muss man später die CA des CA-Prozesses noch als vertrauenswürdige Stammzertifizierungsstelle bei den Clients konfigurieren.

Bildunterschrift: Wichtig: Für Internet-Zertifikate müssen bei der Einrichtung der CA die Einsatzbereiche der Zertifikate explizit angegeben werden.

Ein Internet-Zertifizierer für den CA-Prozess wird ebenfalls im Bereich Configuration des Domino Administrator erstellt. Bei Tools gibt es den Befehl Registration – Internet Certifier. Im angezeigten Dialogfeld kann zwischen der Keyring-Datei und einem neuen Zertifizierer gewählt werden.

Wenn ein neuer Zertifizierer angelegt wird – also faktisch das Zertifikat für die Stammzertifizierungsstelle, die der CA-Prozess zukünftig darstellen soll – wird ein Dialogfeld angezeigt, das auf den ersten Blick weitgehend dem entspricht, das auch bei Notes-Zertifizierern verwendet wird. Im oberen Bereich gibt es aber eine zusätzliche Schaltfläche Create Certifier Name. Dort müssen die Standardinformationen zu einer CA wie der Common Name als identifizierender, eindeutiger Name und die organisatorische Einheit angegeben werden.

Das Register Certificates

Wesentlich mehr Unterschiede gibt es im Register Certificates. In diesem können im oberen Bereich Informationen zu den CRLs und darunter Festlegungen zur Schlüsselnutzung getroffen werden. Dabei gibt es mögliche Einsatzbereiche für Zertifikate und solche, die in jedem Fall erlaubt sind. Man muss hier genau überlegen, welche der Einsatzbereiche erforderlich sind.

Schließlich gibt es noch das Register Misc. In diesem werden ergänzende Informationen wie der verwendete Algorithmus für Signaturen, das Ablaufdatum für das Zertifikat oder die Lebensdauer der CRL konfiguriert.

Zu beachten sind noch zwei weitere Punkte:

  1. Zertifizierer können nur bearbeitet werden, wenn der CA-Prozess nicht läuft. Das setzt eine genaue Planung der administrativen Tätigkeiten voraus.

  2. Zertifizierer müssen bei der ersten Nutzung und teilweise nach Aktualisierungen an der CA oder einem Neustart des CA-Prozesses aktiviert werden. Dazu wird bei Verwendung der Server-ID für die Verschlüsselung der Befehl tell ca activate mit der Nummer des Zertifizierers und gegebenenfalls dem Kennwort verwendet. Bei Benutzung einer Locking-ID wird dagegen mit tell ca unlock mit der ID-Datei und dem Kennwort als Parameter gearbeitet.

Weitere Funktionen

Der CA-Prozess verfügt über eine Reihe von wichtigen Schnittstellen für die weitere Administration:

Fazit

Da zusätzlich auch noch der Domino Administrator für die Verwaltung benötigt wird, sind das ziemlich viele Schnittstellen, die man kennen muss. Wenn man den CA-Prozess aber erst einmal eingerichtet hat, relativiert sich das. Dann werden Benutzer im Domino Administrator registriert und Zertifikatsanforderungen im Zusammenspiel der Certificate-Requests- und der Administration-Requests-Datenbank bearbeitet. Die anderen Datenbanken benötigt man nur in Ausnahmefällen oder um sich einen Überblick über den Status zu verschaffen.

Schnittstelle: Über die Certificate-Requests-Datenbank können Internet-Zertifikate vom CA-Prozess angefordert und die Anforderungen bearbeitet werden.

In jedem Fall gilt: Mit dem CA-Prozess wird die Verwaltung sowohl von Notes- als auch von Internet-Zertifikaten in Domino-Infrastrukturen deutlich einfacher. Deshalb macht der Schritt Sinn, auch wenn man mit dem bisherigen Modell gut vertraut ist und dieses weiterhin unterstützt wird. (mja)