Teil I Einführung in die Systemverwaltung: IP Services
1. Oracle Solaris TCP/IP-Protokollfamilie (Übersicht)
Teil II Administration von TCP/IP
2. Planen Ihres TCP/IP-Netzwerks (Vorgehen)
3. Einführung in IPv6 (Überblick)
4. Planen eines IPv6-Netzwerks (Aufgaben)
5. Konfiguration der TCP/IP-Netzwerkservices und IPv4-Adressierung (Aufgaben)
6. Verwalten von Netzwerkschnittstellen (Aufgaben)
7. Konfigurieren eines IPv6-Netzwerks (Vorgehen)
8. Verwaltung eines TCP/IP-Netzwerks (Aufgaben)
9. Fehlersuche bei Netzwerkproblemen (Aufgaben)
10. TCP/IP und IPv4 im Detail (Referenz)
12. Einführung in DHCP (Übersicht)
13. Planungen für den DHCP-Service (Aufgaben)
14. Konfiguration des DHCP-Services (Aufgaben)
15. Verwalten von DHCP (Aufgaben)
16. Konfiguration und Verwaltung des DHCP-Clients
17. DHCP-Fehlerbehebung (Referenz)
18. DHCP - Befehle und Dateien (Referenz)
19. IP Security Architecture (Übersicht)
20. Konfiguration von IPsec (Aufgaben)
Schützen des Datenverkehrs mit IPsec (Übersicht der Schritte)
Schützen von Datenverkehr mit IPsec
So sichern Sie Datenverkehr zwischen zwei Systemen mit IPsec
How to Use IPsec to Protect a Web Server From Nonweb Traffic
So zeigen Sie die IPsec-Richtlinien an
So erzeugen Sie Zufallszahlen auf einem Solaris-System
So erstellen Sie manuell IPsec-Sicherheitszuordnungen
So prüfen Sie, ob Pakete mit IPsec geschützt sind
Beispiele für den Schutz eines VPN mit IPsec mithilfe von Tunneln im Tunnelmodus
Schützen eines VPN mit IPsec (Übersicht der Schritte)
Beschreibung der Netzwerktopologie für IPsec-Aufgaben zum Schützen eines VPN
So schützen Sie ein VPN mit einem IPsec-Tunnel im Tunnelmodus über IPv4
So schützen Sie ein VPN mit einem IPsec-Tunnel im Tunnelmodus über IPv6
So schützen Sie ein VPN mit einem IPsec-Tunnel im Transportmodus über IPv4
So schützen Sie ein VPN mit einem IPsec-Tunnel im Transportmodus über IPv6
21. IP Security Architecture (Referenz)
22. Internet Key Exchange (Übersicht)
23. Konfiguration von IKE (Aufgaben)
24. Internet Key Exchange (Referenz)
25. IP Filter in Oracle Solaris (Übersicht)
28. Verwalten von Mobile IP (Aufgaben)
29. Mobile IP-Dateien und Befehle (Referenz)
30. Einführung in IPMP (Übersicht)
31. Verwaltung von IPMP (Aufgaben)
Teil VII IP Quality of Service (IPQoS)
32. Einführung in IPQoS (Übersicht)
33. Planen eines IPQoS-konformen Netzwerks (Aufgaben)
34. Erstellen der IPQoS-Konfigurationsdatei (Aufgaben)
35. Starten und Verwalten des IPQoS (Aufgaben)
36. Verwenden von Flow Accounting und Erfassen von Statistiken (Aufgaben)
Dieser Abschnitt enthält Verfahren, mit denen Sie den Datenverkehr zwischen zwei Systemen und einen Webserver sichern können. Informationen zum Schützen eines VPN finden Sie unter Schützen eines VPN mit IPsec (Übersicht der Schritte). Zusätzliche Verfahren bieten Schlüsselmaterial und Sicherheitszuordnungen und stellen sicher, dass IPsec gemäß der Konfiguration arbeitet.
Die folgenden Informationen gelten für alle Aufgaben bei der Konfiguration von IPsec:
IPsec und Zonen – Um die IPsec-Richtlinie und -Schlüssel für eine nicht-globale Zone mit gemeinsamer IP zu verwalten, erstellen Sie die IPsec-Richtliniendatei in der globalen Zone und führen die IPsec-Konfigurationsbefehle von der globalen Zone aus. Verwenden Sie die Quelladresse, die der von Ihnen konfigurierten nicht-globalen Zone entspricht. Sie können die IPsec-Richtlinie und -Schlüssel auch in der globalen Zone für die globale Zone konfigurieren. Für eine exklusive IP-Zone konfigurieren Sie die IPsec-Richtlinie in der nicht-globalen Zone. Ab Solaris 10 7/07 können Sie die Schlüssel in einer nicht-globalen Zone mit IKE verwalten.
IPsec und RBAC – Informationen zum Verwenden von Rollen zur Verwaltung von IPsec finden Sie in Kapitel 9, Rollenbasierte Zugriffssteuerung (Aufgaben) in Systemverwaltungshandbuch: Sicherheitsservices. Ein Beispiel finden Sie unter How to Configure a Role for Network Security.
IPsec und SCTP – IPsec kann zum Schützen der Streams Control Transmission Protocol (SCTP)-Assoziationen verwendet werden, jedoch ist hier Vorsicht geboten. Weitere Informationen finden Sie unter IPsec und SCTP.
Dieses Verfahren nimmt das folgende Setup an:
Die beiden Systeme heißen enigma und partym.
Jedes System besitzt zwei Adressen, eine IPv4-Adresse und eine IPv6-Adresse.
Jedes System erfordert eine ESP-Verschlüsselung mit dem AES-Algorithmus, was einen 128 Bit-Schlüssel erfordert, und ESP-Authentifizierung mit SHA1-Nachrichtendigest, was einen 160 Bit-Schlüssel erfordert.
Jedes System verwendet gemeinsam genutzte Sicherheitszuordnungen.
Bei gemeinsam genutzten SAs ist nur ein SA-Paar zum Schutz von zwei Systemen erforderlich.
Bevor Sie beginnen
Sie müssen sich in der globalen Zone befinden, um die IPsec-Richtlinie für das System oder für eine gemeinsame IP-Zone zu konfigurieren. Für eine exklusive IP-Zone konfigurieren Sie die IPsec-Richtlinie in der nicht-globalen Zone.
Die Rolle des Primäradministrators enthält das Primary Administrator-Profil. Informationen zum Erstellen von Rollen und Zuweisen von Rollen zu Benutzern finden Sie in Kapitel 2, Working With the Solaris Management Console (Tasks) in System Administration Guide: Basic Administration.
Hinweis - Eine Remoteanmeldung führt zu sicherheitskritischem Datenverkehr, der abgehört werden könnte. Auch wenn Sie eine remote Anmeldung schützen, wird die Sicherheit des Systems auf die Sicherheit der remoten Anmeldesitzung reduziert. Verwenden Sie den Befehl ssh für eine sichere remote Anmeldung. Ein Beispiel finden Sie unter Beispiel 20-1.
In der aktuellen Version fügen Sie die Hosteinträge der Datei /etc/inet/hosts hinzu.
Bei einem System, das ein älteres Release als Solaris 10 7/07 ausführt, fügen Sie die IPv4- und IPv6-Einträge zur Datei /etc/inet/ipnodes hinzu. Die Einträge für ein System müssen untereinander in der Datei stehen. TCP/IP-KonfigurationsdateienKapitel 11IPv6 im Detail (Referenz).
Wenn Sie die Systeme nur mit IPv4-Adressen verbinden, nehmen Sie die Änderungen an der /etc/inet/hosts-Datei vor. In diesem Beispiel führen die zu verbindenden Systeme ein früheres Solaris-Release aus und verwenden IPv6-Adressen.
# Secure communication with partym 192.168.13.213 partym 2001::eeee:3333:3333 partym
# Secure communication with enigma 192.168.116.16 enigma 2001::aaaa:6666:6666 enigma
Es ist unsicher, die Namensdienste für symbolische Namen zu verwenden.
Der Dateiname lautet /etc/inet/ipsecinit.conf. Ein Beispiel finden Sie in der Datei /etc/inet/ipsecinit.sample.
{laddr enigma raddr partym} ipsec {encr_algs aes encr_auth_algs sha1 sa shared}
{laddr partym raddr enigma} ipsec {encr_algs aes encr_auth_algs sha1 sa shared}
Informationen zur Syntax der IPsec-Richtlinieneinträge finden Sie auf der Manpage ipsecconf(1M).
Sie können Internet Key Exchange (IKE) konfigurieren, um die SAs automatisch zu erstellen. Die SAs können auch manuell hinzugefügt werden.
Hinweis - Sie sollten IKE verwenden, es sei denn, Sie haben einen triftigen Grund, Ihre Schlüssel manuell zu erzeugen und zu verwalten. Das IKE-Schlüsselmanagement ist sicherer als das manuelle Schlüsselmanagement.
Konfigurieren Sie IKE mithilfe eines der unter Konfiguration von IKE (Übersicht der Schritte) beschriebenen Konfigurationsverfahren. Informationen zur Syntax der IKE-Konfigurationsdatei finden Sie auf der Manpage ike.config(4).
Wie SAs manuell hinzugefügt werden, können Sie unter So erstellen Sie manuell IPsec-Sicherheitszuordnungen nachlesen.
# init 6
Fahren Sie anschließend mit den Erläuterungen unter So prüfen Sie, ob Pakete mit IPsec geschützt sind fort.
Führen Sie Schritt 7 bis Schritt 10 durch.
# ipsecconf -c -f /etc/inet/ipsecinit.conf
Beheben Sie alle Fehler, überprüfen Sie die Syntax der Datei, und fahren Sie fort.
# svcadm refresh svc:/network/ipsec/policy:default
Die IPsec-Richtlinie wird standardmäßig aktiviert, daher sollten Sie sie aktualisieren. Falls Sie die IPsec-Richtlinie deaktiviert haben, aktivieren Sie sie.
# svcadm enable svc:/network/ipsec/policy:default
# svcadm enable svc:/network/ipsec/ike:default
# svcadm restart svc:/network/ipsec/ike:default
# svcadm enable svc:/network/ipsec/manual-key:default
# svcadm refresh svc:/network/ipsec/manual-key:default
Informationen hierzu finden Sie unter So prüfen Sie, ob Pakete mit IPsec geschützt sind.
Beispiel 20-1 Hinzufügen der IPsec-Richtlinie für eine ssh-Verbindung
In diesem Beispiel konfiguriert der Administrator als Superuser die IPsec-Richtlinie und die Schlüssel auf zwei Systemen mithilfe des Befehls ssh, um das zweite System zu erreichen. Weitere Informationen finden Sie auf der Manpage ssh(1).
Zunächst konfiguriert der Administrator das erste System durch Ausführen von Schritt 2 bis Schritt 5 des vorangegangenen Verfahrens.
Dann verwendet der Administrator in einem anderen Terminal-Fenster den Befehl ssh zur Anmeldung am zweiten System.
local-system # ssh other-system other-system #
Im Terminal-Fenster der ssh-Sitzung konfiguriert der Administrator die IPsec-Richtlinie und die Schlüssel des zweiten Systems durch Ausführen von Schritt 2 bis Schritt 6.
Dann beendet der Administrator die ssh-Sitzung.
other-system # exit local-system #
Schließlich aktiviert der Administrator die IPsec-Richtlinie auf dem ersten System durch Ausführen von Schritt 6.
Bei der nächsten Kommunikation der beiden Systeme, einschließlich einer ssh-Verbindung, wird die Kommunikation durch IPsec geschützt.
Beispiel 20-2 Schutz des Datenverkehrs mit IPsec ohne erneutes Booten
Das folgende Beispiel ist nützlich, wenn Sie mit einer älteren Version als Solaris 10 4/09 arbeiten. Zumindest, wenn in Ihrer Version IPsec nicht als Service verwaltet wird. Im Beispiel wird beschrieben, wie Sie IPsec in einer Testumgebung implementieren. In einer Produktionsumgebung ist erneutes Booten des Systems sicherer als das Ausführen des Befehls ipsecconf. Informationen zu den Sicherheitsbetrachtungen finden Sie am Ende dieses Beispiels.
Anstatt in Schritt 6 neu zu booten, wählen Sie eine der folgenden Optionen:
Wenn Sie IKE zum Erstellen des Schlüsselmaterials verwenden, müssen Sie den in.iked-Daemon zunächst stoppen und dann neu starten.
# pkill in.iked # /usr/lib/inet/in.iked
Wenn Sie die Schlüssel manuell hinzugefügt haben, verwenden Sie den Befehl ipseckey, um die SAs zur Datenbank hinzuzufügen.
# ipseckey -c -f /etc/inet/secret/ipseckeys
Dann aktivieren Sie die IPsec-Richtlinie mit dem Befehl ipsecconf.
# ipsecconf -a /etc/inet/ipsecinit.conf
Sicherheitsbetrachtungen – Lesen Sie die Warnung, wenn Sie den Befehl ipsecconf ausführen. Ein bereits gesperrtes Socket, das heißt, ein Socket das bereits verwendet wird, stellt eine ungesicherte Hintertür zum System dar. For more extensive discussion, see Sicherheitsbetrachtungen für ipsecinit.conf und ipsecconf.
Ein sicherer Webserver gestattet es Webclients, Daten untereinander über den Webservice auszutauschen. Auf einem sicheren Webserver muss Datenverkehr, bei dem es sich nicht um Webverkehr handelt, Sicherheitsprüfungen durchlaufen. Das folgende Verfahren beinhaltet Umgehungen für Webverkehr. Darüber hinaus kann dieser Webserver nicht sichere DNS-Client-Anforderungen stellen. Der gesamte verbleibende Verkehr erfordert ESP mit AES- und SHA-1-Algorithmen.
Bevor Sie beginnen
Zur Konfiguration der IPsec-Richtlinie müssen Sie sich in der globalen Zone befinden. Für eine exklusive IP-Zone konfigurieren Sie die IPsec-Richtlinie in der nicht-globalen Zone. Sie haben den Abschnitt So sichern Sie Datenverkehr zwischen zwei Systemen mit IPsec abgeschlossen, d. h. folgende Bedingungen sind wirksam:
Die Kommunikation zwischen den beiden Systemen ist durch IPsec geschützt.
Schlüsselmaterial wird manuell oder durch IKE generiert.
Sie haben sichergestellt, dass Pakete geschützt werden.
Die Rolle des Primäradministrators enthält das Primary Administrator-Profil. Informationen zum Erstellen von Rollen und Zuweisen von Rollen zu Benutzern finden Sie in Kapitel 2, Working With the Solaris Management Console (Tasks) in System Administration Guide: Basic Administration.
Hinweis - Eine remote Anmeldung führt zu sicherheitskritischem Datenverkehr, der abgehört werden könnte. Auch wenn Sie eine remote Anmeldung schützen, wird die Sicherheit des Systems auf die Sicherheit der remoten Anmeldesitzung reduziert. Verwenden Sie den Befehl ssh für eine sichere remote Anmeldung.
Bei einem Webserver umfassen diese Services TCP-Ports 80 (HTTP) und 443 (Secure HTTP). Wenn der Webserver DNS-Namenssuchen bereitstellt, muss der Server auch Port 53 für TCP und UDP umfassen.
Schritt 12 ist in allen Solaris-Versionen optional.
Fügen Sie der Datei /etc/inet/ipsecinit.conf folgende Zeilen hinzu:
# Web traffic that web server should bypass. {lport 80 ulp tcp dir both} bypass {} {lport 443 ulp tcp dir both} bypass {} # Outbound DNS lookups should also be bypassed. {rport 53 dir both} bypass {} # Require all other traffic to use ESP with AES and SHA-1. # Use a unique SA for outbound traffic from the port {} ipsec {encr_algs aes encr_auth_algs sha1 sa shared}
Bei dieser Konfiguration ist nur bei sicherem Verkehr ein Zugriff auf das System möglich. Dabei gelten die in Schritt 4 beschriebenen Ausnahmen für die Umgehung.
# ipsecconf -c -f /etc/inet/ipsecinit.conf
# svcadm refresh svc:/network/ipsec/policy:default
# svcadm restart svc:/network/ipsec/ike
# svcadm refresh svc:/network/ipsec/manual-key:default
Ihre Einrichtung ist abgeschlossen. Sie können Schritt 12 optional durchführen.
Hinweis - Durch die folgenden Schritte wird ein Webserver konfiguriert, auf der eine ältere Version als Solaris 10 4/09 ausgeführt wird.
Benennen Sie die Datei mit einem aussagekräftigen Namen, z. B. IPsecWebInitFile. Geben Sie die folgenden Zeilen in diese Datei ein:
# Web traffic that web server should bypass. {lport 80 ulp tcp dir both} bypass {} {lport 443 ulp tcp dir both} bypass {} # Outbound DNS lookups should also be bypassed. {rport 53 dir both} bypass {} # Require all other traffic to use ESP with AES and SHA-1. # Use a unique SA for outbound traffic from the port {} ipsec {encr_algs aes encr_auth_algs sha1 sa shared}
Bei dieser Konfiguration ist nur bei sicherem Verkehr ein Zugriff auf das System möglich. Dabei gelten die in Schritt 4 beschriebenen Ausnahmen für die Umgehung.
# chmod 400 IPsecWebInitFile
Wählen Sie eine der folgenden Optionen:
Wenn Sie IKE zum Schlüsselmanagement verwenden, stoppen Sie den in.iked-Daemon und starten ihn neu.
# pkill in.iked # /usr/lib/inet/in.iked
Wenn Sie die Schlüssel manuell verwalten, verwenden Sie die Befehle ipseckey und ipsecconf.
Verwenden Sie IPsecWebInitFile als Argument für den Befehl ipsecconf. Wenn Sie die Datei ipsecinit.conf als Argument verwenden, erzeugt der Befehl ipsecconf Fehlermeldungen, wenn die Richtlinien in der Datei bereits auf dem System implementiert sind.
# ipseckey -c -f /etc/inet/secret/ipseckeys # ipsecconf -a /etc/inet/IPsecWebInitFile
Achtung - Lesen Sie die Warnmeldung, wenn Sie den Befehl ipsecconf ausführen. Ein bereits gesperrtes Socket, das heißt, ein Socket das bereits verwendet wird, stellt eine ungesicherte Hintertür zum System dar. Ausführlichere Informationen finden Sie unter Sicherheitsbetrachtungen für ipsecinit.conf und ipsecconf. Die gleiche Warnmeldung gilt für den Neustart des in.iked-Daemon. |
Sie können auch erneut booten. Durch erneutes Booten wird sichergestellt, dass die IPsec-Richtlinie für alle TCP-Verbindungen übernommen wird. Bei erneutem Booten verwenden die TCP-Verbindungen die Richtlinie in der IPsec-Richtliniendatei.
Geben Sie die folgende Richtlinie die Datei ipsecinit.conf auf einem Remote-System ein:
# Communicate with web server about nonweb stuff # {laddr webserver} ipsec {encr_algs aes encr_auth_algs sha1 sa shared}
Ein remotes System kann nur dann sicher mit dem Webserver NonWeb-Verkehr austauschen, wenn die IPsec-Richtlinien der Systeme übereinstimmen.
Geben Sie den Befehl ipsecconf ohne weitere Argumente ein, um die auf dem System konfigurierten Richtlinien anzuzeigen.
Bevor Sie beginnen
Sie müssen den Befehl ipsecconf in der globalen Zone ausführen. Führen Sie für eine exklusive IP-Zone den Befehl ipsecconf in der nicht-globalen Zone aus.
Wenn Sie eine ältere Version als Solaris 10 4/09 ausführen, ist das Profil für die Netzwerk-IPsec-Verwaltung nicht verfügbar. Verwenden Sie das Profil für Netzwerksicherheit.
Informationen zum Erstellen einer Rolle, die das Network Security-Profil beinhaltet und zum Zuweisen dieser Rolle zu einem Benutzer finden Sie unter How to Configure a Role for Network Security.
$ ipsecconf
Mit diesem Befehl wird jedem Eintrag ein Index gefolgt von einer Zahl zugeordnet.
$ ipsecconf -l
$ ipsecconf -L
Wenn Sie die Schlüssel manuell eingeben, muss das Schlüsselmaterial zufällig erzeugt worden sein. Bei einem Solaris-System muss das Schlüsselmaterial im hexadezimalen Format vorliegen. Andere Betriebssysteme erfordern Schlüsselmaterial im ASCII-Format. Informationen zum Erzeugen von Schlüsselmaterial für ein Solaris-System, das mit einem Betriebssystem kommuniziert, für das ASCII-Daten erforderlich sind, finden Sie in Beispiel 23-1.
Falls Ihr Standort über einen Generator für Zufallszahlen verfügt, verwenden Sie diesen. Andernfalls können Sie den Befehl od mit dem Solaris-Gerät /dev/random als Eingabe verwenden. Weitere Informationen finden Sie auf der Manpage od(1).
In der Solaris 10 4/09-Version können Sie auch den Befehl pktool verwenden. Die Syntax dieses Befehls ist einfacher als die Syntax des Befehls od. Weitere Informationen finden Sie unter So generieren Sie einen symmetrischen Schlüssel mit dem Befehl pktool in Systemverwaltungshandbuch: Sicherheitsservices
% od -x|-X -A n file | head -n
Zeigt das oktale Abbild im hexadezimalen Format an. Das hexadezimale Format eignet sich für das Schlüsselmaterial. Der hexadezimale Wert wird in 4-Zeichen-Chunks gedruckt.
Zeigt das oktale Abbild im hexadezimalen Format an. Der hexadezimale Wert wird in 8-Zeichen-Chunks gedruckt.
Löscht die Eingabe-Offsetbasis vom Bildschirm.
Dient als Quelle für die Zufallszahlen.
Beschränkt die Anzeige auf die ersten n Zeilen der Ausgabe.
Löschen Sie die Leerzeichen zwischen den Zahlen auf einer Zeile, um einen Schlüssel mit 32 Zeichen zu erzeugen. Ein 32-Zeichen-Schlüssel hat eine Länge von 128 Bit. Für den Security Parameter Index (SPI) sollten Sie einen 8-Zeichen-Schlüssel verwenden. Der Schlüssel sollte das Präfix 0x verwenden.
Beispiel 20-3 Erzeugen des Schlüsselmaterials für IPsec
Im folgenden Beispiel werden zwei Zeilen mit Schlüsseln in Gruppen von jeweils acht hexadezimalen Zeichen angezeigt.
% od -X -A n /dev/random | head -2 d54d1536 4a3e0352 0faf93bd 24fd6cad 8ecc2670 f3447465 20db0b0c c83f5a4b
Durch Verbinden der vier Zeichengruppen in der ersten Zeile können Sie einen 32-Zeichen-Schlüssel erstellen. Eine 8-Zeichen-Zahl, die mit dem Präfix 0x beginnt, ergibt einen geeigneten SPI-Wert, z. B. 0xf3447465.
Im folgenden Beispiel werden zwei Zeilen mit Schlüsseln in Gruppen von jeweils vier hexadezimalen Zeichen angezeigt.
% od -x -A n /dev/random | head -2 34ce 56b2 8b1b 3677 9231 42e9 80b0 c673 2f74 2817 8026 df68 12f4 905a db3d ef27
Durch Verbinden der acht Zeichengruppen in der ersten Zeile können Sie einen 32-Zeichen-Schlüssel erstellen.
Im folgenden Verfahren wird das Schlüsselmaterial für das Verfahren So sichern Sie Datenverkehr zwischen zwei Systemen mit IPsec erstellt. Sie generieren Schlüssel für die beiden Systeme partym und enigma. Sie generieren die Schlüssel auf einem System und verwenden dann die Schlüssel des ersten Systems auf beiden Systemen.
Bevor Sie beginnen
Sie müssen sich in der globalen Zone befinden, um das Schlüsselmaterial für eine Zone mit gemeinsamer IP manuell verwalten zu können.
Sie benötigen drei hexadezimale Zufallszahlen für den abgehenden Verkehr und drei hexadezimale Zufallszahlen für den eingehenden Verkehr.
Somit muss ein System die folgenden Zahlen erzeugen:
Zwei hexadezimale Zufallszahlen als Wert für das Schlüsselwort spi. Eine Zahl für den abgehenden Verkehr, eine Zahl für den eingehenden Verkehr. Jede Zahl kann bis zu acht Zeichen umfassen.
Zwei hexadezimale Zufallszahlen für den SHA1-Algorithmus für die Authentifizierung. Bei einem 160-Bit-Schlüssel muss jede Zahl 40 Zeichen umfassen. Eine Zahl für dst enigma, eine Zahl für dst partym.
Zwei hexadezimale Zufallszahlen für den AES-Algorithmus für die ESP-Verschlüsselung. Bei einem 256-Bit-Schlüssel muss jede Zahl 64 Zeichen umfassen. Eine Zahl für dst enigma, eine Zahl für dst partym.
Wenn Sie über einen Generator für Zufallszahlen an Ihren Standort verfügen, verwenden Sie diesen. Alternativ verwenden Sie den Befehl od. Anleitungen dazu finden Sie unter So erzeugen Sie Zufallszahlen auf einem Solaris-System.
Die Rolle des Primäradministrators enthält das Primary Administrator-Profil. Informationen zum Erstellen von Rollen und Zuweisen von Rollen zu Benutzern finden Sie in Kapitel 2, Working With the Solaris Management Console (Tasks) in System Administration Guide: Basic Administration.
Hinweis - Eine remote Anmeldung führt zu sicherheitskritischem Datenverkehr, der abgehört werden könnte. Auch wenn Sie eine remote Anmeldung schützen, wird die Sicherheit des Systems auf die Sicherheit der remoten Anmeldesitzung reduziert. Verwenden Sie den Befehl ssh für eine sichere remote Anmeldung.
# ipseckey >
Die Eingabeaufforderung > kennzeichnet, dass sich das System im ipseckey-Befehlsmodus befindet.
> flush >
Um zu verhindern, dass ein potentieller Angreifer die Zeit hat, Ihre SAs zu entschlüsseln, müssen Sie das Schlüsselmaterial ersetzen.
Hinweis - Sie müssen den Schlüsselaustausch jedoch bei kommunizierenden Systemen koordinieren. Wenn Sie die SAs auf einem System ersetzen, müssen sie auch auf dem remoten System ersetzt werden.
> add protocol spi random-hex-string \ src addr dst addr2 \ protocol-prefix_alg protocol-algorithm \ protocol-prefixkey random-hex-string-of-algorithm-specified-length
Sie verwenden diese Syntax auch zum Ersetzen der gerade geleerten SAs.
Geben Sie entweder esp oder ah an.
Gibt eine Zufallszahl mit bis zu acht Zeichen in hexadezimalem Format an. Stellen Sie den Zeichen das Präfix 0x voran. Wenn Sie mehr Zahlen eingeben, als der Security Parameter Index (SPI) akzeptiert, so ignoriert das System die überflüssigen Zahlen. Wenn Sie weniger Zahlen eingeben als der Security Parameter Index (SPI) akzeptiert, so füllt das System Ihren Eintrag auf.
Gibt die IP-Adresse eines Systems an.
Gibt die IP-Adresse des Peer-Systems von adr an.
Gibt entweder encr oder auth an. Das Präfix encr wird mit dem esp-Protokoll verwendet. Das Präfix auth wird mit dem ah-Protokoll und zur Authentifizierung des esp-Protokolls verwendet.
Gibt einen Algorithmus für ESP oder AH an. Jeder Algorithmus erfordert einen Schlüssel mit einer bestimmten Länge.
Die Authentifizierungsalgorithmen umfassen MD5 und SHA1. Ab Version Solaris 10 4/09 werden SHA256 und SHA512 unterstützt. Verschlüsselungsalgorithmen beinhalten DES, 3DES, AES und Blowfish.
Gibt eine zufällige hexadezimale Zahl der Länge an, die für den Algorithmus erforderlich ist. Beispielsweise erfordert der MD5-Algorithmus einen 32-Zeichen-String für den 128-Bit-Schlüssel. Der 3DES-Algorithmus erfordert einen 48-Zeichen-String für den 192-Bit-Schlüssel.
Verwenden Sie die in Schritt 1 erzeugten Zufallszahlen.
Unter Solaris 10 1/06:
> add esp spi 0x8bcd1407 \ src 192.168.116.16 dst 192.168.13.213 \ encr_alg aes \ auth_alg sha1 \ encrkey c0c65b888c2ee301c84245c3da63127e92b2676105d5330e85327c1442f37d49 \ authkey 6fab07fec4f2895445500ed992ab48835b9286ff >
Hinweis - Das Peer-System muss das gleiche Schlüsselmaterial und den gleichen SPI verwenden.
Geben Sie die folgenden Befehle ein, um die Pakete zu schützen:
> add esp spi 0x122a43e4 \ src 192.168.13.213 dst 192.168.116.16 \ encr_alg aes \ auth_alg sha1 \ encrkey a2ea934cd62ca7fa14907cb2ad189b68e4d18c976c14f22b30829e4b1ea4d2ae \ authkey c80984bc4733cc0b7c228b9b74b988d2b7467745 >
Hinweis - Die Schlüssel und der SPI können für jede SA unterschiedlich sein. Sie sollten für jede SA andere Schlüssel und einen anderen SPI zuweisen.
In älteren Versionen als Solaris 10 4/09 wird durch diesen Schritt sichergestellt, dass IPsec das Schlüsselmaterial beim Neustart zur Verfügung steht.
Die Zeilen in der /etc/inet/secret/ipseckeys sind identisch mit der Befehlszeilensprache ipseckey.
# ipseckeys - This file takes the file format documented in # ipseckey(1m). # Note that naming services might not be available when this file # loads, just like ipsecinit.conf. # # for outbound packets on enigma add esp spi 0x8bcd1407 \ src 192.168.116.16 dst 192.168.13.213 \ encr_alg aes \ auth_alg sha1 \ encrkey c0c65b888c2ee301c84245c3da63127e92b2676105d5330e85327c1442f37d49 \ authkey 6fab07fec4f2895445500ed992ab48835b9286ff # # for inbound packets add esp spi 0x122a43e4 \ src 192.168.13.213 dst 192.168.116.16 \ encr_alg aes \ auth_alg sha1 \ encrkey a2ea934cd62ca7fa14907cb2ad189b68e4d18c976c14f22b30829e4b1ea4d2ae \ authkey c80984bc4733cc0b7c228b9b74b988d2b7467745
# chmod 400 /etc/inet/secret/ipseckeys
Verwenden Sie das gleiche Schlüsselmaterial wie für enigma.
Das Schlüsselmaterial muss auf den beiden Systemen identisch sein. Wie in dem folgenden Beispiel gezeigt, unterscheiden sich lediglich die Kommentare in der ipseckeys-Datei. Dies ist der Fall, weil dstenigma auf dem enigma-System für eingehenden Verkehr und auf dem partym-System für ausgehenden Verkehr gilt.
# partym ipseckeys file # # for inbound packets add esp spi 0x8bcd1407 \ src 192.168.116.16 dst 192.168.13.213 \ encr_alg aes \ auth_alg sha1 \ encrkey c0c65b888c2ee301c84245c3da63127e92b2676105d5330e85327c1442f37d49 \ authkey 6fab07fec4f2895445500ed992ab48835b9286ff # # for outbound packets add esp spi 0x122a43e4 \ src 192.168.13.213 dst 192.168.116.16 \ encr_alg aes \ auth_alg sha1 \ encrkey a2ea934cd62ca7fa14907cb2ad189b68e4d18c976c14f22b30829e4b1ea4d2ae \ authkey c80984bc4733cc0b7c228b9b74b988d2b7467745
# svcadm enable svc:/network/ipsec/manual-key
Informationen zum Ersetzen von Schlüsseln in der aktuellen Version finden Sie in Beispiel 20-4.
Beispiel 20-4 Ersetzen von IPsec-SAs
In diesem Beispiel konfiguriert der Administrator ein System, auf dem die aktuelle VersionSolaris 10 ausgeführt wird. Der Administrator generiert neue Schlüssel, ändert die Schlüsselinformationen in der Datei ipseckeys und startet den Service dann neu.
Zunächst generiert der Administrator die Schlüssel nach dem unter So erzeugen Sie Zufallszahlen auf einem Solaris-System beschriebenen Verfahren.
Dann verwendet der Administrator die generierten Schlüssel in der Datei /etc/inet/secret/ipseckeys.
Der Administrator hat dieselben Algorithmen verwendet. Darum ändert der Administrator nur die Werte von SPI, encrkey und authkey:
add esp spi 0x8xzy1492 \ src 192.168.116.16 dst 192.168.13.213 \ encr_alg aes \ auth_alg sha1 \ encrkey 0a1f3886b06ebd7d39f6f89e4c29c93f2741c6fa598a38af969907a29ab1b42a \ authkey a7230aabf513f35785da73e33b064608be41f69a # # add esp spi 0x177xce34\ src 192.168.13.213 dst 192.168.116.16 \ encr_alg aes \ auth_alg sha1 \ encrkey 4ef5be40bf93498017b2151d788bb37e372f091add9b11149fba42435fefe328 \ authkey 0e1875d9ff8e42ab652766a5cad49f38c9152821
Schließlich startet der Administrator den manual-key-Service neu. Der Neustartbefehl löscht die alten Schlüssel, bevor die neuen Schlüssel hinzugefügt werden.
# svcadm restart manual-key
Um zu Überprüfen, ob die Pakete geschützt sind, testen Sie die Verbindung mit dem Befehl snoop. In der Ausgabe des Befehls snoop können die folgenden Präfixe erscheinen:
AH: Dieses Präfix kennzeichnet, dass die Header durch den AH geschützt sind. Die Ausgabe enthält AH: , wenn Sie auth_alg zum Schützen des Verkehrs gewählt haben.
ESP: Dieses Präfix kennzeichnet, dass verschlüsselte Daten gesendet werden. Die Ausgabe enthält ESP: , wenn Sie encr_auth_alg oder encr_alg zum Schützen des Verkehrs gewählt haben.
Bevor Sie beginnen
Zum Erstellen einer Ausgabe des Befehls snoop müssen Sie als Superuser angemeldet sein oder eine entsprechende Rolle angenommen haben. Sie müssen Zugriff auf beide Systeme haben, um die Verbindung zu testen.
% su - Password: Type root password #
Snoopen Sie in einem Terminal-Fenster auf partym die Pakete vom enigma-System.
# snoop -v enigma Using device /dev/hme (promiscuous mode)
Melden Sie sich in einem anderen Terminal-Fenster remote beim enigma-System an. Geben Sie Ihr Passwort ein. Melden der Sie sich dann als Superuser an und senden Sie ein Paket vom enigma-System an das partym-System. Das Paket soll von dem Befehl snoop -venigma erfasst werden.
% ssh enigma Password: Type your password % su - Password: Type root password # ping partym
Auf dem partym-die System sollten Sie eine Ausgabe sehen, die AH- und ESP-Informationen nach den einleitenden IP-Header-Informationen enthält. AH- und ESP-Informationen, die dem Folgenden ähneln, sind geschützte Pakete:
IP: Time to live = 64 seconds/hops IP: Protocol = 51 (AH) IP: Header checksum = 4e0e IP: Source address = 192.168.116.16, enigma IP: Destination address = 192.168.13.213, partym IP: No options IP: AH: ----- Authentication Header ----- AH: AH: Next header = 50 (ESP) AH: AH length = 4 (24 bytes) AH: <Reserved field = 0x0> AH: SPI = 0xb3a8d714 AH: Replay = 52 AH: ICV = c653901433ef5a7d77c76eaa AH: ESP: ----- Encapsulating Security Payload ----- ESP: ESP: SPI = 0xd4f40a61 ESP: Replay = 52 ESP: ....ENCRYPTED DATA.... ETHER: ----- Ether Header ----- ...
Wenn Sie die rollenbasierte Zugriffskontrolle (RBAC) zur Verwaltung Ihrer Systeme einsetzen, können Sie mit dem folgenden Verfahren eine Rolle für die Netzwerkverwaltung oder Netzwerksicherheit erstellen.
In der aktuellen Version sieht die Ausgabe ungefähr folgendermaßen aus:
% cd /etc/security % grep Network prof_attr Network IPsec Management:::Manage IPsec and IKE... Network Link Security:::Manage network link security... Network Management:::Manage the host and network configuration... Network Security:::Manage network and host security... Network Wifi Management:::Manage wifi network configuration... Network Wifi Security:::Manage wifi network security...
Wenn Sie mit einer älteren Version von Solaris 10 4/09 arbeiten, sieht die Ausgabe ungefähr folgendermaßen aus:
% cd /etc/security % grep Network prof_attr Network Management:::Manage the host and network configuration Network Security:::Manage network and host security System Administrator::: Network Management
Das Network Management-Profil ist ein ergänzendes Profil im System Administrator-Profil. Wenn Sie das System Administrator-Rechteprofil in eine Rolle aufgenommen haben, kann diese Rolle die Befehle im Network Management-Profil ausführen.
% grep "Network Management" /etc/security/exec_attr Network Management:solaris:cmd:::/usr/sbin/ifconfig:privs=sys_net_config … Network Management:suser:cmd:::/usr/sbin/snoop:uid=0
Die Richtlinienbefehle solaris werden mit einer Berechtigung (privs=sys_net_config) ausgeführt. Die Richtlinienbefehle suser werden als Superuser (uid=0) ausgeführt.
Verwenden Sie die Definitionen der Rechteprofile in Schritt 1, um eine Entscheidung zu treffen.
Mit einer Rolle mit dem Rechteprofil für Netzwerksicherheit bzw. Netzwerk-IPsec-Verwaltung können zusätzlich zum Profil für die Netzwerkverwaltung unter anderem die Befehle ifconfig, snoop, ipsecconf und ipseckey mit entsprechenden Berechtigungen ausgeführt werden.
Zum Erstellen einer Rolle weisen Sie die Rolle einem Benutzer zu und registrieren die Änderungen beim Namen-Service. Lesen Sie dazu Konfigurieren von RBAC (Übersicht der Schritte) in Systemverwaltungshandbuch: Sicherheitsservices.
Beispiel 20-5 Aufteilen von Netzwerk-Sicherheitsverantwortlichkeiten zwischen Rollen
In diesem Beispiel teilt der Administrator Netzwerk-Sicherheitsverantwortlichkeiten zwischen zwei Rollen auf. Eine Rolle verwaltet die Wifi- und Linksicherheit, während die andere Rolle IPsec und IKE verwaltet. Jede Rolle ist drei Personen zugewiesen, d. h. einer Person pro Schicht.
Die Rollen werden vom Administrator wie folgt erstellt:
Die erste Rolle erhält die Bezeichnung "LinkWifi".
Der Administrator weist der Rolle die Rechteprofile für Netzwerk-Wifi, Netzwerk-Linksicherheit und Netzwerkverwaltung zu.
Dann weist der Administrator die LinkWifi-Rolle den entsprechenden Benutzern zu.
Die zweite Rolle lautet "IPsec-Administrator".
Der Administrator weist der Rolle die Rechteprofile für Netzwerk-IPsec-Verwaltung und Netzwerkverwaltung zu.
Dann weist der Administrator die IPsec-Administrator-Rolle den entsprechenden Benutzern zu.
In den folgenden Schritten werden die wahrscheinlichsten Verwendungsmöglichkeiten der SMF-Services für IPsec, IKE und der manuellen Schlüsselverwaltung beschrieben. Die policy- und ipsecalgs-Services werden standardmäßig aktiviert. Außerdem werden die ike- und manual-key-Services standardmäßig deaktiviert.
# svcadm refresh svc:/network/ipsec/policy
# svccfg -s policy setprop config/config_file=/etc/inet/MyIpsecinit.conf # svcprop -p config/config_file policy /etc/inet/MyIpsecinit.conf # svcadm refresh svc:/network/ipsec/policy # svcadm restart svc:/network/ipsec/policy
# svcadm enable svc:/network/ipsec/ike
# svcadm refresh svc:/network/ipsec/ike
# svccfg -s ike setprop config/admin_privilege=modkeys # svcprop -p config/admin_privilege ike modkeys # svcadm refresh svc:/network/ipsec/ike # svcadm restart svc:/network/ipsec/ike
# svcadm disable svc:/network/ipsec/ike
# svcadm enable svc:/network/ipsec/manual-key
# svcadm refresh manual-key
# svccfg -s manual-key setprop config/config_file=/etc/inet/secret/MyIpseckeyfile # svcprop -p config/config_file manual-key /etc/inet/secret/MyIpseckeyfile # svcadm refresh svc:/network/ipsec/manual-key # svcadm restart svc:/network/ipsec/manual-key
# svcadm disable svc:/network/ipsec/manual-key
# svcadm refresh svc:/network/ipsec/ipsecalgs
Allgemeine Fehler
Verwenden Sie den Befehl svcs Service, um den Status eines Service zu ermitteln. Wenn sich der Service im maintenance-Modus befindet, folgen Sie den Debugging-Vorschlägen in der Ausgabe des Befehls svcs -x Service.