Systemverwaltungshandbuch: IP Services

Kapitel 20 Konfiguration von IPsec (Aufgaben)

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).

Schützen des Datenverkehrs mit IPsec (Übersicht der Schritte)

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. 

So zeigen Sie die IPsec-Richtlinien an

Erzeugen von Zufallszahlen. 

Erzeugen Sie Zufallszahlen für das Schlüsselmaterial von manuell erstellten Sicherheitszuordnungen. 

So erzeugen Sie Zufallszahlen auf einem Solaris-System

How to Generate a Symmetric Key by Using the pktool Command in System Administration Guide: Security Services

Erstellen oder manuelles Ersetzen von Sicherheitszuordnungen. 

Stellen Sie die Raw-Daten für Sicherheitszuordnungen bereit: 

  • Name des IPsec-Algorithmus und Schlüsselmaterial

  • Schlüssel für den Security Parameter Index

  • IP-Quell- und Zieladressen

So erstellen Sie manuell IPsec-Sicherheitszuordnungen

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.

So prüfen Sie, ob Pakete mit IPsec geschützt sind

(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. 

How to Configure a Role for Network Security

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. 

Verwalten von IKE- und IPsec-Services

Einrichten eines sicheren virtuellen privaten Netzwerks (VPN). 

Richten Sie IPsec zwischen zwei Systemen ein, die durch das Internet voneinander getrennt sind. 

Schützen eines VPN mit IPsec (Übersicht der Schritte)

Schützen von Datenverkehr mit IPsec

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:

ProcedureSo sichern Sie Datenverkehr zwischen zwei Systemen mit IPsec

Dieses Verfahren nimmt das folgende Setup an:

Bevor Sie beginnen

Sie müssen sich in der globalen Zone befinden, um die IPsec-Richtlinie für das System oder für eine gemeinsame IP-Zone zu konfigurieren. Für eine exklusive IP-Zone konfigurieren Sie die IPsec-Richtlinie in der nicht-globalen Zone.

  1. 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.


    Hinweis –

    Eine Remoteanmeldung führt zu sicherheitskritischem Datenverkehr, der abgehört werden könnte. Auch wenn Sie eine remote Anmeldung schützen, wird die Sicherheit des Systems auf die Sicherheit der remoten Anmeldesitzung reduziert. Verwenden Sie den Befehl ssh für eine sichere remote Anmeldung. Ein Beispiel finden Sie unter Beispiel 20–1.


  2. 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.

    1. 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
    2. 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.

  3. 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.

  4. Fügen Sie einen IPsec-Richtlinieneintrag in die Datei ipsecinit.conf ein.

    1. 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}
    2. 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).

  5. 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.


    Hinweis –

    Sie sollten IKE verwenden, es sei denn, Sie haben einen triftigen Grund, Ihre Schlüssel manuell zu erzeugen und zu verwalten. Das IKE-Schlüsselmanagement ist sicherer als das manuelle Schlüsselmanagement.


  6. 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.

  7. Ü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.

  8. 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
    
  9. Aktivieren Sie die Schlüssel für IPsec.

    • Wenn Sie IKE in Schritt 5 konfiguriert haben, führen Sie eine der folgenden Aktionen durch:

      • Wenn der ike-Service nicht aktiviert ist, aktivieren Sie ihn.


        # svcadm enable svc:/network/ipsec/ike:default
        
      • Wenn der ike-Service aktiviert ist, starten Sie ihn neu.


        # svcadm restart svc:/network/ipsec/ike:default
        
    • Wenn Sie in Schritt 5 Schlüssel manuell konfiguriert haben, führen Sie eine der folgenden Aktionen durch:

      • Wenn der manual-key-Service nicht aktiviert ist, aktivieren Sie ihn.


        # svcadm enable svc:/network/ipsec/manual-key:default
        
      • Wenn der manual-key-Service aktiviert ist, aktualisieren Sie ihn.


        # svcadm refresh svc:/network/ipsec/manual-key:default
        
  10. 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.


Beispiel 20–1 Hinzufügen der IPsec-Richtlinie für eine ssh-Verbindung

In diesem Beispiel konfiguriert der Administrator als Superuser die IPsec-Richtlinie und die Schlüssel auf zwei Systemen mithilfe des Befehls ssh, um das zweite System zu erreichen. Weitere Informationen finden Sie in der Manpage ssh(1).

Bei der nächsten Kommunikation der beiden Systeme, einschließlich einer ssh-Verbindung, wird die Kommunikation durch IPsec geschützt.



Beispiel 20–2 Schutz des Datenverkehrs mit IPsec ohne erneutes Booten

Das folgende Beispiel ist nützlich, wenn Sie mit einer älteren Version als Solaris 10 4/09 arbeiten. Zumindest, wenn in Ihrer Version IPsec nicht als Service verwaltet wird. Im Beispiel wird beschrieben, wie Sie IPsec in einer Testumgebung implementieren. In einer Produktionsumgebung ist erneutes Booten des Systems sicherer als das Ausführen des Befehls ipsecconf. Informationen zu den Sicherheitsbetrachtungen finden Sie am Ende dieses Beispiels.

