Schützen von Netzwerken mit IPSec

IPSec Teil 1

Veröffentlicht:

Steve Riley, Senior Program Manager, Security Business and Technology

IPSec (Internet Protocol security) ist mit Sicherheit eine der besten im Moment verfügbaren Sicherheitstechnologien. Sie wird jedoch kaum eingesetzt, und nur wenige Personen verfügen über tiefer gehende Kenntnisse im Bezug auf IPSec. Dies liegt nicht zuletzt daran, dass IPSec schwer zu verstehen und zu konfigurieren sein kann. Diesen Monat möchte ich Sie daher in die IPSec-Technologie einführen; im nächsten Monat werden wir dann einige Szenarien besprechen, mit deren Hilfe Sie Ihre aktuellen Sicherheitsprobleme lösen können.

*

Der Betrieb von IPSec

Wenn zwei Computer (Peers) IPSec zur Kommunikation nutzen, erstellen sie zwei Arten von Sicherheitszuordnungen. Zuerst führen die Peers eine gegenseitige Authentifizierung durch (diese Phase wird Main-Mode oder auch Phase Eins genannt). So wird eine gegenseitige Vertrauensstellung zwischen den beiden Computern eingerichtet. Als zweites handeln die beiden Peers die Einzelheiten der Sicherheitszuordnung aus (diese Phase wird Quick-Mode oder auch Phase Zwei genannt). Hierbei wird festgelegt, wie der Netzwerkverkehr zwischen den Peers signiert und verschlüsselt wird. Die Signierung von Paketen stellt sicher, dass die Daten während der Übertragung über das Netzwerk nicht verändert wurden. Die Verschlüsselung stellt sicher, dass die Daten während der Übertragung nicht gelesen werden können.

Ein Computer kann immer nur eine IPSec-Richtlinie gleichzeitig nutzen. Diese Richtlinien kann eine beliebige Anzahl von Regeln haben. Jede Regel hat eine Filterliste und eine Filteraktion. Die Filterliste enthält einen oder mehrere Filter. Jeder Filter beschreibt den Netzwerkverkehr, der von ihm verarbeitet wird. Hierzu werden Angaben wie die Quell- und Zieladresse, Quell- und Ziel-Portnummer und die Protokolltypen verwendet. Filteraktionen definieren das Verhalten der jeweiligen Regel - also ob Netzwerkverkehr erlaubt ist, ob Netzwerkverkehr blockiert wird, oder die Aushandlung der IPSec-Sicherheitszuordnungen. Aktionen, die die Sicherheitsaushandlung definieren, können viele Optionen haben (zum Beispiel die verwendeten Verschlüsselungsverfahren, Authentifizierungsmethoden, wie oft neue Schlüssel generiert werden, wie auf unsichere Anfragen reagiert werden soll und ob mit Computern kommuniziert werden soll, die IPSec nicht unterstützen).

Jede Regel der IPSec-Richtlinie kombiniert eine Filterliste mit einer Filteraktion. Der Netzwerkverkehr, der einer bestimmten Filterliste entspricht, wird nach den Einstellungen der entsprechenden Filteraktionen verarbeitet. Regeln legen außerdem den Modus für die Sicherheitsaushandlungen (Transport oder Tunnel - diese beiden Begriffe besprechen wir weiter unten) und eins von drei möglichen Authentifizierungsmethoden für Phase Eins fest:

Vorinstallierte Schlüssel: Diese Option steht nur aus Gründen der RFC-Kompatiblität zur Verfügung. Sie ist recht nützlich, wenn Sie Ihre IPSec-Richtlinien testen. Jeder Peer benötigt bei dieser Methode den gleichen Schlüssel. Im produktiven Betrieb sollten Sie diese Methode nicht einsetzen - solche Schlüssel bleiben nie lange geheim. Außerdem ist der Schlüssel im Klartext in der Registrierung gespeichert. Jeder Benutzer mit administrativen Rechten kann ihn also ziemlich einfach auslesen.

