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

  




 

 

NOTE: CentOS Enterprise Linux is built from the Red Hat Enterprise Linux source code. Other than logo and name changes CentOS Enterprise Linux is compatible with the equivalent Red Hat version. This document applies equally to both Red Hat and CentOS Enterprise Linux.
Linuxtopia - CentOS 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