Anstatt in Schritt 6 neu zu booten, wählen Sie eine der folgenden Optionen:

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.


ProcedureHow to Use IPsec to Protect a Web Server From Nonweb Traffic

Ein sicherer Webserver gestattet es Webclients, Daten untereinander über den Webservice auszutauschen. Auf einem sicheren Webserver muss Datenverkehr, bei dem es sich nicht um Webverkehr handelt, Sicherheitsprüfungen durchlaufen. Das folgende Verfahren beinhaltet Umgehungen für Webverkehr. Darüber hinaus kann dieser Webserver nicht sichere DNS-Client-Anforderungen stellen. Der gesamte verbleibende Verkehr erfordert ESP mit AES- und SHA-1-Algorithmen.

Bevor Sie beginnen

Zur Konfiguration der IPsec-Richtlinie müssen Sie sich in der globalen Zone befinden. Für eine exklusive IP-Zone konfigurieren Sie die IPsec-Richtlinie in der nicht-globalen Zone. Sie haben den Abschnitt So sichern Sie Datenverkehr zwischen zwei Systemen mit IPsec abgeschlossen, d. h. folgende Bedingungen sind wirksam:

  1. 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.


    Hinweis –

    Eine remote Anmeldung führt zu sicherheitskritischem Datenverkehr, der abgehört werden könnte. Auch wenn Sie eine remote Anmeldung schützen, wird die Sicherheit des Systems auf die Sicherheit der remoten Anmeldesitzung reduziert. Verwenden Sie den Befehl ssh für eine sichere remote Anmeldung.


  2. 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.

  3. Erstellen Sie die IPsec-Richtlinie für den Webserver, und aktivieren Sie sie.

    Schritt 12 ist in allen Solaris-Versionen optional.

  4. 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.

  5. Überprüfen Sie die Syntax der IPsec-Richtliniendatei.


    # ipsecconf -c -f /etc/inet/ipsecinit.conf
    
  6. Aktualisieren Sie die IPsec-Richtlinie.


    # svcadm refresh svc:/network/ipsec/policy:default
    
  7. Aktualisieren Sie die Schlüssel für IPsec.

    Ihre Einrichtung ist abgeschlossen. Sie können Schritt 12 optional durchführen.

  8. Erstellen Sie eine Datei im Verzeichnis /etc/inet für die Webserver-Richtlinie.


    Hinweis –

    Durch die folgenden Schritte wird ein Webserver konfiguriert, auf der eine ältere Version als Solaris 10 4/09 ausgeführt wird.


    Benennen Sie die Datei mit einem aussagekräftigen Namen, z. B. IPsecWebInitFile. Geben Sie die folgenden Zeilen in diese Datei ein:


    # Web traffic that web server should bypass.
    {lport  80 ulp tcp dir both} bypass {}
    {lport 443 ulp tcp dir both} bypass {}
    
    # Outbound DNS lookups should also be bypassed.
    {rport 53 dir both} bypass {}
    
    # Require all other traffic to use ESP with AES and SHA-1.
    # Use a unique SA for outbound traffic from the port
    {} ipsec {encr_algs aes encr_auth_algs sha1 sa shared}

    Diese Konfiguration gestattet nur sicherem Verkehr den Zugriff auf das System. Dabei gelten die in Schritt 4 beschriebenen Ausnahmen für die Umgehung.

  9. Kopieren Sie den Inhalt der von Ihnen in Schritt 8 erstellten Datei in die /etc/inet/ipsecinit.conf-Datei.

  10. Schützen Sie die Datei IPsecWebInitFile, indem Sie Nur-Lese-Berechtigungen zuweisen.


    # chmod 400 IPsecWebInitFile
    
  11. 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 
      

    Achtung – Achtung –

    Lesen Sie die Warnmeldung, wenn Sie den Befehl ipsecconf ausführen. Ein bereits gesperrtes Socket, das heißt, ein Socket das bereits verwendet wird, stellt eine ungesicherte Hintertür zum System dar. Ausführlichere Informationen finden Sie unter Sicherheitsbetrachtungen für ipsecinit.conf und ipsecconf. Die gleiche Warnmeldung gilt für den Neustart des in.iked-Daemon.


    Sie können auch erneut booten. Durch erneutes Booten wird sichergestellt, dass die IPsec-Richtlinie für alle TCP-Verbindungen übernommen wird. Bei erneutem Booten verwenden die TCP-Verbindungen die Richtlinie in der IPsec-Richtliniendatei.

  12. (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.

ProcedureSo zeigen Sie die IPsec-Richtlinien an

Geben Sie den Befehl ipsecconf ohne weitere Argumente ein, um die auf dem System konfigurierten Richtlinien anzuzeigen.

Bevor Sie beginnen

Sie müssen den Befehl ipsecconf in der globalen Zone ausführen. Führen Sie für eine exklusive IP-Zone den Befehl ipsecconf in der nicht-globalen Zone aus.

  1. 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.

  2. Anzeigen der IPsec-Richtlinien.

    1. 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.

    2. Zeigen Sie die Einträge der IPsec-Richtlinie in der Reihenfolge an, in der eine Übereinstimmung auftritt.


      $ ipsecconf -l
      
    3. 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
      

ProcedureSo erzeugen Sie Zufallszahlen auf einem Solaris-System

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

  1. Erzeugen Sie hexadezimale Zufallszahlen.


    % od -x|-X -A n file | head -n
    
    -x

    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.

    -X

    Zeigt das oktale Abbild im hexadezimalen Format an. Der hexadezimale Wert wird in 8-Zeichen-Chunks gedruckt.

    -A n

    Löscht die Eingabe-Offsetbasis vom Bildschirm.

    Datei

    Dient als Quelle für die Zufallszahlen.

    head -n

    Beschränkt die Anzeige auf die ersten n Zeilen der Ausgabe.

  2. 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.


Beispiel 20–3 Erzeugen des Schlüsselmaterials für IPsec

Im folgenden Beispiel werden zwei Zeilen mit Schlüsseln in Gruppen von jeweils acht hexadezimalen Zeichen angezeigt.


% od -X -A n /dev/random | head -2
         d54d1536 4a3e0352 0faf93bd 24fd6cad
         8ecc2670 f3447465 20db0b0c c83f5a4b

Durch Verbinden der vier Zeichengruppen in der ersten Zeile können Sie einen 32-Zeichen-Schlüssel erstellen. Eine 8-Zeichen-Zahl, die mit dem Präfix 0x beginnt, ergibt einen geeigneten SPI-Wert, z. B. 0xf3447465.

Im folgenden Beispiel werden zwei Zeilen mit Schlüsseln in Gruppen von jeweils vier hexadezimalen Zeichen angezeigt.


% od -x -A n /dev/random | head -2
         34ce 56b2 8b1b 3677 9231 42e9 80b0 c673
         2f74 2817 8026 df68 12f4 905a db3d ef27

Durch Verbinden der acht Zeichengruppen in der ersten Zeile können Sie einen 32-Zeichen-Schlüssel erstellen.


ProcedureSo erstellen Sie manuell IPsec-Sicherheitszuordnungen

Im folgenden Verfahren wird das Schlüsselmaterial für das Verfahren So sichern Sie Datenverkehr zwischen zwei Systemen mit IPsec erstellt. Sie generieren Schlüssel für die beiden Systeme partym und enigma. Sie generieren die Schlüssel auf einem System und verwenden dann die Schlüssel des ersten Systems auf beiden Systemen.

Bevor Sie beginnen

Sie müssen sich in der globalen Zone befinden, um das Schlüsselmaterial für eine Zone mit gemeinsamer IP manuell verwalten zu können.

  1. 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.

  2. 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.


    Hinweis –

    Eine remote Anmeldung führt zu sicherheitskritischem Datenverkehr, der abgehört werden könnte. Auch wenn Sie eine remote Anmeldung schützen, wird die Sicherheit des Systems auf die Sicherheit der remoten Anmeldesitzung reduziert. Verwenden Sie den Befehl ssh für eine sichere remote Anmeldung.


  3. Erstellen Sie die SAs

  4. Aktivieren Sie den ipseckey-Befehlsmodus.


    # ipseckey
    
    >

    Die Eingabeaufforderung > kennzeichnet, dass sich das System im ipseckey-Befehlsmodus befindet.

  5. 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.


    Hinweis –

    Sie müssen den Schlüsselaustausch jedoch bei kommunizierenden Systemen koordinieren. Wenn Sie die SAs auf einem System ersetzen, müssen sie auch auf dem remoten System ersetzt werden.


  6. 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.

    Protokoll

    Geben Sie entweder esp oder ah an.

    zufällige-hexadezimale-Zeichenfolge

    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.

    adr

    Gibt die IP-Adresse eines Systems an.

    adr2

    Gibt die IP-Adresse des Peer-Systems von adr an.

    Protokollpräfix

    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.

    Protokollalgorithmus

    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.

    zufällige-hexadezimale-Zeichenfolge-in-der-vom-Algorithmus-vorbestimmten-Länge

    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.

    1. 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
      >

      Hinweis –

      Das Peer-System muss das gleiche Schlüsselmaterial und den gleichen SPI verwenden.


    2. 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
      >

      Hinweis –

      Die Schlüssel und der SPI können für jede SA unterschiedlich sein. Sie sollten für jede SA andere Schlüssel und einen anderen SPI zuweisen.


  7. Um den ipseckey-Befehlsmodus zu beenden, drücken Sie Strg-D oder geben quit ein.

  8. 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.

    1. 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
    2. Schützen Sie die Datei, indem Sie Nur-Lese-Berechtigungen zuweisen.


      # chmod 400 /etc/inet/secret/ipseckeys
      
  9. 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
  10. 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.


Beispiel 20–4 Ersetzen von IPsec-SAs

In diesem Beispiel konfiguriert der Administrator ein System, auf dem die aktuelle VersionSolaris 10 ausgeführt wird. Der Administrator generiert neue Schlüssel, ändert die Schlüsselinformationen in der Datei ipseckeys und startet den Service dann neu.


ProcedureSo prüfen Sie, ob Pakete mit IPsec geschützt sind

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:

Bevor Sie beginnen

Zum Erstellen einer Ausgabe des Befehls snoop müssen Sie als Superuser angemeldet sein oder eine entsprechende Rolle angenommen haben. Sie müssen Zugriff auf beide Systeme haben, um die Verbindung zu testen.

  1. Melden Sie sich auf einem System, z. B. partym, als Superuser an.


    % su -
    Password: Type root password
    # 
  2. 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)
  3. 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
    
  4. 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 -----
    ...

