RADIUS-Authentifizierung
Junos OS 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 Anweisung auf Hierarchieebene einfügen.radius-server
[edit system]
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. Weist dem Benutzervorlagenkonto standardmäßig RADIUS-authentifizierte Benutzer zu, falls konfiguriert, wenn:Junos OSremote
-
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 Vorlage nicht konfiguriert ist, schlägt die Authentifizierung fehl.remote
Der Benutzername ist ein Sonderfall und muss immer in Kleinbuchstaben geschrieben werden.remote
Junos OS Sie dient als Vorlage für Benutzer, die von einem Remoteserver authentifiziert werden, aber kein lokal konfiguriertes Benutzerkonto auf dem Gerät haben. Wendet die Berechtigungen der Vorlage auf authentifizierte Benutzer ohne lokal definiertes Konto an.Junos OSremote
Alle Benutzer, die der Vorlage zugeordnet sind, befinden sich in derselben Anmeldeklasse.remote
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 werden Authentifizierungs-, Autorisierungs- und Abrechnungspakete für RADIUS über die Standard-Routinginstanz geleitet.Junos OS Sie können RADIUS-Pakete auch über eine Verwaltungsschnittstelle in einer nicht standardmäßigen VRF-Instanz weiterleiten.
So leiten Sie RADIUS-Pakete durch die Verwaltungsinstanz weiter:mgmt_junos
-
Aktivieren Sie die Verwaltungsinstanz.
mgmt_junos
[edit system] user@host# set management-instance
-
Konfigurieren Sie die Anweisung für den RADIUS-Authentifizierungsserver und den RADIUS-Kontoführungsserver, sofern konfiguriert.
routing-instance mgmt_junos
[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 Benutzervorlage zugewiesen, sofern konfiguriert.remote
In diesem Beispiel wird die Benutzervorlage konfiguriert.remote
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 Konfigurationsmodus ein .[edit]
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 Option hinzu.
radius
[edit system] user@host# set authentication-order [radius password]
- Konfigurieren Sie die Benutzervorlage und ihre Anmeldeklasse.
remote
[edit system] user@host# set login user remote class operator
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie den Befehl eingeben.show system
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 in den Konfigurationsmodus.commit
Überprüfung
Vergewissern Sie sich, dass die Konfiguration ordnungsgemäß funktioniert.
Überprüfen der RADIUS-Serverkonfiguration
Zweck
Stellen Sie sicher, dass der RADIUS-Server Benutzer authentifiziert.
Was
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.
Konfigurieren der RADIUS-Authentifizierung (QFX-Serie oder OCX-Serie)
Die RADIUS-Authentifizierung ist eine Methode zur Authentifizierung von Benutzern, die versuchen, auf den Router oder Switch zuzugreifen. Aufgaben zum Konfigurieren der RADIUS-Authentifizierung sind:
Die Anweisung wird auf Hierarchieebene im QFabric-System nicht unterstützt.source-address
[edit system-radius-server name]
- Konfigurieren von RADIUS-Serverdetails
- Konfigurieren von MS-CHAPv2 für die Unterstützung von Kennwortänderungen
- Angeben einer Quelladresse für das Junos-Betriebssystem für den Zugriff auf externe RADIUS-Server
Konfigurieren von RADIUS-Serverdetails
Um die RADIUS-Authentifizierung auf dem Router oder Switch zu verwenden, konfigurieren Sie Informationen zu einem oder mehreren RADIUS-Servern im Netzwerk, indem Sie für jeden RADIUS-Server eine Anweisung auf Hierarchieebene einfügen:radius-server
[edit system]
[edit system] radius-server server-address { accounting-port port-number; accounting-retry number; accounting-timeout seconds; dynamic-request-port number; max-outstanding-requests value; port number; preauthentication-port number; preauthentication-secret secret; retry number; routing-instance routing-instance-name; secret password; source-addresssource-address; timeout seconds; }
server-address ist die Adresse des RADIUS-Servers.
Sie können einen Port angeben, über den der RADIUS-Server kontaktiert werden soll. Standardmäßig wird die Portnummer 1812 verwendet (wie in RFC 2865 angegeben). Sie können auch einen Accounting-Port zum Senden von Accounting-Paketen angeben. Der Standardwert ist 1813 (wie in RFC 2866 angegeben).
Sie müssen in der Anweisung ein Kennwort angeben.secret password
Wenn das Kennwort Leerzeichen enthält, schließen Sie es in Anführungszeichen ein. Das vom lokalen Router oder Switch verwendete Geheimnis muss mit dem vom Server verwendeten Geheimnis übereinstimmen.
Optional können Sie die Zeitspanne angeben, die der lokale Router oder Switch auf den Empfang einer Antwort von einem RADIUS-Server wartet (in der Anweisung) und die Häufigkeit, mit der der Router oder Switch versucht, einen RADIUS-Authentifizierungsserver zu kontaktieren (in der Anweisung).timeout
retry
Standardmäßig wartet der Router oder Switch 3 Sekunden. Sie können diesen Wert auf einen Wert zwischen 1 und 90 Sekunden konfigurieren. Standardmäßig versucht der Router oder Switch dreimal, eine Verbindung zum Server herzustellen. Sie können diesen Wert so konfigurieren, dass es sich um einen Wert von 1 bis 10 Mal handelt.
Sie können die Anweisung verwenden, um eine logische Adresse für einzelne Server oder mehrere RADIUS-Server anzugeben.source-address
Um mehrere RADIUS-Server zu konfigurieren, schließen Sie mehrere Anweisungen ein.radius-server
Um eine Gruppe von Benutzern zu konfigurieren, die zu Autorisierungszwecken ein einzelnes Konto gemeinsam nutzen, erstellen Sie einen Vorlagenbenutzer. Fügen Sie dazu die Anweisung auf Hierarchieebene ein, wie in beschrieben.user
[edit system login]
Beispiel: Authentifizierungsreihenfolge konfigurieren
Sie können die RADIUS-Authentifizierung auch auf der Hierarchieebene und konfigurieren.[edit access]
[edit access profile]
Junos OS verwendet die folgende Suchreihenfolge, um zu bestimmen, welche Gruppe von Servern für die Authentifizierung verwendet wird:
[edit access profile profile-name radius-server server-address]
[edit access radius-server server-address]
[edit system radius-server server-address]
Konfigurieren von MS-CHAPv2 für die Unterstützung von Kennwortänderungen
Bevor Sie MS-CHAPv2 für die Unterstützung von Kennwortänderungen konfigurieren, stellen Sie sicher, dass Sie:
Konfigurieren Sie die Authentifizierungsparameter des RADIUS-Servers.
Legen Sie fest , dass der RADIUS-Server für den ersten Kennwortversuch verwendet werden soll.authentication-order
Sie können die Microsoft-Implementierung des Challenge Handshake Authentication Protocol Version 2 (MS-CHAPv2) auf dem Router oder Switch so konfigurieren, dass das Ändern von Kennwörtern unterstützt wird. Diese Funktion bietet Benutzern, die auf einen Router oder Switch zugreifen, die Möglichkeit, das Kennwort zu ändern, wenn das Kennwort abläuft, zurückgesetzt wird oder so konfiguriert ist, dass es bei der nächsten Anmeldung geändert wird.
Fügen Sie zum Konfigurieren von MS-CHAP-v2 die folgenden Anweisungen auf Hierarchieebene ein:[edit system radius-options]
[edit system radius-options] password-protocol mschap-v2;
Das folgende Beispiel zeigt Anweisungen zum Konfigurieren des MS-CHAPv2-Kennwortprotokolls, der Kennwortauthentifizierungsreihenfolge und der Benutzerkonten:
[edit] system { authentication-order [ radius password ]; radius-server { 192.168.69.149 secret "$ABC123"; ## SECRET-DATA } radius-options { password-protocol mschap-v2; } login { user bob { class operator; } } }
Angeben einer Quelladresse für das Junos-Betriebssystem für den Zugriff auf externe RADIUS-Server
Sie können angeben, welche Quelladresse Junos OS beim Zugriff auf Ihr Netzwerk verwendet, um einen externen RADIUS-Server zur Authentifizierung zu kontaktieren. Sie können auch angeben, welche Quelladresse Junos OS verwendet, wenn ein RADIUS-Server zum Senden von Abrechnungsinformationen kontaktiert wird.
Um eine Quelladresse für einen RADIUS-Server anzugeben, fügen Sie die Anweisung auf Hierarchieebene ein:source-address
[edit system radius-server server-address]
[edit system radius-server server-address] source-address source-address;
source-address ist eine gültige IP-Adresse, die auf einer der Router- oder Switch-Schnittstellen konfiguriert ist.
Herstellerspezifische RADIUS-Attribute von Juniper Networks
Junos OS unterstützt die Konfiguration von herstellerspezifischen RADIUS-Attributen (VSAs) von Juniper Networks auf dem Authentifizierungsserver. Diese VSAs sind in einem herstellerspezifischen RADIUS-Attribut gekapselt, wobei die Anbieter-ID auf die Juniper Networks-ID-Nummer 2636 festgelegt ist.
Tabelle 1 listet die VSAs von Juniper Networks auf, die Sie konfigurieren können.
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 |
Typ |
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. HINWEIS:
Wenn der RADIUS-Server das Attribut definiert, um einem Benutzer die Berechtigung oder Berechtigung zu erteilen, enthält die Liste der Gruppenmitgliedschaften des Benutzers nicht automatisch die UNIX-Radgruppe. |
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. |
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 |
Ganzzahl |
Juniper-Allow-Configuration-Regexps (nur RADIUS) |
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 (nur RADIUS) |
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 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",
Hier einige Zahlen zum Generationswechsel:
Juniper-User-Permissions += "interface interface-control configure",
-
Ein TACACS+-Server verwendet das folgende Attribut und die folgende Syntax:
user-permissions = "flag1 flag2 flag3"
Hier einige Zahlen zum Generationswechsel:
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)",
Hier einige Zahlen zum Generationswechsel:
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)"
Hier einige Zahlen zum Generationswechsel:
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 Anweisungen entsprechen, die Sie auf dem lokalen Gerät konfigurieren können.*-regexps
Die Attribute TACACS+ und RADIUS 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.*-regexps
*-Regexps
-
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 eindeutig sein, dürfen aber nicht sequenziell sein.n 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 Befehl 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.
show cli authorization
Benutzer können ihre Klasse, Berechtigungen sowie Befehls- und Konfigurationsautorisierung überprüfen, indem sie den Befehl Betriebsmodus ausgeben.show cli authorization
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.
Juniper-Switching-Filter VSA-Richtlinien, Übereinstimmungsbedingungen und -aktionen
Geräte unterstützen die Konfiguration von RADIUS-Serverattributen, die für Juniper Networks spezifisch sind. Diese Attribute werden als herstellerspezifische Attribute (VSAs) bezeichnet und in RFC 2138, Remote Authentication Dial In User Service (RADIUS), beschrieben. Herstellerspezifische Attribute erweitern die Funktionalität des RADIUS-Servers über die von den öffentlichen Standardattributen bereitgestellten Funktionen hinaus und ermöglichen die Implementierung vieler nützlicher Funktionen, die für die Abonnentenverwaltung und den Servicesupport erforderlich sind.
Bei den VSAs von Juniper Networks ist die Hersteller-ID auf 2636 festgelegt.
Attribute sind Klartextfelder, die vom RADIUS-Server an das Gerät gesendet werden, wenn die Authentifizierung erfolgreich oder fehlgeschlagen ist. Die Authentifizierung verhindert unbefugten Benutzerzugriff, indem ein Supplicant am Port blockiert wird, bis das Gerät vom RADIUS-Server authentifiziert wurde. Durch die Implementierung von Filterattributen mit Authentifizierung auf dem RADIUS-Server wird ein zentraler Speicherort für die Steuerung des LAN-Zugriffs für Supplicants bereitgestellt.
Das Juniper-Switching-Filter-Attribut arbeitet in Verbindung mit der 802.1X-Authentifizierung, um den Zugriff von Supplicants auf das Netzwerk zentral zu steuern. Sie können dieses Attribut verwenden, um Filter auf dem RADIUS-Server zu konfigurieren. Diese Filter werden an den Switch gesendet und auf Benutzer angewendet, die mit 802.1X-Authentifizierung authentifiziert wurden.
Der Juniper-Switching-Filter kann einen oder mehrere Filterbegriffe enthalten. Filterbegriffe werden mit einer oder mehreren Übereinstimmungsbedingungen und einer resultierenden Aktion konfiguriert. Übereinstimmungsbedingungen sind die Kriterien, die ein Paket erfüllen muss, damit eine konfigurierte Aktion darauf angewendet wird. Die konfigurierte Aktion ist die Aktion, die der Switch ausführt, wenn ein Paket die in den Übereinstimmungsbedingungen angegebenen Kriterien erfüllt. Die Aktion, die der Switch ausführen kann, besteht darin, ein Paket entweder zu akzeptieren oder abzulehnen.
Durch das Hinzufügen eines Portfirewallfilters zu einem RADIUS-Server entfällt die Notwendigkeit, den Filter mehreren Ports und Geräten hinzuzufügen. Eine Möglichkeit, dies zu tun, besteht darin, einen zuvor konfigurierten Port-Firewall-Filter mithilfe der VSA Juniper-Firewall-filter-name direkt auf den RADIUS-Server anzuwenden.https://www.juniper.net/documentation/us/en/software/junos/subscriber-mgmt-sessions/topics/topic-map/radius-std-attributes-vsas-support.html#id-radius-attributes-and-juniper-networks-vsas-supported-by-the-aaa-service-framework Wie Portfilterattribute wird dieser Filter während des Authentifizierungsprozesses angewendet, und seine Aktionen werden am Geräteport angewendet.
VSA-Richtlinien
Herstellerspezifische RADIUS-Attribute dürfen maximal 247 Zeichen pro Attribut enthalten. Wenn mehr Länge erforderlich ist, unterstützt Juniper mehrere Instanzen desselben Attributs mit bis zu 4000 Zeichen. Um Filter zu unterstützen, die länger als 247 Zeichen sind, verwenden Sie mehrere Juniper-Switching-Filter-Attribute. Das folgende Beispiel zeigt zwei Attribute, die jeweils einen neuen Filterbegriff enthalten, der innerhalb des Grenzwerts von 247 Zeichen liegt:
Juniper-Switching-Filter = "Match ip-protocol 17 destination-port 67 Destination-ip 192.168.1.0/24 Action deny, match destination-ip 10.1.7.253 destination-port 53 action allow" Juniper-Switching-Filter += "Match ip-protocol 1 destination-port 4000 Destination-ip 192.168.21.0/24 Action deny"
Die Begrenzung auf 4000 Zeichen hängt von der unterstützten MTU sowohl auf dem RADIUS-Server als auch auf dem Juniper-Gerät sowie von der Anzahl der anderen verwendeten RADIUS-Attribute ab.
Die folgenden Richtlinien gelten für VSA-Übereinstimmungsbedingungen und -Aktionen:
-
Sowohl die Erklärung als auch die Erklärung sind obligatorisch.
match
action
-
Wenn keine Übereinstimmungsbedingung angegeben ist, wird jedes Paket standardmäßig als Übereinstimmung betrachtet.
-
Wenn keine Aktion angegeben ist, besteht die Standardaktion darin, das Paket abzulehnen.
-
Jede oder alle Optionen können in jeder and-Anweisung enthalten sein.
match
action
-
Die UND-Verknüpfung wird für Felder eines anderen Typs ausgeführt und durch Kommas getrennt. Felder desselben Typs können nicht wiederholt werden.
-
Damit die Option angewendet werden kann, muss die Weiterleitungsklasse auf dem Switch konfiguriert werden.
forwarding-class
Wenn die Weiterleitungsklasse auf dem Switch nicht konfiguriert ist, wird diese Option ignoriert.
Spielbedingungen
beschreibt die Übereinstimmungsbedingungen, die Sie angeben können, wenn Sie ein VSA-Attribut mithilfe des Befehls auf dem RADIUS-Server als Firewallfilter konfigurieren.Tabelle 2match
Die Zeichenfolge, die eine Übereinstimmungsbedingung definiert, wird als Übereinstimmungsanweisung bezeichnet.
Option |
Beschreibung |
---|---|
|
MAC-Adresse (Destination Media Access Control) des Pakets. |
|
Tag-Wert im 802.1Q-Header im Bereich bis . |
|
Adresse des endgültigen Zielknotens. |
|
IPv4-Protokollwert. Anstelle des numerischen Werts können Sie eines der folgenden Textsynonyme angeben: , , , , , oder |
|
TCP- oder UDP-Quellportfeld (User Datagram Protocol). Normalerweise geben Sie diese match-Anweisung in Verbindung mit der match-Anweisung an, um zu bestimmen, welches Protokoll auf dem Port verwendet wird. |
|
TCP- oder UDP-Zielportfeld. Normalerweise geben Sie diese match-Anweisung in Verbindung mit der match-Anweisung an, um zu bestimmen, welches Protokoll auf dem Port verwendet wird. , , , |
Aktionen
Wenn Sie einen oder mehrere Begriffe definieren, die die Filterkriterien angeben, definieren Sie auch die Aktion, die ausgeführt werden soll, wenn das Paket alle Kriterien erfüllt. Zeigt die Aktionen an, die Sie in einem Begriff angeben können.Tabelle 3
Option |
Beschreibung |
---|---|
( | ) |
Akzeptieren Sie ein Paket oder verwerfen Sie ein Paket im Hintergrund, ohne eine ICMP-Nachricht (Internet Control Message Protocol) zu senden. |
|
(Optional) Klassifizieren Sie das Paket in eine der folgenden Weiterleitungsklassen:
|
( | | ) |
(Optional) Legen Sie die Paketverlustpriorität (PLP) auf , oder fest. |
Siehe auch
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; } } } } }
Tabellarischer Änderungsverlauf
Die Unterstützung der Funktion hängt von der Plattform und der Version ab, die Sie benutzen. Verwenden Sie Feature Explorer, um festzustellen, ob eine Funktion auf Ihrer Plattform unterstützt wird.