VPN mit Linux - sicheres Netz mit Free S/WAN

07.10.2004
Virtual Private Networks bieten eine sichere und kostengünstige Zugangsmöglichkeit von außen via Internet ins Firmen-LAN. Unser Workshop zeigt, wie sich ein VPN unter Linux mit Free S/WAN realisieren lässt. Von Jörg Luther

Mitarbeitern den Zugriff von unterwegs oder zu Hause auf das Firmennetz anzubieten war bislang eine teuere Angelegenheit. Der Remote Access per Direkteinwahl setzt zum einen nicht unerhebliche Investitionskosten für Hardware voraus. Zum anderen laufen im Betrieb schnell stattliche Verbindungskosten auf, da die Connections zu Telefontarifen abgerechnet werden müssen. Schon bei einem mittelständischen Betrieb mit mehr als nur einer Handvoll mobiler oder in den heimischen vier Wänden agierenden Mitarbeiter kommen da schnell mehrere zehntausend Euro zusammen.

Als viel versprechende, weil deutlich kostengünstigere Alternative bietet sich der Ersatz der Dial-in-Connections durch eine Anbindung via Internet an. Das Netz der Netze ist nahezu überall zugänglich und lässt sich zu minimalen Kosten nutzen.

Für der Anbindung von Home- oder Remote-Offices eignet sich eine DSL-Flatrate-Verbindung ideal als Standleitungsersatz zur Firma. Als Haar in der Suppe erweist sich bei dieser Idee jedoch die Sicherheit: Via Internet transportierte Daten kann jedermann mitlesen oder - noch schlimmer - unterwegs modifizieren. Die Einrichtung eines virtuellen privaten Netzes (VPN) über das Internet bietet die Lösung des Problems. Die Authentizität und Integrität der transportierten Daten schützt dabei die "Security Architecture for the Internet Protocol" (RFC 2401) besser bekannt unter dem Kürzel IPsec. Eine ebenso preiswerte wie performante Plattform für die Implementation gibt dabei das Duo Linux und Free S/WAN ab.

VPN mit Linux

Zwar eignet sich Linux sowohl als stabile und gut abzusichernde Betriebssystemplattform als auch wegen seiner umfassenden Firewalling-Fähigkeiten ideal als Grundlage für einen IPsec-basierten Security Gateway. Allerdings bringt es von Haus aus noch keine IPsec-Implementation mit.

Die bietet das Paket Linux Free S/WAN, ein Gemeinschaftsprojekt eines guten Dutzends ambitionierter Programmier und Kontributoren. Free S/WAN besteht aus zwei Hauptkomponenten: KLIPS (kernel IPsec) implementiert die notwendigen Protokolle und das zugehörige Handling im Kernel. Der Daemon Pluto kümmert sich um den Verbindungsaufbau und Schlüsselaustausch. Eine ganze Reihe von Scripts schließlich ergänzen den Free-S/WAN-Kern um ein Administrationsinterface.

Der vorliegende ersten Teil unseres Workshops beschreibt, wie IPsec funktioniert und sich mit Hilfe von Free S/WAN unter Linux aufsetzen und für den VPN-Einsatz konfigurieren lässt. Des weiteren zeigen wir, wie sich durch den zusätzlichen Einsatz von X.509-Zertifikaten eine für den Unternehmenseinsatz taugliche Infrastruktur zur Authentifizierung implementieren lässt. Ein zweiter Teil des Workshops schildert die Konfiguration und den Einsatz von Win-dows-Clients mit Free S/WAN.

IPsec im Überblick

Das gerne als Secure Internet Protokoll apostrophierte IPsec stellt eigentlich eine Suite aus Protokollen und Techniken dar, mit deren Hilfe sich sichere Verbindungen via Internet aufbauen lassen. Den allgemeinen Aufbau dieser offiziell als Internet Protocol Security bezeichneten Architektur beschreiben die RFCs 2401 bis 2410, Ergänzungen für spezielle Einsatzzwecke finden sich in den RFCs 2207, 2709, 3104 und 3193.

Zur Realisierung einer sicheren Verbindung stellt IPsec die Integrität und Vertraulichkeit der transportierten Daten durch Authentifikation sowie Verschlüsselung sicher und ermöglich parallel dazu eine Zugriffskontrolle auf Benutzerebene. Zu diesem Zweck implementiert es auf der Netzwerkebene zwei Transportmodi und zwei zugehörige Sicherheitsfunktionen.