Digitale Zertifikate: Die Peers verwenden jeweils ein IPSec- oder Computerzertifikat, dessen Zertifizierungsstelle der andere Peer vertraut. Beachten Sie, dass sich das Vertrauen hierbei auf den Aussteller des Zertifikats und nicht auf den Peer selbst bezieht. Der tatsächliche Name im Zertifikat ist in diesem Fall uninteressant. Da jeder Peer sein eigenes Zertifikat nutzen kann, sind digitale Zertifikate gegenüber vorinstallierten Schlüsseln eindeutig zu bevorzugen. Mit einer mehrstufigen Zertifizierungshierarchie können Sie zudem recht detaillierte IPSec-Richtlinien erstellen. Der hochsichere Computer A könnte zum Beispiel nur Zertifikate der hochsicheren Zertifizierungsstelle X akzeptieren. Computer B mit normaler Sicherheit könnte Zertifikate der hochsicheren Zertifizierungsstelle X und der nicht so sicheren Zertifizierungsstelle Y akzeptieren.

Kerberos V5: Wenn sich beide Peers in der gleichen Active Directory-Gesamtstruktur befinden, können Peers unter Windows Server 2003 alternativ Kerberos zur Authentifizierung nutzen. Kerberos ist zum Beispiel dann eine gute Alternative, wenn Ihnen keine PKI (Public Key Infrastructure - Infrastruktur öffentlicher Schlüssel) zur Verfügung steht, und Sie keine IPSec-Sicherheitsaushandlungen mit Computern in anderen Gesamtstrukturen durchführen müssen.

IPSec-Modi und -Methoden

So etwas wie einen "IPSec-Tunnel" gibt es nicht. Der Begriff wird zwar sehr oft verwendet, und jeder denkt er weiß was damit gemeint ist, er ist jedoch absolut bedeutungslos - es fehlt ihm ganz einfach an Aussagekraft. Es gibt zwei Modi für die Sicherheitsaushandlung in Phase Eins:

Transportmodus: Diese Modus ist der gebräuchlichere - er ist das, was die Leute normalerweise meinen, wenn sie von einem "IPSec-Tunnel" sprechen. Im Transportmodus authentifizieren sich zwei Peers gegenseitig (Phase Eins) und richten dann die zur Signierung und Verschlüsselung erforderlichen Parameter ein (Phase Zwei). Der gesamte Netzwerkverkehr zwischen den beiden Peers, der den in der Filterliste definierten Vorgaben entspricht, wird signiert und/oder verschlüsselt - und zwar auf Basis der entsprechenden Filteraktion. Der Transportmodus stellt sicher, dass die Kommunikation zwischen den beiden Computer nicht verändert oder abgehört wird;er erstellt keine neuen Pakete. Stattdessen sichert er die vorhandenen Pakete ab. In L2TP-VPN mit IPSec wird der Transportmodus und nicht der Tunnelmodus zur Absicherung des Netzwerkverkehrs zwischen Client und VPN-Server verwendet.

Tunnel-Modus: Der Tunnelmodus ist für die Absicherung der Kommunikation zwischen zwei unterschiedlichen Standorten über ein nicht vertrauenswürdiges Netzwerk gedacht. Jeder Standort hat hierbei sein eigenes IPSec-Gateway. Dieses Gateway ist so konfiguriert, dass es den Netzwerkverkehr zum anderen Standort routet. Wenn ein Computer an einem Standort mit einem Computer am anderen Standort kommunizieren muss, wird der entsprechende Netzwerkverkehr über die IPSec-Gateways weitergeleitet (möglicherweise passiert der Netzwerkverkehr noch andere lokale Router, bevor er das Gateway erreicht). Am Gateway wird der ausgehende Netzwerkverkehr entsprechend der Filteraktion gesichert und in neue Pakete gekapselt. Die Gateways haben zu diesem Zeitpunkt bereit ihre Phase-Eins-Authentifzierung und die Sicherheitszuordnung der Phase Zwei (Signierung und/oder Verschlüsselung) abschlossen. Unter Windows Server 2003 wird der Tunnelmodus nur für standortübergreifende VPNs auf RRAS-Gateways (Routing and Remote Access Service) unterstützt - nicht für die Kommunikation zwischen zwei Clients oder zwischen Client und Server.

Eine Filteraktion kann eine von drei unterschiedlichen Aktionen definieren: Netzwerkverkehr zulassen, Netzwerkverkehr blockieren, oder eine Sicherheitsaushandlung. Die ersten beiden Aktionen haben nicht wirklich etwas mit der Einrichtung der Sicherheit zu tun. Wenn der Netzwerkverkehr einem Filter entspricht, dessen Filteraktion Zulassen lautet, dann wird der Netzwerkverkehr weitergeleitet. Wenn die Filteraktion Blockieren lautet, wird der Netzwerkverkehr blockiert. Filteraktionen zur Sicherheitsaushandlung sind etwas komplizierter. Sie können eine von zwei unterschiedlichen Sicherheitsmethoden definieren:

AH (Authentication Header): AH-Sicherheitszuordnungen sind dann nützlich, wenn nur eine Datenintegrität aber keine Vertraulichkeit erforderlich ist. AH führt eine SHA1- oder MD5-Signierung des gesamten Paketes durch (inklusive des IP-Headers mit der Quell- und Zieladresse). Diese Signatur wird dem Paket dann hinzugefügt. Der Empfänger erstellt auf die gleiche Art eine Signatur. Denn vergleicht er die Signatur mit der im Header. Wenn beide Signaturen übereinstimmen, ist das Paket unverändert.

ESP (Encapsulated Security Payload): ESP wird verwendet, wenn die Daten vertraulich bleiben sollen. ESP handelt einen DES- oder 3DES-Sitzungsschlüssel aus (Triple-DES bzw. dreifach-DES). Dieser wird zwischen den Peers ausgetauscht und zur Verschlüsselung des Netzwerkverkehrs verwendet. Bei ESP können Sie außerdem eine zusätzliche SHA1- oder MD5-Signierung definieren. Beachten Sie aber, dass die Verschlüsselung und Signierung bei ESP nur den Datenteil und den TCP/UDP-Header der Pakete umfasst - nicht den IP-Header (im Vergleich zu AH, bei dem das gesamte Paket signiert wird).

Es gibt keine Abhängigkeiten zwischen den beiden Modi und den drei Methoden. Sowohl Transportmodus als auch Tunnel-Modus können AH, ESP oder AH und ESP zusammen nutzen.

IKE

Das IKE-Protokoll (Internet Key Exchange) wird während der IPSec-Sicherheitszuordnung zur Aushandlung der verwendeten Verschlüsselungsprotokolle und zum Austausch von Signierungs- oder Verschlüsselungsschlüsseln verwendet. IKE definiert, wie die Peers Richtlinieninformationen kommunizieren und wie Authentifizierungsnachrichten aufgebaut sind und ausgetauscht werden. Es setzt sich aus drei anderen Protokollen zusammen (ISAKMP, Oakley und SKEME) und ist für die Anforderungen von IPSec geradezu ideal. IKE ist ziemlich kompliziert - um es wirklich zu verstehen, sollten Sie über mehrere Abschlüsse in fortgeschrittener Mathematik verfügen und viel Zeit mit entsprechender Literatur verbracht haben.

IPSec über NAT

Eins der größten Probleme beim Einsatz von IPSec sind NATs (Network Address Translator). IPSec authentifiziert Computer, und NATs verbergen sie - die beiden Technologien stehen also in direktem Widerspruch zueinander. Da in den meisten IPv4-Netzwerken jedoch NATs genutzt werden, gibt es einen großen Bedarf im Bezug auf den Betrieb von IPSec über NATs hinweg. Dies ist jedoch schwieriger umzusetzen, als Sie vielleicht denken. Es gibt drei Probleme:

Verlust der AH-Integrität: AH berechnet die Signatur eines Pakets und sendet dieses dann an den Peer. Wenn das Paket den NAT passiert (egal, ob es sich um einen lokalen NAT oder einen Remote-NAT handelt), dann ändert dieser den IP-Header. Der empfangende Peer errechnet dann aufgrund der geänderten Quelladresse eine andere Signatur. Er geht also davon aus, dass das Paket geändert wurde und verwirft es.

IPSec-Helper: Viele NAT-Gateways in kleinen Unternehmen oder aus dem Home-Bereich stellen ein Feature mit dem Namen "IPSec-Helper" (auch "IPSec-Passthrough" genannt) zur Verfügung. Dieses Feature wurde ursprünglich für den Tunnelmodus entwickelt. Es kann aber auch im Transportmodus aktiv werden. Wenn mehrere Computer hinter einem Gateway IPSec-Sicherheitszuordnungen mit Zielen außerhalb des Gateways erstellen, leitet das Gateway den gesamten eingehenden Netzwerkverkehr an den Computer weiter, der die erste Sicherheitszuordnung erstellt. Das Feature merkt sich einfach, welcher interne Computer eine IPSec-Kommunikation initiiert hat, und leitet dann den gesamten eingehenden Netzwerkverkehr unverändert weiter.

