Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Linuxtopia - Red Hat Enterprise Linux Sicherheitshandbuch - Konfiguration von IPsec Host-zu-Host

6.4. Konfiguration von IPsec Host-zu-Host

Sie k�nnen IPsec so konfigurieren, dass ein Desktop oder eine Workstation mit einem(r) anderen �ber eine Host-zu-Host-Verbindung verbunden werden kann. Diese Art der Verbindung verwendet das Netzwerk, mit dem jeder Host verbunden ist, um einen sicheren Tunnel zueinander zu schaffen. Die Erfordernisse f�r eine Host-zu-Host-Verbindung sind minimal, wie auch die Konfiguration von IPsec bei jedem Host. Die Hosts brauchen lediglich eine bestimmte Verbindung zu einem Tr�ger-Netzwerk (wie das Internet) und Red Hat Enterprise Linux um die IPsec-Verbindung herzustellen.

Der erste Schritt bei der Erstellung einer Verbindung ist das Einholen von System- und Netzwerkinformationen von jeder Workstation. F�r eine Host- zu Host-Verbindung brauchen Sie die folgende Information:

  • Die IP-Adressen f�r beide Hosts

  • Einen einmaligen Namen, um die IPsec-Verbindung zu identifizieren und sie von anderen Ger�ten oder Verbindungen zu unterscheiden (z.B. ipsec0).

  • Einen fixen Schl�ssel zur Verschl�sselung oder einen, der automatisch von racoon geschaffen wurde.

  • Ein bereits vorher gemeinsam verwendeter Schl�ssel zu Authentifikation, der verwendet wird, um die Verbindung zu initialisieren und den Austausch von Schl�sseln zur Verschl�sselung m�glich zu machen.

Stellen Sie sich z.B. vor, Workstation A und Workstation B wollen sich durch einen IPsec-Tunnel miteinander verbinden. Sie wollen sich unter Verwendung eines vorher gemeinsam verwendeten Schl�ssels mit dem Wert von foobarbaz. Die Benutzer kommen �berein, racoon automatisch einen Schl�ssel zur Authentifikation generieren zu lassen, der von beiden Hosts gemeinsam verwendet wird. Beide Hosts entscheiden sich daf�r, ihre Verbindungen ipsec0 zu nennen.

Im folgenden sehen Sie die Datei ifcfg f�r Workstation A f�r eine Host-zu-Host-IPsec-Verbindung mit Workstation B. Der einmalige Name zur Identifizierung der Verbindung in diesem Beispiel ist ipsec0, der daraus resultierende Dateiname ist daher /etc/sysconfig/network-scripts/ifcfg-ipsec0:

DST=X.X.X.X
TYPE=IPSEC
ONBOOT=yes
IKE_METHOD=PSK

Workstation A w�rde X.X.X.X mit der IP Adresse von Workstation B ersetzen, w�hrend Workstation B X.X.X.X mit der IP Adresse von Workstation A ersetzen w�rde. Die Verbindung ist so eingestellt, dass sie beim Hochfahren startet (ONBOOT=yes) und verwendet die Authentifizierungs-Methode der vorher gemeinsam verwendeten Schl�ssel (IKE_METHOD=PSK).

Im folgenden finden Sie die Datei mit den vorher gemeinsam ben�tzten Schl�sseln (/etc/sysconfig/network-scripts/keys-ipsec0 genannt), die beide Workstations verwenden, um sich gegenseitig zu authentifizieren. Der Inhalt dieser Datei sollte auf beiden Workstations identisch sein und nur der root-Benutzer sollte die Datei lesen oder �berschreiben k�nnen.

IKE_PSK=foobarbaz

WichtigWichtig
 

Um die keys-ipsec0 Datei zu ver�ndern, damit sie lediglich vom root-Benutzer gelesen oder bearbeitet werden kann, f�hren Sie nach der Erstellung der Datei den folgenden Befehl aus:

chmod 600 /etc/sysconfig/network-scripts/keys-ipsec0

Sie k�nnen den Authentifikations-Schl�ssel jederzeit �ndern. Bearbeiten Sie die keys-ipsec0 Datei auf beiden Workstations. F�r eine ordentliche Verbindung m�ssen beide Schl�ssel identisch sein .

Im folgenden Beispiel sehen Sie die Konfigurationsdatei f�r die Verbindung zum Remote-Netzwerk. Die Datei tr�gt den Namen X.X.X.X.conf (ersetzen Sie X.X.X.X mit der IP Adresse des Remote-IPsec-Routers). Beachten Sie, dass diese Datei automatisch erzeugt wird, wenn der IPsec-Tunnel aktiviert wird und sollte nicht direkt bearbeitet werden.

;
remote X.X.X.X
{
        exchange_mode aggressive, main;
        my_identifier address;
        proposal {
                encryption_algorithm 3des;
                hash_algorithm sha1;
                authentication_method pre_shared_key;
                dh_group 2 ;
        }
}

Die Standardkonfigurationsdatei der Phase 1, die erzeugt wird, wenn eine IPsec-Verbindung initialisiert wird, beinhaltet folgenden Statements, die von der Red Hat Enterprise Linux-Implementierung von IPsec verwendet werden:

remote X.X.X.X

Legt fest, dass die nachfolgenden Stanzen dieser Konfigurationsdatei nur auf den entfernten Knoten zutreffen, der durch die IP-Adresse X.X.X.X identifiziert wird.

exchange_mode aggressive

Die Standardkonfiguration f�r IPsec auf Red Hat Enterprise Linux benutzt einen sog. aggressiven Authentifizierungsmodus, welcher den Overhead bei der Verbindung senkt, w�hrend gleichzeitig die Konfiguration von mehreren IPsec-Verbindungen mit mehrfachen Host erm�glicht wird.

my_identifier address

Legt die Identifikationsmethode fest, die bei der Authentifizierung von Knoten benutzt wird. Red Hat Enterprise Linux benutzt IP-Adressen, um Knoten zu identifizieren.

encryption_algorithm 3des

Legt den Verschl�sselungscode fest, der w�hrend der Authentifizierung benutzt wird. Standardm��ig wird Triple Data Encryption Standard (3DES) benutzt.

hash_algorithm sha1;

Legt den Hash-Algorithmus fest, der w�hrend der sogenannten Negotiation der Phase 1 zwischen den Knoten eingesetzt wird. Secure-Hash-Algorithmus Version 1 ist Standard.

authentication_method pre_shared_key

Legt die Authentifizierungsmethode fest, die w�hrend der Knoten-Negotiation benutzt wird. Red Hat Enterprise Linux benutzt standardm��ig 'vorinstallierte' Schl�ssel (pre-shared Keys) zur Authentifizierung.

dh_group 2

Legt die Diffie-Hellman Gruppennummer zur Erstellung dynamisch generierter tempor�rer Schl�ssel (Session Keys). Standardm��ig wird die 1024-Bit Gruppe benutzt.

Die /etc/racoon/racoon.conf Datei sollte auf allen IPsec-Knoten identisch sein, bis auf das include "/etc/racoon/X.X.X.X.conf"-Statement. Dieses Statement (und die Datei, auf die es sich bezieht) wird erstellt, wenn der IPsec-Tunnel aktiviert ist. F�r Workstation A ist X.X.X.X im include-Statement die IP Adresse von Workstation B. Das Gegenteil gilt f�r Workstation B. Im Folgenden sehen Sie eine typische racoon.conf-Datei, wenn die IPsec Verbindung aktiviert ist.

# Racoon IKE daemon configuration file.
# See 'man racoon.conf' for a description of the format and entries.

path include "/etc/racoon";
path pre_shared_key "/etc/racoon/psk.txt";
path certificate "/etc/racoon/certs";

