5.12.2001

IPSec

Mit IPSec sichert man den Netzwerkverkehr zwischen Computern bzw. Netzen ab. Es findet eine Verschlüsselung und / oder Authentifizierung statt. Die Treiber dafür arbeiten, wie schon der Name verrät, auf der IP-Ebene, der Vermittlungsschicht. Die Verwendung erfolgt über Richtlinien, die lokal oder über Active Directory zugewiesen wurden. Da als mögliche Ursachen in einem Netzwerk u.a. Sniffer, Adress-Spoofer (seltener Name-Spoofer; Vortäuschen einer Identität), Datenmodifikationen, DOS-Attacken (Denial of Service, fluten eines Rechners mit Paketen) oder Attacken auf Anwendungsebene (Buffer-Overflows) auftreten können, hat die IETF (Internet Engeneer Task Force) IPSec als RFC-Standard entwickelt. Nicht bei allen Risiken kann IPSec helfen, aber man kann zum Beispiel den Zugriff von gewissen Rechnern auf den Eigenen eingrenzen. Somit sind auch DOS-Attacken bedingt wirkungslos.

Nehmen wir ein Beispiel: Wir kopieren eine Textdatei mit dem Inhalt "hallo" über das Netz auf einen anderen Rechner. Der Text wird im Klartext übertragen. Bei IPSec erfolgt die Übertragung für den Benutzer völlig transparent, aber beide Rechner müssen eine Zuweisung auf eine IPSec-Richtlinie besitzen. Diese sollten natürlich kompatibel zueinander sein.

Ohne IPSec Mit IPSec
hallo.txt   hallo.txt
TCP TCP
IP IP

=>

Inhalt im Klartext =>
hallo.txt   hallo.txt
TCP TCP
IPSec <=Sicherheitsvereinbarung=> IPSec
IP   IP

=>

verschlüsselte Übertragung

=>

Der Traffic steigert sich so im Durchschnitt um mehr als 100%.

Beim normalen Transfer wird eine Sitzung aufgebaut. Das Paket, das den ersten Teil des Textes enthält, heisst SMB. Passt der Text nicht in das Paket komplett rein, werden die restlichen Anteile in NBT-Paketen verschickt (NetBIOS over TCP/IP). In unserem Fall arbeiten wir mit NetBIOS, deswegen diese Pakete.

IPSec ist in den computerbezogenen Sicherheitseinstellungen der Gruppenrichtlinien wie lokale Richtlinien oder Sicherheitsrichtlinien für Domänen definiert. Die Zuweisung ist auch über die Netzwerkumgebung in den jew. IP-Einstellungen möglich.

 Wir basteln uns eine eigene MMC und fügen die IP-Sicherheitsrichtlinienverwaltung für den lokalen Computer zurecht.

Die Standardrichtlinien sind folgende: Der Client initiiert eine ungesicherte Kommunikation, kann aber gesichert kommunizieren, der Server initiiert eine gesicherte Kommunikation, kann aber auch ungesichert und der sichere Server kann nur gesicherte Kommunikation.

Wir erstellen eine neue Richtlinie und werden von dem Assistenten nach dem Namen der Verbindung gefragt. Die Standardantwortregel wird später noch erklärt. Als Authentifizierungsmethoden gibt es das Kerberos (W2k-Standard), ein Zertifikat von einer CA und eine wählbare Zeichenkette als Schlüssel. Kerberos ist standardmässig aktiviert und ist das normale Domänenauthentifizierungsprotokoll. Es können alle W2k-Rechner in dieser Domäne oder in vertrauenden Kerberos-Bereichen (W2k-Domänen oder Rechner in der Gesamtstruktur) mit dem Protokoll kommunizieren. Kerberos ist ein RFC-Standard.

Bei den Zertifikaten ist das Vertrauen ebenfalls wichtig. Somit können alle Rechner, die ein IPSec-Zertifikat der an dieser Stelle eingetragenen CA besitzen. Beim gemeinsamen Kennwort können alle Rechner kommunizieren, die das gleiche Kennwort besitzen.

Wir schauen uns die Eigenschaften der Richtlinie an und sehen Regeln:

