Als Nächstes benötigt der RAS-Server Angaben über die zugelassenen Benutzer. Will es sich der Systemverwalter ganz einfach machen, stattet er jeden Anwender einfach mit einem von der CA unterzeichneten Client-Zertifikat aus. Wenn er die Radius-Konfigurationsdatei »users
«
nicht anfasst, gewährt der RAS jedem Zugang, der ein gültiges vorweisen kann. Der Switch weist dem Antragsteller dann das dort hinterlegte VLAN zu.
Möchte der Systemverwalter dem RAS-Server zusätzliche Informationen über die User mitgeben, hat er mehrere Optionen: Am schnellsten geht es, die Berechtigten und Unberechtigten in der Datei »users
«
zu erfassen (Listing 5).
Listing 5
Benutzerdatenbank
Die Vorgabe für jeden Antragsteller, der per EAP ein gültiges Zertifikat vorlegt, definiert der Systemverwalter ab Zeile 3. Die Angaben zu »Tunnel-Type
«
und »Tunnel-Medium
«
schreibt der Standard vor, wenn der Switch ein VLAN vergeben soll, beispielsweise »23
«
für das Benutzer-Segment. Weitere Radius-Extensions wie die Login-Time definiert RFC 2869, so dürfen sich mit Zeile 3 Anwender nur werktags zwischen 8 und 20 Uhr anmelden, um nächtliches Hacking zu unterbinden.
Die erste Zeile sperrt den Benutzer »dau
«
aus, der das Unternehmen verlassen hat, aber noch ein gültiges Zertifikat besitzt. Alternativ lässt sich diese Logik auch mit Certificate Revocation Lists (CRLs) mit etwas mehr Aufwand realisieren. Für die Datei gilt die First-Match-Regel, es sei denn, der Admin setzt das Attribut »Fall-Through
«
wie in Zeile 7. Auf diese Weise überschreiben die zusätzlichen Attribute die Einstellungen für den Administrator mit dem Namen »uebelacker
«
: Er erhält keine Zeitbegrenzung und findet sich direkt im Admin-Segment wieder.
Mit »radiusd -X
«
startet der RAS im Debug-Modus, der mögliche Fehlkonfigurationen einfach erkennbar macht. Hat der Start keine hervorgebracht, zeigt Radius an, dass er nun Anfragen beantwortet:
Listening on authentication address192.168.123.23 port 1812 Ready to process requests.
Es ist ratsam, den Daemon bis zur erfolgreichen Freischaltung eines Netzwerk-Ports im Debug-Modus laufen zu lassen, da er alle Aktivitäten ausführlich auf die Standardausgabe schreibt.
Im Produktivbetrieb verfolgt der Administrator das Radius-Protokoll mit dem Aufruf von »tail -f /var/log/radius/radius.log
«
:
Info: Ready to process requests. Auth: Login OK: [uebelacker] (from clientuebelhackers port 13 cli 00:19:e0:18:38:5c)
Aus dieser Angabe erkennt er, dass sich der Besitzer des Zertifikats, ausgestellt auf »uebelacker
«
, am Switchport 13 angemeldet hat. Dazu sendet der Client dem Switch EAPoL-Pakete. Diese Funktionalität liefern sowohl Xsupplicant aus dem Open1X-Projekt [11] der OpenSEA Alliance [12] als auch das etwas bekanntere »wpa_supplicant
«
[13]. Nicht alle Distributionen stellen beide Supplikanten zur Verfügung. Als grafisches Frontend für »wpa_supplicant
«
dient unter Ubuntu 9.04 der Network-Manager (siehe Abbildungen 3 und 4).
In »/etc/xsupplicant/xsupplicant.conf
«
konfiguriert man das 802.1X-Profil (siehe Listing 6) und testet den Supplikanten:
Listing 6
xsupplicant.conf
xsupplicant -D wired -i eth0 -d 5 -f-c /etc/xsupplicant/xsupplicant.conf
Nach erfolgreicher 802.1X-Authentifizierung und Freischaltung am Netzwerk-Port, die das Tool mit »Changing from AUTHENTICATING to AUTHENTICATED
«
quittiert, vergibt das Startskript die IP-Adresse wie gewohnt statisch oder per DHCP. Wenn der Xsupplicant per »/etc/init.d/xsupplicant start
«
im Hintergrund läuft und mit »chkconfig xsupplicant on
«
den Reboot übersteht, findet die 802.1X-Authentifizierung automatisch statt.