Systemverwaltungshandbuch: IP Services

Kapitel 24 Internet Key Exchange (Referenz)

Dieses Kapitel enthält die folgenden Referenzinformationen zum IKE:

Informationen zur Implementierung von IKE finden Sie in Kapitel 23Konfiguration von IKE (Aufgaben). Eine Einführung in IKE finden Sie in Kapitel 22Internet Key Exchange (Übersicht).

IKE Service Management Facility

svc:/network/ipsec/ike:default -Service – Die Service Management Facility (SMF) stellt zur IKE-Verwaltung den ike-Service zur Verfügung. Dieser Service ist standardmäßig deaktiviert. Vor der Aktivierung dieses Service müssen Sie eine IKE-Konfigurationsdatei (/etc/inet/ike/config) erstellen.

Die folgenden Eigenschaften des ike-Service können konfiguriert werden:

Weitere Informationen zur SMF finden Sie in Kapitel 18, Managing Services (Overview) in System Administration Guide: Basic Administration. Lesen Sie hierzu auch die Manpages smf(5), svcadm(1M) und svccfg(1M).

IKE-Daemon

Der in.iked-Daemon automatisiert die Verwaltung der kryptografischen Schlüssel für IPsec auf einem Solaris-System. Der Daemon führt die Aushandlung mit einem remoten System aus, auf dem das gleiche Protokoll ausgeführt wird, um auf sichere Weise authentifiziertes Schlüsselmaterial für Sicherheitszuordnungen (SAs) bereitzustellen. Der Daemon muss auf allen Systemen ausgeführt werden, die sicher miteinander kommunizieren sollen.

Standardmäßig ist der svc:/network/ipsec/ike:default-Service nicht aktiviert. Nach der Konfiguration der /etc/inet/ike/config-Datei und der Aktivierung des ike-Service wird der in.iked-Daemon beim Booten des Systems ausgeführt.

Wenn der IKE-Daemon ausgeführt wird, authentifiziert sich das System gegenüber seiner IKE-Peer-Entität in der Phase 1 Exchange. Der Peer ist, ebenso wie die zu verwendenden Authentifizierungsmethoden, in der IKE-Richtliniendatei definiert. Als Nächstes richtet der Daemon dann die Schlüssel für den Phase 2 Exchange ein. Die IKE-Schlüssel werden in einem in der Richtliniendatei festgelegten Intervall automatisch aktualisiert. Der in.iked-Daemon empfängt eingehende IKE-Anforderungen aus dem Netzwerk und Anforderungen nach abgehendem Verkehr über den PF_KEY-Socket. Weitere Informationen finden Sie in der Manpage pf_key(7P).

Der IKE-Daemon unterstützt zwei Befehle. Der ikeadm-Befehl kann zur Anzeige und vorübergehenden Änderung der IKE-Richtlinie verwendet werden. Wenn Sie die IKE-Richtlinie dauerhaft ändern möchten, müssen Sie die Eigenschaften des ike-Service bearbeiten. Die Verfahrensweise wird unter So rufen Sie IKE PresharedKeys auf erläutert.

Mit dem Befehl ikecert können Sie die PublicKey-Datenbanken anzeigen und pflegen. Dieser Befehl dient zum Verwalten der lokalen Datenbanken ike.privatekeys und publickeys . Darüber hinaus werden mit diesem Befehl die PublicKey-Vorgänge durchgeführt und die PublicKeys auf der angehängten Hardware gespeichert.

IKE-Richtliniendatei

Die Konfigurationsdatei für die IKE-Richtlinie, /etc/inet/ike/config, verwaltet die Schlüssel für die Schnittstellen, die in der IPsec-Richtliniendatei, /etc/inet/ipsecinit.conf, geschützt sind. Die IKE-Richtliniendatei verwaltet die Schlüssel für IKE und für die IPsec SAs. Der IKE-Daemon selbst erfordert Schlüsselmaterial in Phase 1 Exchange.

Das Schlüsselmanagement mit IKE baut auf Regeln und globale Parameter. Eine IKE-Regel identifiziert die Systeme oder Netzwerke, die das Schlüsselmaterial sichert, und gibt die Authentifizierungsmethode an. Globale Parameter enthalten Objekte wie den Pfad zu einem angehängten Hardwarebeschleuniger. Beispiele für IKE-Richtliniendateien finden Sie unter Konfiguration von IKE mit PresharedKeys (Übersicht der Schritte). Beispiele und Beschreibungen der IKE-Richtlinieneinträge finden Sie in der Manpage ike.config(4).

