Authentifizierung und Autorisierung in Netzwerken

802.1x: Zugriffskontrolle im LAN und WLAN-Netzwerk

05.11.2009 von Eckhart Traber
Der Netzwerk-Standard IEEE 802.1x ist eine Kontrollinstanz, die den Anwender überprüft, bevor dieser auf das LAN- oder WLAN-Netzwerk zugreift. Ist IEEE 802.1x korrekt in das Netzwerk eingebunden, gewährleistet dieser Standard eine gewisse Grundsicherheit sowohl im LAN als auch im WLAN.

Die Angst vor Datenspionage oder Datenverlust in Unternehmen ist groß. Eine Schwachstelle für Informationsdiebe bildet oft das eigene Firmennetzwerk, das nicht genügend gegen unbefugte interne oder externe Zugriffe geschützt ist. Gegen Viren, Würmer und Trojaner bieten Intrusion-Detection- beziehungsweise Intrusion-Prevention-Systeme (IDS/IPS) sowie Firewalls einen guten Schutz. Allerdings überprüfen diese Verfahren im Wesentlichen nur den reinen Datenverkehr. Gegen unberechtigte Benutzer, die das Netzwerk infiltrieren sind diese Verfahren nutzlos. Deshalb hat man bereist im Jahr 2001 den Protokollstandard IEEE 802.1x eingeführt, der die Zugriffsberechtigung auf der Benutzerebene regelt.

Dieser Standard wurde ursprünglich für LAN-Anwendungen konzipiert. Doch mittlerweile kommt IEEE 802.1x auch in WLAN-Umgebungen zum Einsatz. Der eigenständige Standard übernimmt die Authentifizierung beziehungsweise Autorisierung eines Teilnehmers am physikalischen oder logischen Port eines Netzwerks (LAN, VLAN, WLAN). Dazu ist ein sogenannter Radius-Server (Remote Authentication Dial-in User Service) nötig, der die Zugriffskontrolle von Netzwerknutzern steuert.

Die Geschichte von IEEE 802.1x

Die Idee zu IEEE 802.1x kam von Institutionen, die den Zugang zu öffentlichen Netzen einfach kontrollieren wollten (Universitäten, Behörden, Bibliotheken). Die gewünschte Lösung sollte kostengünstig und einfach zu implementieren sein. Dabei wollten die Anwender ihre bestehende Netzinfrastruktur und etablierte Protokolle verwenden. Virtuelle private Netze (VPN) erfüllten zwar einige der Voraussetzungen, schieden aber als generelle Lösung aufgrund ihres hohen Ressourcenbedarfs und der komplexen Konfiguration aus. Die wesentlichen IEEE-802.1x-Funktionen sind:

• Zugangskontrolle (benutzerorientiertes Regelsystem),

• Abrechnung (Billing und Accounting),

• Bandbreitenzuweisung (Quality of Service = QoS pro User),

• Anlegen von Benutzerprofilen (User Personalized Network = UPN),

• Single Sign-on.

Das Konzept für IEEE 802.1x wurde schließlich gemeinsam von 3Com, Hewlett-Packard und Microsoft geschaffen und im Juni 2001 als IEEE-Standard verabschiedet. Das Modell wurde ursprünglich für Switches entwickelt (802.1d) und erst später für WLANs nach dem Standard 802.11 erweitert.

Die Philosophie

Der IEEE-802.1x-Standard stellt eine wichtige Weiterentwicklung der Netzsicherheit dar, da er es ermöglicht, Benutzer schon an einem Netzzugangs-Port zu identifizieren. Mit Hilfe von Single-Sign-on können sich die Benutzer mit einer einzigen Authentifizierung an verschiedenen Systemen und Anwendungen gleichzeitig anmelden, etwa bei Einwahl-Servern, Firewalls, VPNs oder Wireless LANs. Dabei erfolgt die Authentifizierung des Benutzers einmalig an einem zentralen Radius-Server.

Was ist "Radius"?

Alle Provider, die eine Einwahl in ein Netz ermöglichen, stehen vor einem großen Problem. Sie bieten vielen Benutzern an verschiedenen Orten Zugang zum Internet. Aus Sicherheitsgründen muss genauestens geprüft werden, wer Zugang zum Netz bekommt, um einen Missbrauch der Server-Dienste von vornherein auszuschließen. Des Weiteren benötigen die Provider eventuell Mechanismen, die ihnen eine Erfassung und Berechnung der Online-Zeiten für die Benutzer ermöglichen. Deshalb braucht man ein leistungsfähiges System, das zentral für Authentisierung, Autorisierung und Accounting (AAA) sorgen kann.

Das tut Radius. Der Service ist in RFC 2865 spezifiziert und kommuniziert über den UDP-Port 1812. Ein Network Access Server (NAS) fungiert als Client des Radius-Servers. Der kann auch als Proxy für andere Radius-Server oder auch für andere Arten von Authentifizierungs-Servern dienen.

Nutzererkennung: Ablauf der Client-Authentifizierung an einem Radius-Server.
Foto: Lancom

Die Kommunikation zwischen Radius-Client und -Server wird dadurch gesichert, dass sich beide Kommunikationspartner gegenseitig durch ein "Shared Secret" authentifizieren und den Datentransfer verschlüsseln können. Radius unterstützt viele Authentifizierungsmöglichkeiten wie zum Beispiel PAP, CHAP, EAP oder Unix-Login und kann viele erweiterbare Attribute zu einem Benutzer verarbeiten und übermitteln.