ProcedureHow to Configure a Role for Network Security

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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 .


Beispiel 20–5 Aufteilen von Netzwerk-Sicherheitsverantwortlichkeiten zwischen Rollen

In diesem Beispiel teilt der Administrator Netzwerk-Sicherheitsverantwortlichkeiten zwischen zwei Rollen auf. Eine Rolle verwaltet die Wifi- und Linksicherheit, während die andere Rolle IPsec und IKE verwaltet. Jede Rolle ist drei Personen zugewiesen, d. h. einer Person pro Schicht.

Die Rollen werden vom Administrator wie folgt erstellt:


ProcedureVerwalten von IKE- und IPsec-Services

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.

  1. 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
      
  2. 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
      
  3. 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
      
  4. Wenn Sie die IPsec-Protokolle und die Algorithmustabelle ändern, aktualisieren Sie den ipsecalgs-Service.


    # svcadm refresh svc:/network/ipsec/ipsecalgs
    
Allgemeine Fehler

Verwenden Sie den Befehl svcs Service, um den Status eines Service zu ermitteln. Wenn sich der Service im maintenance-Modus befindet, folgen Sie den Debugging-Vorschlägen in der Ausgabe des Befehls svcs -x Service.

Schützen eines VPN mit IPsec

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 für den Schutz eines VPN mit IPsec mithilfe von Tunneln im Tunnelmodus