sainfo anonymous
{
	pfs_group 2;
	lifetime time 1 hour ;
	encryption_algorithm 3des, blowfish 448, rijndael ;
	authentication_algorithm hmac_sha1, hmac_md5 ;
	compression_algorithm deflate ;
}
include "/etc/racoon/X.X.X.X.conf"

Diese standardm��ige racoon.conf-Datei beinhaltet festgelegte Pfade f�r die IPsec-Konfiguration, Dateien 'vorinstallierter' Schl�ssel und Zertifikate. Die Felder in sainfo anonymous beschreiben die Phase 2 SA (Security Association) zwischen den IPsec-Knoten — die Natur der IPsec-Verbindung (inklusive den unterst�tzten Verschl�sselungs-Algorithmen, die Verwendung finden) und die Methode des Austauschens der Schl�ssel. Die folgende Liste bestimmt die Felder der Phase 2:

sainfo anonymous

Bedeutet, dass SA mit jedem Peer anonym initialisieren kann, insofern die IPsec-Attribute (Credentials) �bereinstimmen.

pfs_group 2

Legt das Diffie-Hellmann Schl�sselaustauschprotokoll fest, welches die Methode bestimmt, in der die IPsec-Knoten einen beiderseitigen, tempor�ren Sitzungsschl�ssel f�r die Verbindungsf�higkeit von IPsec in der 2. Phase einrichten. Standardm��ig benutzt die Red Hat Enterprise Linux-Implementierung von IPsec Gruppe 2 (oder modp1024) der Diffie-Hellmann kryptographischen Schl�sselaustausch-Gruppen. Gruppe 2 benutzt eine 1024-Bit modulare Exponentiation, welche Eindringlinge davon abhalten soll, bisherige IPsec-�bertragungen zu entschl�sseln, auch wenn ein privater Schl�ssel dadurch gef�hrdet wird.

lifetime time 1 hour

Dieser Parameter legt den Lebenszuklus einer AS fest und kann entweder durch Zeit oder durch Datenmengen (Bytes) quantitativ bestimmt werden. Die Red Hat Enterprise Linux-Implementierung von IPsec legt eine einst�ndige Lebensdauer fest.

encryption_algorithm 3des, blowfish 448, rijndael

Legt den unterst�tzten Verschl�sselungscode f�r Phase 2 fest. Red Hat Enterprise Linux unterst�tzt 3DES, 448-Bit Blowfish und Rijndael (verwendet im Advanced Encryption Standard oder AES).

authentication_algorithm hmac_sha1, hmac_md5

Listet die unterst�tzten Hash-Algorithmen f�r Authentifizierung. Unterst�tzte Modi sind sha1 und md5 Hashed Message Authentication Codes (HMAC).

compression_algorithm deflate

Legt den Deflate-Compression-Algorithmus f�r IP-Payload Compression (IPCOMP) Unterst�tzung fest, was m�glicherweise eine schnellere �bertragung von IP-Datagrammen �ber langsame Verbindungen erm�glicht.

Um die Verbindung zu starten, starten Sie entweder die Workstation neu oder f�hren Sie den folgenden Befehl als root auf jedem Host aus:

/sbin/ifup ipsec0

Um die IPsec-Verbindung zu testen, f�hren Sie dietcpdump Utility aus. Sie k�nnen so die Netzwerk-Pakete sehen, die zwischen den Hosts (oder den Netzwerken) �bermittelt werden, und au�erdem nachpr�fen, dass sie �ber IPsec verschl�sselt weren. Jedes Paket sollte eine AH-Kopfzeile einhalten und als ESP-Paket angezeigt werden. EHP bedeutet, dass es verschl�sselt ist. Zum Beispiel:

17:13:20.617872 pinky.example.com > ijin.example.com: \
	    AH(spi=0x0aaa749f,seq=0x335): ESP(spi=0x0ec0441e,seq=0x335) (DF)

 
 
  Published under the terms of the GNU General Public License Design by Interspire