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