Transport vs. Tunnel Mode

Im Transport Mode kommunizieren zwei Hosts direkt via Internet miteinander. In diesem Szenario lässt sich IPsec zum einen dazu nutzen, die Authentizität und Integrität der Daten zu gewährleisten. Man kann also nicht nur sicher sein, mit wem man da gerade kommuniziert, sondern sich auch darauf verlassen, dass die Pakete nicht unterwegs verändert wurden. Per optionaler Verschlüsselung kann man zudem verhindern, dass Unbefugte die transportierten Inhalte mitlesen. Da hier zwei Rechner direkt über ein frei zugängliches Netz miteinander Daten austauschen, lassen sich jedoch Ursprung und Ziel des Datenstroms nicht verschleiern.

Der Tunnel Mode kommt stets dann zum Einsatz, wenn zumindest einer der beteiligten Rechner nicht direkt angesprochen, sondern als Security Gateway genutzt wird. In diesem Fall bleibt zumindest einer der Kommunikationspartner - der hinter dem Gateway - anonym. Tauschen gar zwei Netze über ihre Security Gateways Daten aus, dann lässt sich von außen gar nicht mehr bestimmen, welche Rechner hier tatsächlich miteinander sprechen. Auch im Tunnel Mode lassen sich natürlich Authentifizierung, Integritätskontrolle und Verschlüsselung einsetzen.

Authentication Header (AH)

Der IP Authentication Header (AH, RFC 2402) sorgt dafür, dass sich Herkunftsangabe und Inhalt der transportierten Daten nicht unbemerkt durch Dritte verändern lassen. Dazu wird ein Hashwert über alle statischen IP-Headerdaten sowie die gesamten Nutzdaten errechnet und zusammen mit weiteren Kontrollfeldern hinter dem ursprünglichen IP-Header eingefügt. Durch die Überprüfung dieses Werts kann der Empfänger nachträgliche Manipulationen an Kopf- oder Nutzdaten sofort erkennen. Variable IP-Headerdaten, die sich im Verlauf der Übertragung verändern können, bleiben von diesem Schutz notgedrungen ausgeklammert.

Der Authentication Header kommt sowohl im Transport wie auch im Tunnel-Mode zum Einsatz. In der Transportvariante residiert er zwischen dem ursprünglichen IP-Header des Paketes und den Nutzdaten. Beim Tunneling dagegen verpackt der Gateway das komplette Datenpaket samt Headerdaten in ein neues IP-Packet. Hier findet sich der AH zwischen den neuen Kopfdaten und dem ursprünglichen Paket. In beiden Modi stellt er jedoch nur Authentizität und Integrität der Daten sicher, nicht aber deren Vertraulichkeit: Er implementiert keinerlei Verschlüsselung.

Encapsulated Security Payload (ESP)

Für die Vertraulichkeit der Daten sorgt durch Verschlüsselung die IP Encapsulated Security Payload (ESP, RFC 2406). Mittels eines Headers und eines Trailers umschließt das Protokoll die verschlüsselten Nutzdaten. Ein optionales ESP-Auth-Feld am Paketende kann ähnlich wie der Authentication Header Informationen zur Integrität der verschlüsselten Daten aufnehmen.

Im Transportmodus schließen ESP Header und Trailer lediglich die reinen IP-Nutzdaten ein, der Paket-Header bleibt völlig ungeschützt. Im Tunneling Mode allerdings umfassen die "Nutzdaten" das gesamte Ursprungspaket des Absenders, das der Security Gateway in ein neues Datenpaket eingebunden hat. Damit lassen sich nur noch die Transportdaten des Gateways einsehen. Das gesamte ursprüngliche IP-Paket samt Sender- und Empfängerdaten dagegen liegt verschlüsselt vor. In diesem Fall gewährleistet ESP also nicht nur die Vertraulichkeit der Daten, sondern auch die der Verbindung.

In beiden Fällen profitiert ESP von der Kombination mit einem AH, der zusätzlich die Integrität und Authentizität der wichtigsten IP-Headerdaten absichert. Erst das Duo ESP/AH bietet einen perfekten Schutz gegen Datenmanipulation und Ausspähung.

Security Association (SA)