Die von IKE unterstützten IPsec SAs schützen die IP-Datagramme gemäß den Richtlinien, die in der Konfigurationsdatei für die IPsec-Richtlinie, /etc/inet/ipsecinit.conf, aufgestellt wurden. Die IKE-Richtliniendatei legt fest, ob Perfect Forward Security (PFS) beim Erstellen der IPsec SAs verwendet werden soll.

Die Datei ike/config kann den Pfad zu einer Bibliothek enthalten, die gemäß dem Standard RSA Security Inc. PKCS&;#11 Cryptographic Token Interface (Cryptoki) implementiert wird. IKE verwendet diese PKCS&;#11-Bibliothek für den Zugriff auf Hardware zur Schlüsselbeschleunigung und -speicherung.

Die Sicherheitsaspekte für die ike/config-Datei entsprechend denen für die ipsecinit.conf-Datei. Ausführliche Informationen finden Sie im Abschnitt Sicherheitsbetrachtungen für ipsecinit.conf und ipsecconf.

IKE-Verwaltungsbefehl

Mit dem ikeadm-Befehl können Sie Folgendes auszuführen:

Beispiele und eine vollständige Beschreibung der Optionen dieses Befehls finden Sie in der Manpage ikeadm(1M)

Je nach Privilegstufe des ausgeführten IKE-Daemons können verschiedene Aspekte des Daemons angezeigt und geändert werden. Es werden drei Privilegstufen unterschieden.

base-Stufe

Sie können das Schlüsselmaterial weder anzeigen noch ändern. Base ist die Standard-Privilegstufe.

modkeys-Stufe

Sie können PresharedKeys entfernen, ändern und hinzufügen.

keymat-Stufe

Sie können das tatsächliche Schlüsselmaterial mit dem Befehl ikeadm anzeigen.

Wenn Sie die Privilegstufe nur vorübergehend ändern möchten, können Sie den ikeadm-Befehl verwenden. Wenn die Änderung dauerhaft erfolgen soll, ändern Sie die admin_privilege-Eigenschaft des ike-Service. Die Verfahrensweise wird unter Verwalten von IKE- und IPsec-Services.

Die Sicherheitsaspekte für den ikeadm-Befehl entsprechen denen für den ipseckey-Befehl. Ausführliche Informationen finden Sie unter Sicherheitsbetrachtungen für ipseckey.

IKE PresharedKeys-Dateien

Wenn Sie PresharedKeys manuell erstellen, werden die Schlüssel in Dateien im Verzeichnis /etc/inet/secret gespeichert. Die Datei ike.preshared enthält die PresharedKeys für die Internet Security Association and Key Management Protocol (ISAKMP) SAs. Die Datei ipseckeys enthält die PresharedKeys für die IPsec SAs. Die Dateien sind mit 0600 geschützt. Das Verzeichnis secret ist mit 0700 geschützt.


Hinweis –

PresharedKeys können die Vorteile der Hardware-Speicherung nicht nutzen. PresharedKeys werden vom System erzeugt und im System gespeichert.


IKE PublicKey-Datenbanken und -Befehle

Mit dem Befehl ikecert können Sie die PublicKey-Datenbanken des lokalen Systems bearbeiten. Sie verwenden diesen Befehl, wenn die Datei ike/config PublicKey-Zertifikate erfordert. Da IKE diese Datenbanken zur Authentifizierung der Phase 1 Exchange benötigt, müssen sie schon gefüllt sein, bevor der in.iked-Daemon aktiviert wird. Jede der drei Datenbanken verarbeitet drei Unterbefehle: certlocal, certdb und certrldb.

Mit dem Befehl ikecert wird auch die Schlüsselspeicherung verwaltet. Schlüssel können auf einem Datenträger, auf einem angehängten Sun Crypto Accelerator 6000- oder Sun Crypto Accelerator 4000-Board oder in einem Softtoken-Schlüsselspeicher gespeichert werden. Der Softtoken-Schlüsselspeicher ist verfügbar, wenn der Metaslot im Solaris Cryptographic Framework zur Kommunikation mit dem Hardware-Gerät verwendet wird. Der Befehl ikecert verwendet die PKCS&;#11-Bibliothek zum Lokalisieren des Schlüsselspeichers.

