StrongSwan: Gegenmaßnahmen
Dem Problem begegnen
Wenn es darum geht, unabhängig von der verwendeten Anwendung zu verhindern, daß
irgendwer einfach Datenströme mitliest oder möglicherweise darin
herumfuhrwerkt, dann kommt
IPsec ins Spiel. Egal
welche Lösung Sie jetzt wählen, allen ist gemeinsam, daß sie den ins Internet
gerichteten Datenstrom abfangen und über eine gesicherte Verbindung umleiten.
Dazu ist es zunächst einmal erforderlich, daß Sie IPsec an beiden Endpunkten
der von Ihnen zu sichernden Verbindung aufsetzen.
Sowie das geschehen ist, sorgt IPsec dafür, daß der Datenstrom, wenn überhaupt,
nur mit einem erheblichen Aufwand angegriffen werden kann. Dazu bedient es sich
dreier verschiedener Methoden, die jedoch alle zusammenkommen müssen, damit ein
Höchstmaß an Sicherheit gewährleistet ist, ohne daß die getroffenen Maßnahmen
die Benutzbarkeit einschränken. Schließlich ist jede Sicherheitsvorkehrung
immer nur so gut, wie sie vom Anwender eingesetzt werden kann – und ein mit den
Sicherheitsmaßnahmen überforderter Anwender läßt zwangsläufig Lücken.
Wie so etwas abläuft, sei hier am Beispiel von StrongSwan beschrieben, zu dem
Sie auf der Seite des Projektes
eine Fülle weiterer
Informationen erhalten. Zwar mutet die Einrichtung dieser IPsec-Lösung auf
den ersten Blick unverständlich an, doch da sie einem bestimmten Schema folgt,
lassen sich etwaige Schwierigkeiten recht einfach lösen.
Wie jede vernünftige Sicherheitslösung zielt auch StrongSwan auf drei Aspekte ab, die alle ineinandergreifen, damit der größtmögliche Gewinn an Sicherheit gewährleistet ist. Dies sind die folgenden Aspekte:
- Authentifizierung
- Integritätsprüfung
- Verschlüsselung
Ist auch nur eines dieser Teile unzureichend oder nicht vorhanden, so bedeutet
das zwangsläufig eine erhebliche Einbuße an Sicherheit. Auch wenn der
Datenstrom beispielsweise gegen Einsichtnahme durch Dritte gesichert ist und
von außen nicht angegriffen werden kann, welchen Sinn hat all das, wenn sich
Dritte ungeprüft Zugang zum gesicherten Kanal verschaffen und auf diesem Wege
alles mitlesen können?
Oder welchen Sinn haben Zugangskontrollen und Verschlüsselung, wenn eine
Integritätsprüfung für die Daten fehlt und der Datenstrom so angegriffen werden
kann?
Oder was sollen Zugangskontrollen und eine Integritätsprüfung der übertragenen
Daten bringen, wenn die Daten im Klartext übertragen werden und somit ohnehin
jeder mitlesen kann?
Wie Sie erkennen können, gibt es eine Dreiecksbeziehung zwischen diesen drei Aspekten der Sicherheit: Ist eine Komponente unzulänglich, so bricht der Rest ebenfalls auseinander, und man könnte sich die betroffene Sicherheitslösung auch gleich schenken. Irgendwelche Idioten hätten unterm Strich genauso leichtes Spiel wie zuvor, doch Sie hätten den ganzen Aufwand nicht.
nach obenAuthentifizierung
Damit eine Sicherheitsmaßnahme überhaupt greifen kann, gilt es sicherzustellen, daß diejenige Partei, die sich in den gesicherten Kanal einklinken möchte, überhaupt dazu berechtigt ist. Schließlich ist die gesicherte Verbindung nicht für Jedermann bestimmt, und irgendwelche Unbekannten können auch schnell mal irgendwelchen Unsinn anstellen. Dies ist jedoch nicht Sinn und Zweck der Übung.
Um die Authentizität zu gewährleisten, bietet StrongSwan eine Reihe Möglichkeiten an, anhand derer die Berechtigung einer Station ermittelt werden kann. Folgende Authentifizierungsmaßnahmen stehen zur Auswahl:
Verfahren | Bedeutung |
---|---|
X.509 | Identitätsfeststellung durch Zertifikate |
PSK | Identitätsfeststellung durch gemeinsam genutzte Schlüssel |
EAP | Identitätsfeststellung anhand bestimmter Zugangsdaten, die entweder direkt durch StrongSwan durchgeführt oder aber an einen Serverprozeß weitergeleitet werden kann, welcher anschließend die Authentifizierung durchführt. Hier gibt es verschiedene Methoden, wie die Zugangsdaten übermittelt werden. |
Einige der Methoden sind ohne großen Aufwand aufzusetzen und bieten einen
akzeptablen Schutz, insbesondere wenn sich die Anzahl zugriffsberechtigter
Personen in einem überschaubaren Rahmen befindet. Anderenfalls bedarf es
ausgefeilterer Methoden, die zwar schwieriger zu implementieren, dafür aber
deutlich flexibler zu handhaben sind und es ermöglichen, schnell zu reagieren.
Zudem ist es deutlich einfacher, wenn sich ein spezialisierter Prozeß um die
Überprüfung der Zugangsdaten kümmert, während StrongSwan lediglich die
eingereichten Zertifikate auf Gültigkeit überprüft, und außerdem müssen Sie
StrongSwan dann nicht neustarten, wenn Sie an den Zugangsdaten etwas ändern.
Integritätsprüfung
Wer in einem gesicherten Kanal operiert, der muß auch sicher sein können, daß
die Daten, die er dort versendet, genau so an ihrem Zielort ankommen, wie er
sie abgesendet hat, und daß das, was er empfängt, genau so abgeschickt worden
ist, wie er es empfängt.
Hierzu werden alle Übertragungen mit einer digitalen Signatur versehen, die es
StrongSwan erlaubt festzustellen, ob irgendwer unerlaubte Änderungen an den
Daten vorgenomment hat oder nicht. Dazu gibt es eine Reihe mehr oder minder
mächtiger Algorithmen, die eine Prüfsumme erstellen, die zusammen mit den
versandten Daten übermittelt wird. Dabei gilt, daß eine Signatur umso sicherer
ist, je mächtiger die sie erzeugende Funktion ist.
So ist eine Signatur mit MD5 oder SHA1 i. d. R. schnell erstellt, jedoch kann
diese vergleichsweise einfach angegriffen werden, da sie für heutige
Verhältnisse entschieden zu kurz ist und so eine Signaturkollision, also
verschieden lautende Datenströme, die eine identische Signatur erzeugen,
recht einfach zu bewerkstelligen ist.
Verwendet man hingegen z. B. SHA512, so erweist
sich die Angelegenheit als deutlich schwieriger, da die Signatur erheblich
länger ist und Kollisionen somit deutlich seltener auftreten. Um hier auf
Nummer Sicher zu gehen, empfiehlt sich der Einsatz des bestmöglichen
Algorithmus zur Erstellung der digitalen Signatur.
Verschlüsselung
Wenn man schon auf einem gesicherten Kanal arbeitet, so möchte man sicherlich
nicht, daß irgendwelche Leute mitbekommen, welche Daten darüber wandern. Hier
kommen dann Verschlüsselungsalgorithmen ins Spiel, die den Datenstrom auf der
Absenderseite ver- und auf der Empfängerseite wieder entschlüsseln. Somit kann
man sich sicher sein, daß nicht irgendwer den Datenstrom einfach mitlesen kann,
und selbst wenn jemand diesen mitschneidet, um ihn später zu analysieren, so
ist das normalerweise kaum in akzeptabler Zeit zu entziffern. Dadurch können
innerhalb der gesicherten Verbindung Daten im Klartext übertragen werden – die
Verschlüsselung der Verbindung sorgt dafür, daß diese nach außen nicht sichtbar
sind, so daß niemand damit Unsinn anstellen kann.
Somit kann man dann wieder auf unsichere Verfahren zurückgreifen, um sich
beispielsweise an einem entfernten Rechner anzumelden, beispielsweise Telnet,
auch wenn es sich dabei um etwas handelt, was man unter normalen Umständen
tunlichst vermeiden sollte. Für den Normalfall gibt es SSH als Ersatz, was,
richtig aufgesetzt, ein nahezu
unüberwindliches Hindernis für einen Angreifer darstellt. Der Einsatz von
Telnet in einem IPsec-Tunnel kann jedoch als mindestens genauso sicher
eingestuft werden.
Darüber hinaus kann man innerhalb eines IPsec-Tunnels auch ein
NFS exportieren, damit man
von einem anderen Rechner aus auf dieses zugreifen kann, als wäre es ein
lokales Verzeichnis. Dadurch kann man sich eine Anmeldung am entfernten Rechner
sparen, aber man hat dennoch so Zugriff auf die Dateien im exportierten
Verzeichnis, als hätte man sich dort angemeldet.