Abbildung 20–1 IPsec-Tunnel-Diagramm

Das Diagramm zeigt ein VPN, das zwei LANs miteinander verbindet. Jedes LAN verfügt über vier Teilnetze.

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

Beispiel 20–6 Erstellen eines Tunnels, den alle Teilnetze verwenden können

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}


Beispiel 20–7 Erstellen eines Tunnels, der nur zwei Teilnetze miteinander verbindet

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}


Beispiel 20–8 Erstellen eines Tunnels für E-Mail-Verkehr nur zwischen zwei Teilnetzen

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}


Beispiel 20–9 Erstellen eines Tunnels für den FTP-Verkehr aller Teilnetze

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}

Schützen eines VPN mit IPsec (Übersicht der Schritte)

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. 

Beispiel 20–11

Beispiel 20–16

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. 

So verhindern Sie IP-Spoofing

Beschreibung der Netzwerktopologie für IPsec-Aufgaben zum Schützen eines VPN

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.

Abbildung 20–2 Beispiel-VPN zwischen Büros, die durch das Internet voneinander getrennt sind

Das Diagramm zeigt Details eines VPN zwischen den Büros Europe und California.

Wie die oben stehende Abbildung zeigt, verwenden die Verfahren für das IPv4-Netzwerk die folgenden Konfigurationsparameter.

Parameter 

Europe 

California 

Systemname 


enigma

partym

System-Intranet-Schnittstelle 


hme1

hme1

Die System-Intranet-Adresse und die -point-Adresse in Schritt 7


10.16.16.6

10.1.3.3

System-Internet-Schnittstelle 


hme0

hme0

Die System-Internet-Adresse und die tsrc-Adresse in Schritt 7


192.168.116.16

192.168.13.213

Name des Internet-Routers 


router-E

router-C

Adresse des Internet-Routers 


192.168.116.4

192.168.13.5

Tunnelname 


ip.tun0

ip.tun0

In den Verfahren werden die folgenden IPv6-Adressen verwendet. Die Tunnelnamen sind dieselben.

Parameter 

Europe 

California 

System-Intranet-Adresse 


6000:6666::aaaa:1116

6000:3333::eeee:1113

System-Internet-Adresse 


2001::aaaa:6666:6666

2001::eeee:3333:3333

Adresse des Internet-Routers 


2001::aaaa:0:4

2001::eeee:0:1

ProcedureSo schützen Sie ein VPN mit einem IPsec-Tunnel im Tunnelmodus über IPv4

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.


Hinweis –

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.

Bevor Sie beginnen