Weitere Informationen finden Sie in der Manpage ikecert(1M) Informationen zum Metaslot und dem Softtoken-Schlüsselspeicher finden Sie in der Manpage cryptoadm(1M).

ikecert tokens-Befehl

Das Argument Tokens führt die verfügbaren Token-IDs auf. Mit Token-IDs können die Befehle ikecert certlocal und ikecert certdb PublicKey-Zertifikate und Zertifikat-Anforderungen erstellen. Die Zertifikate und Zertifikat-Anforderungen werden vom Cryptographic Framework im Softtoken-Schlüsselspeicher oder auf dem angehängten Sun Crypto Accelerator 6000- oder Sun Crypto Accelerator 4000-Board gespeichert. Der Befehl ikecert verwendet die PKCS&;#11-Bibliothek zum Lokalisieren des Schlüsselspeichers.

ikecert certlocal-Befehl

Mit dem Unterbefehl certlocal wird die PrivateKey-Datenbanken verwaltet. Mit den Optionen dieses Unterbefehl können Sie PrivateKeys hinzufügen, anzeigen und entfernen. Mit diesem Unterbefehl wird auch entweder ein selbst-signiertes Zertifikat oder eine Zertifikat-Anforderung erstellt. Die Option -ks erstellt ein selbst-signiertes Zertifikat. Die Option -kc erstellt eine Zertifikat-Anforderung. Die Schlüssel werden auf dem System im Verzeichnis /etc/inet/secret/ike.privatekeys oder mit der Option -T auf der angehängten Hardware gespeichert.

Wenn Sie einen PrivateKey erstellen, müssen die Optionen für den Befehl ikecert certlocal entsprechende Einträge in der Datei ike/config aufweisen. Die Entsprechungen zwischen den ikecert-Optionen und den ike/config-Einträgen sind in der folgenden Tabelle aufgeführt.

Tabelle 24–1 Entsprechungen zwischen ikecert-Optionen undike/config-Einträgen

ikecert-Option

ike/config-Eintrag

Beschreibung 

-A Subjekt-Alternativname

cert_trust Subjekt-Alternativname

Ein Alias, der das Zertifikat eindeutig identifiziert. Mögliche Werte sind eine IP-Adresse, eine E-Mail-Adresse oder ein Domänenname. 

-D X.509-Distinguished-Name

X.509-Distinguished-Name

Der vollständige Name der Zertifikatsautorität, der das Land (C), den Namen der Organisation (ON), die Organisationseinheit (OU) und den allgemeinen Namen (CN) enthält. 

-t dsa-sha1

auth_method dss_sig

Eine Authentifizierungsmethode, die etwas langsamer als RSA ist.

-t rsa-md5 und

-t rsa-sha1

auth_method rsa_sig

Eine Authentifizierungsmethode, die etwas schneller als DSA ist.

Ein RSA-PublicKey muss groß genug sein, um die größte Nutzlast zu verschlüsseln. In der Regel ist eine Identität, zum Beispiel der X.509 Distinguished Name, die größte Nutzlast.

-t rsa-md5 und

-t rsa-sha1

auth_method rsa_encrypt

Die RSA-Verschlüsselung verbirgt Identitäten in IKE vor möglichen Mithörern, erfordert aber, dass IKE-Peers die PublicKeys des jeweils anderen Peers kennen. 

-T

pkcs11_path

Die PKCS #11-Bibliothek sorgt für Schlüsselbeschleunigung auf dem Sun Crypto Accelerator 1000-, Sun Crypto Accelerator 6000- und dem Sun Crypto Accelerator 4000- Board. Die Bibliothek stellt auch die Tokens zur Verfügung, die für die Schlüsselspeicherung auf den Sun Crypto Accelerator 6000- und Sun Crypto Accelerator 4000-Boards zuständig sind.

Wenn Sie mit dem Befehl ikecert certlocal -kc eine Zertifikat-Anforderung ausgeben, senden Sie die Ausgabe des Befehls an eine PKI-Organisation oder an eine Zertifikatsautorität (CA). Falls Ihr Unternehmen eine eigene PKI ausführt, senden Sie die Ausgabe des Befehls an Ihren PKI-Administrator. Die Zertifikate werden dann von der PKI-Organisation, der CA oder dem PKI-Administrator erstellt. Die von der PKI oder der CA zurückgegebenen Zertifikate dienen als Eingabe für den Unterbefehl certdb. Die von der PKI zurückgegebene Zertifikat-Rücknahmeliste (CRL) dient als Eingabe für den Unterbefehl certrldb.

