In diesem Kapitel sind die Verfahren zur Realisierung von IPsec in Ihrem Netzwerk beschrieben. Die Verfahren sind in den folgenden Tabellen beschrieben:
Eine Einführung in IPsec finden Sie in Kapitel 19IP Security Architecture (Übersicht). Referenzinformationen zu IPsec finden Sie in Kapitel 21IP Security Architecture (Referenz).
Die folgende Tabelle enthält Links zu den Verfahren, mit denen IPsec zwischen einem oder mehreren Systemen eingerichtet wird. Die Manpages ipsecconf(1M), ipseckey(1M) und ifconfig(1M) enthalten weitere nützliche Verfahren in den jeweiligen Beispiel-Abschnitten.
Aufgabe |
Beschreibung |
Siehe |
---|---|---|
Sichern des Datenverkehrs zwischen zwei Systemen. |
Schützen Sie Pakete auf dem Weg von einem System zum anderen. |
So sichern Sie Datenverkehr zwischen zwei Systemen mit IPsec |
Sichern eines Webbrowsers mithilfe einer IPsec-Richtlinie. |
Erzwingen Sie, dass nicht-Webverkehr IPsec verwendet. Webclients werden durch die jeweiligen Ports identifiziert, die IPsec-Prüfungen umgehen. |
How to Use IPsec to Protect a Web Server From Nonweb Traffic |
Anzeigen der IPsec-Richtlinien. |
Zeigen Sie die derzeit durchgesetzten IPsec-Richtlinien in der Durchsetzungsreihenfolge an. | |
Erzeugen von Zufallszahlen. |
Erzeugen Sie Zufallszahlen für das Schlüsselmaterial von manuell erstellten Sicherheitszuordnungen. | |
Erstellen oder manuelles Ersetzen von Sicherheitszuordnungen. |
Stellen Sie die Raw-Daten für Sicherheitszuordnungen bereit:
| |
Prüfen, ob IPsec die Pakete schützt. |
Suchen Sie in der Ausgabe des Befehls snoop nach bestimmten Headern, die anzeigen, wie IP-Datagramme geschützt werden. | |
(Optional) Erstellen einer Network Security-Rolle. |
Erstellen Sie eine Rolle, mit der ein sicheres Netzwerk eingerichtet werden kann, die aber über weniger Rechte als ein Superuser verfügt. | |
Verwalten von IPsec und Schlüsselmaterial als Gruppe von SMF-Services. |
Beschreibt, wann und wie die Befehle zum Aktivieren, Deaktivieren, Aktualisieren und erneuten Starten von Services verwendet werden. Beschreibt außerdem die Befehle, die die Eigenschaftswerte von Services ändern. | |
Einrichten eines sicheren virtuellen privaten Netzwerks (VPN). |
Richten Sie IPsec zwischen zwei Systemen ein, die durch das Internet voneinander getrennt sind. |
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, Using Role-Based Access Control (Tasks) in System Administration Guide: Security Services. 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.
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.
Nehmen Sie über die Systemkonsole die Rolle eines Primäradministrators an, oder melden Sie sich als Superuser an.
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.
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.
Prüfen Sie auf jedem System Host-Einträge.
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.
Geben Sie auf dem System enigma Folgendes in die Datei hosts bzw. ipnodes ein:
# Secure communication with partym 192.168.13.213 partym 2001::eeee:3333:3333 partym |
Geben Sie auf dem System partym Folgendes in die Datei hosts bzw. ipnodes ein:
# 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.
Erstellen Sie auf jedem System die IPsec-Richtliniendatei.
Der Dateiname lautet /etc/inet/ipsecinit.conf. Ein Beispiel finden Sie in der Datei /etc/inet/ipsecinit.sample.
Fügen Sie einen IPsec-Richtlinieneintrag in die Datei ipsecinit.conf ein.
Fügen Sie die folgende Richtlinie auf dem System enigma hinzu:
{laddr enigma raddr partym} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
Fügen Sie eine identische Richtlinie auf dem System partym hinzu:
{laddr partym raddr enigma} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
Informationen zur Syntax der IPsec-Richtlinieneinträge finden Sie in der Manpage ipsecconf(1M).
Fügen Sie auf jedem System ein IPsec SA-Paar zwischen den zwei Systemen ein.
Sie können Internet Key Exchange (IKE) konfigurieren, um die SAs automatisch zu erstellen. Die SAs können auch manuell hinzugefügt werden.
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 in der Manpage ike.config(4).
Wie SAs manuell hinzugefügt werden, können Sie unter So erstellen Sie manuell IPsec-Sicherheitszuordnungen nachlesen.
Aktivieren Sie die IPsec-Richtlinie.
Wenn Sie eine ältere Version als Solaris 10 4/09 verwenden, starten Sie das System neu.
# init 6 |
Fahren Sie anschließend mit den Erläuterungen unter So prüfen Sie, ob Pakete mit IPsec geschützt sind fort.
Aktualisieren Sie ab Solaris 10 4/09 den IPsec-Service, und aktivieren Sie den Schlüsselmanagement-Service.
Führen Sie Schritt 7 bis Schritt 10 durch.
Überprüfen Sie die Syntax der IPsec-Richtliniendatei.
# ipsecconf -c -f /etc/inet/ipsecinit.conf |
Beheben Sie alle Fehler, überprüfen Sie die Syntax der Datei, und fahren Sie fort.
Aktualisieren Sie die IPsec-Richtlinie.
# 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 |
Aktivieren Sie die Schlüssel für IPsec.
Prüfen Sie, ob die Pakete geschützt werden.
Informationen hierzu finden Sie unter So prüfen Sie, ob Pakete mit IPsec geschützt sind.
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 in 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.
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.
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.
Nehmen Sie über die Systemkonsole die Rolle eines Primäradministrators an, oder melden Sie sich als Superuser an.
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.
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.
Stellen Sie fest, welche Services Prüfungen der Sicherheitsrichtlinien umgehen müssen.
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.
Erstellen Sie die IPsec-Richtlinie für den Webserver, und aktivieren Sie sie.
Wenn Sie mit einer älteren Version als Solaris 10 4/09 arbeiten, befolgen Sie die Schritte von Schritt 8 bis Schritt 11.
Schritt 12 ist in allen Solaris-Versionen optional.
Fügen Sie der IPsec-Richtlinendatei die Webserver-Richtlinie hinzu.
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.
Überprüfen Sie die Syntax der IPsec-Richtliniendatei.
# ipsecconf -c -f /etc/inet/ipsecinit.conf |
Aktualisieren Sie die IPsec-Richtlinie.
# svcadm refresh svc:/network/ipsec/policy:default |
Aktualisieren Sie die Schlüssel für IPsec.
Wenn Sie IKE in Schritt 5 von So sichern Sie Datenverkehr zwischen zwei Systemen mit IPsec konfiguriert haben, starten Sie den ike-Service neu.
# svcadm restart svc:/network/ipsec/ike |
Wenn Sie Schlüssel in Schritt 5 von So sichern Sie Datenverkehr zwischen zwei Systemen mit IPsec manuell konfiguriert haben, starten Sie den manual-key-Service neu.
# svcadm refresh svc:/network/ipsec/manual-key:default |
Ihre Einrichtung ist abgeschlossen. Sie können Schritt 12 optional durchführen.
Erstellen Sie eine Datei im Verzeichnis /etc/inet für die Webserver-Richtlinie.
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} |
Diese Konfiguration gestattet nur sicherem Verkehr den Zugriff auf das System. Dabei gelten die in Schritt 4 beschriebenen Ausnahmen für die Umgehung.
Kopieren Sie den Inhalt der von Ihnen in Schritt 8 erstellten Datei in die /etc/inet/ipsecinit.conf-Datei.
Schützen Sie die Datei IPsecWebInitFile, indem Sie Nur-Lese-Berechtigungen zuweisen.
# chmod 400 IPsecWebInitFile |
Sichern Sie den Webserver, ohne ihn erneut zu booten.
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 |
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.
(Optional) Konfigurieren Sie ein Remote-System so, dass es für NonWeb-Verkehr mit dem Webserver kommuniziert.
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.
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.
Nehmen Sie eine Rolle an, die das Network IPsec Management-Profil beinhaltet, oder melden Sie sich als Superuser an.
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.
Anzeigen der IPsec-Richtlinien.
Zeigen Sie die Einträge in der globalen IPsec-Richtlinie in der Reihenfolge an, in der sie wurden.
$ ipsecconf |
Mit diesem Befehl wird jedem Eintrag ein Index gefolgt von einer Zahl zugeordnet.
Zeigen Sie die Einträge der IPsec-Richtlinie in der Reihenfolge an, in der eine Übereinstimmung auftritt.
$ ipsecconf -l |
Zeigen Sie die Einträge der IPsec-Richtlinie, einschließlich der für einen Tunnel geltenden Einträge, in der Reihenfolge an, in der eine Übereinstimmung auftritt.
$ 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 in 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 How to Generate a Symmetric Key by Using the pktool Command in System Administration Guide: Security Services
Erzeugen Sie hexadezimale Zufallszahlen.
% 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.
Verbinden Sie die Ausgabe, um einen Schlüssel in der angegebenen Länge zu erzeugen.
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.
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.
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.
Erzeugen Sie das Schlüsselmaterial für die SAs.
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.
Nehmen Sie über die Systemkonsole eines der Systeme die Rolle eines Primäradministrators an, oder melden Sie sich als Superuser an.
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.
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.
Erstellen Sie die SAs
Befolgen Sie ab Solaris 10 4/09 Schritt 8 bis Schritt 10.
Wenn Sie mit einer älteren Version als Solaris 10 4/09 arbeiten, befolgen Sie Schritt 4 bis Schritt 9.
Aktivieren Sie den ipseckey-Befehlsmodus.
# ipseckey > |
Die Eingabeaufforderung > kennzeichnet, dass sich das System im ipseckey-Befehlsmodus befindet.
Wenn Sie vorhandere SAs ersetzen, leeren Sie die aktuellen SAs.
> flush > |
Um zu verhindern, dass ein potentieller Angreifer die Zeit hat, Ihre SAs zu entschlüsseln, müssen Sie das Schlüsselmaterial ersetzen.
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.
Zum Erstellen von SAs geben Sie den folgenden Befehl ein.
> 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.
Schützen Sie z. B. abgehende Pakete auf dem System enigma.
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 > |
Das Peer-System muss das gleiche Schlüsselmaterial und den gleichen SPI verwenden.
Bleiben Sie auf dem enigma-System im ipseckey-Befehlsmodus, und schützen Sie die eingehenden Pakete.
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 > |
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.
Um den ipseckey-Befehlsmodus zu beenden, drücken Sie Strg-D oder geben quit ein.
Fügen Sie der /etc/inet/secret/ipseckeys-Datei das Schlüsselmaterial hinzu.
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.
Beispielsweise ähnelt die Datei /etc/inet/secret/ipseckeys auf dem enigma-System dem Folgenden:
# 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 |
Schützen Sie die Datei, indem Sie Nur-Lese-Berechtigungen zuweisen.
# chmod 400 /etc/inet/secret/ipseckeys |
Wiederholen Sie den Vorgang auf dem System partym.
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 |
Aktivieren Sie den Service manual-key.
# svcadm enable svc:/network/ipsec/manual-key |
Informationen zum Ersetzen von Schlüsseln in der aktuellen Version finden Sie in Beispiel 20–4.
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.
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.
Melden Sie sich auf einem System, z. B. partym, als Superuser an.
% su - Password: Type root password # |
Bereiten Sie vom partym-System aus das Snoopen der Pakete von einem remoten System vor.
Snoopen Sie in einem Terminal-Fenster auf partym die Pakete vom enigma-System.
# snoop -v enigma Using device /dev/hme (promiscuous mode) |
Senden Sie ein Paket vom remoten System.
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 |
Zeigen Sie die Ausgabe des Befehls snoop an.
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.
Suchen Sie das Network-Rechteprofil in der lokalen prof_attr-Datenbank.
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.
Stellen Sie fest, welche Befehle im Network Management-Rechteprofil zulässig sind.
% 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.
Legen Sie den Umfang der Netzwerksicherheitsrollen an Ihrem Standort fest.
Verwenden Sie die Definitionen der Rechteprofile in Schritt 1, um eine Entscheidung zu treffen.
Zum Erstellen einer Rolle, die sich um die gesamte Netzwerksicherheit kümmert, verwenden Sie das Rechteprofil für Netzwerksicherheit.
In der aktuellen Version verwenden Sie zum Erstellen einer Rolle zur ausschließlichen Verwaltung von IPsec und IKE das Rechteprofil für die Netzwerk-IPsec-Verwaltung.
Erstellen Sie eine Netzwerksicherheitsrolle, die das Rechteprofil für die Netzwerkverwaltung enthält.
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 Configuring RBAC (Task Map) in System Administration Guide: Security Services .
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.
Führen Sie eine der folgenden Aktionen zum Verwalten der IPsec-Richtlinie aus:
Aktualisieren Sie nach dem Hinzufügen neuer Richtlinien zur Datei ipsecinit.conf den policy-Service.
# svcadm refresh svc:/network/ipsec/policy |
Zeigen Sie nach dem Ändern des Wertes einer Serviceeigenschaft den Eigenschaftswert an, und führen Sie eine Aktualisierung und einen Neustart des policy-Services durch.
# 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 |
Führen Sie eine der folgenden Aktionen zum automatischen Verwalten von Schlüsseln durch:
Aktivieren Sie nach dem Hinzufügen von Einträgen zur Datei /etc/inet/ike/config den ike-Service.
# svcadm enable svc:/network/ipsec/ike |
Aktualisieren Sie nach dem Ändern von Einträgen in der Datei /etc/inet/ike/config den ike-Service.
# svcadm refresh svc:/network/ipsec/ike |
Zeigen Sie nach dem Ändern des Wertes einer Serviceeigenschaft den Eigenschaftswert an, und führen Sie eine Aktualisierung und einen Neustart des Services durch.
# 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 |
Deaktivieren Sie den ike-Service, um ihn anzuhalten.
# svcadm disable svc:/network/ipsec/ike |
Führen Sie eine der folgenden Aktionen zum manuellen Verwalten von Schlüsseln durch:
Aktivieren Sie nach dem Hinzufügen von Einträgen zur Datei /etc/inet/secret/ipseckeys den manual-key-Service.
# svcadm enable svc:/network/ipsec/manual-key |
Aktualisieren Sie den Service nach dem Ändern der Datei ipseckeys.
# svcadm refresh manual-key |
Zeigen Sie nach dem Ändern des Wertes einer Serviceeigenschaft den Eigenschaftswert an, und führen Sie eine Aktualisierung und einen Neustart des Services durch.
# 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 |
Zum Verhindern der manuellen Schlüsselverwaltung deaktivieren Sie den manual-key-Service.
# svcadm disable svc:/network/ipsec/manual-key |
Wenn Sie die IPsec-Protokolle und die Algorithmustabelle ändern, aktualisieren Sie den ipsecalgs-Service.
# svcadm refresh svc:/network/ipsec/ipsecalgs |
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.
IPsec-Tunnel können ein VPN schützen. Im Release Solaris 10 7/07 kann sich ein Tunnel im Tunnelmodus oder Transportmodus befinden. Tunnelmodus kann mit den IPsec-Implementierungen anderer Anbieter zusammenarbeiten. Der Transportmodus kann mit früheren Versionen von Solaris OS zusammenarbeiten. Eine Beschreibung der Tunnelmodi finden Sie unter Transport- und Tunnelmodi in IPsec.
Tunnel im Tunnelmodus bieten eine genauere Kontrolle des Verkehrs. Im Tunnelmodus können Sie für eine interne IP-Adresse den gewünschten Schutz bis hin zu einem einzelnen Port zuweisen.
Beispiele von IPsec-Richtlinien für Tunnel im Tunnelmodus finden Sie unter Beispiele für den Schutz eines VPN mit IPsec mithilfe von Tunneln im Tunnelmodus.
Verfahren zum Schützen von VPNs finden Sie unter Schützen eines VPN mit IPsec (Übersicht der Schritte) .
In den folgenden Beispielen wird davon ausgegangen, dass der Tunnel für alle Teilnetze der LANs konfiguriert ist:
## Tunnel configuration ## # Tunnel name is ip.tun0 # Intranet point for the source is 10.1.2.1 # Intranet point for the destination is 10.2.3.1 # Tunnel source is 192.168.1.10 # Tunnel destination is 192.168.2.10 |
In diesem Beispiel kann der gesamte Verkehr von den lokalen LANs des LAN Central in Abbildung 20–1 über Router 1 zu Router 2 getunnelt werden, dann wird der Verkehr allen lokalen LANs des LAN Overseas zugestellt. Dieser Verkehr wird mit AES verschlüsselt.
## IPsec policy ## {tunnel ip.tun0 negotiate tunnel} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
In diesem Beispiel wird nur der Verkehr zwischen Teilnetz 10.1.2.0/24 des LAN Central und Teilnetz 10.2.3.0/24 des LAN Overseas getunnelt und verschlüsselt. Da keine weiteren weiterer IPsec-Richtlinien für Central vorhanden sind, wird Verkehr an Router 1 abgeworfen, wenn das LAN Central versucht, Verkehr für andere LANs über diesen Tunnel zu routen.
## IPsec policy ## {tunnel ip.tun0 negotiate tunnel laddr 10.1.2.0/24 raddr 10.2.3.0/24} ipsec {encr_algs aes encr_auth_algs md5 sha1 shared} |
In diesem Beispiel wird ein Tunnel ausschließlich für E-Mail-Verkehr erstellt. Der Verkehr wird von 10.1.2.0/24 des LAN Central an der E-Mail-Server im Teilnetz 10.2.3.0/24 des LAN Overseas zugestellt. Die E-Mails werden mit Blowfish verschlüsselt. Die Richtlinien gelten für den remoten und den lokalen E-Mail-Port. Die Richtlinie rport schützt E-Mail, die Central an den remoten E-Mail-Port von Overseas sendet. Die Richtlinie lport schützt E-Mail, die Central von Overseas am lokalen Port 25 empfängt.
## IPsec policy for email from Central to Overseas ## {tunnel ip.tun0 negotiate tunnel ulp tcp rport 25 laddr 10.1.2.0/24 raddr 10.2.3.0/24} ipsec {encr_algs blowfish encr_auth_algs sha1 sa shared} |
## IPsec policy for email from Overseas to Central ## {tunnel ip.tun0 negotiate tunnel ulp tcp lport 25 laddr 10.1.2.0/24 raddr 10.2.3.0/24} ipsec {encr_algs blowfish encr_auth_algs sha1 sa shared} |
In diesem Beispiel schützt die IPsec-Richtlinie die FTP-Ports in Abbildung 20–1 mit AES für alle Teilnetze des LAN Central zu allen Teilnetzen des LAN Overseas. Diese Konfiguration arbeitet im aktiven FTP-Modus.
## IPsec policy for outbound FTP from Central to Overseas ## {tunnel ip.tun0 negotiate tunnel ulp tcp rport 21} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} {tunnel ip.tun0 negotiate tunnel ulp tcp lport 20} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
## IPsec policy for inbound FTP from Central to Overseas ## {tunnel ip.tun0 negotiate tunnel ulp tcp lport 21} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} {tunnel ip.tun0 negotiate tunnel ulp tcp rport 20} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
Die folgende Tabelle enthält Links zu den Verfahren, mit denen IPsec zum Schutz des Datenverkehrs über das Internet konfiguriert wird. Diese Verfahren richten ein sicheres virtuelles privates Netzwerk (VPN) zwischen zwei Systemen ein, die durch das Internet voneinander getrennt sind. Eine häufige Anwendung dieser Technologie ist das Schützen von Datenverkehr zwischen Heimarbeitern und dem Unternehmensbüro.
Aufgabe |
Beschreibung |
Siehe |
---|---|---|
Schützen von Tunnelverkehr im Tunnelmodus über IPv4. |
Schützt Datenverkehr im Tunnelmodus zwischen zwei Solaris 10-Systemen; zwei Oracle Solaris-Systemen; oder zwischen einem Solaris 10-System und einem Oracle Solaris Express-System. Auf dem Solaris 10-System muss mindestens die Solaris 10 7/07-Version laufen. Schützt außerdem Datenverkehr im Tunnelmodus zwischen einem Solaris 10-System oder einem Oracle Solaris Express-System und einem System, das auf einer anderen Plattform ausgeführt wird. Auf dem Solaris 10-System muss mindestens die Solaris 10 7/07-Version laufen. |
So schützen Sie ein VPN mit einem IPsec-Tunnel im Tunnelmodus über IPv4 |
Schützen vom Tunnelverkehr im Tunnelmodus über IPv6. |
Schützt Datenverkehr im Tunnelmodus zwischen zwei Oracle Solaris-Systemen, die das IPv6-Protokoll verwenden. |
So schützen Sie ein VPN mit einem IPsec-Tunnel im Tunnelmodus über IPv6 |
Schützen vom Tunnelverkehr im Transportmodus über IPv4. |
Schützt Datenverkehr im Transportmodus zwischen zwei Solaris 10-Systemen; zwei Solaris-Systemen oder zwischen einem Solaris 10-System und einem Oracle Solaris-System. Auf dem Solaris 10-System muss mindestens die Solaris 10 7/07-Version laufen. Schützt außerdem Datenverkehr im Transportmodus zwischen einem System, auf dem eine frühere Version von Solaris OS und Solaris 10 oder ein Oracle Solaris Express-System. läuft. Auf dem Solaris 10-System muss mindestens die Solaris 10 7/07-Version laufen. |
So schützen Sie ein VPN mit einem IPsec-Tunnel im Transportmodus über IPv4 |
Schützen Sie Datenverkehr durch das Verwenden einer älteren, eingestellten Syntax. Diese Methode eignet sich insbesondere dann, wenn Sie mit einem System kommunizieren, das eine frühere Version von Solaris OS ausführt. Diese Methode vereinfacht das Vergleichen der Konfigurationsdateien auf den zwei Systemen. | ||
Schützen vom Tunnelverkehr im Transportmodus über IPv6. |
Schützt Datenverkehr im Tunnelmodus zwischen zwei Oracle Solaris-Systemen, die das IPv6-Protokoll verwenden. |
So schützen Sie ein VPN mit einem IPsec-Tunnel im Transportmodus über IPv6 |
Verhindern von IP-Spoofing. |
Erstellt einen SMF-Service, um das System daran zu hindern, ohne Entschlüsselung Pakete über ein VPN der Pakete weiterzuleiten. |
Bei den in diesem Abschnitt aufgeführten Verfahren wird das im Folgenden beschriebene Setup vorausgesetzt. Eine Darstellung des Netzwerks finden Sie in Abbildung 20–2.
Jedes System verwendet einen IPv4-Adressraum.
Ein ähnliches Beispiel mit IPv6-Adressen finden Sie unter So schützen Sie ein VPN mit einem IPsec-Tunnel im Tunnelmodus über IPv6.
Jedes System verfügt über zwei Schnittstellen. Die hme0-Schnittstelle stellt die Verbindung mit dem Internet her. In diesem Beispiel beginnen die Internet-IP-Adressen mit 192.168. Die Schnittstelle hme1 stellt die Verbindung mit dem LAN des Unternehmens, dem Intranet, her. In diesem Beispiel beginnen die Intranet-IP-Adressen mit 10.
Jedes System erfordert ESP-Authentifizierung mit dem SHA-1-Algorithmus. Der SHA–1-Algorithmus erfordert einen 160-Bit-Schlüssel.
Jedes System erfordert ESP-Verschlüsselung mit dem AES-Algorithmus. Der AES-Algorithmus verwendet einen 128-Bit-Schlüssel oder einen 256-Bit-Schlüssel.
Jedes System kann eine Verbindung zu einem Router herstellen, der über direkten Zugriff auf das Internet verfügt.
Jedes System verwendet gemeinsam genutzte Sicherheitszuordnungen.
Wie die oben stehende Abbildung zeigt, verwenden die Verfahren für das IPv4-Netzwerk die folgenden Konfigurationsparameter.
Parameter |
Europe |
California |
||
---|---|---|---|---|
Systemname |
|
|
||
System-Intranet-Schnittstelle |
|
|
||
Die System-Intranet-Adresse und die -point-Adresse in Schritt 7 |
|
|
||
System-Internet-Schnittstelle |
|
|
||
Die System-Internet-Adresse und die tsrc-Adresse in Schritt 7 |
|
|
||
Name des Internet-Routers |
|
|
||
Adresse des Internet-Routers |
|
|
||
Tunnelname |
|
|
In den Verfahren werden die folgenden IPv6-Adressen verwendet. Die Tunnelnamen sind dieselben.
Parameter |
Europe |
California |
||
---|---|---|---|---|
System-Intranet-Adresse |
|
|
||
System-Internet-Adresse |
|
|
||
Adresse des Internet-Routers |
|
|
Im Tunnelmodus bestimmt das innere IP-Paket die IPsec-Richtlinie, die dessen Inhalte schützt.
Dieses Verfahren ergänzt das unter So sichern Sie Datenverkehr zwischen zwei Systemen mit IPsec beschriebene Verfahren. Dieses Setup wird unter Beschreibung der Netzwerktopologie für IPsec-Aufgaben zum Schützen eines VPN beschrieben.
Führen Sie die Schritte dieses Verfahrens auf beiden Systemen aus.
Sie verbinden nicht nur zwei Systeme, sondern zwei Intranets, die mit diesen zwei Systemen verbunden sind. Die Systeme in diesem Verfahren arbeiten als Gateways.
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.
Nehmen Sie über die Systemkonsole die Rolle eines Primäradministrators an, oder melden Sie sich als Superuser an.
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.
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 Remoteanmeldung.
Kontrollieren Sie den Paketfluss vor der Konfiguration von IPsec.
Stellen Sie sicher, dass IP-Weiterleitung und dynamisches IP-Routing deaktiviert sind.
# routeadm Configuration Current Current Option Configuration System State -------------------------------------------------- IPv4 forwarding disabled disabled IPv4 routing default (enabled) enabled … |
Wenn IP-Weiterleitung und dynamisches IP-Routing aktiviert sind, können diese Funktionen wie folgt deaktiviert werden:
# routeadm -d ipv4-routing -d ipv4-forwarding # routeadm -u |
Durch Deaktivieren der IP-Weiterleitung wird verhindert, dass Pakete über dieses System von einem Netzwerk zu einem anderen weitergeleitet werden. Eine Beschreibung des Befehls routeadm finden Sie in der Manpage routeadm(1M).
Aktivieren Sie das IP Strict Destination Multihoming.
# ndd -set /dev/ip ip_strict_dst_multihoming 1 |
Durch Aktivieren von IP Strict Destination Multihoming wird sichergestellt, dass Pakete für eine der Zieladressen auf dem System bei der richtigen Zieladresse eintreffen.
Wenn das Strict Destination Multihoming aktiviert ist, müssen Pakete, die an einer bestimmten Schnittstelle eintreffen, an eine der lokalen IP-Adressen dieser Schnittstelle adressiert sein. Alle anderen Pakete, auch solche, die an andere lokale Adressen des Systems adressiert sind, werden abgeworfen.
Der Multihoming-Wert wird beim Booten des Systems auf den Standardwert zurückgesetzt. Informationen zum dauerhaften Ändern des Wertes finden Sie unter So verhindern Sie IP-Spoofing.
Deaktivieren Sie die meisten Netzwerkservices – wenn möglich, alle Netzwerkservices.
Wenn Ihr System mit dem SMF-Profil „limited“ installiert wurde, können Sie diesen Schritt überspringen. Netzwerkservices, mit Ausnahme der Solaris Secure Shell, sind deaktiviert.
Durch Deaktivieren der Netzwerkservices wird verhindert, das IP-Pakete Schaden an einem System anrichten können. Beispielsweise könnten ein SNMP-Daemon, eine telnet-Verbindung oder eine rlogin-Verbindung ausgenutzt werden.
Wählen Sie eine der folgenden Optionen:
Wenn Sie das Solaris 10 11/06-Release oder eine aktuellere Version ausführen, rufen Sie das SMF-Profil „limited“ auf.
# netservices limited |
Alternativ können Sie die Netzwerkservices einzeln deaktivieren.
# svcadm disable network/ftp:default # svcadm disable network/finger:default # svcadm disable network/login:rlogin # svcadm disable network/nfs/server:default # svcadm disable network/rpc/rstat:default # svcadm disable network/smtp:sendmail # svcadm disable network/telnet:default |
Stellen Sie sicher, dass die meisten Netzwerk-Services deaktiviert sind.
Stellen Sie sicher, dass die Loopback-Mounts und der ssh-Service ausgeführt werden.
# svcs | grep network online Aug_02 svc:/network/loopback:default … online Aug_09 svc:/network/ssh:default |
Fügen Sie zwischen den beiden Systemen zwei SAs hinzu.
Wählen Sie eine der folgenden Optionen:
Konfiguration von IKE zur Verwaltung der Schlüssel für die SAs. Zur Konfiguration von IKE für das VPN verwenden Sie eines der Verfahren unter Konfiguration von IKE (Übersicht der Schritte).
Wenn ein besonderer Grund vorliegt, die Schlüssel manuell zu konfigurieren, lesen Sie So erstellen Sie manuell IPsec-Sicherheitszuordnungen.
Fügen Sie eine IPsec-Richtlinie hinzu.
Geben Sie die IPsec-Richtlinie für das VPN in die Datei /etc/inet/ipsecinit.conf ein. Informationen zur Verstärkung der Richtlinie finden Sie in Beispiel 20–12. Zusätzliche Beispiele finden Sie unter Beispiele für den Schutz eines VPN mit IPsec mithilfe von Tunneln im Tunnelmodus.
Bei dieser Richtlinie ist der IPsec-Schutz zwischen Systemen im lokalen LAN und mit der internen IP-Adresse des Gateway nicht erforderlich, daher wird eine bypass-Anweisung hinzugefügt.
Auf dem enigma-System geben Sie den folgenden Eintrag in die ipsecinit.conf-Datei ein:
# LAN traffic to and from this host can bypass IPsec. {laddr 10.16.16.6 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {tunnel ip.tun0 negotiate tunnel} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
Auf dem partym-System geben Sie den folgenden Eintrag in die ipsecinit.conf-Datei ein:
# LAN traffic to and from this host can bypass IPsec. {laddr 10.1.3.3 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {tunnel ip.tun0 negotiate tunnel} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
(Optional) Überprüfen Sie die Syntax der IPsec-Richtliniendatei.
# ipsecconf -c -f /etc/inet/ipsecinit.conf |
Um den Tunnel zu konfigurieren und ihn mit IPsec zu schützen, folgen Sie den Schritten für die jeweilige Solaris-Version:
Folgen Sie ab Solaris 10 4/09 Schritt 7 bis Schritt 13, und führen Sie dann das Routingprotokoll in Schritt 22 aus.
Wenn Sie mit einer älteren Version als Solaris 10 4/09 arbeiten, befolgen Sie Schritt 14 bis Schritt 22.
Konfigurieren Sie den Tunnel, ip.tun0, in der Datei /etc/hostname.ip.tun0.
Für die Datei gilt folgende Syntax:
system1-point system2-point tsrc system1-taddr tdst system2-taddr router up |
Fügen Sie auf dem System enigma den folgenden Eintrag in die hostname.ip.tun0-Datei ein:
10.16.16.6 10.1.3.3 tsrc 192.168.116.16 tdst 192.168.13.213 router up |
Fügen Sie auf dem System partym den folgenden Eintrag in die hostname.ip.tun0-Datei ein:
10.1.3.3 10.16.16.6 tsrc 192.168.13.213 tdst 192.168.116.16 router up |
Schützen Sie den Tunnel mit der von Ihnen erstellten IPsec-Richtlinie.
# svcadm refresh svc:/network/ipsec/policy:default |
Um den Inhalt der Tunnelkonfigurationsdatei in den Systemkern einzulesen, starten Sie die Netzwerk-Services neu.
# svcadm restart svc:/network/initial:default |
Aktivieren Sie die IP-Weiterleitung für die hme1-Schnittstelle.
Fügen Sie auf dem System enigma den Routereintrag in die /etc/hostname.hme1-Datei ein.
192.168.116.16 router |
Fügen Sie auf dem System partym den Routereintrag in die /etc/hostname.hme1-Datei ein:
192.168.13.213 router |
IP-Weiterleitung bedeutet, dass alle Pakete, unabhängig vom Absender weitergeleitet werden. Darüber hinaus bedeutet IP-Weiterleitung, dass Pakete, die diese Schnittstelle verlassen, möglicherweise von einem anderen Absender stammen. Um ein Paket erfolgreich weiterzuleiten, müssen sowohl die empfangende als auch die übertragende Schnittstelle die IP-Weiterleitung aktiviert haben.
Da die Schnittstelle hme1 innerhalb des Intranets liegt, muss die IP-Weiterleitung für hme1 aktiviert sein. Da ip.tun0 die zwei Systeme über das Internet miteinander verbindet, muss die IP-Weiterleitung für ip.tun0 aktiviert sein.
Jedoch wurde die IP-Weiterleitung für die Schnittstelle hme0 deaktiviert, um zu verhindern, dass ein Angreifer von außen Pakete in das geschützte Intranet einleitet. außen bezieht sich in diesem Fall auf das Internet.
Stellen Sie sicher, dass die Routing-Protokolle die Standardroute nicht innerhalb des Intranets bekannt geben.
Fügen Sie auf dem System enigma die private-Flag in die /etc/hostname.hme0-Datei ein.
10.16.16.6 private |
Fügen Sie auf dem System partym die private-Flag in die /etc/hostname.hme0-Datei ein.
10.1.3.3 private |
Auch wenn die IP-Weiterleitung für die Schnittstelle hme0 deaktiviert wurde, kann eine Routing-Protokoll-Implementierung die Schnittstelle noch immer bekannt geben. Beispielsweise könnte das in.routed-Protokoll bekannt geben, dass hme0 in der Lage ist, Pakete an ihre Peers im Intranet weiterzuleiten. Durch Einstellen des Schnittstellen-Flags private werden diese Advertisement-Nachrichten verhindert.
Fügen Sie manuell eine Standardroute über die hme0-Schnittstelle hinzu.
Die Standardroute muss ein Router mit direktem Zugriff auf das Internet sein.
Auf dem System enigma können Sie die folgende Route hinzufügen:
# route add default 192.168.116.4 |
Auf dem System partym fügen Sie die folgende Route hinzu:
# route add default 192.168.13.5 |
Auch wenn die Schnittstelle hme0 nicht zum Intranet gehört, muss hme0 über das Internet auf ihr Peer-System zugreifen können. Um ihren Peer zu finden, benötigt die Schnittstelle hme0 Informationen zum Internet-Routing. Das VPN-System erscheint dem restlichen Internet gegenüber als Host und nicht als Router. Aus diesem Grund können Sie einen Standard-Router verwenden, um das Router-Erkennungsprotokoll zum Finden eines Peer-Systems auszuführen. Weitere Informationen entnehmen Sie bitte den Manpages route(1M) and in.routed(1M).
Zum Schluss wechseln Sie zu Schritt 22, um ein Routingprotokoll auszuführen.
Konfigurieren Sie den Tunnel ip.tun0.
Durch die folgenden Schritte wird ein Tunnel auf einem System konfiguriert, auf dem eine ältere Version als Solaris 10 4/09 ausgeführt wird.
Verwenden Sie ifconfig-Befehle, um eine Point-to-Point-Schnittstelle zu erzeugen:
# ifconfig ip.tun0 plumb # ifconfig ip.tun0 system1-point system2-point \ tsrc system1-taddr tdst system2-taddr |
Auf dem System enigma geben Sie die folgenden Befehle ein:
# ifconfig ip.tun0 plumb # ifconfig ip.tun0 10.16.16.6 10.1.3.3 \ tsrc 192.168.116.16 tdst 192.168.13.213 |
Auf dem System partym geben Sie die folgenden Befehle ein:
# ifconfig ip.tun0 plumb # ifconfig ip.tun0 10.1.3.3 10.16.16.6 \ tsrc 192.168.13.213 tdst 192.168.116.16 |
Schützen Sie den Tunnel mit der von Ihnen erstellten IPsec-Richtlinie.
# ipsecconf |
Aktivieren Sie den Router für den Tunnel.
# ifconfig ip.tun0 router up |
Aktivieren Sie die IP-Weiterleitung für die Schnittstelle hme1.
# ifconfig hme1 router |
IP-Weiterleitung bedeutet, dass alle Pakete, unabhängig vom Absender weitergeleitet werden. Darüber hinaus bedeutet IP-Weiterleitung, dass Pakete, die diese Schnittstelle verlassen, möglicherweise von einem anderen Absender stammen. Um ein Paket erfolgreich weiterzuleiten, müssen sowohl die empfangende als auch die übertragende Schnittstelle die IP-Weiterleitung aktiviert haben.
Da die Schnittstelle hme1 innerhalb des Intranets liegt, muss die IP-Weiterleitung für hme1 aktiviert sein. Da ip.tun0 die zwei Systeme über das Internet miteinander verbindet, muss die IP-Weiterleitung für ip.tun0 aktiviert sein.
Jedoch wurde die IP-Weiterleitung für die Schnittstelle hme0 deaktiviert, um zu verhindern, dass ein Angreifer von außen Pakete in das geschützte Intranet einleitet. außen bezieht sich in diesem Fall auf das Internet.
Stellen Sie sicher, dass die Routing-Protokolle die Standardroute nicht innerhalb des Intranets bekannt geben.
# ifconfig hme0 private |
Auch wenn die IP-Weiterleitung für die Schnittstelle hme0 deaktiviert wurde, kann eine Routing-Protokoll-Implementierung die Schnittstelle noch immer bekannt geben. Beispielsweise könnte das in.routed-Protokoll bekannt geben, dass hme0 in der Lage ist, Pakete an ihre Peers im Intranet weiterzuleiten. Durch Einstellen des Schnittstellen-Flags private werden diese Advertisement-Nachrichten verhindert.
Fügen Sie manuell eine Standardroute über hme0 hinzu.
Die Standardroute muss ein Router mit direktem Zugriff auf das Internet sein.
Auf dem System enigma können Sie die folgende Route hinzufügen:
# route add default 192.168.116.4 |
Auf dem System partym fügen Sie die folgende Route hinzu:
# route add default 192.168.13.5 |
Auch wenn die Schnittstelle hme0 nicht zum Intranet gehört, muss hme0 über das Internet auf ihr Peer-System zugreifen können. Um ihren Peer zu finden, benötigt die Schnittstelle hme0 Informationen zum Internet-Routing. Das VPN-System erscheint dem restlichen Internet gegenüber als Host und nicht als Router. Aus diesem Grund können Sie einen Standard-Router verwenden, um das Router-Erkennungsprotokoll zum Finden eines Peer-Systems auszuführen. Weitere Informationen entnehmen Sie bitte den Manpages route(1M) and in.routed(1M).
Stellen Sie sicher, dass das VPN nach einem erneuten Booten gestartet wird. Dazu fügen Sie einen Eintrag in die /etc/hostname.ip.tun0-Datei ein.
system1-point system2-point tsrc system1-taddr tdst system2-taddr router up |
Fügen Sie auf dem System enigma den folgenden Eintrag in die hostname.ip.tun0-Datei ein:
10.16.16.6 10.1.3.3 tsrc 192.168.116.16 tdst 192.168.13.213 router up |
Fügen Sie auf dem System partym den folgenden Eintrag in die hostname.ip.tun0-Datei ein:
10.1.3.3 10.16.16.6 tsrc 192.168.13.213 tdst 192.168.116.16 router up |
Konfigurieren Sie die Schnittstellendateien so, dass die korrekten Parameter an den Routing-Daemon übergeben werden.
Ändern Sie auf dem System enigma die /etc/hostname. Schnittstelle-Dateien.
# cat /etc/hostname.hme0 ## enigma 10.16.16.6 private |
# cat /etc/hostname.hme1 ## enigma 192.168.116.16 router |
Ändern Sie auf dem System partym die /etc/hostname. Schnittstelle-Dateien.
# cat /etc/hostname.hme0 ## partym 10.1.3.3 private |
# cat /etc/hostname.hme1 ## partym 192.168.13.213 router |
Führen Sie ein Routingprotokoll aus.
# routeadm -e ipv4-routing # routeadm -u |
Eventuell müssen Sie das Routing-Protokoll konfigurieren, bevor Sie es ausführen können. Weitere Informationen finden Sie unter Routing-Protokolle in Oracle Solaris. Anweisungen finden Sie unter So konfigurieren Sie einen IPv4-Router.
In diesem Beispiel testet der Administrator die Tunnelerstellung auf einem Solaris 10 4/09-System. Später verwendet der Administrator das unter So schützen Sie ein VPN mit einem IPsec-Tunnel im Tunnelmodus über IPv4 Verfahren zur dauerhaften Einrichtung der Tunnel. Während des Testens führt der Administrator eine Reihe von Schritten auf den Systemen system1 und system 2 aus.
Der Administrator führt auf beiden Systemen die ersten fünf Schritte des unter So schützen Sie ein VPN mit einem IPsec-Tunnel im Tunnelmodus über IPv4 erläuterten Verfahrens aus.
Der Administrator verwendet den ifconfig-Befehl zur Untersuchung und Konfiguration eines temporären Tunnels.
system1 # ifconfig ip.tun0 plumb system1 # ifconfig ip.tun0 10.16.16.6 10.1.3.3 \ tsrc 192.168.116.16 tdst 192.168.13.213 # ssh system2 Password: admin-password-on-system2 system2 # ifconfig ip.tun0 plumb system2 # ifconfig ip.tun0 10.1.3.3 10.16.16.6 \ tsrc 192.168.13.213 tdst 192.168.116.16 |
Der Administrator aktiviert die IPsec-Richtlinie für den Tunnel. Die Richtlinie wurde in Schritt 4 des unter So schützen Sie ein VPN mit einem IPsec-Tunnel im Tunnelmodus über IPv4 erläuterten Verfahrens erstellt.
system1 # svcadm refresh svc:/network/ipsec/policy:default system2 # svcadm refresh svc:/network/ipsec/policy:default |
Der Administrator wandelt die Internetschnittstelle in einen Router um und verhindert, dass Routingprotokolle über die Intranetschnittstelle hinausgehen.
system1 # ifconfig hme1 router ; ifconfig hme0 private system2 # ifconfig hme1 router ; ifconfig hme0 private |
Der Administrator fügt manuell Routing hinzu und führt das Routingprotokoll auf beiden Systemen nach Schritt 12 und Schritt 22 des unter So schützen Sie ein VPN mit einem IPsec-Tunnel im Tunnelmodus über IPv4 beschriebenen Verfahrens aus.
In Solaris 10 7/07 wurde die Syntax des ifconfig-Befehls vereinfacht. In diesem Beispiel testet der Administrator die Tunnelerstellung auf einem System, auf dem eine ältere Version als Solaris 10 7/07 ausgeführt wird. Mithilfe der ursprünglichen Syntax des ifconfig-Befehls kann der Administrator identische Befehle auf den beiden kommunizierenden Systemen verwenden. Später wandelt der Administrator die Tunnel nach der unter So schützen Sie ein VPN mit einem IPsec-Tunnel im Tunnelmodus über IPv4 erläuterten Verfahrensweise in dauerhafte Tunnel um.
Während des Testens führt der Administrator folgende Schritte auf den Systemen system1 und system 2 aus.
Der Administrator führt auf beiden Systemen die ersten fünf Schritte des unter So schützen Sie ein VPN mit einem IPsec-Tunnel im Tunnelmodus über IPv4 beschriebenen Verfahrens aus.
Der Administrator untersucht und konfiguriert den Tunnel.
system1 # ifconfig ip.tun0 plumb system1 # ifconfig ip.tun0 10.16.16.6 10.1.3.3 \ tsrc 192.168.116.16 tdst 192.168.13.213 \ encr_algs aes encr_auth_algs sha1 system1 # ifconfig ip.tun0 router up |
# ssh system2 Password: admin-password-on-system2 system2 # ifconfig ip.tun0 plumb system2 # ifconfig ip.tun0 10.1.3.3 10.16.16.6 \ tsrc 192.168.13.213 tdst 192.168.116.16 \ encr_algs aes encr_auth_algs sha1 system2 # ifconfig ip.tun0 router up |
Der Administrator aktiviert die IPsec-Richtlinie für den Tunnel. Die Richtlinie wurde in Schritt 4 des unter So schützen Sie ein VPN mit einem IPsec-Tunnel im Tunnelmodus über IPv4 erläuterten Verfahrens erstellt.
system1 # svcadm refresh svc:/network/ipsec/policy:default system2 # svcadm refresh svc:/network/ipsec/policy:default |
Der Administrator wandelt die Internetschnittstelle in einen Router um und verhindert, dass Routingprotokolle über die Intranetschnittstelle hinausgehen.
system1 # ifconfig hme1 router ; ifconfig hme0 private system2 # ifconfig hme1 router ; ifconfig hme0 private |
Der Administrator fügt Routing nach der in Schritt 12 und Schritt 22 unter So schützen Sie ein VPN mit einem IPsec-Tunnel im Tunnelmodus über IPv4 angegebenen Verfahrensweise auf beiden System hinzu.
In diesem Beispiel wandelt der Administrator die bypass-Richtlinie, die in Schritt 4 konfiguriert wurde, in einen Kommentar um und verstärkt somit den Schutz. Bei dieser Richtlinienkonfiguration muss jedes System im LAN IPsec aktivieren, um mit dem Router kommunizieren zu können.
# LAN traffic must implement IPsec. # {laddr 10.1.3.3 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {tunnel ip.tun0 negotiate tunnel} ipsec {encr_algs aes encr_auth_algs sha1} |
In diesem Beispiel schützt die erste Regel den telnet-Datenverkehr an·Port 23 mit Blowfish und SHA-1. Die zweite Regel schützt den SMTP-Datenverkehr an Port 25 mit AES und MD5.
{laddr 10.1.3.3 ulp tcp dport 23 dir both} ipsec {encr_algs blowfish encr_auth_algs sha1 sa unique} {laddr 10.1.3.3 ulp tcp dport 25 dir both} ipsec {encr_algs aes encr_auth_algs md5 sa unique} |
Die folgende Tunnelkonfiguration schützt den gesamten Verkehr aus dem Teilnetz 10.1.3.0/24 über den Tunnel:
{tunnel ip.tun0 negotiate tunnel laddr 10.1.3.0/24} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
Die folgende Tunnelkonfiguration schützt Verkehr aus dem Teilnetz 10.1.3.0/24 an andere Teilnetze über den Tunnel. Teilnetze, die mit 10.2.x.x beginnen, befinden sich hinter dem Tunnel.
{tunnel ip.tun0 negotiate tunnel laddr 10.1.3.0/24 raddr 10.2.1.0/24} ipsec {encr_algs blowfish encr_auth_algs sha1 sa shared} |
{tunnel ip.tun0 negotiate tunnel laddr 10.1.3.0/24 raddr 10.2.2.0/24} ipsec {encr_algs blowfish encr_auth_algs sha1 sa shared} |
{tunnel ip.tun0 negotiate tunnel laddr 10.1.3.0/24 raddr 10.2.3.0/24} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
Zum Einrichten eines VPN in einem IPv6-Netzwerk führen Sie die gleichen Schritte wie für ein IPv4-Netzwerk aus. Lediglich die Syntax der Befehle ist etwas anders. Eine vollständige Beschreibung der Gründe für bestimmte Befehle finden Sie unter den entsprechenden Schritten der Beschreibung unter So schützen Sie ein VPN mit einem IPsec-Tunnel im Tunnelmodus über IPv4.
Führen Sie die Schritte dieses Verfahrens auf beiden Systemen aus.
In diesem Verfahren werden die folgenden Konfigurationsparameter verwendet.
Parameter |
Europe |
California |
||
---|---|---|---|---|
Systemname |
|
|
||
System-Intranet-Schnittstelle |
|
|
||
System-Internet-Schnittstelle |
|
|
||
System-Intranet-Adresse |
|
|
||
System-Internet-Adresse |
|
|
||
Name des Internet-Routers |
|
|
||
Adresse des Internet-Routers |
|
|
||
Tunnelname |
|
|
Nehmen Sie über die Systemkonsole die Rolle eines Primäradministrators an, oder melden Sie sich als Superuser an.
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.
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 Remoteanmeldung.
Kontrollieren Sie den Paketfluss vor der Konfiguration von IPsec.
Informationen zu den Auswirkungen dieser Befehle finden Sie unter Schritt 2 in So schützen Sie ein VPN mit einem IPsec-Tunnel im Tunnelmodus über IPv4.
Stellen Sie sicher, dass IP-Weiterleitung und dynamisches IP-Routing deaktiviert sind.
# routeadm Configuration Current Current Option Configuration System State -------------------------------------------------- … IPv6 forwarding disabled disabled IPv6 routing disabled disabled |
Wenn IP-Weiterleitung und dynamisches IP-Routing aktiviert sind, können diese Funktionen wie folgt deaktiviert werden:
# routeadm -d ipv6-forwarding -d ipv6-routing # routeadm -u |
Aktivieren Sie das IP Strict Destination Multihoming.
# ndd -set /dev/ip ip6_strict_dst_multihoming 1 |
ip_strict_dst_multihoming wird beim Booten des Systems auf den Standardwert zurückgesetzt. Informationen zum dauerhaften Ändern des Wertes finden Sie unter So verhindern Sie IP-Spoofing.
Deaktivieren Sie die meisten Netzwerkservices – wenn möglich, alle Netzwerkservices.
Wenn Ihr System mit dem SMF-Profil „limited“ installiert wurde, können Sie diesen Schritt überspringen. Netzwerkservices, mit Ausnahme der Solaris Secure Shell, sind deaktiviert.
Durch Deaktivieren der Netzwerkservices wird verhindert, das IP-Pakete Schaden an einem System anrichten können. Beispielsweise könnten ein SNMP-Daemon, eine telnet-Verbindung oder eine rlogin-Verbindung ausgenutzt werden.
Wählen Sie eine der folgenden Optionen:
Wenn Sie das Solaris 10 11/06-Release oder eine aktuellere Version ausführen, rufen Sie das SMF-Profil „limited“ auf.
# netservices limited |
Alternativ können Sie die Netzwerkservices einzeln deaktivieren.
# svcadm disable network/ftp:default # svcadm disable network/finger:default # svcadm disable network/login:rlogin # svcadm disable network/nfs/server:default # svcadm disable network/rpc/rstat:default # svcadm disable network/smtp:sendmail # svcadm disable network/telnet:default |
Stellen Sie sicher, dass die meisten Netzwerk-Services deaktiviert sind.
Stellen Sie sicher, dass die Loopback-Mounts und der ssh-Service ausgeführt werden.
# svcs | grep network online Aug_02 svc:/network/loopback:default ... online Aug_09 svc:/network/ssh:default |
Fügen Sie zwischen den beiden Systemen zwei SAs hinzu.
Wählen Sie eine der folgenden Optionen:
Konfiguration von IKE zur Verwaltung der Schlüssel für die SAs. Zur Konfiguration von IKE für das VPN verwenden Sie eines der Verfahren unter Konfiguration von IKE (Übersicht der Schritte).
Wenn ein besonderer Grund vorliegt, die Schlüssel manuell zu konfigurieren, lesen Sie So erstellen Sie manuell IPsec-Sicherheitszuordnungen.
Fügen Sie eine IPsec-Richtlinie für das VPN hinzu.
Geben Sie die IPsec-Richtlinie für das VPN in die Datei /etc/inet/ipsecinit.conf ein.
Auf dem enigma-System geben Sie den folgenden Eintrag in die ipsecinit.conf-Datei ein:
# IPv6 Neighbor Discovery messages bypass IPsec. {ulp ipv6-icmp type 133-137 dir both} pass {} # LAN traffic to and from this host can bypass IPsec. {laddr 6000:6666::aaaa:1116 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {tunnel ip6.tun0 negotiate tunnel} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
Auf dem partym-System geben Sie den folgenden Eintrag in die ipsecinit.conf-Datei ein:
# IPv6 Neighbor Discovery messages bypass IPsec. {ulp ipv6-icmp type 133-137 dir both} pass {} # LAN traffic to and from this host can bypass IPsec. {laddr 6000:3333::eeee:1113 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {tunnel ip6.tun0 negotiate tunnel} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
(Optional) Überprüfen Sie die Syntax der IPsec-Richtliniendatei.
# ipsecconf -c -f /etc/inet/ipsecinit.conf |
Um den Tunnel zu konfigurieren und ihn mit IPsec zu schützen, folgen Sie den Schritten für die jeweilige Solaris-Version:
Folgen Sie ab Solaris 10 4/09 Schritt 7 bis Schritt 13, und führen Sie dann das Routingprotokoll in Schritt 22 aus.
Wenn Sie mit einer älteren Version als Solaris 10 4/09 arbeiten, befolgen Sie Schritt 14 bis Schritt 22.
Konfigurieren Sie den Tunnel ip6.tun0 in der /etc/hostname.ip6.tun0-Datei.
Fügen Sie auf dem System enigma den folgenden Eintrag in die hostname6.ip6.tun0-Datei ein:
6000:6666::aaaa:1116 6000:3333::eeee:1113 tsrc 2001::aaaa:6666:6666 tdst 2001::eeee:3333:3333 router up |
Fügen Sie auf dem System partym den folgenden Eintrag in die hostname.ip6.tun0-Datei ein.
6000:3333::eeee:1113 6000:6666::aaaa:1116 tsrc 2001::eeee:3333:3333 tdst 2001::aaaa:6666:6666 router up |
Schützen Sie den Tunnel mit der von Ihnen erstellten IPsec-Richtlinie.
# svcadm refresh svc:/network/ipsec/policy:default |
Um den Inhalt der Tunnelkonfigurationsdatei in den Systemkern einzulesen, starten Sie die Netzwerk-Services neu.
# svcadm restart svc:/network/initial:default |
Aktivieren Sie die IP-Weiterleitung für die Schnittstelle hme1.
Stellen Sie sicher, dass die Routing-Protokolle die Standardroute nicht innerhalb des Intranets bekannt geben.
Fügen Sie manuell eine Standardroute über hme0 hinzu.
Zum Schluss wechseln Sie zu Schritt 22, um ein Routingprotokoll auszuführen.
Konfigurieren Sie den sicheren Tunnel ip6.tun0.
Durch die folgenden Schritte wird ein Tunnel auf einem System konfiguriert, auf dem eine ältere Version als Solaris 10 4/09 ausgeführt wird.
Auf dem System enigma geben Sie die folgenden Befehle ein:
# ifconfig ip6.tun0 inet6 plumb # ifconfig ip6.tun0 inet6 6000:6666::aaaa:1116 6000:3333::eeee:1113 \ tsrc 2001::aaaa:6666:6666 tdst 2001::eeee:3333:3333 |
Auf dem System partym geben Sie die folgenden Befehle ein:
# ifconfig ip6.tun0 inet6 plumb # ifconfig ip6.tun0 inet6 6000:3333::eeee:1113 6000:6666::aaaa:1116 \ tsrc 2001::eeee:3333:3333 tdst 2001::aaaa:6666:6666 |
Schützen Sie den Tunnel mit der von Ihnen erstellten IPsec-Richtlinie.
# ipsecconf |
Aktivieren Sie den Router für den Tunnel.
# ifconfig ip6.tun0 router up |
Aktivieren Sie auf jedem System die IP-Weiterleitung für die Schnittstelle hme1.
# ifconfig hme1 router |
Stellen Sie sicher, dass die Routing-Protokolle die Standardroute nicht innerhalb des Intranets bekannt geben.
# ifconfig hme0 private |
Fügen Sie manuell eine Standardroute über hme0 hinzu.
Die Standardroute muss ein Router mit direktem Zugriff auf das Internet sein.
Stellen Sie sicher, dass das VPN nach einem erneuten Booten gestartet wird. Dazu fügen Sie einen Eintrag in die /etc/hostname6.ip6.tun0-Datei ein.
Dieser Eintrag repliziert die Parameter, die in Schritt 14 an den Befehl ifconfig übergeben wurden.
Fügen Sie auf dem System enigma den folgenden Eintrag in die hostname6.ip6.tun0-Datei ein:
6000:6666::aaaa:1116 6000:3333::eeee:1113 \ tsrc 2001::aaaa:6666:6666 tdst 2001::eeee:3333:3333 router up |
Fügen Sie auf dem System partym den folgenden Eintrag in die hostname6.ip6.tun0-Datei ein:
6000:3333::eeee:1113 6000:6666::aaaa:1116 \ tsrc 2001::eeee:3333:3333 tdst 2001::aaaa:6666:6666 router up |
Konfigurieren Sie die Schnittstellendateien auf jedem System so, dass die korrekten Parameter an den Routing-Daemon übergeben werden.
Ändern Sie auf dem System enigma die /etc/hostname6. Schnittstelle-Dateien.
# cat /etc/hostname6.hme0 ## enigma 6000:6666::aaaa:1116 inet6 private |
# cat /etc/hostname6.hme1 ## enigma 2001::aaaa:6666:6666 inet6 router |
Ändern Sie auf dem System partym die /etc/hostname6. Schnittstelle-Dateien.
# cat /etc/hostname6.hme0 ## partym 6000:3333::eeee:1113 inet6 private |
# cat /etc/hostname6.hme1 ## partym 2001::eeee:3333:3333 inet6 router |
Führen Sie ein Routingprotokoll aus.
# routeadm -e ipv6-routing # routeadm -u |
Eventuell müssen Sie das Routing-Protokoll konfigurieren, bevor Sie es ausführen können. Weitere Informationen finden Sie unter Routing-Protokolle in Oracle Solaris. Anweisungen finden Sie unter Konfiguration eines IPv6-Routers.
Im Transportmodus bestimmt der äußere Header die IPsec-Richtlinie, die das innere IP-Paket schützt.
Dieses Verfahren ergänzt das unter So sichern Sie Datenverkehr zwischen zwei Systemen mit IPsec beschriebene Verfahren. Sie verbinden nicht nur zwei Systeme, sondern zwei Intranets, die mit diesen zwei Systemen verbunden sind. Die Systeme in diesem Verfahren arbeiten als Gateways.
Dieses Verfahren verwendet das unter Beschreibung der Netzwerktopologie für IPsec-Aufgaben zum Schützen eines VPN beschriebene Setup. Eine vollständige Beschreibung der Gründe für bestimmte Befehle finden Sie unter den entsprechenden Schritten der Beschreibung unter So schützen Sie ein VPN mit einem IPsec-Tunnel im Tunnelmodus über IPv4.
Führen Sie die Schritte dieses Verfahrens auf beiden Systemen aus.
Nehmen Sie über die Systemkonsole die Rolle eines Primäradministrators an, oder melden Sie sich als Superuser an.
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.
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 Remoteanmeldung.
Kontrollieren Sie den Paketfluss vor der Konfiguration von IPsec.
Stellen Sie sicher, dass IP-Weiterleitung und dynamisches IP-Routing deaktiviert sind.
# routeadm Configuration Current Current Option Configuration System State -------------------------------------------------- IPv4 forwarding disabled disabled IPv4 routing default (enabled) enabled … |
Wenn IP-Weiterleitung und dynamisches IP-Routing aktiviert sind, können diese Funktionen wie folgt deaktiviert werden:
# routeadm -d ipv4-routing -d ipv4-forwarding # routeadm -u |
Aktivieren Sie das IP Strict Destination Multihoming.
# ndd -set /dev/ip ip_strict_dst_multihoming 1 |
ip_strict_dst_multihoming wird beim Booten des Systems auf den Standardwert zurückgesetzt. Informationen zum dauerhaften Ändern des Wertes finden Sie unter So verhindern Sie IP-Spoofing.
Deaktivieren Sie die meisten Netzwerkservices – wenn möglich, alle Netzwerkservices.
Wenn Ihr System mit dem SMF-Profil „limited“ installiert wurde, können Sie diesen Schritt überspringen. Netzwerkservices, mit Ausnahme der Solaris Secure Shell, sind deaktiviert.
Durch Deaktivieren der Netzwerkservices wird verhindert, das IP-Pakete Schaden an einem System anrichten können. Beispielsweise könnten ein SNMP-Daemon, eine telnet-Verbindung oder eine rlogin-Verbindung ausgenutzt werden.
Wählen Sie eine der folgenden Optionen:
Wenn Sie das Solaris 10 11/06-Release oder eine aktuellere Version ausführen, rufen Sie das SMF-Profil „limited“ auf.
# netservices limited |
Alternativ können Sie die Netzwerkservices einzeln deaktivieren.
# svcadm disable network/ftp:default # svcadm disable network/finger:default # svcadm disable network/login:rlogin # svcadm disable network/nfs/server:default # svcadm disable network/rpc/rstat:default # svcadm disable network/smtp:sendmail # svcadm disable network/telnet:default |
Stellen Sie sicher, dass die meisten Netzwerk-Services deaktiviert sind.
Stellen Sie sicher, dass die Loopback-Mounts und der ssh-Service ausgeführt werden.
# svcs | grep network online Aug_02 svc:/network/loopback:default … online Aug_09 svc:/network/ssh:default |
Fügen Sie zwischen den beiden Systemen zwei SAs hinzu.
Wählen Sie eine der folgenden Optionen:
Konfiguration von IKE zur Verwaltung der Schlüssel für die SAs. Zur Konfiguration von IKE für das VPN verwenden Sie eines der Verfahren unter Konfiguration von IKE (Übersicht der Schritte).
Wenn ein besonderer Grund vorliegt, die Schlüssel manuell zu konfigurieren, lesen Sie So erstellen Sie manuell IPsec-Sicherheitszuordnungen.
Fügen Sie eine IPsec-Richtlinie hinzu.
Geben Sie die IPsec-Richtlinie für das VPN in die Datei /etc/inet/ipsecinit.conf ein. Informationen zur Verstärkung der Richtlinie finden Sie in Beispiel 20–15.
Auf dem System enigma geben Sie den folgenden Eintrag in die ipsecinit.conf-Datei ein:
# LAN traffic to and from this host can bypass IPsec. {laddr 10.16.16.6 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {tunnel ip.tun0 negotiate transport} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
Auf dem partym-System geben Sie den folgenden Eintrag in die ipsecinit.conf-Datei ein:
# LAN traffic to and from this host can bypass IPsec. {laddr 10.1.3.3 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {tunnel ip.tun0 negotiate transport} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
(Optional) Überprüfen Sie die Syntax der IPsec-Richtliniendatei.
# ipsecconf -c -f /etc/inet/ipsecinit.conf |
Um den Tunnel zu konfigurieren und ihn mit IPsec zu schützen, folgen Sie den Schritten für die jeweilige Solaris-Version:
Folgen Sie ab Solaris 10 4/09 Schritt 7 bis Schritt 13, und führen Sie dann das Routingprotokoll in Schritt 22 aus.
Wenn Sie mit einer älteren Version als Solaris 10 4/09 arbeiten, befolgen Sie Schritt 14 bis Schritt 22.
Konfigurieren Sie den Tunnel ip.tun0 in der /etc/hostname.ip.tun0-Datei.
Fügen Sie auf dem System enigma den folgenden Eintrag in die hostname.ip.tun0-Datei ein:
10.16.16.6 10.1.3.3 tsrc 192.168.116.16 tdst 192.168.13.213 router up |
Fügen Sie auf dem System partym den folgenden Eintrag in die hostname.ip.tun0-Datei ein:
10.1.3.3 10.16.16.6 tsrc 192.168.13.213 tdst 192.168.116.16 router up |
Schützen Sie den Tunnel mit der von Ihnen erstellten IPsec-Richtlinie.
# svcadm refresh svc:/network/ipsec/policy:default |
Um den Inhalt der hostname.ip.tun0-Datei in den Systemkern zu lesen, starten Sie die Netzwerk-Services neu.
# svcadm restart svc:/network/initial:default |
Aktivieren Sie die IP-Weiterleitung für die hme1-Schnittstelle.
Stellen Sie sicher, dass die Routing-Protokolle die Standardroute nicht innerhalb des Intranets bekannt geben.
Fügen Sie manuell eine Standardroute über hme0 hinzu.
Zum Schluss wechseln Sie zu Schritt 22, um ein Routingprotokoll auszuführen.
Konfigurieren Sie den Tunnel ip.tun0.
Durch die folgenden Schritte wird ein Tunnel auf einem System konfiguriert, auf dem eine ältere Version als Solaris 10 4/09 ausgeführt wird.
Verwenden Sie ifconfig-Befehle, um eine Point-to-Point-Schnittstelle zu erzeugen:
# ifconfig ip.tun0 plumb # ifconfig ip.tun0 system1-point system2-point \ tsrc system1-taddr tdst system2-taddr |
Auf dem System enigma geben Sie die folgenden Befehle ein:
# ifconfig ip.tun0 plumb # ifconfig ip.tun0 10.16.16.6 10.1.3.3 \ tsrc 192.168.116.16 tdst 192.168.13.213 |
Auf dem System partym geben Sie die folgenden Befehle ein:
# ifconfig ip.tun0 plumb # ifconfig ip.tun0 10.1.3.3 10.16.16.6 \ tsrc 192.168.13.213 tdst 192.168.116.16 |
Schützen Sie den Tunnel mit der von Ihnen erstellten IPsec-Richtlinie.
# ipsecconf |
Aktivieren Sie den Router für den Tunnel.
# ifconfig ip.tun0 router up |
Aktivieren Sie die IP-Weiterleitung für die Schnittstelle hme1.
# ifconfig hme1 router |
Stellen Sie sicher, dass die Routing-Protokolle die Standardroute nicht innerhalb des Intranets bekannt geben.
# ifconfig hme0 private |
Fügen Sie manuell eine Standardroute über hme0 hinzu.
Die Standardroute muss ein Router mit direktem Zugriff auf das Internet sein.
# route add default router-on-hme0-subnet |
Stellen Sie sicher, dass das VPN nach einem erneuten Booten gestartet wird. Dazu fügen Sie einen Eintrag in die /etc/hostname.ip.tun0-Datei ein.
system1-point system2-point tsrc system1-taddr \ tdst system2-taddr encr_algs aes encr_auth_algs sha1 router up |
Fügen Sie auf dem System enigma den folgenden Eintrag in die hostname.ip.tun0-Datei ein:
10.16.16.6 10.1.3.3 tsrc 192.168.116.16 \ tdst 192.168.13.213 router up |
Fügen Sie auf dem System partym den folgenden Eintrag in die hostname.ip.tun0-Datei ein:
10.1.3.3 10.16.16.6 tsrc 192.168.13.213 \ tdst 192.168.116.16 router up |
Konfigurieren Sie die Schnittstellendateien so, dass die korrekten Parameter an den Routing-Daemon übergeben werden.
Ändern Sie auf dem System enigma die /etc/hostname. Schnittstelle-Dateien.
# cat /etc/hostname.hme0 ## enigma 10.16.16.6 private |
# cat /etc/hostname.hme1 ## enigma 192.168.116.16 router |
Ändern Sie auf dem System partym die /etc/hostname. Schnittstelle-Dateien.
# cat /etc/hostname.hme0 ## partym 10.1.3.3 private |
# cat /etc/hostname.hme1 ## partym 192.168.13.213 router |
Führen Sie ein Routingprotokoll aus.
# routeadm -e ipv4-routing # routeadm -u |
IPsec-RichtlinieLAN-BeispielIn diesem Beispiel wandelt der Administrator die bypass-Richtlinie, die in Schritt 4 konfiguriert wurde, in einen Kommentar um und verstärkt somit den Schutz. Bei dieser Richtlinienkonfiguration muss jedes System im LAN IPsec aktivieren, um mit dem Router kommunizieren zu können.
# LAN traffic must implement IPsec. # {laddr 10.1.3.3 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {tunnel ip.tun0 negotiate transport} ipsec {encr_algs aes encr_auth_algs sha1} |
In diesem Beispiel stellt der Administrator eine Verbindung zwischen einem Solaris 10 7/07-System und einem System her, das das Solaris 10-Release ausführt. Aus diesem Grund verwendet der Administrator die Solaris 10-Syntax in der Konfigurationsdatei und nimmt die IPsec-Algorithmen in den Befehl ifconfig auf.
Der Administrator verwendet das Verfahren So schützen Sie ein VPN mit einem IPsec-Tunnel im Transportmodus über IPv4 mit den folgenden Syntaxänderungen.
Für Schritt 4 lautet die Syntax der ipsecinit.conf-Datei folgendermaßen:
# LAN traffic to and from this address can bypass IPsec. {laddr 10.1.3.3 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {} ipsec {encr_algs aes encr_auth_algs sha1} |
Für Schritt 14 bis Schritt 16 lautet die Syntax zum Konfigurieren eines sicheren Tunnels folgendermaßen:
# ifconfig ip.tun0 plumb # ifconfig ip.tun0 10.16.16.6 10.1.3.3 \ tsrc 192.168.116.16 tdst 192.168.13.213 \ encr_algs aes encr_auth_algs sha1 # ifconfig ip.tun0 router up |
# ifconfig ip.tun0 plumb # ifconfig ip.tun0 10.16.16.6 10.1.3.3 \ tsrc 192.168.116.16 tdst 192.168.13.213 \ encr_algs aes encr_auth_algs sha1 |
Die an die ifconfig-Befehle übergebene IPsec-Richtlinie muss der IPsec-Richtlinie in der ipsecinit.conf-Datei gleichen. Beim erneuten Booten liest das System die ipsecinit.conf-Datei ein, um die Richtlinie zu beziehen.
Für Schritt 20 lautet die Syntax der hostname.ip.tun0-Datei folgendermaßen:
10.16.16.6 10.1.3.3 tsrc 192.168.116.16 \ tdst 192.168.13.213 encr_algs aes encr_auth_algs sha1 router up |
Zum Einrichten eines VPN in einem IPv6-Netzwerk führen Sie die gleichen Schritte wie für ein IPv4-Netzwerk aus. Lediglich die Syntax der Befehle ist etwas anders. Eine vollständige Beschreibung der Gründe für bestimmte Befehle finden Sie unter den entsprechenden Schritten der Beschreibung unter So schützen Sie ein VPN mit einem IPsec-Tunnel im Tunnelmodus über IPv4.
Führen Sie die Schritte dieses Verfahrens auf beiden Systemen aus.
In diesem Verfahren werden die folgenden Konfigurationsparameter verwendet.
Parameter |
Europe |
California |
||
---|---|---|---|---|
Systemname |
|
|
||
System-Intranet-Schnittstelle |
|
|
||
System-Internet-Schnittstelle |
|
|
||
System-Intranet-Adresse |
|
|
||
System-Internet-Adresse |
|
|
||
Name des Internet-Routers |
|
|
||
Adresse des Internet-Routers |
|
|
||
Tunnelname |
|
|
Nehmen Sie über die Systemkonsole die Rolle eines Primäradministrators an, oder melden Sie sich als Superuser an.
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.
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 Remoteanmeldung.
Kontrollieren Sie den Paketfluss vor der Konfiguration von IPsec.
Stellen Sie sicher, dass IP-Weiterleitung und dynamisches IP-Routing deaktiviert sind.
# routeadm Configuration Current Current Option Configuration System State -------------------------------------------------- … IPv6 forwarding disabled disabled IPv6 routing disabled disabled |
Wenn IP-Weiterleitung und dynamisches IP-Routing aktiviert sind, können diese Funktionen wie folgt deaktiviert werden:
# routeadm -d ipv6-forwarding -d ipv6-routing # routeadm -u |
Aktivieren Sie das IP Strict Destination Multihoming.
# ndd -set /dev/ip ip6_strict_dst_multihoming 1 |
ip_strict_dst_multihoming wird beim Booten des Systems auf den Standardwert zurückgesetzt. Informationen zum dauerhaften Ändern des Wertes finden Sie unter So verhindern Sie IP-Spoofing.
Stellen Sie sicher, dass die meisten Netzwerk-Services deaktiviert sind.
Stellen Sie sicher, dass die Loopback-Mounts und der ssh-Service ausgeführt werden.
# svcs | grep network online Aug_02 svc:/network/loopback:default … online Aug_09 svc:/network/ssh:default |
Fügen Sie zwischen den beiden Systemen zwei SAs hinzu.
Wählen Sie eine der folgenden Optionen:
Konfiguration von IKE zur Verwaltung der Schlüssel für die SAs. Zur Konfiguration von IKE für das VPN verwenden Sie eines der Verfahren unter Konfiguration von IKE (Übersicht der Schritte).
Wenn ein besonderer Grund vorliegt, die Schlüssel manuell zu konfigurieren, lesen Sie So erstellen Sie manuell IPsec-Sicherheitszuordnungen.
Fügen Sie eine IPsec-Richtlinie hinzu.
Geben Sie die IPsec-Richtlinie für das VPN in die Datei /etc/inet/ipsecinit.conf ein.
Auf dem enigma-System geben Sie den folgenden Eintrag in die ipsecinit.conf-Datei ein:
# IPv6 Neighbor Discovery messages bypass IPsec. {ulp ipv6-icmp type 133-137 dir both} pass {} # LAN traffic can bypass IPsec. {laddr 6000:6666::aaaa:1116 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {tunnel ip6.tun0 negotiate transport} ipsec {encr_algs aes encr_auth_algs sha1} |
Auf dem partym-System geben Sie den folgenden Eintrag in die ipsecinit.conf-Datei ein:
# IPv6 Neighbor Discovery messages bypass IPsec. {ulp ipv6-icmp type 133-137 dir both} pass {} # LAN traffic can bypass IPsec. {laddr 6000:3333::eeee:1113 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {tunnel ip6.tun0 negotiate transport} ipsec {encr_algs aes encr_auth_algs sha1} |
(Optional) Überprüfen Sie die Syntax der IPsec-Richtliniendatei.
# ipsecconf -c -f /etc/inet/ipsecinit.conf |
Um den Tunnel zu konfigurieren und ihn mit IPsec zu schützen, folgen Sie den Schritten für die jeweilige Solaris-Version:
Folgen Sie ab Solaris 10 4/09 Schritt 7 bis Schritt 13, und führen Sie dann das Routingprotokoll in Schritt 22 aus.
Wenn Sie mit einer älteren Version als Solaris 10 4/09 arbeiten, befolgen Sie Schritt 14 bis Schritt 22.
Konfigurieren Sie den Tunnel ip6.tun0 in der /etc/hostname.ip6.tun0-Datei.
Fügen Sie auf dem System enigma den folgenden Eintrag in die hostname6.ip6.tun0-Datei ein:
6000:6666::aaaa:1116 6000:3333::eeee:1113 tsrc 2001::aaaa:6666:6666 tdst 2001::eeee:3333:3333 router up |
Fügen Sie auf dem System partym den folgenden Eintrag in die hostname.ip6.tun0-Datei ein.
6000:3333::eeee:1113 6000:6666::aaaa:1116 tsrc 2001::eeee:3333:3333 tdst 2001::aaaa:6666:6666 router up |
Schützen Sie den Tunnel mit der von Ihnen erstellten IPsec-Richtlinie.
# svcadm refresh svc:/network/ipsec/policy:default |
Um den Inhalt der hostname.ip6.tun0-Datei in den Systemkern zu lesen, starten Sie die Netzwerk-Services neu.
# svcadm restart svc:/network/initial:default |
Aktivieren Sie die IP-Weiterleitung für die Schnittstelle hme1.
Stellen Sie sicher, dass die Routing-Protokolle die Standardroute nicht innerhalb des Intranets bekannt geben.
Fügen Sie manuell eine Standardroute über hme0 hinzu.
Zum Schluss wechseln Sie zu Schritt 22, um ein Routingprotokoll auszuführen.
Konfigurieren Sie den sicheren Tunnel ip6.tun0.
Durch die folgenden Schritte wird ein Tunnel auf einem System konfiguriert, auf dem eine ältere Version als Solaris 10 4/09 ausgeführt wird.
Auf dem System enigma geben Sie die folgenden Befehle ein:
# ifconfig ip6.tun0 inet6 plumb # ifconfig ip6.tun0 inet6 6000:6666::aaaa:1116 6000:3333::eeee:1113 \ tsrc 2001::aaaa:6666:6666 tdst 2001::eeee:3333:3333 |
Auf dem System partym geben Sie die folgenden Befehle ein:
# ifconfig ip6.tun0 inet6 plumb # ifconfig ip6.tun0 inet6 6000:3333::eeee:1113 6000:6666::aaaa:1116 \ tsrc 2001::eeee:3333:3333 tdst 2001::aaaa:6666:6666 |
Schützen Sie den Tunnel mit der von Ihnen erstellten IPsec-Richtlinie.
# ipsecconf |
Aktivieren Sie den Router für den Tunnel.
# ifconfig ip6.tun0 router up |
Aktivieren Sie die IP-Weiterleitung für die Schnittstelle hme1.
# ifconfig hme1 router |
Stellen Sie sicher, dass die Routing-Protokolle die Standardroute nicht innerhalb des Intranets bekannt geben.
# ifconfig hme0 private |
Fügen Sie auf jedem System manuell eine Standardroute über hme0 hinzu.
Die Standardroute muss ein Router mit direktem Zugriff auf das Internet sein.
Stellen Sie auf jedem System sicher, dass das VPN nach einem erneuten Booten gestartet wird. Dazu fügen Sie einen Eintrag in die /etc/hostname6.ip6.tun0-Datei ein.
Dieser Eintrag repliziert die Parameter, die in Schritt 14 an den Befehl Schritt 14 übergeben wurden.
Fügen Sie auf dem System enigma den folgenden Eintrag in die hostname6.ip6.tun0-Datei ein:
6000:6666::aaaa:1116 6000:3333::eeee:1113 \ tsrc 2001::aaaa:6666:6666 tdst 2001::eeee:3333:3333 router up |
Fügen Sie auf dem System partym den folgenden Eintrag in die hostname6.ip6.tun0-Datei ein:
6000:3333::eeee:1113 6000:6666::aaaa:1116 \ tsrc 2001::eeee:3333:3333 tdst 2001::aaaa:6666:6666 router up |
Konfigurieren Sie die Schnittstellendateien so, dass die korrekten Parameter an den Routing-Daemon übergeben werden.
Ändern Sie auf dem System enigma die /etc/hostname6. Schnittstelle-Dateien.
# cat /etc/hostname6.hme0 ## enigma 6000:6666::aaaa:1116 inet6 private |
# cat /etc/hostname6.hme1 ## enigma 2001::aaaa:6666:6666 inet6 router |
Ändern Sie auf dem System partym die /etc/hostname6. Schnittstelle-Dateien.
# cat /etc/hostname6.hme0 ## partym 6000:3333::eeee:1113 inet6 private |
# cat /etc/hostname6.hme1 ## partym2001::eeee:3333:3333 inet6 router |
Führen Sie ein Routingprotokoll aus.
# routeadm -e ipv6-routing # routeadm -u |
In diesem Beispiel stellt der Administrator eine Verbindung zwischen einem Solaris 10 7/07-System und einem System her, das das Solaris 10-Release ausführt. Aus diesem Grund verwendet der Administrator die Solaris 10-Syntax in der Konfigurationsdatei und nimmt die IPsec-Algorithmen in den Befehl ifconfig auf.
Der Administrator verwendet das Verfahren So schützen Sie ein VPN mit einem IPsec-Tunnel im Transportmodus über IPv6 mit den folgenden Syntaxänderungen.
Für Schritt 4 lautet die Syntax der ipsecinit.conf-Datei folgendermaßen:
# IPv6 Neighbor Discovery messages bypass IPsec. {ulp ipv6-icmp type 133-137 dir both} pass {} # LAN traffic can bypass IPsec. {laddr 6000:3333::eeee:1113 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {} ipsec {encr_algs aes encr_auth_algs sha1} |
Für Schritt 14 bis Schritt 17 lautet die Syntax zum Konfigurieren eines sicheren Tunnels folgendermaßen:
# ifconfig ip6.tun0 inet6 plumb # ifconfig ip6.tun0 inet6 6000:6666::aaaa:1116 6000:3333::eeee:1113 \ tsrc 2001::aaaa:6666:6666 tdst 2001::eeee:3333:3333 \ encr_algs aes encr_auth_algs sha1 # ifconfig ip6.tun0 inet6 router up |
Die an die ifconfig-Befehle übergebene IPsec-Richtlinie muss der IPsec-Richtlinie in der ipsecinit.conf-Datei gleichen. Beim erneuten Booten liest das System die ipsecinit.conf-Datei ein, um die Richtlinie zu beziehen.
Für Schritt 20 lautet die Syntax der hostname6.ip6.tun0-Datei folgendermaßen:
6000:6666::aaaa:1116 6000:3333::eeee:1113 \ tsrc 2001::aaaa:6666:6666 tdst 2001::eeee:3333:3333 \ encr_algs aes encr_auth_algs sha1 router up |
Um IP-Spoofing auszuschließen, muss das System daran gehindert werden, Pakete ohne Entschlüsselung an eine andere Schnittstelle weiterzuleiten. Eine Methode ist das Festlegen der strengen IP-Ziel-Multihoming-Parameter mithilfe des Befehls ndd. Wird dieser Parameter in einem SMF-Manifest festgelegt, wird er beim erneuten Booten des Systems eingestellt.
Führen Sie die Schritte dieses Verfahrens auf beiden Systemen aus.
Nehmen Sie über die Systemkonsole die Rolle eines Primäradministrators an, oder melden Sie sich als Superuser an.
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.
Erstellen Sie das standortspezifische SMF-Manifest zur Verhinderung von IP-Spoofing.
Verwenden Sie das Beispielskript /var/svc/manifest/site/spoof_check.xml.
<?xml version="1.0"?> <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <service_bundle type='manifest' name='Custom:ip_spoof_checking'> <!-- This is a custom smf(5) manifest for this system. Place this file in /var/svc/manifest/site, the directory for local system customizations. The exec method uses an unstable interface to provide a degree of protection against IP spoofing attacks when this system is acting as a router. IP spoof protection can also be achieved by using ipfilter(5). If ipfilter is configured, this service can be disabled. Note: Unstable interfaces might be removed in later releases. See attributes(5). --> <service name='site/ip_spoofcheck' type='service' version='1'> <create_default_instance enabled='false' /> <single_instance /> <!-- Don't enable spoof protection until the network is up. --> <dependency name='basic_network' grouping='require_all' restart_on='none' type='service'> <service_fmri value='svc:/milestone/network' /> </dependency> <exec_method type='method' name='start' exec='/usr/sbin/ndd -set /dev/ip ip_strict_dst_multihoming 1' <!-- For an IPv6 network, use the IPv6 version of this command, as in: exec='/usr/sbin/ndd -set /dev/ip ip6_strict_dst_multihoming 1 --> timeout_seconds='60' /> <exec_method type='method' name='stop' exec=':true' timeout_seconds='3' /> <property_group name='startd' type='framework'> <propval name='duration' type='astring' value='transient' /> </property_group> <stability value='Unstable' /> </service> </service_bundle>
Importieren Sie dieses Manifest in das SMF-Repository.
# svccfg import /var/svc/manifest/site/spoof_check.xml |
Aktivieren Sie den ip_spoofcheck-Service.
Verwenden Sie den Namen, der im Manifest /site/ip_spoofcheck definiert wird.
# svcadm enable /site/ip_spoofcheck |
Stellen Sie sicher, dass der ip_spoofcheck-Service online ist.
# svcs /site/ip_spoofcheck |