Um für eine Verbindung ESP/AH einsetzen zu können, müssen sich allerdings die Kommunikationspartner erst einmal über die Mechanismen und Algorithmen für das Hashing sowie die Authentifizierung und Verschlüsselung einig sein. Des Weiteren müssen beiden Seiten die notwendigen Schlüssel sowie deren Gültigkeitsdauer kennen.

Alle diese Parameter handeln die beiden Endpunkte einer IPsec-Connection bei jedem Verbindungsaufbau aus. Es kommt quasi ein Vertrag - die so genannte Security Association (SA) RFC 2408 und RFC 2409 - zwischen den Kommunikationspartnern zustande. Um die Sicherheit der Verbindung zu erhöhen, können über die SA die Schlüssel auch bei laufender Verbindung neu vereinbart werden. Dies erfolgt wahlweise in bestimmten Zeitabständen oder nach bestimmten Übertragungsmengen. Zudem sorgt die Security Association durch die Möglichkeit zur individuellen Parametrisierung jeder Verbindung auch für die Zugriffskontrolle auf Benutzerebene. So lassen sich über die SA jedem Verbindungspartner eigene Schlüssel- und Authentifizierungsverfahren und Kennungen zuordnen.

Internet Key Exchange (IKE)

Das Internet Key Exchange Protocol (IKE, RFC 2409) definiert den Ablauf beim Aushandeln einer IPsecSA inklusive der dazu notwendigen Mechanismen. Das Verfahren wird auch als Internet Security Association and Key Management Protocol (ISAKMP) bezeichnet. Es löst das Problem des vertraulichen Verbindungsaufbaus zwischen zwei Gegenstellen, die keinerlei Informationen und ergo auch keine Schlüssel vom jeweiligen Kommunikationspartner haben.

In IKE Phase 1 ("Main Mode") vereinbaren die Verbindungspartner zunächst im Wechselspiel eine mögliche SA-Konfiguration samt der Algorithmen für Hashing, Authentifizierung und Verschlüsselung. Der Initiator der Verbindung unterbreitet der Gegenstelle (dem "Responder") einen entsprechenden Vorschlag, der mehrere Varianten umfassen kann. Der Responder sucht sich etwas Passendes heraus und quittiert den Vorschlag entsprechend. Anschließend handeln die beiden Gegenstellen im Wechselspiel über den Diffie-Hellman-Algorithmus einen Secret Key aus, auf dessen Grundlage sich nun alle weiteren Daten verschlüsseln lassen.

Dies gilt insbesondere für den jetzt fälligen Austausch der Identifikationsparameter (ID), die der Absender jeweils mit seinem Public Key signiert. Optional kann auch ein Zertifikat mit übertragen werden. Ist dies der Fall, ermittelt der Empfänger daraus den Public Key des Absenders und kann damit die Signatur und somit die Identität des Senders eindeutig ermitteln. Fehlt das Zertifikat, benötigt der Empfänger eine lokale Liste von IDs und zugehörigen Schlüsseln, aus denen er den fraglichen Public Key ersieht.

Damit sind nun die Authentizität der Gegenstellen und die Vertraulichkeit der Verbindung gewährleistet. Damit kann IKE Phase 2 starten, der sogenannte Quick Mode. Er baut die eigentliche IPsec SA durch die Vereinbarung der Parameter und Mechanismen für ESP und AH auf. Während einer IPsec-Session lässt sich der Quick Mode beliebig oft neu anstoßen, um neue Schlüssel für beide Seiten zu generieren.

X.509-Zertifikate

Wie bereits erwähnt, lässt sich der Austausch der Public Keys am besten über X.509-Zertifikate (RFC 2459) bewerkstelligen. Ein solches Zertifikat ordnet einen Public Key eindeutig seinem Inhaber zu. Für die Glaubwürdigkeit des Zertifikats steht dessen Aussteller gerade, die Certification Authority (CA).

Das Zertifikat beinhaltet Daten über den verwendeten Signaturalgorithmus, den Aussteller, den Inhaber und die Gültigkeitsdauer. Als wichtigste Information enthält es den Public Key des Inhabers. Die CA unterzeichnet das Zertifikat, indem sie einen Hash über die gesamten Daten bildet und diesen mit ihrem eigenen Public Key signiert. Um die Gültigkeit eines vorliegenden Zertifikats zu prüfen, muss der Empfänger also lediglich die Signatur mit dem Public Key der CA entschlüsseln und anschließend mit dem Hashwert vergleichen.