Sie müssen sich in der globalen Zone befinden, um die IPsec-Richtlinie für das System oder für eine gemeinsame IP-Zone zu konfigurieren. Für eine exklusive IP-Zone konfigurieren Sie die IPsec-Richtlinie in der nicht-globalen Zone.

  1. 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.


    Hinweis –

    Eine remote Anmeldung führt zu sicherheitskritischem Datenverkehr, der abgehört werden könnte. Auch wenn Sie eine remote Anmeldung schützen, wird die Sicherheit des Systems auf die Sicherheit der remoten Anmeldesitzung reduziert. Verwenden Sie den Befehl ssh für eine sichere Remoteanmeldung.


  2. Kontrollieren Sie den Paketfluss vor der Konfiguration von IPsec.

    1. 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).

    2. 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.


      Achtung – Achtung –

      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.


    3. Deaktivieren Sie die meisten Netzwerkservices – wenn möglich, alle Netzwerkservices.


      Hinweis –

      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
        
    4. 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
  3. Fügen Sie zwischen den beiden Systemen zwei SAs hinzu.

    Wählen Sie eine der folgenden Optionen:

  4. 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.

    1. 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}
    2. 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}
  5. (Optional) Überprüfen Sie die Syntax der IPsec-Richtliniendatei.


    # ipsecconf -c -f /etc/inet/ipsecinit.conf
    
  6. Um den Tunnel zu konfigurieren und ihn mit IPsec zu schützen, folgen Sie den Schritten für die jeweilige Solaris-Version:

  7. 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
    1. 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
    2. 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
  8. Schützen Sie den Tunnel mit der von Ihnen erstellten IPsec-Richtlinie.


    # svcadm refresh svc:/network/ipsec/policy:default
    
  9. Um den Inhalt der Tunnelkonfigurationsdatei in den Systemkern einzulesen, starten Sie die Netzwerk-Services neu.


    # svcadm restart svc:/network/initial:default
    
  10. Aktivieren Sie die IP-Weiterleitung für die hme1-Schnittstelle.

    1. Fügen Sie auf dem System enigma den Routereintrag in die /etc/hostname.hme1-Datei ein.


      192.168.116.16 router
    2. 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.

  11. Stellen Sie sicher, dass die Routing-Protokolle die Standardroute nicht innerhalb des Intranets bekannt geben.

    1. Fügen Sie auf dem System enigma die private-Flag in die /etc/hostname.hme0-Datei ein.


      10.16.16.6 private
    2. 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.

  12. Fügen Sie manuell eine Standardroute über die hme0-Schnittstelle hinzu.

    Die Standardroute muss ein Router mit direktem Zugriff auf das Internet sein.

    1. Auf dem System enigma können Sie die folgende Route hinzufügen:


      # route add default 192.168.116.4
      
    2. 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).

  13. Zum Schluss wechseln Sie zu Schritt 22, um ein Routingprotokoll auszuführen.

  14. Konfigurieren Sie den Tunnel ip.tun0.


    Hinweis –

    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
    
    1. 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
      
    2. 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
      
  15. Schützen Sie den Tunnel mit der von Ihnen erstellten IPsec-Richtlinie.


    # ipsecconf
    
  16. Aktivieren Sie den Router für den Tunnel.


    # ifconfig ip.tun0 router up
    
  17. 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.

  18. 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.

  19. Fügen Sie manuell eine Standardroute über hme0 hinzu.

    Die Standardroute muss ein Router mit direktem Zugriff auf das Internet sein.

    1. Auf dem System enigma können Sie die folgende Route hinzufügen:


      # route add default 192.168.116.4
      
    2. 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).

  20. 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
    1. 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
    2. 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
  21. Konfigurieren Sie die Schnittstellendateien so, dass die korrekten Parameter an den Routing-Daemon übergeben werden.

    1. Ä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
    2. Ä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
  22. 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.


Beispiel 20–10 Erstellen temporärer Tunnels beim Testen

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.



Beispiel 20–11 Erstellen eines Tunnels für eine frühere Version eines Solaris-Systems mithilfe der Befehlszeile

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.



Beispiel 20–12 Erfordern einer IPsec-Richtlinie auf allen Systemen in einem LAN

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}


Beispiel 20–13 Verwenden von IPsec, um Telnet-Verkehr anders als SMTP-Verkehr zu schützen

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}


Beispiel 20–14 Verwenden eines IPsec-Tunnels im Tunnelmode, um den Teilnetz-Verkehr anders als den restlichen Netzwerkverkehr zu schützen

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}

ProcedureSo schützen Sie ein VPN mit einem IPsec-Tunnel im Tunnelmodus über IPv6

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.


Hinweis –

Führen Sie die Schritte dieses Verfahrens auf beiden Systemen aus.


In diesem Verfahren werden die folgenden Konfigurationsparameter verwendet.

Parameter 

Europe 

California 

Systemname 


enigma

partym

System-Intranet-Schnittstelle 


hme1

hme1

System-Internet-Schnittstelle 


hme0

hme0

System-Intranet-Adresse 


6000:6666::aaaa:1116

6000:3333::eeee:1113

System-Internet-Adresse 


2001::aaaa:6666:6666

2001::eeee:3333:3333

Name des Internet-Routers 


router-E

router-C

Adresse des Internet-Routers 


2001::aaaa:0:4

2001::eeee:0:1

Tunnelname 


ip6.tun0

