Systemverwaltungshandbuch: IP Services

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.