Diese legen anhand von Filterlisten fest, welche Aktionen durchgeführt werden sollen. Beim Erstellen neuer Regeln hilft uns auch hier ein Assistent weiter, den wir aber nicht benutzen wollen. Hier erscheint eine Filterliste, die festlegt, wann diese Regel zutrifft, und eine Filteraktion, die festlegt, welche Sicherheit erforderlich ist. Weitere Einstellungen sind die Authentifizierung (s.o.) wobei sich aber hier eine Reihenfolge festlegen lässt, der Verbindungstyp (RAS oder LAN) und die Tunneleinstellung. Mit Letzterer wird direkt die Ziel-IP angegeben (Tunnelmodus) oder der Transportmodus ohne Endpunkt gewählt. Im Transportmodus ist im Gegensatz zum Tunnelmodus der gesamte Verkehr verschlüsselt. Mit der Filterliste werden Merkmale wie Quell- und Zieladresse und die Richtungen konfiguriert. Protokolltypen wie TCP mit den jew. Ports sind ebenfalls einstellbar und ergänzen die Filterliste. Filteraktionen definieren die Filter, ob sie Aktionen erlauben oder sperren sollen. Zusätzlich kann man dort die Sicherheit aushandeln.

  Unter Hinzufügen werden die Sicherheitsmethoden aufgelistet: Bei ESP (Encapsulated Security Payload) werden die Daten verschlüsselt und authentifiziert. Dies ist die höchste Stufe. Bei AH (Authentifikation Header) werden die Daten authentifiziert, sind aber nicht vor Änderungen geschützt. Diese sind nicht verschlüsselt. Benutzerdefiniert stellt folgendes dar:

Integritätsalgorithmen und Authentizitätsalgorithmen sind Hash-Algorithmen. Das heisst, sie werden auf beiden Seiten mit denselben Parametern gepackt und miteinander verglichen. Dort kommen MD5 (Message Digit ver.5 / 128Bit) und SHA1 (Secure Hash Algorithmus / 160Bit) zum Einsatz. SHA1 ist in Amerika mindestens erforderlich für elektronische Kaufverträge. Zur Datenverschlüsselung kommen DES (56Bit) und 3DES (3x56Bit) zum Einsatz. Die Franzosen besassen lange Zeit noch DES-40 (40Bit). Der Sitzungsschlüssel ist ebenfalls konfigurierbar. Dieser gilt, wie hier zu sehen, nur für eine gewisse Zeit oder eine bestimmte Anzahl von KBytes.

Bei den Eigenschaften für den Client finden wir nur eine einzige Regel, die Standardantwortregel.

Beim Server sehen die Eigenschaften etwas anders aus. Dort stehen zusätzlich noch zwei Filtern für den gesamten IP-Verkehr und für den ICMP-Verkehr zur Verfügung. Das ist zum Beispiel dafür, damit pings durchgelassen werden, denn sie würden durch die Sicherheit normalerweise gesperrt werden. Die ICMP-Regel ist spezieller, deswegen schliesst sie die ICMP-Pakete und damit pings ein.

Wenn man einen Server auf sicher einrichtet und die Anderen nicht, funktioniert nur noch ein Ping auf die IP-Adresse.

Troubleshooting:

Wenn ein Ping nicht funktioniert, könnte das ein Netzproblem sein. Dann gibts zusätzlich das Tool ipsecmon. Dieses zeigt die Sicherheitsvereinbarungen und den IPSec-Verkehr an. Ebenfalls hilft die Ereignisanzeige weiter (System- oder Sicherheitsanzeige). Verwendet man Gruppenrichtlinien, muss man auf die Vererbung achten. Ist eine Richtlinie wirklich zugewiesen und laufen sie konform miteinander (Authentifizierungsmechanismus / Verschlüsselungsmechanismus)? Standardrichtlinien können wiederhergestellt werden. Es ist ein Im- und Export und eine Integritätsprüfung möglich.

Performance kontra Sicherheit:

IPSec verursacht sowohl mehr Prozessorlast, als auch mehr Netzverkehr und grössere Pakete. Die Last ist mehr als 200%-fache der normalen Last. Man sollte, wenn man IPSec nicht im kompletten LAN benötigt, den Tunnelmodus einsetzen. Die Sicherheit in Bezug auf den Schlüsseltausch sollte man ebenfalls nicht ausser Acht lassen. Der Sitzungsschlüssel wird neu nach definierbarer Zeit und Datenmenge generiert. Man kann aber auch für jede Sitzung einen neuen Hauptschlüssel generieren. Dafür nimmt man den Eintrag PFS (Perfect Forward Secrecy). Der Austausch erfolgt über IKE (Internet Key Exchange) oder wahlweise über ISAKMP / Oakley (Internet Security Association and Key Management Protocol).