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 IPSecWenn 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:
IPSec-Modi und -MethodenSo 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:
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:
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. IKEDas 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 NATEins 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:
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: SzenarienEs 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
|