IKE-Fragmentierung: Oft überschreitet der Datenteil eines Zertifikats die Größe eines IP-Frames. Wenn eine Anwendung ein Datenpaket erstellt, das größer als ein IP-Frame ist, wird das Paket von IP fragmentiert - in so kleine einzelne Fragmente, dass diese jeweils in ein IP-Frame passen. Dies ist innerhalb eines lokalen Netzwerks kein Problem. Routing-Geräte (inklusive vieler NATs) verwerfen Fragmente jedoch oftmals aus Sicherheitsgründen. In diesem Fall kann IKE nicht mehr korrekt arbeiten.

Es zeigt sich also, dass ein Mechanismus, um ESP (allerdings nicht AH) in UDP zu kapseln, die Übertragung von IPSec-Netzwerkverkehr über NATs ermöglichen sollte. Jede Seite sendet einige Discovery-Pakete an die andere. Hierbei wird festgestellt, ob es ein lokales NAT gibt und ob beide Seiten NAT-T beherrschen (NAT-Traversal). Wenn eine der beiden Seiten hinter einem NAT ist und beide Seiten NAT-T beherrschen, verschiebt IPSec den IKE-Schlüsselaustausch auf UDP-Port 4500 (um Probleme mit dem IPSec-Helper-Feature zu vermeiden). Dann wird die gesamte IPSec-Sicherheitszuordnung in der gleichen UDP-Kommunikation gekapselt. Für NAT sieht die gesamte Netzwerkkommunikation wie normaler UDP-Netzwerkverkehr aus. Jede Seite übermittelt seine NAT-Informationen (aus dem NAT-T-Einrichtungsprozess) an die andere. So sind beide Seiten in der Lage die IP-Header von eingehenden Paketen wiederherzustellen. UDP-ESP (so die offizielle Bezeichnung) kann mit mehreren IPSec-Sicherheitszuordnungen hinter einem einzelnen NAT umgehen. Wenn mehrere Computer ausgehende Verbindungen mit dem gleichen Protokoll einrichten, dann nutzen NAT-Geräte für jeden Computer eine eindeutige Portnummer - so weiß NAT, wohin eingehender Netzwerkverkehr weitergeleitet werden muss. NAT-T pflegt - entsprechend dem eingehenden und ausgehenden Netzwerkverkehr - auf jedem Client eine Tabelle mit Quellports und Sicherheitszuordnungen.

Zum jetzigen Zeitpunkt ist NAT-T noch immer ein Internet-Draft. Die Autoren nehmen immer noch kleine Änderungen zur Verbesserung der Funktionalität und Interoperabilität vor. Für AH wurde NAT-T gar nicht definiert. Dies liegt daran, dass es keine effektive Möglichkeit gibt, das AH-Problem des Integritätsverlustes zu umgehen. Außerdem hat sich die IETF dazu entschieden, sich um das dritte Problem - die IKE-Fragmentierung - gar nicht zu kümmern. Wenn eine Seite Fragmente blockiert, dann muss der Administrator den NAT ändern. Tut er dies nicht, kann der entsprechende Standort ganz einfach nicht mit NAT-T arbeiten. Die Microsoft-Implementierung von NAT-T umfasst jedoch einen Workaround für dieses Problem. Er kann dann eingesetzt werden, wenn er von beiden Seiten unterstützt wird. Bei diesem Workaround fragmentiert IKE den Schlüssel in kleinere Teile. Erst dann werden die einzelnen Teile über jeweils ein einzelnes IP-Paket gesendet. Der Empfänger erwartet dieses Verhalten und setzt die Einzelteile wieder zum vollständigen Schlüssel zusammen. In der NAT-Erkennungsphase wird in einem solchen Szenario auch die Unterstützung der IKE-Fragmentierung überprüft. Wenn das Verfahren von beiden Seiten unterstützt wird, wird es eingesetzt.

Nächsten Monat: Szenarien

Es gibt zu IPSec noch weit mehr zu sagen - Sie wissen jetzt jedoch erstmal genug, um den potentiellen Einsatz von IPSec in Ihrer eigenen Organisation grundlegend bewerten zu können. Im nächsten Monat werden wir uns drei Szenarien ansehen, die sich für den Einsatz von IPSec perfekt anbieten: Schutz vor Würmern, Schutz von Servern und die Isolierung von Domänen.


**
In diesem Beitrag
**