ip6.tun0

  1. 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.


    Hinweis –

    Eine remote Anmeldung führt zu sicherheitskritischem Datenverkehr, der abgehört werden könnte. Auch wenn Sie eine remote Anmeldung schützen, wird die Sicherheit des Systems auf die Sicherheit der remoten Anmeldesitzung reduziert. Verwenden Sie den Befehl ssh für eine sichere Remoteanmeldung.


  2. 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.

    1. 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
      
    2. Aktivieren Sie das IP Strict Destination Multihoming.


      # ndd -set /dev/ip ip6_strict_dst_multihoming 1
      

      Achtung – Achtung –

      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.


    3. Deaktivieren Sie die meisten Netzwerkservices – wenn möglich, alle Netzwerkservices.


      Hinweis –

      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 
    4. 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
  3. Fügen Sie zwischen den beiden Systemen zwei SAs hinzu.

    Wählen Sie eine der folgenden Optionen:

  4. 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.

    1. 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}
    2. 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}
  5. (Optional) Überprüfen Sie die Syntax der IPsec-Richtliniendatei.


    # ipsecconf -c -f /etc/inet/ipsecinit.conf
    
  6. Um den Tunnel zu konfigurieren und ihn mit IPsec zu schützen, folgen Sie den Schritten für die jeweilige Solaris-Version:

  7. Konfigurieren Sie den Tunnel ip6.tun0 in der /etc/hostname.ip6.tun0-Datei.

    1. 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
    2. 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
  8. Schützen Sie den Tunnel mit der von Ihnen erstellten IPsec-Richtlinie.


    # svcadm refresh svc:/network/ipsec/policy:default
    
  9. Um den Inhalt der Tunnelkonfigurationsdatei in den Systemkern einzulesen, starten Sie die Netzwerk-Services neu.


    # svcadm restart svc:/network/initial:default
    
  10. Aktivieren Sie die IP-Weiterleitung für die Schnittstelle hme1.

    1. Fügen Sie auf dem System enigma den Routereintrag in die /etc/hostname6.hme1-Datei ein.


      2001::aaaa:6666:6666 inet6 router
    2. Fügen Sie auf dem System partym den Routereintrag in die /etc/hostname6.hme1-Datei ein.


      2001::eeee:3333:3333 inet6 router
  11. Stellen Sie sicher, dass die Routing-Protokolle die Standardroute nicht innerhalb des Intranets bekannt geben.

    1. Fügen Sie auf dem System enigma die private-Flag in die /etc/hostname6.hme0-Datei ein.


      6000:6666::aaaa:1116 inet6 private
    2. Fügen Sie auf dem System partym die private-Flag in die /etc/hostname6.hme0-Datei ein.


      6000:3333::eeee:1113 inet6 private
  12. Fügen Sie manuell eine Standardroute über hme0 hinzu.

    1. Auf dem System enigma können Sie die folgende Route hinzufügen:


      # route add -inet6 default 2001::aaaa:0:4
      
    2. Auf dem System partym fügen Sie die folgende Route hinzu:


      # route add -inet6 default 2001::eeee:0:1
      
  13. Zum Schluss wechseln Sie zu Schritt 22, um ein Routingprotokoll auszuführen.

  14. Konfigurieren Sie den sicheren Tunnel ip6.tun0.


    Hinweis –

    Durch die folgenden Schritte wird ein Tunnel auf einem System konfiguriert, auf dem eine ältere Version als Solaris 10 4/09 ausgeführt wird.


    1. 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
      
    2. 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
      
  15. Schützen Sie den Tunnel mit der von Ihnen erstellten IPsec-Richtlinie.


    # ipsecconf
    
  16. Aktivieren Sie den Router für den Tunnel.


    # ifconfig ip6.tun0 router up
    
  17. Aktivieren Sie auf jedem System die IP-Weiterleitung für die Schnittstelle hme1.


    # ifconfig hme1 router
    
  18. Stellen Sie sicher, dass die Routing-Protokolle die Standardroute nicht innerhalb des Intranets bekannt geben.


    # ifconfig hme0 private
    
  19. Fügen Sie manuell eine Standardroute über hme0 hinzu.

    Die Standardroute muss ein Router mit direktem Zugriff auf das Internet sein.

    1. Auf dem System enigma können Sie die folgende Route hinzufügen:


      # route add -inet6 default 2001::aaaa:0:4
      
    2. Auf dem System partym fügen Sie die folgende Route hinzu:


      # route add -inet6 default 2001::eeee:0:1
      
  20. 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.

    1. 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
    2. 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
  21. Konfigurieren Sie die Schnittstellendateien auf jedem System so, dass die korrekten Parameter an den Routing-Daemon übergeben werden.

    1. Ä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
    2. Ä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
  22. 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.

ProcedureSo schützen Sie ein VPN mit einem IPsec-Tunnel im Transportmodus über IPv4

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.


Hinweis –

