Im ersten Teil der Serie von Experts Inside Novell wurden bereits das Konzept, die Architektur und die Systemvoraussetzungen für die Nutzung von FreeRADIUS in Verbindung mit dem Novell eDirectory besprochen.
Dieser Beitrag erörtert detailliert die Installation von FreeRADIUS inklusive Plug-Ins und beschäftigt sich mit der Einbindung mit dem eDirectory. Das umfasst beispielsweise die Schema- Anpassungen, die Konfiguration der Kennwortrichtlinien und die Einrichtung des iManager-Plug- Ins, das für FreeRADIUS benötigt wird.
Vorbereitung und Durchführung der Installation
Wie im Zusammenhang mit den Systemvoraussetzungen ausgeführt wurde, müssen zunächst einige zusätzliche Pakete eingerichtet werden. Dazu kann bei SLES (Suse Linux Enterprise Server) über YaST gearbeitet werden. Es bietet sich an, über den Anfang der Paketnamen nach diesen zu suchen und die Pakete gegebenenfalls für die Installation auszuwählen. Die Pakete libiodoc und libiodoc-devel wurden im Text nicht gefunden. Das hat aber bei der Einrichtung des Tools nicht zu Fehlermeldungen geführt.
Installationsdurchführung
Die Installation sollte anschließend nicht mit der aktuellen Version, die unter http://www.freeradius.org verfügbar ist, durchgeführt werden. Stattdessen sollte die Version von der Novell Forge-Website gewählt werden. Der Link findet sich in der Dokumentation von Novell. Das ist allerdings nicht die ganz aktuelle Version, sie ist aber für die Einrichtung im eDirectory-Umfeld optimiert. Mit
rpm -Uhv freeradius-1.0.2-0.i386.rpm
kann das Paket installiert werden. Die eigentliche Installation ist einfach, sodass sie an dieser Stelle nicht weiter erläutert werden muss.
Zusätzlich zu der Installation von FreeRADIUS muss auch das iManager-Plug-In eingerichtet (Bild 1) werden. Die NPM-Datei findet sich beim gleichen Download-Link wie FreeRADIUS. Sie kann über den Bereich Modulinstallation/Verfügbare Novell Plugin-Module im Bereich Konfigurieren des iManager mit Neu hinzugefügt und anschließend mit Installieren eingerichtet werden.
Schritte nach der Installation
Nach der Installation sind allerdings noch einige weitere Schritte erforderlich. Im eDirectory muss das universale Kennwort für alle Benutzer aktiviert werden, um die Verarbeitung der Authentifizierung von RADIUS-Clients korrekt durchführen zu können.
Für RADIUS muss zusätzlich ein spezielles Administrator-Objekt erzeugt werden. Dabei handelt es sich bei der Erstellung um ein normales Benutzerobjekt, das bei der späteren Konfiguration von RADIUS angegeben werden muss. Diesem Benutzer müssen nun aber Schreibberechtigungen für das ACL-Attribut der Benutzerkonten gegeben werden, deren universale Kennwörter gelesen werden müssen. Effektiv führt das dazu, dass das Benutzerkonto administrative Berechtigungen für diese Benutzerkonten erhält. Daher muss wohl überlegt werden, welchen Benutzern das spezielle Administrator-Objekt für RADIUS verfügbar gemacht wird. Grundsätzlich kann man dafür auch ein bestehendes administratives Konto auswählen. Das ist aber aus Sicherheitsgründen generell problematisch, wie weiter unten noch erörtert wird.
In einem weiteren Schritt sind noch die Kennwortrichtlinien entsprechend einzustellen. Wenn das Novell Password Management nicht installiert ist, muss nach der Aktivierung des universalen Kennworts im Container Security bei den dortigen Kennwortrichtlinien noch im Register General das Attribut nspmConfigurationOptions um den Wert 32 erhöht werden.
Schließlich ist es noch erforderlich, das selbstsignierte Zertifikat der CA des Novell eDirectory zu extrahieren und im Base64-Format abzulegen. Es wird ebenso wie das RADIUS-Administrationsobjekt bei der folgenden Anpassung der LDAP-Einstellungen benötigt.
Wichtige Parameter der Konfigurationsdatei
Die Konfiguration bezieht sich in erster Linie auf das RADIUS- Modul und das Zusammenspiel zwischen diesem und dem als LDAP-Server verwendeten Novell eDirectory. Die Konfigurationsdatei findet sich unter install_path/etc/raddb/radiusd.conf. Hier sind etliche Parameter anzupassen:
-
server muss auf den Hostnamen oder die IP-Adresse des verwendeten eDirectory-Servers gesetzt werden. FreeRADIUS und das eDirectory brauchen also nicht auf dem gleichen System ausgeführt werden.
-
identity gibt den vollständigen Namen für das in der Dokumentation als RADIUS-Serverobjekt bezeichnete Administrator- Objekt im eDirectory an.
-
password ist das Kennwort für dieses Objekt. Hier liegt ein generelles Problem bei der Verwendung von FreeRADIUS: Das Kennwort für ein Benutzerobjekt mit sehr weitreichenden administrativen Berechtigungen muss im Klartext in einer Konfigurationsdatei gespeichert werden. Selbst bei restriktiven Zugriffsberechtigungen ist das einigermaßen problematisch.
-
base-dn gibt den Container an, ab dem die Suche nach eDirectory-Benutzern für die RADIUSAuthentifizierung erfolgen soll.
-
filter muss generell auf den Wert (cn=%{Stripped- User-Name:-%{User-Name}}) gesetzt werden. _ start_tls aktiviert die Verwendung von SSL/ TLS. Der Wert ist Yes.
-
tls_mode legt fest, ob mit SSL/TLS gearbeitet werden soll. Der hier normalerweise zu verwendende Wert ist conditional. Damit wird SSL/TLS nicht zwingend genutzt.
-
tls_cacertfile gibt den Pfad zu der Datei mit dem selbstsignierten Zertifikat der CA an.
-
tls_require_cert erhält den Wert demand und legt fest, dass ein Zertifikat angefordert wird.
-
dictionary_mapping ist wieder ein Parameter, für den ein definierter Wert zwingend angegeben werden muss, in diesem Fall ${raddbdir}/ldap. attrmap.
-
password_attribute wird auf nspmPassword gesetzt und legt fest, welches Attribut im eDirectory das universale Kennwort enthält. Für den hier erforderlichen Zugriff benötigt der RADIUSAdministrator auch die weitgehenden Zugriffsberechtigungen für die Benutzerobjekte.
-
edir_account_policy_check gibt an, dass die Richtlinien für die Authentifizierung im eDirectory überprüft werden sollen. Damit wird ein Benutzer beispielsweise nach mehreren fehlerhaften Anmeldungen deaktiviert. Der Wert sollte in jedem Fall auf Yes gesetzt werden, um Angriffe mit fehlerhaften Kennwörtern soweit wie möglich zu verhindern.
-
access_attr hat den Wert dialupAccess. Dieses Attribut im eDirectory kann damit verwendet werden, um zu steuern, ob ein Benutzer über RADIUS zugreifen darf oder nicht.
Abschließende Konfiguration
Wie bei einigen der Parameter deutlich wird, ist FreeRADIUS unter dem Aspekt der Sicherheit nicht unproblematisch. Das sollte man berücksichtigen, wenn man über den Einsatz der Anwendung nachdenkt.
Der Abschnitt für das LDAP-Modul muss in der Konfigurationsdatei natürlich noch auskommentiert werden, damit er genutzt werden kann. Im Abschnitt post-auth der Datei muss LDAP außerdem aktiviert sein.
Schließlich ist noch eine Erweiterung des Schemas des Novell eDirectory erforderlich, um RADIUS-spezifische Einstellungen für Benutzer vornehmen zu können. Nach der Installation des iManager-Plug-Ins findet sich bei der RADIUS-Verwaltung die Option Extend Schema. Ohne Schema-Erweiterung werden bei anderen Funktionen entsprechende Fehlermeldungen angezeigt (Bild 2).
Wie geht es weiter?
Im folgenden Teil der Artikelserie wird es um die Nutzung des iManager-Plug-Ins für FreeRADIUS gehen. Es wird unter anderem gezeigt, wie RADIUS- Benutzer und RADIUS-Profile im eDirectory verwaltet werden können.
Außerdem werden einige weitere Erläuterungen zu den potenziellen Sicherheitsrisiken beim Einsatz von FreeRADIUS geliefert.