taRadiusSrv v2.5 Technische Dokumentation
(For english version click here)
Dies ist die deutsche technische Dokumentation von taRadiusSrv Version 2.5. Änderungen gegenüber Vorversionen sind hier ersichtlich.
taRadiusSrv Installation
Um taRadiusSrv zu installieren, folgen Sie der Anleitung in der Datei install.html.
Einrichten / Anpassen von taRadiusSrv
Die 5 unten aufgeführten Scripts (im Unterverzeichnis 'data') müssen Ihren Anforderungen angepasst werden. Sie dürfen die Scripts nicht umtaufen oder in ein anderes Verzeichnis verschieben, sonst funktionieren Sie nicht mehr! Stellen Sie sicher, dass die Scripts ohne Benutzereingaben durchlaufen!
- taRadiusSrv-Alert.cmd
Dieses Script wird aufgerufen, um dem Admin einen Alarm zu senden, z.B. bei einem Systemfehler oder wenn ein Benutzerkonto vom Server gesperrt wird. Die Meldung wird als erster Parameter übergeben.
- taRadiusSrv-SendToken1.cmd
Dieses Script wird verwendet, um dem Benutzer das Einmalpasswort zu schicken. Adresse 1 wird als erster und das Einmalpasswort als zweiter Parameter übergeben.
- taRadiusSrv-SendToken2.cmd
Wie taRadiusSrv-SendToken1.cmd aber für 'Adresse 2'
- taRadiusSrv-SendToken3.cmd
Wie taRadiusSrv-SendToken1.cmd aber für 'Adresse 3'
- taRadiusSrv-Accept.cmd
Dieses Script wird jedes Mal aufgerufen, nachdem sich ein Benutzer erfolgreich authentifiziert hat. Als erster Parameter wird der loginname übergeben. Falls das vendor-specific RADIUS attribute (26) im Authentifizierungspaket vorhanden war, wird dieses in weiteren Parametern wie folgt übergeben:
- vendor id
- sub-attribute type 1
- sub-attribute value 1
- sub-attribute type 2
- sub-attribute value 2
- etc.
Bei taStrongSudo (Funktion des mitgelieferten RADIUS Klienten) werden folgende Parameter übergeben:
- 25861
- 1
- Befehl
- 2
- Parameter des Befehls (mit Blanks getrennt)
Starten von taRadiusSrv
eve taRadiusSrv.eve [-c | -a]
oder:
java -cp eve.jar Eve taRadiusSrv.eve [-c | -a]
-c: Starten im Konsolen-Modus
-a: Starten im Nur-Administrations-Modus
Im Konsolen-Modus läuft der RADIUS-Server ohne GUI. Alle Ausgaben werden an die Konsole (stdout) geschickt. Dieser Modus ist für Linux Systeme gedacht, welche keine Grafik unterstützen.
Im Nur-Administrations-Modus werden keine RADIUS-Anfragen beantwortet. Dieser Modus kann verwendet werden, um den Server von einem PC via Netzwerk-Laufwerk zu konfigurieren (z.B. bei Linux Systeme, welche nur den Konsolen-Modus unterstützen).
Konfigurieren von taRadiusSrv
Bevor Sie taRadiusSrv konfigurieren können, müssen Sie sich zuerst als Admin anmelden. Unter Linux müssen Sie zuerst den Daemon Prozess von taRadiusSrv (evecl) stoppen und die GUI Version (eve taRadiusSrv.eve) starten. Klicken Sie auf den 'Admin' Knopf und geben Sie das Admin Passwort ein. Wenn das Passwort korrekt ist, sind Sie angemeldet und das Admin Fenster wird angezeigt. Das Admin Fenster schliesst sich automatisch, wenn Sie während 5 Minuten untätig sind. Unter Linux sollten Sie die GUI Version stoppen und taRadiusSrv wieder als Daemon starten.
Wenn Sie das Admin GUI das erste Mal nach der Installation öffnen, dann ist das Admin Passwort initial auf _admin gesetzt. Sie sollten nun sofort das Admin Passwort ändern, indem Sie das Passwort des Benutzers _admin neu definieren! So können Sie sicherstellen, dass nur authorisierte Personen auf das Admin GUI zugreifen können.
Das Admin GUI läuft in einem eigenen Thread. Das bedeutet, dass der Server auch dann RADIUS Anfragen behandelt, während Sie ihn konfigurieren. Aenderungen sind nach der Eingabe sofort aktiv (Ausnahme: Server Ports und Sprache, siehe unten).
Der 'Debug Modus' kann über das Menü aktiviert werden, um RADIUS Probleme zu analysieren. In diesem Modus werden alle ein- und ausgehenden RADIUS Pakete im Rohformat und interpretiert ausgegeben. Beim Schliessen des Admin Fensters wird der Debug Modus automatisch wieder ausgeschaltet.
Definieren von Server Einstellungen
Um Server Einstellungen zu definieren klicken Sie auf den Reiter 'Einstellungen'.
Der 'Server Port Authentifizierung' ist normalerweise 1812 - ändern Sie diesen nur, wenn ein guter Grund dazu besteht. Sie müssen den RADIUS Server neu starten, bevor diese Aenderung aktiv wird.
Der 'Server Port Accounting' ist normalerweise 1813 - ändern Sie diesen nur, wenn ein guter Grund dazu besteht. Setzen Sie den Wert auf 0, um das RADIUS Accounting zu deaktivieren. Sie müssen den RADIUS Server neu starten, bevor diese Aenderung aktiv wird.
Wenn ein Benutzer mehr als 'Max ungueltige Logins' (fehlerhafte Anmeldeversuche) hintereinander hat, sperrt der Server das Benutzerkonto und schickt dem Benutzer und dem Admin eine entsprechende Meldung.
Ein vom Server geschicktes Einmalpasswort wird spätestens nach 'Max Token Laufzeit' Minuten ungültig.
Mit 'Anzahl Log Zeilen im GUI' kann definiert werden wieviele Logzeilen im Haupt-Textfeld angezeigt werden.
Mit 'Anzahl Zeilen im HTML Log' kann definiert werden wieviele Logzeilen in der Datei html/index.html angezeigt werden. Hierbei werden immer die jeweils letzten n Zeilen des Haupt-Textfeldes angezeigt.
Wenn '_monitor Benutzer loggen' nicht selektiert ist, werden die Anfragen des '_monitor' Benutzers nicht im Log gespeichert.
'Warnung x Benutzer vor Max' warnt den Admin, wenn die Grenze der Lizenz bald erreicht ist. Wenn dieser Wert z.B. auf 3 gesetzt wird und die Lizenz maximal 10 Benutzer erlaubt, dann wird die Warnung angezeigt, wenn der 7. Benutzer hinzugefügt wird.
Mit 'Sprache' kann eine der verfügbaren Sprachen ausgewählt werden. Sie müssen den RADIUS Server neu starten, bevor diese Aenderung aktiv wird. Sie können selber weitere Sprachen hinzufügen. Beschaffen Sie sich hierzu das Sprachpaket (taRadiusSrv-custom.zip) und installieren Sie es wie hier beschrieben.
'Databank aktualisieren' wird nur benötigt, nachdem eine neue Version von taRadiusSrv installiert wurde und auch dann nur, wenn die Update Dokumentation dies fordert. Es macht aber nichts, wenn der Knopf versehentlich gedrückt wird.
Klienten und Benutzer
Klienten sind Computer Systeme, die den RADIUS Authentifizierungsservice benutzen dürfen. Benutzer sind Personen, welche den RADIUS Server verwenden können, um sich bei den Klienten anzumelden. Es gibt (zur Zeit) keine Gruppen. Deshalb können sich alle Benutzer bei allen Klienten anmelden, wenn die Authentifizierung korrekt ist.
Klienten verwalten
Um Klienten zu verwalten klicken Sie auf den 'Klienten' Reiter. Sie erhalten eine Liste aller berechtigter Klienten. Die Liste kann durch klicken auf die Spaltenüberschrift nach dieser Spalte sortiert werden.
Es gibt folgende Knöpfe:
- 'Neu' Knopf: ermöglicht das Hinzufügen eines weiteren Klienten.
- 'Bearbeiten' Knopf: ermöglicht das Mutieren und/oder das Umbenennen des selektierten Klienten.
- 'Loeschen' Knopf: löscht den selektierten Klienten (nach einer Bestätigung).
Hinzufügen von Klienten
Um einen weiteren Klienten hinzuzufügen, klicken Sie auf den 'Neu' Knopf.
Der 'Hostname' ist der Name des Klienten Systems. Er muss nicht dem wirklichen Hostname entsprechen, sondern hat mehr informativen Charakter. Beim Hostname wird zwischen Klein- und Grossschreibung unterschieden und er muss in der Datenbank eindeutig sein.
Die 'IP Adresse' ist die IP Adresse des Klienten, so wie der RADIUS Server sie sieht. Die IP Adresse muss in der Datenbank eindeutig sein.
Das 'Gemeinsames Passwort' (shared secret) ist ein Passwort, welches sicherstellt, dass nur autorisierte Clients den Server benutzen können. Es muss auch in der RADIUS Konfiguration des Klienten definiert werden.
Unter 'Bemerkungen' kann ein beliebiger beschreibender Text eingegeben werden.
Benutzer verwalten
Um Benutzer zu verwalten, klicken Sie auf den 'Benutzer' Reiter. Sie erhalten eine Liste aller berechtigter Benutzer. Die Liste kann durch klicken auf die Spaltenüberschrift nach dieser Spalte sortiert werden.
Es gibt folgende Knöpfe:
- 'Neu' Knopf: ermöglicht das Hinzufügen eines weiteren Benutzerkontos.
- 'Bearbeiten' Knopf: ermöglicht das Mutieren und/oder das Umbenennen des selektierten Benutzerkontos.
- 'Loeschen' Knopf: löscht das selektierte Benutzerkonto (nach einer Bestätigung).
- 'Zaehlen' Knopf: zeigt die Anzahl Benutzer in der Datenbank und die Grösse der Lizenz an (= maximal mögliche Benutzer). Der Admin Benutzer wird nicht mitgezählt.
- 'Export' Knopf: exportiert die Benuzterliste in eine Tabulator-getrennte Textdatei.
Hinzufügen von Benutzer
Um einen weiteren Benutzer hinzuzufügen, klicken Sie auf den 'Neu' Knopf.
Der 'Loginname' ist der Identifikator für einen Benutzer in der Datenbank. Es wird zwischen Klein- und Grossschreibung unterschieden und er muss in der Datenbank eindeutig sein.
'Nachname' und 'Vorname' sind rein informative Felder.
Das 'Passwort' des Benutzers muss zwingend definiert sein.
Ein Benutzerkonto kann durch den Admin gesperrt ('Benutzer ist gesperrt') oder entsperrt werden. Das Konto wird vom Server bei zuvielen Fehlversuchen automatisch gesperrt.
Das Benutzerkonto hat ein gültig-bis Datum ('Benutzerkonto Ablauf' ). Danach kann sich der Benutzer nicht mehr anmelden, aber er bekommt vom Server eine entsprechende Meldung.
Die ('Framed IP Adresse' ) gibt an, welche (private) IP-Adresse dem VPN-Client zugewiesen werden soll. 255.255.255.255 bedeutet, dass der Client die Adresse selber wählen darf. 255.255.255.254 bedeutet, dass dem Client eine IP-Adresse aus einem Pool automatisch zugewiesen werden soll.
Ist für einen Benutzer eine 'Framed IP Adresse' definiert, werden zudem automatisch folgende RADIUS Attribute zurückgegeben: Service-Type=Framed und Framed-Protocol=PPP
Die 'Authentifizierungsmethode' gibt an, wie sich der Benutzer anmelden muss. Beim 'Nur-Passwort' Modus braucht es keinen Token (Einmalpasswort) und es wird nur das Passwort geprüft. DIE VERWENDUNG DIESES MODUS IST NICHT EMPFOHLEN, WEIL ER DIE ZUGRIFFSSICHERHEIT EXTREM SCHWAECHT !!! Beim 'Token zusenden' Modus meldet sich der Benutzer zuerst nur mit Passwort an, wobei dieser erste Versuch vom Server immer abgewiesen wird. Wenn das Passwort aber stimmt, generiert der Server einen Token und sendet ihn an den Benutzer. Dieser meldet sich dann ein zweites Mal an, diesmal mit Passwort+Token.
Beim 'TOTP' Modus verwendet der Benutzer eine App (z.B. Google Authenticator oder FreeOTP), um den Token zu erzeugen. Dann meldet er sich mit Passwort+Token an.
'Adresse 1', 'Adresse 2' und 'Adresse 3' können aktiv oder inaktiv sein und werden benutzt, um den Token an den Benutzer zu senden, indem das entsprechende Script (taRadiusSrv-SendTokenX.cmd) aufgerufen wird. Die Adressen können beliebig definiert werden, z.B. eine email-Adresse oder eine handy/pager Nummer. Wie genau diese Adressen verwendet werden, um dem Benutzer das Einmalpasswort zu senden, bleibt den Scripts überlassen.
Im 'TOTP' Bereich können die TOTP Parameter festgelegt werden. Google Authenticator verwendet HmacSHA1 mit 6 Ziffern und einem Zeitintervall von 30 Sekunden. Bei FreeOTP sind diese Parameterwerte wählbar. Mit dem Knopf 'Neuer Schlüssel' wird ein neuer Schlüssel erzeugt und als Vorschlag angezeigt. Dieser Schlüssel muss in der App eingegeben werden, damit App und Server die gleiche Zahlenreihe erzeugen. Wenn Sie ein Hardware Gerät verwenden, wo der Schlüssel fix vorgegeben ist, können Sie anstelle des generierten Vorschlags diesen Schlüssel hier eingeben (im Base32 Format). Mit dem 'Test' Knopf können Sie anschliessend prüfen, ob die App (bzw. das Gerät) und der Server den gleichen Token erzeugen.
Unter 'Bemerkungen' kann ein beliebiger beschreibender Text eingegeben werden.
taRadiusSrv überwachen
The Server logt alle Anfragen und alle Admin Aktionen in der taRadiusSrv.log Datei. Diese Datei ist im taRadiusSrv Datenverzeichnis und nur der Admin (und der Server natürlich) sollten darauf Zugriff haben.
Die letzten 30 Zeilen (konfigurierbar unter 'Einstellungen') der Log Datei (ohne Admin Aktionen) werden in die Datei html\index.html geschrieben und können deshalb mit einem Web Browser eingesehen werden, wenn der Webserver entsprechend konfiguriert ist.
Wenn Sie aktiv testen wollen, ob der RADIUS Server noch läuft, können Sie mit dem eingebauten Spezialbenutzer '_monitor' (es kann ein beliebiger PIN verwendet werden) eine Anmeldeanfrage machen. Für diesen Benutzer wird der Zugriff immer verweigert, aber durch die negative Antwort weiss man, dass der Server noch läuft. Sie können diese Ueberwachungsanfragen in der Log Datei unterdrücken lassen (siehe Einstellungen).
Erweiterung der Lizenz
Wenn Ihre Benutzer Datenbank wächst und die Lizenz zu klein wird, können Sie die Lizenz durch eine grössere ersetzen. Folgen Sie folgendem Prozess:
- Kontaktieren Sie Tanapro GmbH und kaufen Sie eine grössere Lizenz.
- Senden Sie eine Kopie Ihrer alten Lizenzdatei (taRadiusSrv.license) an Tanapro und Sie werden umgehend eine neue Lizenzdatei erhalten.
- Benennen Sie Ihre alte Lizenzdatei um, so dass sie nicht überschrieben wird (falls Sie Probleme mit der neuen Lizenzdatei haben sollten, könnten Sie wieder auf die alte Version wechseln).
- Kopieren Sie die neue Lizenzdatei ins Unterverzeichnis 'data' von taRadiusSrv.
- Starten Sie den RADIUS Server neu.