ikecert certdb-Befehl

Mit dem Unterbefehl certdb wird die PublicKey-Datenbank verwaltet. Mit den Optionen dieses Unterbefehl zu können Sie Zertifikate und PublicKeys hinzufügen, anzeigen oder entfernen. Der Befehl akzeptiert Zertifikate, die mit dem Befehl ikecert certlocal -ks auf einem remoten System erzeugt wurden, als Eingabe. Verfahren hierzu finden Sie unter So konfigurieren Sie IKE mit selbst-signierten PublicKey-Zertifikaten. Darüber hinaus akzeptiert dieser Befehl ein Zertifikat als Eingabe, das Sie von einer PKI oder CA empfangen haben. Informationen hierzu finden Sie unter So konfigurieren Sie IKE mit Zertifikaten, die von einer CA signiert wurden.

Die Zertifikate und PublicKeys werden im Verzeichnis /etc/inet/ike/publickeys auf dem System gespeichert. Mit der Option -T werden die Zertifikate, PublicKeys und PrivateKeys auf der angehängten Hardware gespeichert.

ikecert certrldb-Befehl

Mit dem Unterbefehl certrldb wird die Datenbank der Zertifikat-Rücknahmeliste (CRL), /etc/inet/ike/crls, verwaltet. In der CRL-Datenbank werden die Rücknahmelisten für PublicKeys gepflegt. Hierbei handelt es sich um nicht mehr gültige Zertifikate. Wenn PKIs Ihnen eine CRL bereitstellt, können Sie sie mit dem Befehl ikecert certrldb in der CRL-Datenbank installieren. Verfahren hierzu finden Sie unter So verarbeiten Sie eine Zertifikat-Rücknahmeliste.

/etc/inet/ike/publickeys-Verzeichnis

Das /etc/inet/ike/publickeys-Verzeichnis enthält den öffentlichen Teil eines Paares aus Public und Private Key und dessen Zertifikat in Dateien oder Slots. Das Verzeichnis ist mit 0755 geschützt. Es wird mit dem Befehl ikecert certdb gefüllt. Mit dem Befehl -T werden die Schlüssel auf dem Sun Crypto Accelerator 6000- oder dem Sun Crypto Accelerator 4000-Board anstatt im publickeys-Verzeichnis gespeichert.

Die Slots enthalten den X.509 Distinguished Name eines von einem anderen System erzeugten Zertifikates in verschlüsselter Form. Wenn Sie selbst-signierte Zertifikate einsetzen, verwenden Sie das Zertifikat, das Sie vom Administrator des remoten Systems empfangen haben, als Eingabe für den Befehl. Wenn Sie Zertifikate von einer Zertifizierungsstelle verwenden, müssen Sie in dieser Datenbank zwei von der Zertifizierungsstelle signierte Zertifikate installieren. Sie installieren ein Zertifikat, dass auf der zur Zertifizierungsstelle gesendeten Zertifikatssignieranforderung basiert. Sie müssen auch das Zertifikat der Zertifizierungsstelle installieren.

/etc/inet/secret/ike.privatekeys-Verzeichnis

Das Verzeichnis /etc/inet/secret/ike.privatekeys enthält die PrivateKey-Dateien (Teil des PublicKey-PrivateKey-Paares), die das Schlüsselmaterial für die ISAKMP SAs darstellen. Das Verzeichnis ist mit 0700 geschützt. Das Verzeichnis ike.privatekeys wird mit dem Befehl ikecert certlocal gefüllt. PrivateKeys werden erst dann wirksam, wenn ihre PublicKey-Pendants, selbst-signierte Zertifikate oder CAs installiert sind. Die PublicKey-Pendants sind im Verzeichnis /etc/inet/ike/publickeys oder auf einem Sun Crypto Accelerator 6000- bzw. einem &sca 4;-Board gespeichert.

/etc/inet/ike/crls-Verzeichnis

Das Verzeichnis /etc/inet/ike/crls enthält die Dateien der Zertifikat-Rücknahmeliste (CRL). Jede Datei entspricht einer öffentlichen Zertifikatsdatei im Verzeichnis /etc/inet/ike/publickeys. PKI-Organisationen stellen die CRLs für ihre Zertifikate bereit. Mit dem Befehl ikecert certrldb können Sie die Datenbank füllen.