Führen Sie die Schritte dieses Verfahrens auf beiden Systemen aus.


  1. 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.


    Hinweis –

    Eine remote Anmeldung führt zu sicherheitskritischem Datenverkehr, der abgehört werden könnte. Auch wenn Sie eine remote Anmeldung schützen, wird die Sicherheit des Systems auf die Sicherheit der remoten Anmeldesitzung reduziert. Verwenden Sie den Befehl ssh für eine sichere Remoteanmeldung.


  2. Kontrollieren Sie den Paketfluss vor der Konfiguration von IPsec.

    1. 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
      
    2. Aktivieren Sie das IP Strict Destination Multihoming.


      # ndd -set /dev/ip ip_strict_dst_multihoming 1
      

      Achtung – Achtung –

      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.


    3. Deaktivieren Sie die meisten Netzwerkservices – wenn möglich, alle Netzwerkservices.


      Hinweis –

      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 
    4. 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
  3. Fügen Sie zwischen den beiden Systemen zwei SAs hinzu.

    Wählen Sie eine der folgenden Optionen:

  4. 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.

    1. 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}
    2. 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}
  5. (Optional) Überprüfen Sie die Syntax der IPsec-Richtliniendatei.


    # ipsecconf -c -f /etc/inet/ipsecinit.conf
    
  6. Um den Tunnel zu konfigurieren und ihn mit IPsec zu schützen, folgen Sie den Schritten für die jeweilige Solaris-Version:

  7. Konfigurieren Sie den Tunnel ip.tun0 in der /etc/hostname.ip.tun0-Datei.

    1. 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
    2. 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
  8. Schützen Sie den Tunnel mit der von Ihnen erstellten IPsec-Richtlinie.


    # svcadm refresh svc:/network/ipsec/policy:default
    
  9. 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
    
  10. Aktivieren Sie die IP-Weiterleitung für die hme1-Schnittstelle.

    1. Fügen Sie auf dem System enigma den Routereintrag in /etc/hostname ein.hme1-Datei.


      192.168.116.16 router
    2. Fügen Sie auf dem System partym den Routereintrag in /etc/hostname ein.hme1-Datei.


      192.168.13.213 router
  11. Stellen Sie sicher, dass die Routing-Protokolle die Standardroute nicht innerhalb des Intranets bekannt geben.

    1. Fügen Sie auf dem System enigma das private-Flag in /etc/hostname ein.hme0-Datei.


      10.16.16.6 private
    2. Fügen Sie auf dem System partym das private-Flag in /etc/hostname ein.hme0-Datei.


      10.1.3.3 private
  12. Fügen Sie manuell eine Standardroute über hme0 hinzu.

    1. Auf dem System enigma können Sie die folgende Route hinzufügen:


      # route add default 192.168.116.4
      
    2. Auf dem System partym fügen Sie die folgende Route hinzu:


      # route add default 192.168.13.5
      
  13. Zum Schluss wechseln Sie zu Schritt 22, um ein Routingprotokoll auszuführen.

  14. Konfigurieren Sie den Tunnel ip.tun0.


    Hinweis –

    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
    
    1. 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
      
    2. 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
      
  15. Schützen Sie den Tunnel mit der von Ihnen erstellten IPsec-Richtlinie.


    # ipsecconf
    
  16. Aktivieren Sie den Router für den Tunnel.


    # ifconfig ip.tun0 router up
    
  17. Aktivieren Sie die IP-Weiterleitung für die Schnittstelle hme1.


    # ifconfig hme1 router
    
  18. Stellen Sie sicher, dass die Routing-Protokolle die Standardroute nicht innerhalb des Intranets bekannt geben.


    # ifconfig hme0 private
    
  19. 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
    
    1. Auf dem System enigma können Sie die folgende Route hinzufügen:


      # route add default 192.168.116.4
      
    2. Auf dem System partym fügen Sie die folgende Route hinzu:


      # route add default 192.168.13.5
      
  20. 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
    1. 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
    2. 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
  21. Konfigurieren Sie die Schnittstellendateien so, dass die korrekten Parameter an den Routing-Daemon übergeben werden.

    1. Ä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
    2. Ä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
  22. Führen Sie ein Routingprotokoll aus.


    # routeadm -e ipv4-routing
    # routeadm -u
    

Beispiel 20–15 Erfordern einer IPsec-Richtlinie auf allen Systemen im Transportmodus

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}


Beispiel 20–16 Verwenden einer eingestellten Syntax zur Konfiguration eines IPsec-Tunnels im Transportmodus

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.


ProcedureSo schützen Sie ein VPN mit einem IPsec-Tunnel im Transportmodus über IPv6

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.


Hinweis –

Führen Sie die Schritte dieses Verfahrens auf beiden Systemen aus.


In diesem Verfahren werden die folgenden Konfigurationsparameter verwendet.

Parameter 

Europe 

California 

Systemname 


enigma

partym

System-Intranet-Schnittstelle 


hme1

hme1

System-Internet-Schnittstelle 


hme0

hme0

System-Intranet-Adresse 


6000:6666::aaaa:1116

6000:3333::eeee:1113

System-Internet-Adresse 


2001::aaaa:6666:6666

2001::eeee:3333:3333

Name des Internet-Routers 


router-E

router-C

Adresse des Internet-Routers 


2001::aaaa:0:4

2001::eeee:0:1

Tunnelname 


ip6.tun0