Den Knackpunkt an diesem Verfahren bildet offensichtlich die Glaubwürdigkeit der CA. Die lässt sich erhöhen, indem sie ihr Zertifikat von einer weiteren Certification Authority signieren lässt - und so weiter. Damit kann eine "Kette des Vertrauens" aufgebaut werden, an deren Spitze die so genannte Root CA steht. Sie unterschreibt ihr Zertifikat selbst. Die Zertifikatskette ist also letztlich nur so glaubwürdig wie ihre Root CA.

Beim Einsatz von Zertifikaten für VPN-Verbindungen stellt das allerdings kein größeres Problem dar: Der Administrator des zu kontaktierenden Netzes ernennt sich einfach selbst zur Root CA und zertifiziert sowohl den Security Gateway als auch die in Frage kommenden Verbindungspartner.

IPsec mit Free S/WAN

Wie eingangs bereits beschrieben, liegt mit Free S/WAN eine komplette IPsec-Implementation für Linux mehr oder weniger gebrauchsfertig vor. Zwar bringen die meisten Distributionen das Paket bereits mit. Erfahrungsgemäß empfiehlt es sich aber, bei der Einrichtung sowohl mit der neuesten Kernel- als auch der aktuellsten Free-S/WAN-Variante zu arbeiten.

Für unser Beispiel haben wir ein Red Hat Linux 7.2 mit aktualisiertem Kernel 2.4.18 sowie Free S/WAN 1.97 genutzt. Im Bedarfsfall lässt sich Free S/WAN jedoch auch mit Kerneln der 2.2er-Serie zusammen nutzen. Hier benötigen Sie jedoch wenigstens Linux 2.2.19. Zudem gilt es zu bedenken, dass für den praktischen Einsatz meist die Kombination VPN-Gateway/Firewall zum Zug kommt. Hier bietet Kernel 2.4 durch die integrierte netfilter-Architektur Vorteile.

Eine kleine Lücke lässt Free S/WAN in seinem Funktionsumfang allerdings bislang offen: Es unterstützt die Verwendung von X.509-Zertifikaten nicht. Dem lässt sich aber mit einem an der Schweizer Uni Winterthur entwickelten Patch leicht abhelfen.

Die Fortsetzung dieses Artikels lesen Sie nächste Woche in der ComputerPartner-Ausgabe 42/04.

Weiterführende Links

VPN:

Daten sicher übers Internet: http://www.tecchannel.de/internet/306

Firewall-Grundlagen:

http://www.tecchannel.de/internet/682

Linux Firewall mit ipchains:

http://www.tecchannel.de/betriebssysteme/704

tecchannel-Praxis "Sicher ins Internet"

tecChannel.de ist die Nummer eins der Online-Fachmedien in Deutschland (IVW 1/04). Auf www.tecChannel.de finden Sie mehr als 1.700 Beiträge und über 14.000 News zu allen Themen der IT. Das kostenlose Online-Programm wird ergänzt durch das noch umfangreichere kostenpflichtige tecCHANNEL-Premium-Programm und die tecCHANNEL-Compact-Buchreihe.

Die neue Ausgabe von tecCHANNEL-Praxis "Sicher ins Internet, Mail, Fax & VPN" beschreibt die Installation und Wartung eines kompletten Kommunikationsservers auf Linux-Basis. mit Sicherheits- und Internet-Funktionen. Gerade kleinere Unternehme behandeln die Inter- und Intranet-Kommunikation nach wie vor stiefmütterlich, wie eine aktuelle Studie des Statistischen Bundesamtes belegt.

tecCHANNEL-Praxis "Sicher ins Internet, Mail, Fax & VPN" bietet bislang ungesicherten Firmen eine Komplettlösung zum Abschotten ihres Netzzugangs.

Die neue tecCHANNEL-Compact erhalten Sie für 12,95 Euro im Bahnhofshandel sowie im Flughafen-Buchhandel. Sie können tecCHANNEL-Compact auch jederzeit direkt im Online-Shop unterwww.tecChannel.de/shop bestellen. Sie erhalten das Buch dann versandkostenfrei zugeschickt.

Zur Startseite