Oracle Key Vault - Hardware Security Modul für TDE und mehr
von Heinz-Wilhelm Fabry ORACLE Deutschland B.V. & Co.KG
Anfang August hat Oracle ein neues Produkt namens Oracle Key Vault (OKV) zum
Einsatz freigegeben. Es handelt sich dabei um ein Hardware Security Modul (HSM)
- also um ein Stück Hardware zum Speichern von Schlüsseln, Passwörtern
und Dateien, die Schlüssel und Passwörter enthalten.
Oracle Datenbank Installationen nutzen die zuletzt genannte Form des Speicherns
von Passwörtern und Schlüsseln in Dateien für
Oracle Advanced Security Transparent Data Encryption (TDE) und
external password stores. Die Dateien werden in den Versionen
10 und 11 der Datenbank als Wallets bezeichnet, in der Version 12 als Keystores.
Allerdings gibt es auch schon seit der Datenbankversion 11.2 beim Einsatz von
TDE die Möglichkeit, statt der Wallets / Keystores HSMs einzusetzen. Da
Oracle selbst kein eigenes HSM Produkt anbieten konnte, haben Unternehmenskunden
dann auf Produkte anderer Anbieter zurückgegriffen. Das kann sich mit OKV
nun ändern.
Abhängig vom Bedrohungsszenario kann die Entscheidung gegen den
Einsatz von Wallets / Keystores und für den Einsatz eines HSMs
durchaus sinnvoll sein, denn
- ein HSM bietet mehr Sicherheit: Eine Betriebssystemdatei kann
leichter gestohlen (kopiert) werden, als ein HSM, das in der Regel als speziell
gesicherte Steckkarte in einem Rechner eingebaut ist oder als eigenes Gerät
geschützt in einem Rechenzentrum steht.
- ein HSM kann anders als ein Wallet / Keystore systemübergreifend verwendet
werden. Das erlaubt eine gemeinsame Nutzung von Schlüsseln - was wiederum
zum Beispiel den Einsatz von TDE auf RAC Installationen perfekt
unterstützt.
- ein HSM kann von mehreren Anwendungen genutzt werden. Das erleichtert das
Konsolidieren und Verwalten von Passwörtern und Schlüsseln.
Hier wird als Einführung in das neue Produkt dargestellt, wie OKV
für TDE genutzt werden kann.
Installation des OKV
Die Installation von OKV ist denkbar einfach, denn das Produkt wird in Form eines
ISO Images als Software Appliance geliefert. Das Konzept Software Appliance
ist bereits von Oracle Audit Vault and Database Firewall bekannt: Die Kundin /
der Kunde stellt einen X86-64bit Rechner zur ausschliesslichen Nutzung für
OKV zur Verfügung. Auf dem Rechner wird die OKV Software durch das Starten
des ISO Images installiert. Der gesamte installierte Softwarestack besteht aus
dem Betriebssystem Oracle Enterprise Linux (OEL), einer Oracle Datenbank und
einer graphischen Benutzeroberfläche, der Oracle Key Vault Management
Console. Nach der Installation dürfen diese Komponenten in keiner Weise
verändert, sondern nur in festgelegtem Ausmass konfiguriert werden.
Der Installationsprozess erwartet nur zwei Eingaben: Angaben zur IP
Adresse (IP Adresse, Mask und sofern nötig Gateway) für den OKV und ein
Einmalpasswort, das OKV als Passphrase bezeichnet. Es ermöglicht das
erstmaligen Einloggen in die OKV Management Console.
Konfiguration des OKV
Nach Abschluss der eigentlichen Installation müssen noch einige Benutzer
und ihre Passwörter eingerichtet werden. Ausserdem muss ein Passwort für
Notfälle festgelegt werden. Ein Notfall ist in diesem Zusammenhang zum
Beispiel ein eventuell erforderliches Recovery des OKV zu verstehen.
Das Einrichten der Benutzer und des Notfallpasswortes erfolgt in der Console.
Sie ist über einen Browser unter der bei der Installation angegebenen URL
erreichbar. In dieser ersten Version des OKV macht man sich das Leben leichter,
wenn man den Browser und die Tastaturbelegung auf die englische Sprache einstellt.
- Ein Key Administrator, der zum Beispiel den Zugriff auf Wallets und Schlüssel
kontrolliert. Er kann auch weitere Key Administratoren einrichten.
- Ein Administrator, der für die Verwaltung des OKV zuständig ist. Er ist
zum Beispiel zuständig für das Starten und Stoppen des OKV, für Backups und
Recovery, Einrichten von Hochverfügbarkeit sowie von Endpoints und Benutzern. Er
kann auch weitere Administratoren einrichten.
- Ein Audit Manager, der den Audit Trail des OKV verwaltet und weitere Audit
Manager einrichten kann.
- Ein Root User, der sich bei Bedarf, zum Beispiel zum Ausführen festgelegter
Skripte oder im Recoveryfall als Benutzer root auf dem OKV einloggen kann.
- Ein Support User, der sich mit SSH auf dem System anmelden kann.
Die Aufgaben, die die Benutzer 1 bis 3 wahrnehmen, können auch von einem Benutzer
oder auch von zwei Benutzern wahrgenommen werden. Zum Abschluss wird das Passwort
für Notfälle angegeben. Ausserdem wird man für Produktivumgebungen einstellen,
wie die Zeitsteuerung des OKV erfolgen soll und welche Name Server zur Verfügung stehen.
OKV nutzen
Systeme, die Oracle Key Vault (OKV) nutzen, werden Endpoints genannt. Endpoints
müssen in dieser ersten Version von OKV auf den Betriebssystemen Linux x86-64
(Versionen 5 und 6) sowie Solaris (Versionen 10 und 11) betrieben werden. Auf
diesen Endpoints verwendete
- Java Keystores (JKS)
- Java Cryptography Extension Keystores (JCEKS)
- SSH Key Files
- Kerberos Keytabs und
- Oracle Wallets
können als Backup im OKV zentral gespeichert werden. Aber es ist auch
möglich, Masterkeys für Transparent Data Encryption (TDE) direkt in
OKV zu speichern, OKV also als HSM zu nutzen. Dazu wird mindestens eine Oracle
Datenbank der Version 11.2 benötigt. Diese direkte Nutzung für TDE in
einer Datenbank 11.2.0.4 wird als Einstieg in das Arbeiten mit OKV im Weiteren
beispielhaft vorgestellt. Ausgangsbasis soll eine Datenbank sein, die
noch nicht für TDE konfiguriert wurde. (Falls diese Konfiguration bereits
stattgefunden hat und nun statt mit Wallets mit OKV gearbeitet werden soll,
besteht eine einfache Migrationsmöglichkeit, die in anderen Schritten
abläuft. Das Administrationshandbuch - siehe unten - beschreibt die Details.)
Die Konfiguration für die direkte Nutzung geschieht in 3 Schritten:
- Endpoint einrichten
- Datenbank einrichten
- TDE einrichten
Endpoint einrichten
Dieser Schritt bereitet den mit Abstand geringsten Aufwand.
Endpoints werden in Zusammenarbeit zwischen einem OKV System Administrator und
einem Endpoint Administrator eingerichtet. In der Terminologie von OKV heisst
das Administrator initiierte Einrichtung (administrator-initiated
enrollment). Dabei vergibt der OKV System Administrator einen Namen für
den neuen Endpoint, legt Typ und Betriebssystem des Endpoints fest und erzeugt
schliesslich ein sogenanntes Token, das der Endpoint Administrator für den
Start der Konfiguration übermittelt erhält.
Nach dem Klick auf Register wird das Token angezeigt. Es ist nur einmal einsetzbar.
Datenbank einrichten
Die Verbindung zwischen Datenbank und OKV wird in zwei Schritten aufgebaut:
- Die Software okvutil, die OKV in Form einer Datei namens
okvclient.jar zur Verfügung stellt, wird auf den
Datenbankserver heruntergeladen und entpackt. Dazu muss mindestens JDK 1.5
installiert sein. Ausserdem ist die Variable JAVA_HOME zu setzen. Auch der Pfad
zum Java Executable sollte explizit gesetzt sein.
- Eine Library, die den Zugriff auf das PKCS#11 kompatible OKV ermöglicht,
muss verfügbar gemacht werden. Diese Library ist Teil der Datei
okvclient.jar. Da das System die Library in einem bestimmten Verzeichnis
erwartet, stellt Oracle ein Skript namens root.sh bereit, das das Verzeichnis
anlegt und die Library dort ablegt. Die Library heisst liborapkcs.so.
Der erste Schritt beginnt damit, dass ein Benutzer, der die Berechtigung hat,
Dateien als Eigentümer der Oracle Datenbanksoftware auf dem Datenbankserver zu
installieren, im Browser die OKV Konsole aufruft. Er / sie versucht nicht, sich
einzuloggen, sondern klickt am Fuss der Seite auf den Link Endpoint
Enrollment and Software Download.
Auf der Seite, die sich öffnet, wird das Token eingegeben. Ausserdem werden
die Angaben zum Typ und Betriebssystem gemacht - hier Database und Linux. Nach
dem Anklicken von Submit Token und Enroll wird die Datei
okvclient.jar zum Speichern angeboten. Sie kann in einem beliebigen
Verzeichnis abgelegt werden.
Die jar-Datei wird ausgepackt. Auf die Aufforderung,
ein Passwort einzugeben und zu bestätigen, wird für das Beispiel dieses
Artikels Oracle.1 eingegeben. Die Eingabe erfolgt verdeckt, aber das
Passwort wird beim Einrichten von TDE noch gebraucht und deshalb hier offengelegt.
Als nächstes führt der Benutzer root das Shell Skript root.sh
aus dem Verzeichnis bin von okvutil aus.
Damit ist die Datenbank für das Arbeiten mit OKV vorbereitet.
TDE einrichten
Das Einrichten von TDE erfolgt
in der bekannten Art und Weise. Zunächst
wird die Datei sqlnet.ora um den Parameter ENCRYPTION_WALLET_LOCATION
ergänzt.
Eine Abfrage auf V$ENCRYPTION_WALLET zeigt, dass
ein HSM als Speicherort für Schlüssel erwartet wird.
Das bekannte Statement ALTER SYSTEM erzeugt nun den ersten Masterkey. Das
Passwort, das diesem Befehl übergeben wird, ist das, das oben beim Entpacken
von okvutil festgelegt wurde, nämlich Oracle.1. Dass das Arbeiten
mit dem OKV auch funktioniert, belegt das Anlegen eines verschlüsselten
Tablespace.
Das erste der beiden abschliessenden Bilder belegt, dass in OKV ein Masterkey angelegt
wurde. Auf dem zweiten Bild sind einige Detailinformationen zu erkennen, zum
Beispiel welcher Algorithmus für das Erzeugen des Schlüssels verwendet
wurde und für welche Zwecke der Schlüssel verwendet wird.
Weitere Informationen
Der Einsatz, auch der in Testumgebungen, ist ohne die Lektüre der
Handbücher für OKV
nicht sinnvoll. Tröstlich ist hier vielleicht, dass diese Handbücher im
Vergleich mit vielen anderen Handbüchern der technischen Oracle Produkte sehr
überschaubar gehalten sind.
Zurück zum Anfang des Artikels
Zurück zur Community-Seite
|