ip6.tun0

  1. 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.


    Hinweis –

    Eine remote Anmeldung führt zu sicherheitskritischem Datenverkehr, der abgehört werden könnte. Auch wenn Sie eine remote Anmeldung schützen, wird die Sicherheit des Systems auf die Sicherheit der remoten Anmeldesitzung reduziert. Verwenden Sie den Befehl ssh für eine sichere Remoteanmeldung.


  2. Kontrollieren Sie den Paketfluss vor der Konfiguration von IPsec.

    1. 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
      
    2. Aktivieren Sie das IP Strict Destination Multihoming.


      # ndd -set /dev/ip ip6_strict_dst_multihoming 1
      

      Achtung – Achtung –

      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.


    3. 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
  3. Fügen Sie zwischen den beiden Systemen zwei SAs hinzu.

    Wählen Sie eine der folgenden Optionen:

  4. Fügen Sie eine IPsec-Richtlinie hinzu.

    Geben Sie die IPsec-Richtlinie für das VPN in die Datei /etc/inet/ipsecinit.conf ein.

    1. 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}
    2. 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}
  5. (Optional) Überprüfen Sie die Syntax der IPsec-Richtliniendatei.


    # ipsecconf -c -f /etc/inet/ipsecinit.conf
    
  6. Um den Tunnel zu konfigurieren und ihn mit IPsec zu schützen, folgen Sie den Schritten für die jeweilige Solaris-Version:

  7. Konfigurieren Sie den Tunnel ip6.tun0 in der /etc/hostname.ip6.tun0-Datei.

    1. 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
    2. 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
  8. Schützen Sie den Tunnel mit der von Ihnen erstellten IPsec-Richtlinie.


    # svcadm refresh svc:/network/ipsec/policy:default
    
  9. 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
    
  10. Aktivieren Sie die IP-Weiterleitung für die Schnittstelle hme1.

    1. Fügen Sie auf dem System enigma den Routereintrag in die /etc/hostname6.hme1-Datei ein.


      2001::aaaa:6666:6666 inet6 router
    2. Fügen Sie auf dem System partym den Routereintrag in die /etc/hostname6.hme1-Datei ein.


      2001::eeee:3333:3333 inet6 router
  11. Stellen Sie sicher, dass die Routing-Protokolle die Standardroute nicht innerhalb des Intranets bekannt geben.

    1. Fügen Sie auf dem System enigma die private-Flag in die /etc/hostname6.hme0-Datei ein.


      6000:6666::aaaa:1116 inet6 private
    2. Fügen Sie auf dem System partym die private-Flag in die /etc/hostname6.hme0-Datei ein.


      6000:3333::eeee:1113 inet6 private
  12. Fügen Sie manuell eine Standardroute über hme0 hinzu.

    1. Auf dem System enigma können Sie die folgende Route hinzufügen:


      # route add -inet6 default 2001::aaaa:0:4
      
    2. Auf dem System partym fügen Sie die folgende Route hinzu:


      # route add -inet6 default 2001::eeee:0:1
      
  13. Zum Schluss wechseln Sie zu Schritt 22, um ein Routingprotokoll auszuführen.

  14. Konfigurieren Sie den sicheren Tunnel ip6.tun0.


    Hinweis –

    Durch die folgenden Schritte wird ein Tunnel auf einem System konfiguriert, auf dem eine ältere Version als Solaris 10 4/09 ausgeführt wird.


    1. 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
      
    2. 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
      
  15. Schützen Sie den Tunnel mit der von Ihnen erstellten IPsec-Richtlinie.


    # ipsecconf
    
  16. Aktivieren Sie den Router für den Tunnel.


    # ifconfig ip6.tun0 router up
    
  17. Aktivieren Sie die IP-Weiterleitung für die Schnittstelle hme1.


    # ifconfig hme1 router
    
  18. Stellen Sie sicher, dass die Routing-Protokolle die Standardroute nicht innerhalb des Intranets bekannt geben.


    # ifconfig hme0 private
    
  19. Fügen Sie auf jedem System manuell eine Standardroute über hme0 hinzu.

    Die Standardroute muss ein Router mit direktem Zugriff auf das Internet sein.

    1. Auf dem System enigma können Sie die folgende Route hinzufügen:


      # route add -inet6 default 2001::aaaa:0:4
      
    2. Auf dem System partym fügen Sie die folgende Route hinzu:


      # route add -inet6 default 2001::eeee:0:1
      
  20. 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.

    1. 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
    2. 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
  21. Konfigurieren Sie die Schnittstellendateien so, dass die korrekten Parameter an den Routing-Daemon übergeben werden.

    1. Ä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
    2. Ä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
  22. Führen Sie ein Routingprotokoll aus.


    # routeadm -e ipv6-routing
    # routeadm -u
    

Beispiel 20–17 Verwenden einer eingestellten Syntax zur Konfiguration von IPsec im Transportmodus über IPv6

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.


ProcedureSo verhindern Sie IP-Spoofing

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.


Hinweis –

Führen Sie die Schritte dieses Verfahrens auf beiden Systemen aus.


  1. 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.

  2. 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>
  3. Importieren Sie dieses Manifest in das SMF-Repository.


    # svccfg import /var/svc/manifest/site/spoof_check.xml
    
  4. Aktivieren Sie den ip_spoofcheck-Service.

    Verwenden Sie den Namen, der im Manifest /site/ip_spoofcheck definiert wird.


    # svcadm enable /site/ip_spoofcheck
    
  5. Stellen Sie sicher, dass der ip_spoofcheck-Service online ist.


    # svcs /site/ip_spoofcheck