Mittlerweile sind verschiedene Radius-Server mit 802.1x/EAP-Unterstützung auf dem Markt. Die Palette reicht vom komplexen Kommandozeilen-Tool bis hin zu benutzerfreundlicheren Servern mit eigenem Konfigurations-GUI. Zur Verfügung stehen Software-Server (Windows 2000, 2003, 2008 oder Linux beziehungsweise freie Anbieter) wie auch in Netzhardware (Router, Access Point Switch) integrierte Server.

Das Extensible Authentication Protocol (EAP)

EAP wurde ursprünglich für das Point-to-Point Protocol (PPP) entwickelt und ist in den RFCs 2284 und 2716 spezifiziert. Mit Hilfe von EAP können zwei Kommunikationspartner vor der eigentlichen Authentifizierung aushandeln, welche Authentifizierungsmethode angewandt werden soll. Aufgrund der Ausführung als Application Programming Interface (API) werden auch zukünftig entwickelte Authentisierungsprotokolle auf EAP aufsetzen können.

EAP beschreibt in einem einfachen Frage-Antwort-Verfahren den Austausch der Authentifizierungsdaten vom Benutzer zum Authentisierungs-Server und dessen Antwort. Dabei können beliebige Authentifizierungsmechanismen wie Kerberos, SecurI oder Zertifikate benutzt werden. EAP wird entweder in Verbindung mit PPP verwendet oder als Protokoll-Framework zum Authentifizierungsdatenaustausch in anderen Protokollen, so etwa auch in IEEE 802.1x. Für die Anwendung von EAP über 802.1x werden die Authentifizierungsdaten mittels EAPoL (Extensible Authentication Protocol over LAN) oder im Fall von Wireless entsprechend EAPoW übertragen.

So funktioniert EAP

Das EAP fordert den Benutzer auf, sich zu authentifizieren. Seine Authentisierungsinformationen werden zunächst an den Port beziehungsweise den Authenticator weitergeleitet. Sobald dieser die Daten empfangen hat, leitet er sie an einen Autorisierung- und Accounting-Server, im Normalfall einen Radius-Server, weiter. Dieser identifiziert anhand der hinterlegten Benutzerprofile den User, das heißt, er entscheidet, ob der User Zugriff auf die angefragten Services erhält.

In einigen Fällen übernimmt der Radius-Server die Authentifizierung nicht selbst, sondern leitet die Daten an eine weitere Authentifizierungseinheit weiter, im Normalfall an einen Verzeichnisdienst (LDAP-Server, Directory Server). Im Falle einer nicht erfolgreichen Authentifizierung bekommt der Authenticator eine entsprechende Information, die dafür sorgt, dass der Port nicht aktiviert wird, also den Modus Authentication on/Port off einnimmt, beziehungsweise das Standard- Systemverhalten beibehält (Authentication on/Port on with Default Policy). In beiden Fällen erhält der Benutzer keinen Zugriff auf die angefragten Services.

EAP-Details: Schematischer Ablauf einer WLAN-Sitzung mit EAP/802.1x.
Foto: Lancom

Wenn dagegen die Authentifizierung erfolgreich verläuft, wird die entsprechende Meldung, die der Radius-Server an den Switch oder Access Point zurücksendet, mit der Funktionsbezeichnung "Radius/EAP Success" versehen. Der Authenticator schaltet danach sofort den entsprechenden Port für den uneingeschränkten Datentransport frei.

Authentifizierung durch gegenseitige Zertifikate

Das EAP-Transport Layer Security Protocol ist eine Erweiterung und besteht aus einer Kombination von EAP mit SSL. Es verlangt eine gegenseitige zertifikatsbasierende Authentifizierung des Servers und des Clients auf der Transportschicht. Aktuell sind eine Reihe Clients für EAP-TLS für Linux (zum Beispiel Open1x), Mac OS X ab Version 10.3 "Panther" und Microsoft Windows (ab Windows 2000 mit Patch, ab Windows XP nativ) erhältlich.

Bei anderen Betriebssystemen kann eine Dritthersteller-Software installiert werden, um die Funktion nutzen zu können. Das Open1x-Projekt hat sich zum Ziel gesetzt, mit einer eigenen 802.1X-Implementierung viele Systeme zu unterstützen. Verwendbar sind auch Netzkomponenten, die eine Web-basierende Authentifizierung gestatten.

Als Vorteil von EAP-TLS kann man die Favorisierung durch Microsoft und die Integration in Windows sehen - die notwendige gegenseitige, zertifikatsbasierende Authentisierung spricht allerdings gegen dieses Verfahren.

Authentifizierung durch Username/Passwort und Server-Zertifikat

Das EAP-Tunneled Transport Layer Security Protocol erweitert EAP-TLS um eine sehr praktische Funktion. Bevor sich der Benutzer gegenüber dem Server authentifizieren muss, wird mit dem Server-Zertifikat ein sicherer TLS-Tunnel zwischen WLAN-Client und Authentisierungs-Server dynamisch aufgebaut. In diesem Tunnel kann sich dann der Benutzer beim Authentisierungs-Server mittels Username/Passwort identifizieren. Damit entfällt die Notwendigkeit eines eher umständlich zu nutzenden Benutzerzertifikats.

Wie bei SSL-(TLS-)Authentisierungen über das Internet üblich, werden nur noch Server-seitige Zertifikate zur gegenseitigen Authentisierung des Benutzers und des Servers zwingend benötigt. Das EAP-TTLS-Verfahren ist damit einfacher als EAP-TLS, da nur Server-seitige Zertifikate notwendig sind. (hal)

Dieser Artikel basiert auf Beiträgen unserer Schwesterpublikation Computerwoche.