RADIUS-Authentifizierung
Junos OS Evolved unterstützt RADIUS für die zentrale Authentifizierung von Benutzern auf Netzwerkgeräten. Um die RADIUS-Authentifizierung auf dem Gerät verwenden zu können, müssen Sie (der Netzwerkadministrator) Informationen zu einem oder mehreren RADIUS-Servern im Netzwerk konfigurieren. Sie können die RADIUS-Kontoführung auch auf dem Gerät so konfigurieren, dass statistische Daten über die Benutzer erfasst werden, die sich bei einem LAN an- oder abmelden, und die Daten an einen RADIUS-Kontoführungsserver senden.
Konfigurieren der RADIUS-Serverauthentifizierung
Die RADIUS-Authentifizierung ist eine Methode zur Authentifizierung von Benutzern, die versuchen, auf ein Netzwerkgerät zuzugreifen. In den folgenden Abschnitten wird beschrieben, warum Sie RADIUS verwenden und wie Sie es konfigurieren.
- Warum RADIUS verwenden?
- Konfigurieren von RADIUS-Serverdetails
- Konfigurieren von RADIUS für die Verwendung der Verwaltungsinstanz
Warum RADIUS verwenden?
Sie (der Netzwerkadministrator) können verschiedene Protokolle für die zentrale Authentifizierung von Benutzern auf Netzwerkgeräten verwenden, einschließlich RADIUS und TACACS+. Wir empfehlen RADIUS, da es sich um einen herstellerübergreifenden IETF-Standard handelt und seine Funktionen weithin akzeptiert sind als die von TACACS+ oder anderen proprietären Systemen. Darüber hinaus empfehlen wir für erhöhte Sicherheit die Verwendung eines Einmal-Passwort-Systems, und alle Anbieter dieser Systeme unterstützen RADIUS.
Sie sollten RADIUS verwenden, wenn Ihre Prioritäten Interoperabilität und Leistung sind:
-
Interoperabilität: RADIUS ist interoperabler als TACACS+, was vor allem auf den proprietären Charakter von TACACS+ zurückzuführen ist. Während TACACS+ mehr Protokolle unterstützt, wird RADIUS universell unterstützt.
-
Leistung: RADIUS schont Ihre Router und Switches erheblich. Aus diesem Grund bevorzugen Netzwerktechniker im Allgemeinen RADIUS gegenüber TACACS+.
Konfigurieren von RADIUS-Serverdetails
Um die RADIUS-Authentifizierung auf dem Gerät zu verwenden, konfigurieren Sie Informationen zu einem oder mehreren RADIUS-Servern im Netzwerk, indem Sie für jeden RADIUS-Server eine radius-server Anweisung auf Hierarchieebene [edit system] einfügen. Das Gerät fragt die RADIUS-Server in der Reihenfolge ab, in der sie konfiguriert sind. Wenn der primäre Server (der erste konfigurierte) nicht verfügbar ist, versucht das Gerät, jeden Server in der Liste zu kontaktieren, bis es eine Antwort erhält.
Das Netzwerkgerät kann RADIUS-authentifizierte Benutzer einem lokal definierten Benutzerkonto oder Benutzervorlagenkonto zuordnen, das die Autorisierung bestimmt. Standardmäßig weist Junos OS Evolved dem Benutzervorlagenkonto remoteRADIUS-authentifizierte Benutzer zu, sofern konfiguriert, wenn:
-
Für den authentifizierten Benutzer ist auf dem lokalen Gerät kein Benutzerkonto konfiguriert.
-
Der RADIUS-Server weist den Benutzer entweder keiner lokalen Benutzervorlage zu, oder die Vorlage, die der Server zuweist, ist auf dem lokalen Gerät nicht konfiguriert.
Der RADIUS-Server kann einen authentifizierten Benutzer einer anderen Benutzervorlage zuweisen, um diesem Benutzer unterschiedliche Administratorberechtigungen zu erteilen. Der Benutzer behält denselben Anmeldenamen in der CLI bei, erbt jedoch die Anmeldeklasse, die Zugriffsrechte und die effektive Benutzer-ID von der zugewiesenen Vorlage. Wenn der RADIUS-authentifizierte Benutzer keinem lokal definierten Benutzerkonto oder keiner Benutzervorlage zugeordnet ist und die remote Vorlage nicht konfiguriert ist, schlägt die Authentifizierung fehl.
Der remote Benutzername ist ein Sonderfall in Junos OS Evolved und muss immer in Kleinbuchstaben geschrieben werden. Sie dient als Vorlage für Benutzer, die von einem Remoteserver authentifiziert werden, aber kein lokal konfiguriertes Benutzerkonto auf dem Gerät haben. Junos OS Evolved wendet die Berechtigungen der remote Vorlage auf authentifizierte Benutzer ohne lokal definiertes Konto an. Alle Benutzer, die der remote Vorlage zugeordnet sind, befinden sich in derselben Anmeldeklasse.
Da Sie die Remoteauthentifizierung auf mehreren Geräten konfigurieren, ist es üblich, sie innerhalb einer Konfigurationsgruppe zu konfigurieren. Die hier gezeigten Schritte finden in einer Konfigurationsgruppe namens global. Die Verwendung einer Konfigurationsgruppe ist optional.
So konfigurieren Sie die Authentifizierung durch einen RADIUS-Server:
Konfigurieren von RADIUS für die Verwendung der Verwaltungsinstanz
Standardmäßig leitet Junos OS Evolved Authentifizierungs-, Autorisierungs- und Abrechnungspakete für RADIUS über die Standard-Routing-Instanz. Sie können RADIUS-Pakete auch über eine Verwaltungsschnittstelle in einer nicht standardmäßigen VRF-Instanz weiterleiten.
So leiten Sie RADIUS-Pakete durch die mgmt_junos Verwaltungsinstanz weiter:
-
Aktivieren Sie die
mgmt_junosVerwaltungsinstanz.[edit system] user@host# set management-instance
-
Konfigurieren Sie die
routing-instance mgmt_junosAnweisung für den RADIUS-Authentifizierungsserver und den RADIUS-Kontoführungsserver, sofern konfiguriert.[edit system] user@host# set radius-server server-address routing-instance mgmt_junos user@host# set accounting destination radius server server-address routing-instance mgmt_junos
Beispiel: Konfigurieren eines RADIUS-Servers für die Systemauthentifizierung
In diesem Beispiel wird die Systemauthentifizierung über einen RADIUS-Server konfiguriert.
Anforderungen
Bevor Sie beginnen:
-
Führen Sie die Erstkonfiguration des Geräts durch. Weitere Informationen finden Sie im Handbuch "Erste Schritte" für Ihr Gerät.
-
Richten Sie mindestens einen RADIUS-Server in Ihrem Netzwerk ein.
Überblick
In diesem Beispiel fügen Sie einen neuen RADIUS-Server mit der IP-Adresse 172.16.98.1 hinzu. Sie geben das gemeinsame geheime Kennwort des RADIUS-Servers als Radiussecret1 an. Das Gerät speichert den geheimen Schlüssel als verschlüsselten Wert in der Konfigurationsdatenbank. Schließlich geben Sie die Quelladresse an, die das Gerät in RADIUS-Serveranforderungen verwendet. In den meisten Fällen können Sie die Loopback-Adresse des Geräts verwenden, die in diesem Beispiel 10.0.0.1 lautet.
Sie können die Unterstützung für mehrere Benutzerauthentifizierungsmethoden, z. B. lokale Kennwortauthentifizierung, RADIUS und TACACS+, auf dem Netzwerkgerät konfigurieren. Wenn Sie mehrere Authentifizierungsmethoden konfigurieren, können Sie die Reihenfolge, in der das Gerät die verschiedenen Methoden ausprobiert, priorisieren. In diesem Beispiel konfigurieren Sie das Gerät so, dass es zuerst RADIUS-Authentifizierungsdienste verwendet und dann, wenn dies fehlschlägt, die lokale Kennwortauthentifizierung versucht.
Ein RADIUS-authentifizierter Benutzer muss einem lokalen Benutzerkonto oder einem lokalen Benutzervorlagenkonto auf dem Netzwerkgerät zugeordnet werden, wodurch die Autorisierung bestimmt wird. Wenn ein RADIUS-authentifizierter Benutzer nicht einem lokalen Benutzerkonto oder einer bestimmten Benutzervorlage zugeordnet ist, wird der Benutzer standardmäßig der remote Benutzervorlage zugewiesen, sofern konfiguriert. In diesem Beispiel wird die remote Benutzervorlage konfiguriert.
Konfiguration
Verfahren
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle Details, die für Ihre Netzwerkkonfiguration erforderlich sind, kopieren Sie die Befehle und fügen Sie sie in die CLI auf Hierarchieebene ein, und geben Sie sie dann aus dem [edit] Konfigurationsmodus ein commit .
set system radius-server 172.16.98.1 set system radius-server 172.16.98.1 secret Radiussecret1 set system radius-server 172.16.98.1 source-address 10.0.0.1 set system authentication-order [radius password] set system login user remote class operator
Schritt-für-Schritt-Anleitung
So konfigurieren Sie einen RADIUS-Server für die Systemauthentifizierung:
-
Fügen Sie einen neuen RADIUS-Server hinzu, und legen Sie dessen IP-Adresse fest.
[edit system] user@host# set radius-server 172.16.98.1
-
Geben Sie den gemeinsamen geheimen Schlüssel (Kennwort) des RADIUS-Servers an.
[edit system] user@host# set radius-server 172.16.98.1 secret Radiussecret1
-
Geben Sie die Loopback-Adresse des Geräts als Quelladresse an.
[edit system] user@host# set radius-server 172.16.98.1 source-address 10.0.0.1
-
Geben Sie die Reihenfolge der Authentifizierung des Geräts an, und fügen Sie die
radiusOption hinzu.[edit system] user@host# set authentication-order [radius password]
- Konfigurieren Sie die
remoteBenutzervorlage und ihre Anmeldeklasse.[edit system] user@host# set login user remote class operator
Befund
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie den show system Befehl eingeben. Wenn die Ausgabe nicht die gewünschte Konfiguration anzeigt, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.
Die folgende Ausgabe enthält nur die Teile der Konfigurationshierarchie, die für dieses Beispiel relevant sind.
[edit]
user@host# show system
login {
user remote {
class operator;
}
}
authentication-order [ radius password ];
radius-server {
172.16.98.1 {
secret "$9$ABC123"; ## SECRET-DATA
source-address 10.0.0.1;
}
}
Nachdem Sie das Gerät konfiguriert haben, wechseln Sie commit in den Konfigurationsmodus.
Verifizierung
Vergewissern Sie sich, dass die Konfiguration ordnungsgemäß funktioniert.
Überprüfen der RADIUS-Serverkonfiguration
Zweck
Stellen Sie sicher, dass der RADIUS-Server Benutzer authentifiziert.
Aktion
Melden Sie sich beim Netzwerkgerät an, und überprüfen Sie, ob die Anmeldung erfolgreich war. Um zu überprüfen, ob das Gerät den RADIUS-Server für die Authentifizierung verwendet, können Sie versuchen, sich mit einem Konto anzumelden, das in der Konfiguration kein lokales Authentifizierungskennwort definiert.
Herstellerspezifische RADIUS-Attribute von Juniper Networks
Junos OS Evolved unterstützt die Konfiguration von herstellerspezifischen RADIUS-Attributen (VSAs) von Juniper Networks auf dem RADIUS-Server. Diese VSAs sind in einem herstellerspezifischen RADIUS-Attribut gekapselt, wobei die Anbieter-ID auf die Juniper Networks-ID-Nummer 2636 festgelegt ist.
In Tabelle 1 sind die von Ihnen konfigurierbaren VSAs von Juniper Networks aufgeführt.
Einige der Attribute akzeptieren erweiterte reguläre Ausdrücke, wie sie in POSIX 1003.2 definiert sind. Wenn der reguläre Ausdruck Leerzeichen, Operatoren oder Platzhalterzeichen enthält, schließen Sie ihn in Anführungszeichen ein. Weitere Informationen finden Sie unter:
| Name |
Beschreibung |
Art |
Länge |
Schnur |
|---|---|---|---|---|
| Juniper-Local-Benutzername |
Gibt den Namen der Benutzervorlage an, die diesem Benutzer zugewiesen wird, wenn sich der Benutzer bei einem Gerät anmeldet. Dieses Attribut wird nur in Access-Accept-Paketen verwendet. |
1 |
≥3 |
Ein oder mehrere Oktette, die druckbare ASCII-Zeichen enthalten. |
| Juniper-Allow-Befehle |
Enthält einen erweiterten regulären Ausdruck, der es dem Benutzer ermöglicht, Befehle zusätzlich zu den Befehlen auszuführen, die durch die Berechtigungsbits der Anmeldeklasse des Benutzers autorisiert sind. Dieses Attribut wird nur in Access-Accept-Paketen verwendet. |
2 |
≥3 |
Ein oder mehrere Oktette, die druckbare ASCII-Zeichen in Form eines erweiterten regulären Ausdrucks enthalten. |
| Juniper-Deny-Befehle |
Enthält einen erweiterten regulären Ausdruck, der dem Benutzer die Berechtigung zum Ausführen von Befehlen verweigert, die durch die Berechtigungsbits der Anmeldeklasse des Benutzers autorisiert sind. Dieses Attribut wird nur in Access-Accept-Paketen verwendet. |
3 |
≥3 |
Ein oder mehrere Oktette, die druckbare ASCII-Zeichen in Form eines erweiterten regulären Ausdrucks enthalten. |
| Juniper-Allow-Konfiguration |
Enthält einen erweiterten regulären Ausdruck, der es dem Benutzer ermöglicht, Konfigurationsanweisungen zusätzlich zu den Anweisungen anzuzeigen und zu ändern, die durch die Anmeldeklassenberechtigungsbits des Benutzers autorisiert wurden. Dieses Attribut wird nur in Access-Accept-Paketen verwendet. |
4 |
≥3 |
Ein oder mehrere Oktette, die druckbare ASCII-Zeichen in Form eines erweiterten regulären Ausdrucks enthalten. |
| Juniper-Deny-Configuration |
Enthält einen erweiterten regulären Ausdruck, der dem Benutzer die Berechtigung zum Anzeigen oder Ändern von Konfigurationsanweisungen verweigert, die durch die Berechtigungsbits der Anmeldeklasse des Benutzers autorisiert wurden. Dieses Attribut wird nur in Access-Accept-Paketen verwendet. |
5 |
≥3 |
Ein oder mehrere Oktette, die druckbare ASCII-Zeichen in Form eines erweiterten regulären Ausdrucks enthalten. |
| Juniper-Interactive-Command |
Gibt den vom Benutzer eingegebenen interaktiven Befehl an. Dieses Attribut wird nur in Accounting-Request-Paketen verwendet. |
8 |
≥3 |
Ein oder mehrere Oktette, die druckbare ASCII-Zeichen enthalten. |
| Juniper-Konfigurationsänderung |
Gibt den interaktiven Befehl an, der zu einer Konfigurationsänderung (Datenbank) führt. Dieses Attribut wird nur in Accounting-Request-Paketen verwendet. |
9 |
≥3 |
Ein oder mehrere Oktette, die druckbare ASCII-Zeichen enthalten. |
| Juniper-Benutzerberechtigungen |
Enthält Informationen, die der Server zum Angeben von Benutzerberechtigungen verwendet. Dieses Attribut wird nur in Access-Accept-Paketen verwendet.
Anmerkung:
Wenn der RADIUS-Server das |
10 |
≥3 |
Ein oder mehrere Oktette, die druckbare ASCII-Zeichen enthalten. Die Zeichenfolge ist eine Liste von Berechtigungsflags, die durch ein Leerzeichen getrennt sind. Der genaue Name jeder Flagge muss vollständig angegeben werden. Weitere Informationen finden Sie unter Übersicht über Zugriffsberechtigungsstufen. |
| Juniper-Authentifizierungstyp |
Gibt die Authentifizierungsmethode (lokale Datenbank oder RADIUS-Server) an, die zur Authentifizierung eines Benutzers verwendet wird. Wenn der Benutzer über eine lokale Datenbank authentifiziert wird, wird im Attributwert "local" angezeigt. Wenn der Benutzer über einen RADIUS- oder LDAP-Server authentifiziert wird, wird im Attributwert "remote" angezeigt. |
11 |
≥5 |
Ein oder mehrere Oktette, die druckbare ASCII-Zeichen enthalten. |
| Juniper-Session-Port |
Gibt die Quellportnummer der eingerichteten Sitzung an. |
12 |
Größe der ganzen Zahl |
Ganze Zahl |
| Juniper-Allow-Configuration-Regexps |
Enthält einen erweiterten regulären Ausdruck, der es dem Benutzer ermöglicht, Konfigurationsanweisungen zusätzlich zu den Anweisungen anzuzeigen und zu ändern, die durch die Anmeldeklassenberechtigungsbits des Benutzers autorisiert wurden. Dieses Attribut wird nur in Access-Accept-Paketen verwendet. |
13 |
≥3 |
Ein oder mehrere Oktette, die druckbare ASCII-Zeichen in Form eines erweiterten regulären Ausdrucks enthalten. |
| Juniper-Deny-Configuration-Regexps |
Enthält einen erweiterten regulären Ausdruck, der dem Benutzer die Berechtigung zum Anzeigen oder Ändern von Konfigurationsanweisungen verweigert, die durch die Berechtigungsbits der Anmeldeklasse des Benutzers autorisiert wurden. Dieses Attribut wird nur in Access-Accept-Paketen verwendet. |
14 |
≥3 |
Ein oder mehrere Oktette, die druckbare ASCII-Zeichen in Form eines erweiterten regulären Ausdrucks enthalten. |
Weitere Informationen zu den VSAs finden Sie unter RFC 2138, Remote Authentication Dial In User Service (RADIUS).
Verwenden Sie reguläre Ausdrücke auf einem RADIUS- oder TACACS+-Server, um Befehle zuzulassen oder zu verweigern
Junos OS Evolved kann RADIUS- und TACACS+-authentifizierte Benutzer einem lokal definierten Benutzerkonto oder Benutzervorlagenkonto zuordnen, das die Zugriffsrechte des Benutzers definiert. Optional können Sie auch die Zugriffsrechte eines Benutzers konfigurieren, indem Sie auf dem jeweiligen Authentifizierungsserver RADIUS- und TACACS+-Anbieterspezifische Attribute (VSAs) von Juniper Networks definieren.
Die Anmeldeklasse eines Benutzers definiert den Satz von Berechtigungen, der bestimmt, welche Betriebsmodus- und Konfigurationsmodusbefehle ein Benutzer ausführen darf und welche Bereiche der Konfiguration ein Benutzer anzeigen und ändern kann. Eine Anmeldeklasse kann auch reguläre Ausdrücke definieren, die einem Benutzer zusätzlich zu dem, was die Berechtigungsflags autorisieren, die Ausführung bestimmter Befehle oder das Anzeigen und Ändern bestimmter Bereiche der Konfiguration ermöglichen oder verweigern. Eine login-Klasse kann die folgenden Anweisungen enthalten, um die Benutzerautorisierung zu definieren:
-
permissions -
allow-commands -
allow-commands-regexps -
allow-configuration -
allow-configuration-regexps -
deny-commands -
deny-commands-regexps -
deny-configuration -
deny-configuration-regexps
Ebenso kann eine RADIUS- oder TACACS+-Serverkonfiguration VSAs von Juniper Networks verwenden, um bestimmte Berechtigungen oder reguläre Ausdrücke zu definieren, die die Zugriffsrechte eines Benutzers bestimmen. Eine Liste der unterstützten RADIUS- und TACACS+-VSAs finden Sie unter:
- Herstellerspezifische RADIUS-Attribute von Juniper Networks
- Herstellerspezifische TACACS+-Attribute von Juniper Networks
Sie können Benutzerberechtigungen auf dem RADIUS- oder TACACS+-Server als eine Liste von durch Leerzeichen getrennten Werten definieren.
-
Ein RADIUS-Server verwendet das folgende Attribut und die folgende Syntax:
Juniper-User-Permissions += "flag1 flag2 flag3",
Zum Beispiel:
Juniper-User-Permissions += "interface interface-control configure",
-
Ein TACACS+-Server verwendet das folgende Attribut und die folgende Syntax:
user-permissions = "flag1 flag2 flag3"
Zum Beispiel:
user-permissions = "interface interface-control configure"
Ein RADIUS- oder TACACS+-Server kann auch VSAs von Juniper Networks definieren, die einen einzelnen erweiterten regulären Ausdruck (wie in POSIX 1003.2 definiert) verwenden, um einem Benutzer die Ausführung bestimmter Befehle oder das Anzeigen und Ändern von Bereichen der Konfiguration zu erlauben oder zu verweigern. Sie schließen mehrere Befehle oder Konfigurationshierarchien in Klammern ein und trennen sie durch ein Pipe-Symbol. Wenn der reguläre Ausdruck Leerzeichen, Operatoren oder Platzhalterzeichen enthält, schließen Sie ihn in Anführungszeichen ein. Wenn Sie Autorisierungsparameter sowohl lokal als auch remote konfigurieren, führt das Gerät die regulären Ausdrücke, die während der TACACS+- oder RADIUS-Autorisierung empfangen wurden, mit allen regulären Ausdrücken zusammen, die auf dem lokalen Gerät definiert sind.
-
Ein RADIUS-Server verwendet die folgenden Attribute und Syntax:
Juniper-Allow-Commands += "(cmd1)|(cmd2)|(cmdn)", Juniper-Deny-Commands += "(cmd1)|(cmd2)|(cmdn)", Juniper-Allow-Configuration += "(config1)|(config2)|(confign)", Juniper-Deny-Configuration += "(config1)|(config2)|(confign)",
Zum Beispiel:
Juniper-Allow-Commands += "(test)|(ping)|(quit)", Juniper-Deny-Commands += "(request)|(restart)", Juniper-Allow-Configuration += "(groups re0)|(system radius-server)", Juniper-Deny-Configuration += "(system radius-options)|(system accounting)",
-
Ein TACACS+-Server verwendet die folgenden Attribute und Syntax:
allow-commands = "(cmd1)|(cmd2)|(cmdn)" deny-commands = "(cmd1)|(cmd2)|(cmdn)" allow-configuration = "(config1)|(config2)|(confign)" deny-configuration = "(config1)|(config2)|(confign)"
Zum Beispiel:
allow-commands = "(test)|(ping)|(quit)" deny-commands = "(request)|(restart)" allow-configuration = "(groups re0)|(system tacplus-server)" deny-configuration = "(system tacplus-options)|(system accounting)"
RADIUS- und TACACS+-Server unterstützen auch die Konfiguration von Attributen, die denselben *-regexps Anweisungen entsprechen, die Sie auf dem lokalen Gerät konfigurieren können. Die *-regexps Attribute TACACS+ und RADIUS *-Regexps verwenden die gleiche Syntax für reguläre Ausdrücke wie die vorherigen Attribute, ermöglichen es Ihnen jedoch, reguläre Ausdrücke mit Variablen zu konfigurieren.
-
Ein RADIUS-Server verwendet die folgenden Attribute und Syntax:
Juniper-Allow-Configuration-Regexps += "(config1)|(config2)|(confign)", Juniper-Deny-Configuration-Regexps += "(config1)|(config2)|(confign)",
-
Ein TACACS+-Server verwendet die folgenden Attribute und Syntax:
allow-commands-regexps = "(cmd1)|(cmd2)|(cmdn)" deny-commands-regexps = "(cmd1)|(cmd2)|(cmdn)" allow-configuration-regexps = "(config1)|(config2)|(confign)" deny-configuration-regexps = "(config1)|(config2)|(confign)"
Beispielsweise kann die TACACS+-Serverkonfiguration die folgenden Attribute definieren:
allow-commands-regexps = "(show cli .*)|(ping 10.1.1..*)" deny-commands-regexps = "(configure .*)|(edit)|(commit)|(rollback .*)"
Auf einem RADIUS- oder TACACS+-Server können Sie die Attribute auch mit einer vereinfachten Syntax definieren, bei der Sie jeden einzelnen Ausdruck in einer separaten Zeile angeben.
Geben Sie für einen RADIUS-Server die einzelnen regulären Ausdrücke mit der folgenden Syntax an:
Juniper-User-Permissions += "permission-flag1", Juniper-User-Permissions += "permission-flag2", Juniper-User-Permissions += "permission-flagn", Juniper-Allow-Commands += "cmd1", Juniper-Allow-Commands += "cmd2", Juniper-Allow-Commands += "cmdn", Juniper-Deny-Commands += "cmd1", Juniper-Deny-Commands += "cmd2", Juniper-Deny-Commands += "cmdn", Juniper-Allow-Configuration += "config1", Juniper-Allow-Configuration += "config2", Juniper-Allow-Configuration += "confign", Juniper-Deny-Configuration += "config1", Juniper-Deny-Configuration += "config2", Juniper-Deny-Configuration += "confign",
Geben Sie für einen TACACS+-Server die einzelnen regulären Ausdrücke mit der folgenden Syntax an:
user-permissions1 = "permission-flag1" user-permissions2 = "permission-flag2" user-permissionsn = "permission-flagn" allow-commands1 = "cmd1" allow-commands2 = "cmd2" allow-commandsn = "cmdn" deny-commands1 = "cmd1" deny-commands2 = "cmd2" deny-commandsn = "cmdn" allow-configuration1 = "config1" allow-configuration2 = "config2" allow-configurationn = "confign" deny-configuration1 = "config1" deny-configuration2 = "config2" deny-configurationn = "confign"
-
In der TACACS+-Serversyntax müssen die numerischen Werte 1 bis n eindeutig sein, dürfen aber nicht sequenziell sein. Die folgende Syntax ist z. B. gültig:
allow-commands1="cmd1" allow-commands3="cmd3" allow-commands2="cmd2" deny-commands3="cmd3" deny-commands2="cmd2" deny-commands1="cmd1"
-
Der RADIUS- oder TACACS+-Server erzwingt eine Begrenzung für die Anzahl der einzelnen Zeilen mit regulären Ausdrücken.
-
Wenn Sie den
show cli authorizationBefehl ausgeben, wird der reguläre Ausdruck in der Befehlsausgabe in einer einzigen Zeile angezeigt, auch wenn Sie jeden einzelnen Ausdruck in einer separaten Zeile angeben.
Benutzer können ihre Klasse, Berechtigungen sowie Befehls- und Konfigurationsautorisierung überprüfen, indem sie den show cli authorization Befehl Betriebsmodus ausgeben.
user@host> show cli authorization
Wenn Sie die Autorisierungsparameter sowohl lokal auf dem Netzwerkgerät als auch remote auf dem RADIUS- oder TACACS+-Server konfigurieren, führt das Gerät die regulären Ausdrücke, die während der TACACS+- oder RADIUS-Autorisierung empfangen wurden, mit allen lokal konfigurierten regulären Ausdrücken zusammen. Wenn der letzte Ausdruck einen Syntaxfehler enthält, ist das Gesamtergebnis ein ungültiger regulärer Ausdruck.
Grundlegendes zur RADIUS-Abrechnung
Netzwerkgeräte unterstützen IETF RFC 2866, RADIUS Accounting. Sie können die RADIUS-Kontoführung auf einem Gerät so konfigurieren, dass statistische Daten über Benutzer erfasst werden, die sich bei einem LAN an- oder abmelden, und die Daten an einen RADIUS-Kontoführungsserver senden. Die statistischen Daten können für die allgemeine Netzwerküberwachung, die Analyse und Nachverfolgung von Nutzungsmustern oder die Abrechnung eines Benutzers auf der Grundlage der Dauer der Sitzung oder der Art der aufgerufenen Dienste verwendet werden.
Um die RADIUS-Kontoführung zu konfigurieren, geben Sie Folgendes an:
-
Einen oder mehrere RADIUS-Accounting-Server, um die statistischen Daten vom Gerät zu empfangen
-
Die Art der zu erfassenden Buchhaltungsdaten
Sie können denselben Server sowohl für die RADIUS-Kontoführung als auch für die Authentifizierung oder separate Server verwenden. Sie können eine Liste von RADIUS-Kontoführungsservern angeben. Das Gerät fragt die Server in der Reihenfolge ab, in der sie konfiguriert sind. Wenn der primäre Server (der erste konfigurierte) nicht verfügbar ist, versucht das Gerät, jeden Server in der Liste zu kontaktieren, bis es eine Antwort erhält.
Der RADIUS-Accounting-Prozess zwischen dem Gerät und einem RADIUS-Server funktioniert wie folgt:
-
Ein RADIUS-Accounting-Server lauscht auf UDP-Pakete (User Datagram Protocol) an einem bestimmten Port. Der Standardport für die RADIUS-Kontoführung ist 1813.
-
Das Gerät leitet ein Accounting-Request-Paket , das einen Ereignisdatensatz enthält, an den Accounting-Server weiter. Der Ereignisdatensatz, der diesem Supplicant zugeordnet ist, enthält ein Acct-Status-Type-Attribut , dessen Wert den Beginn des Benutzerdienstes für diesen Supplicant angibt. Wenn die Sitzung des Supplicants beendet wird, enthält die Buchhaltungsanforderung einen Acct-Status-Type-Attributwert , der das Ende des Benutzerdiensts angibt. Der RADIUS-Accounting-Server zeichnet dies als Stop-Accounting-Datensatz auf, der Sitzungsinformationen und die Länge der Sitzung enthält.
-
Der RADIUS-Accounting-Server protokolliert diese Ereignisse in einer Datei als start-accounting- oder stop-accounting-Datensätze. Bei FreeRADIUS ist der Dateiname die Adresse des Servers, z. B. 192.0.2.0.
-
Der Accounting-Server sendet ein Accounting-Response-Paket an das Gerät, in dem bestätigt wird, dass es die Accounting-Anfrage erhalten hat.
-
Wenn das Gerät kein Accounting-Response-Paket vom Server empfängt, sendet es weiterhin Accounting-Anforderungen, bis der Server eine Antwort zurückgibt.
Sie können die durch diesen Prozess gesammelten Statistiken auf dem RADIUS-Server anzeigen. Um diese Statistiken anzuzeigen, greifen Sie auf die Protokolldatei zu, die für den Empfang dieser Statistiken konfiguriert ist.
Konfigurieren der RADIUS-Systemabrechnung
Wenn Sie die RADIUS-Kontoführung aktivieren, können Geräte von Juniper Networks, die als RADIUS-Clients fungieren, den RADIUS-Server über Benutzeraktivitäten wie Softwareanmeldungen, Konfigurationsänderungen und interaktive Befehle benachrichtigen. Das Framework für die RADIUS-Kontoführung wird in RFC 2866, RADIUS Accounting, beschrieben.
Konfigurieren der Überwachung von Benutzerereignissen auf einem RADIUS-Server
So konfigurieren Sie die RADIUS-Kontoführung:
Im folgenden Beispiel werden drei Server (10.5.5.5, 10.6.6.6 und 10.7.7.7) für die RADIUS-Kontoführung konfiguriert:
system {
accounting {
events [ login change-log interactive-commands ];
destination {
radius {
server {
10.5.5.5 {
accounting-port 3333;
secret $ABC123;
source-address 10.1.1.1;
retry 3;
timeout 3;
}
10.6.6.6 secret $ABC123;
10.7.7.7 secret $ABC123;
}
}
}
}
}