Authentification RADIUS
Junos OS Evolved prend en charge RADIUS pour l’authentification centralisée des utilisateurs sur les équipements réseau. Pour utiliser l’authentification RADIUS sur l’appareil, vous (l’administrateur réseau) devez configurer les informations relatives à un ou plusieurs serveurs RADIUS sur le réseau. Vous pouvez également configurer la comptabilité RADIUS sur l’appareil pour collecter des données statistiques sur les utilisateurs qui se connectent ou se déconnectent d’un LAN et envoyer les données à un serveur de comptabilité RADIUS.
Configurer l’authentification du serveur RADIUS
L’authentification RADIUS est une méthode d’authentification des utilisateurs qui tentent d’accéder à un périphérique réseau. Les sections suivantes expliquent pourquoi utiliser RADIUS et comment le configurer.
- Pourquoi utiliser RADIUS
- Configurer les détails du serveur RADIUS
- Configurer RADIUS over TLS (RADSEC) pour l’authentification du système
- Configurer RADIUS pour utiliser l’instance de gestion
Pourquoi utiliser RADIUS
Vous (l’administrateur réseau) pouvez utiliser différents protocoles pour l’authentification centralisée des utilisateurs sur les équipements réseau, notamment RADIUS et TACACS+. Nous recommandons RADIUS car il s’agit d’une norme IETF multifournisseur et ses fonctionnalités sont plus largement acceptées que celles de TACACS+ ou d’autres systèmes propriétaires. En outre, nous vous recommandons d’utiliser un système de mot de passe à usage unique pour une sécurité accrue, et tous les fournisseurs de ces systèmes prennent en charge RADIUS.
Vous devez utiliser RADIUS lorsque vos priorités sont l’interopérabilité et les performances :
-
Interopérabilité : RADIUS est plus interopérable que TACACS+, principalement en raison de la nature propriétaire de TACACS+. Bien que TACACS+ prenne en charge davantage de protocoles, RADIUS est universellement pris en charge.
-
Performances : RADIUS est beaucoup plus léger sur vos routeurs et commutateurs. Pour cette raison, les ingénieurs réseau préfèrent généralement RADIUS à TACACS+.
Configurer les détails du serveur RADIUS
Pour utiliser l’authentification RADIUS sur l’appareil, configurez les informations relatives à un ou plusieurs serveurs RADIUS sur le réseau en incluant une radius-server instruction au niveau de la [edit system] hiérarchie pour chaque serveur RADIUS. L’appareil interroge les serveurs RADIUS dans l’ordre dans lequel ils sont configurés. Si le serveur principal (le premier configuré) n’est pas disponible, l’appareil tente de contacter chaque serveur de la liste jusqu’à ce qu’il reçoive une réponse.
L’équipement réseau peut mapper des utilisateurs authentifiés par RADIUS à un compte d’utilisateur défini localement ou à un compte de modèle d’utilisateur, qui détermine l’autorisation. Par défaut, Junos OS Evolved assigne les utilisateurs authentifiés par RADIUS au compte remotede modèle utilisateur (s’il est configuré) lorsque :
-
L’utilisateur authentifié n’a pas de compte d’utilisateur configuré sur l’appareil local.
-
Le serveur RADIUS n’affecte pas l’utilisateur à un modèle utilisateur local ou le modèle attribué par le serveur n’est pas configuré sur le périphérique local.
Le serveur RADIUS peut affecter un utilisateur authentifié à un modèle d’utilisateur différent afin d’accorder des autorisations administratives différentes à cet utilisateur. L’utilisateur conserve le même nom de connexion dans la CLI, mais hérite de la classe de connexion, des privilèges d’accès et de l’ID utilisateur effectif du modèle attribué. Si l’utilisateur authentifié par RADIUS ne correspond à aucun compte utilisateur ou modèle utilisateur défini localement et que le modèle n’est remote pas configuré, l’authentification échoue.
Le remote nom d’utilisateur est un cas particulier dans Junos OS Evolved et doit toujours être en minuscules. Il sert de modèle pour les utilisateurs authentifiés par un serveur distant mais qui n’ont pas de compte d’utilisateur configuré localement sur l’appareil. Junos OS Evolved applique les autorisations du remote modèle aux utilisateurs authentifiés sans compte défini localement. Tous les utilisateurs mappés au remote modèle sont dans la même classe de connexion.
Étant donné que vous configurez l’authentification à distance sur plusieurs appareils, il est courant de la configurer à l’intérieur d’un groupe de configuration. Les étapes indiquées ici se trouvent dans un groupe de configuration appelé global. L’utilisation d’un groupe de configuration est facultative.
Pour configurer l’authentification par un serveur RADIUS :
Configurer RADIUS over TLS (RADSEC) pour l’authentification du système
La technologie RADIUS over TLS (RADSEC) assure une communication sécurisée et chiffrée entre l’équipement Junos et les serveurs RADIUS pour l’authentification du système et la comptabilité. Le système utilise des API OpenSSL pour établir des sessions SSL/TLS et valider les certificats.
system hiérarchie. Pour la configuration RADSEC du contrôle d’accès réseau, configurez RADSEC dans la
access hiérarchie.
RADSEC sécurise le trafic d’authentification administrative en utilisant le chiffrement TLS sur le port TCP 2083 (au lieu des ports UDP 1812/1813). RADSEC prend en charge deux modes d’authentification :
- TLS unidirectionnel : Le client vérifie le certificat du serveur à l'aide de certificats AC approuvés.
- TLS mutuel (mTLS) : Le client et le serveur s’authentifient mutuellement à l’aide de certificats.
Avant de commencer :
Assurez-vous de ce qui suit :
- Les certificats AC sont disponibles pour la validation du serveur
- Les certificats clients sont disponibles (requis uniquement pour l’authentification mutuelle)
Configurer les certificats d’AC :
Vous pouvez copier le fichier et le renommer en subject <hash>.0 sous /var/tmp/certs/<trusted-ca-group>/. Vous pouvez également créer un lien symbolique avec l’objet <hash>.0 en dessous /var/tmp/certs/<trusted-ca-group> et le lier au fichier de certificat réel.
- Générez le hachage du nom de l’objet :
openssl x509 -in <CA-file-name> -noout -subject_hash
- Créez un lien symbolique :
ln -s <CA-file-name> <hash>.0
S’il existe plusieurs fichiers AC avec la même valeur de hachage de nom d’objet, leurs extensions doivent être différentes ; par exemple, 'e5d93f80.1' et ainsi de suite. La recherche est effectuée sur la façon dont les numéros de poste sont ordonnés en conséquence.
Exemple :
cd /var/tmp/certs/grp1/ openssl x509 -in root-ca.crt -noout -subject_hash ln -s root-ca.crt e5d93f80.0
Configurer les certificats clients (authentification mutuelle uniquement) :
Pour l’authentification mutuelle, insérez le certificat client et la clé privée dans /var/tmp/certs/<certificate-id>/.
Le dossier doit contenir :
client.crt- Fichier de certificat clientclient.key- Fichier de clé privée du client
Exemple :
mkdir -p /var/tmp/certs/ca1/ cp client.crt /var/tmp/certs/ca1/ cp client.key /var/tmp/certs/ca1/
Pour configurer RADSEC pour l’authentification du système :
L’exemple suivant montre une configuration RADSEC complète avec authentification mutuelle :
[edit]
user@host# show system
login {
user remote {
class operator;
}
}
authentication-order [ radius password ];
radius-server {
1.1.1.1 {
port 2083;
tls {
trusted-ca-group grp1;
mutual-authentication {
certificate-id ca1;
}
}
secret "$9$ABC123"; ## SECRET-DATA
}
}
accounting {
destination {
radius {
server {
1.1.1.1 {
accounting-port 2083;
tls {
trusted-ca-group grp1;
mutual-authentication {
certificate-id ca1;
}
}
secret "$9$ABC123"; ## SECRET-DATA
}
}
}
}
}
Vérification :
Connectez-vous à l’équipement réseau et vérifiez que l’authentification a réussi. Pour confirmer que RADSEC fonctionne, essayez de vous connecter avec un compte qui n’a pas de mot de passe local configuré.
Paramètres de configuration :
trusted-ca-group: nom du groupe d’AC approuvé correspondant au dossier contenant les certificats d’AC sous/var/tmp/certs/. OpenSSL utilise ces certificats AC pour valider le certificat du serveur RADIUS.certificate-id: identificateur de certificat correspondant au dossier contenant le certificat client et la clé privée sous/var/tmp/certs/. Requis pour l’authentification mutuelle.
Configurer RADIUS pour utiliser l’instance de gestion
Par défaut, Junos OS Evolved achemine les paquets d’authentification, d’autorisation et de comptabilité pour RADIUS via l’instance de routage par défaut. Vous pouvez également acheminer les paquets RADIUS via une interface de gestion dans une instance VRF autre que celle par défaut.
Pour acheminer des paquets RADIUS via l’instance mgmt_junos de gestion :
-
Activez l’instance
mgmt_junosde gestion.[edit system] user@host# set management-instance
-
Configurez l’instruction
routing-instance mgmt_junospour le serveur d’authentification RADIUS et le serveur de comptabilité RADIUS, le cas échéant.[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
Exemple : Configuration d’un serveur RADIUS pour l’authentification système
Cet exemple configure l’authentification système via un serveur RADIUS.
Exigences
Avant de commencer :
-
Effectuez la configuration initiale de l’appareil. Consultez le guide de démarrage de votre appareil.
-
Configurez au moins un serveur RADIUS sur votre réseau.
Vue d’ensemble
Dans cet exemple, vous ajoutez un nouveau serveur RADIUS avec une adresse IP de 172.16.98.1. Vous spécifiez le mot de passe secret partagé du serveur RADIUS en tant que Radiussecret1. L’appareil stocke le secret dans la base de données de configuration sous forme de valeur chiffrée. Enfin, vous spécifiez l’adresse source que l’appareil utilise dans les requêtes du serveur RADIUS. Dans la plupart des cas, vous pouvez utiliser l’adresse de bouclage de l’appareil, qui dans cet exemple est 10.0.0.1.
Vous pouvez configurer la prise en charge de plusieurs méthodes d’authentification utilisateur, telles que l’authentification par mot de passe local, RADIUS et TACACS+, sur le périphérique réseau. Lorsque vous configurez plusieurs méthodes d’authentification, vous pouvez hiérarchiser l’ordre dans lequel l’appareil essaie les différentes méthodes. Dans cet exemple, vous configurez l’appareil pour qu’il utilise d’abord les services d’authentification RADIUS, puis, en cas d’échec, pour tenter l’authentification par mot de passe local.
Un utilisateur authentifié par RADIUS doit être mappé à un compte d’utilisateur local ou à un compte modèle d’utilisateur local sur l’équipement réseau, ce qui détermine l’autorisation. Par défaut, si un utilisateur authentifié par RADIUS ne correspond pas à un compte d’utilisateur local ou à un modèle d’utilisateur spécifique, l’utilisateur est affecté au modèle d’utilisateur, s’il remote est configuré. Cet exemple configure le remote modèle utilisateur.
La configuration
Procédure
Configuration rapide de la CLI
Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour qu’ils correspondent à votre configuration réseau, copiez et collez les commandes dans la CLI au niveau de la [edit] hiérarchie, puis entrez commit en mode configuration.
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
Procédure étape par étape
Pour configurer un serveur RADIUS pour l’authentification du système :
-
Ajoutez un nouveau serveur RADIUS et définissez son adresse IP.
[edit system] user@host# set radius-server 172.16.98.1
-
Spécifiez le secret partagé (mot de passe) du serveur RADIUS.
[edit system] user@host# set radius-server 172.16.98.1 secret Radiussecret1
-
Spécifiez l’adresse de bouclage de l’appareil comme adresse source.
[edit system] user@host# set radius-server 172.16.98.1 source-address 10.0.0.1
-
Spécifiez l'ordre d'authentification de l'appareil et incluez l'
radiusoption.[edit system] user@host# set authentication-order [radius password]
- Configurez le
remotemodèle utilisateur et sa classe de connexion.[edit system] user@host# set login user remote class operator
Résultats
En mode configuration, confirmez votre configuration en entrant la show system commande. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de configuration de cet exemple pour la corriger.
La sortie suivante inclut uniquement les parties de la hiérarchie de configuration pertinentes pour cet exemple.
[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;
}
}
Après avoir configuré l’appareil, entrez commit en mode configuration.
Vérification
Vérifiez que la configuration fonctionne correctement.
Vérifiez la configuration du serveur RADIUS
Objet
Vérifiez que le serveur RADIUS authentifie les utilisateurs.
Mesures à prendre
Connectez-vous à l’équipement réseau et vérifiez que la connexion a réussi. Pour vérifier que l’appareil utilise le serveur RADIUS pour l’authentification, vous pouvez tenter de vous connecter avec un compte qui ne définit pas de mot de passe d’authentification local dans la configuration.
Attributs RADIUS spécifiques aux fournisseurs de Juniper Networks
Junos OS Evolved prend en charge la configuration des attributs spécifiques aux fournisseurs (VSA) RADIUS de Juniper Networks sur le serveur RADIUS. Ces VSA sont encapsulés dans un attribut spécifique au fournisseur RADIUS avec l’ID de fournisseur défini sur le numéro d’identification Juniper Networks, 2636.
Le Tableau 1 répertorie les VSA Juniper Networks que vous pouvez configurer.
Certains attributs acceptent des expressions régulières étendues, telles que définies dans POSIX 1003.2. Si l’expression régulière contient des espaces, des opérateurs ou des caractères génériques, placez-la entre guillemets. Pour plus d’informations, consultez :
| Nom |
Descriptif |
Le type |
Longueur |
Chaîne |
|---|---|---|---|---|
| Nom d’utilisateur local de juniper |
Indique le nom du modèle utilisateur attribué à cet utilisateur lorsque celui-ci se connecte à un appareil. Cet attribut n’est utilisé que dans les paquets d’accès-acceptation. |
1 |
≥3 |
Un ou plusieurs octets contenant des caractères ASCII imprimables. |
| Commandes d’autorisation de juniper |
Contient une expression régulière étendue qui permet à l’utilisateur d’exécuter des commandes en plus des commandes autorisées par les bits d’autorisation de la classe de connexion de l’utilisateur. Cet attribut n’est utilisé que dans les paquets d’accès-acceptation. |
2 |
≥3 |
Un ou plusieurs octets contenant des caractères ASCII imprimables, sous la forme d’une expression régulière étendue. |
| Commandes de refus de Juniper |
Contient une expression régulière étendue qui refuse à l’utilisateur l’autorisation d’exécuter des commandes autorisées par les bits d’autorisation de la classe de connexion de l’utilisateur. Cet attribut n’est utilisé que dans les paquets d’accès-acceptation. |
3 |
≥3 |
Un ou plusieurs octets contenant des caractères ASCII imprimables, sous la forme d’une expression régulière étendue. |
| Juniper-Allow-Configuration |
Contient une expression régulière étendue qui permet à l’utilisateur d’afficher et de modifier les instructions de configuration en plus des instructions autorisées par les bits d’autorisation de la classe de connexion de l’utilisateur. Cet attribut n’est utilisé que dans les paquets d’accès-acceptation. |
4 |
≥3 |
Un ou plusieurs octets contenant des caractères ASCII imprimables, sous la forme d’une expression régulière étendue. |
| Configuration de refus de Juniper |
Contient une expression régulière étendue qui refuse à l’utilisateur l’autorisation d’afficher ou de modifier les instructions de configuration autorisées par les bits d’autorisation de la classe de connexion de l’utilisateur. Cet attribut n’est utilisé que dans les paquets d’accès-acceptation. |
5 |
≥3 |
Un ou plusieurs octets contenant des caractères ASCII imprimables, sous la forme d’une expression régulière étendue. |
| Commande interactive de juniper |
Indique la commande interactive saisie par l’utilisateur. Cet attribut est utilisé uniquement dans les paquets Accounting-Request. |
8 |
≥3 |
Un ou plusieurs octets contenant des caractères ASCII imprimables. |
| Changement de configuration de Juniper |
Commande interactive qui entraîne une modification de la configuration (base de données). Cet attribut est utilisé uniquement dans les paquets Accounting-Request. |
9 |
≥3 |
Un ou plusieurs octets contenant des caractères ASCII imprimables. |
| Autorisations d’utilisateur Juniper |
Contient des informations que le serveur utilise pour spécifier les autorisations utilisateur. Cet attribut n’est utilisé que dans les paquets d’accès-acceptation.
Remarque :
Lorsque le serveur RADIUS définit l’attribut |
10 |
≥3 |
Un ou plusieurs octets contenant des caractères ASCII imprimables. La chaîne est une liste d’indicateurs d’autorisation séparés par un espace. Le nom exact de chaque drapeau doit être spécifié dans son intégralité. |
| Type d’authentification Juniper |
Indique la méthode d’authentification (base de données locale ou serveur RADIUS) utilisée pour authentifier un utilisateur. Si l'utilisateur est authentifié à l'aide d'une base de données locale, la valeur de l'attribut indique 'local'. Si l'utilisateur est authentifié à l'aide d'un serveur RADIUS ou LDAP, la valeur de l'attribut indique 'remote'. |
11 |
≥5 |
Un ou plusieurs octets contenant des caractères ASCII imprimables. |
| Port de session Juniper |
Indique le numéro de port source de la session établie. |
12 |
Taille de l’entier |
Entier |
| juniper-allow-configuration-regexps |
Contient une expression régulière étendue qui permet à l’utilisateur d’afficher et de modifier les instructions de configuration en plus des instructions autorisées par les bits d’autorisation de la classe de connexion de l’utilisateur. Cet attribut n’est utilisé que dans les paquets d’accès-acceptation. |
13 |
≥3 |
Un ou plusieurs octets contenant des caractères ASCII imprimables, sous la forme d’une expression régulière étendue. |
| juniper-deny-configuration-regexps |
Contient une expression régulière étendue qui refuse à l’utilisateur l’autorisation d’afficher ou de modifier les instructions de configuration autorisées par les bits d’autorisation de la classe de connexion de l’utilisateur. Cet attribut n’est utilisé que dans les paquets d’accès-acceptation. |
14 |
≥3 |
Un ou plusieurs octets contenant des caractères ASCII imprimables, sous la forme d’une expression régulière étendue. |
Pour plus d’informations sur les VSA, consultez RFC 2138, Service utilisateur d’authentification à distance (RADIUS).
Utiliser des expressions régulières sur un serveur RADIUS ou TACACS+ pour autoriser ou refuser des commandes
Junos OS Evolved peut mapper des utilisateurs authentifiés par RADIUS et TACACS+ à un compte utilisateur défini localement ou à un compte modèle d'utilisateur, qui définit les privilèges d'accès de l'utilisateur. Vous pouvez également configurer les privilèges d'accès d'un utilisateur en définissant les attributs spécifiques aux fournisseurs (VSA) Juniper Networks RADIUS et TACACS+ sur le serveur d'authentification respectif.
La classe de connexion d'un utilisateur définit l'ensemble des autorisations qui déterminent les commandes de mode opérationnel et de mode de configuration qu'un utilisateur est autorisé à exécuter et les zones de la configuration qu'il peut afficher et modifier. Une classe de connexion peut également définir des expressions régulières qui permettent ou refusent à un utilisateur la possibilité d’exécuter certaines commandes ou d’afficher et de modifier certaines zones de la configuration, en plus de ce que les indicateurs d’autorisation autorisent. Une classe login peut inclure les instructions suivantes pour définir l’autorisation de l’utilisateur :
-
permissions -
allow-commands -
allow-commands-regexps -
allow-configuration -
allow-configuration-regexps -
deny-commands -
deny-commands-regexps -
deny-configuration -
deny-configuration-regexps
De même, une configuration de serveur RADIUS ou TACACS+ peut utiliser les VSA de Juniper Networks pour définir des autorisations spécifiques ou des expressions régulières qui déterminent les privilèges d'accès d'un utilisateur. Pour obtenir la liste des VSA RADIUS et TACACS+ pris en charge, reportez-vous à ce qui suit :
- Attributs RADIUS spécifiques aux fournisseurs de Juniper Networks
- .. /concept/.. /topic-map/user-access-tacacs-authentication.html#id-juniper-networks-vendor-specific-tacacs-attributes
Vous pouvez définir les autorisations utilisateur sur le serveur RADIUS ou TACACS+ sous forme de liste de valeurs séparées par des espaces.
-
Un serveur RADIUS utilise l’attribut et la syntaxe suivants :
Juniper-User-Permissions += "flag1 flag2 flag3",
Par exemple :
Juniper-User-Permissions += "interface interface-control configure",
-
Un serveur TACACS+ utilise l’attribut et la syntaxe suivants :
user-permissions = "flag1 flag2 flag3"
Par exemple :
user-permissions = "interface interface-control configure"
Un serveur RADIUS ou TACACS+ peut également définir des VSA Juniper Networks qui utilisent une seule expression régulière étendue (telle que définie dans POSIX 1003.2) pour permettre ou refuser à un utilisateur la possibilité d’exécuter certaines commandes ou d’afficher et de modifier des zones de la configuration. Vous placez plusieurs commandes ou hiérarchies de configuration entre parenthèses et les séparez à l’aide d’un symbole de barre verticale. Si l’expression régulière contient des espaces, des opérateurs ou des caractères génériques, placez-la entre guillemets. Lorsque vous configurez des paramètres d’autorisation à la fois localement et à distance, l’appareil fusionne les expressions régulières reçues lors de l’autorisation TACACS+ ou RADIUS avec toutes les expressions régulières définies sur l’équipement local.
-
Un serveur RADIUS utilise les attributs et la syntaxe suivants :
Juniper-Allow-Commands += "(cmd1)|(cmd2)|(cmdn)", Juniper-Deny-Commands += "(cmd1)|(cmd2)|(cmdn)", Juniper-Allow-Configuration += "(config1)|(config2)|(confign)", Juniper-Deny-Configuration += "(config1)|(config2)|(confign)",
Par exemple :
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)",
-
Un serveur TACACS+ utilise les attributs et la syntaxe suivants :
allow-commands = "(cmd1)|(cmd2)|(cmdn)" deny-commands = "(cmd1)|(cmd2)|(cmdn)" allow-configuration = "(config1)|(config2)|(confign)" deny-configuration = "(config1)|(config2)|(confign)"
Par exemple :
allow-commands = "(test)|(ping)|(quit)" deny-commands = "(request)|(restart)" allow-configuration = "(groups re0)|(system tacplus-server)" deny-configuration = "(system tacplus-options)|(system accounting)"
Les serveurs RADIUS et TACACS+ prennent également en charge la configuration d’attributs qui correspondent aux mêmes *-regexps instructions que celles que vous pouvez configurer sur l’équipement local. Les *-regexps attributs TACACS+ et les *-Regexps attributs RADIUS utilisent la même syntaxe d’expression régulière que les attributs précédents, mais ils vous permettent de configurer des expressions régulières avec des variables.
-
Un serveur RADIUS utilise les attributs et la syntaxe suivants :
Juniper-Allow-Configuration-Regexps += "(config1)|(config2)|(confign)", Juniper-Deny-Configuration-Regexps += "(config1)|(config2)|(confign)",
-
Un serveur TACACS+ utilise les attributs et la syntaxe suivants :
allow-commands-regexps = "(cmd1)|(cmd2)|(cmdn)" deny-commands-regexps = "(cmd1)|(cmd2)|(cmdn)" allow-configuration-regexps = "(config1)|(config2)|(confign)" deny-configuration-regexps = "(config1)|(config2)|(confign)"
Par exemple, la configuration du serveur TACACS+ peut définir les attributs suivants :
allow-commands-regexps = "(show cli .*)|(ping 10.1.1..*)" deny-commands-regexps = "(configure .*)|(edit)|(commit)|(rollback .*)"
Sur un serveur RADIUS ou TACACS+, vous pouvez également définir les attributs à l’aide d’une syntaxe simplifiée dans laquelle vous spécifiez chaque expression individuelle sur une ligne distincte.
Pour un serveur RADIUS, spécifiez les expressions régulières individuelles à l’aide de la syntaxe suivante :
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",
Pour un serveur TACACS+, spécifiez les expressions régulières individuelles à l’aide de la syntaxe suivante :
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"
-
Dans la syntaxe du serveur TACACS+, les valeurs numériques de 1 à n 1 doivent être uniques, mais pas nécessairement séquentielles. Par exemple, la syntaxe suivante est valide :
allow-commands1="cmd1" allow-commands3="cmd3" allow-commands2="cmd2" deny-commands3="cmd3" deny-commands2="cmd2" deny-commands1="cmd1"
-
Le serveur RADIUS ou TACACS+ impose une limite au nombre de lignes d’expression régulière individuelles.
-
Lorsque vous exécutez la
show cli authorizationcommande, la sortie de la commande affiche l’expression régulière sur une seule ligne, même si vous spécifiez chaque expression individuelle sur une ligne distincte.
Les utilisateurs peuvent vérifier leur classe, leurs autorisations et leurs autorisations de commande et de configuration en exécutant la commande en show cli authorization mode opérationnel.
user@host> show cli authorization
Lorsque vous configurez les paramètres d’autorisation à la fois localement sur le périphérique réseau et à distance sur le serveur RADIUS ou TACACS+, le périphérique fusionne les expressions régulières reçues lors de l’autorisation TACACS+ ou RADIUS avec toutes les expressions régulières configurées localement. Si l’expression finale contient une erreur de syntaxe, le résultat global est une expression régulière non valide.
Comprendre la comptabilité RADIUS
Les équipements réseau prennent en charge la norme IETF RFC 2866, la comptabilité RADIUS. Vous pouvez configurer la comptabilité RADIUS sur un appareil pour collecter des données statistiques sur les utilisateurs qui se connectent ou se déconnectent d’un LAN et envoyer les données à un serveur de comptabilité RADIUS. Les données statistiques peuvent être utilisées pour surveiller le réseau de manière générale, analyser et suivre les schémas d’utilisation, ou facturer un utilisateur en fonction de la durée de la session ou du type de services accessibles.
Pour configurer la comptabilité RADIUS, spécifiez :
-
Un ou plusieurs serveurs de comptabilité RADIUS pour recevoir les données statistiques de l’appareil
-
Le type de données comptables à collecter
Vous pouvez utiliser le même serveur pour la comptabilité et l’authentification RADIUS, ou utiliser des serveurs distincts. Vous pouvez spécifier une liste de serveurs de comptabilité RADIUS. L’appareil interroge les serveurs dans l’ordre dans lequel ils sont configurés. Si le serveur principal (le premier configuré) n’est pas disponible, l’appareil tente de contacter chaque serveur de la liste jusqu’à ce qu’il reçoive une réponse.
Le processus de comptabilité RADIUS entre l’appareil et un serveur RADIUS fonctionne comme suit :
-
Un serveur de comptabilité RADIUS écoute les paquets UDP (User Datagram Protocol) sur un port spécifique. Le port par défaut pour la comptabilité RADIUS est 1813.
-
L’appareil transfère un paquet de demande de comptabilité contenant un enregistrement d’événement au serveur de comptabilité. L’enregistrement d’événement associé à ce demandeur contient un attribut Acct-Status-Type dont la valeur indique le début du service utilisateur pour ce demandeur. À la fin de la session du demandeur, la demande de comptabilité contient une valeur d’attribut Acct-Status-Type indiquant la fin du service utilisateur. Le serveur de comptabilité RADIUS enregistre ces informations en tant qu’enregistrement d’arrêt contenant des informations sur la session et la durée de la session.
-
Le serveur de comptabilité RADIUS consigne ces événements dans un fichier en tant qu’enregistrements de comptabilité de départ ou d’arrêt. Sur FreeRADIUS, le nom de fichier est l’adresse du serveur, telle que 192.0.2.0.
-
Le serveur de comptabilité envoie un paquet de réponse de comptabilité à l’appareil confirmant qu’il a bien reçu la demande de comptabilisation.
-
Si l’appareil ne reçoit pas de paquet Accounting-Response du serveur, il continue d’envoyer des demandes de comptabilité jusqu’à ce que le serveur renvoie une réponse.
Vous pouvez afficher les statistiques collectées par ce processus sur le serveur RADIUS. Pour afficher ces statistiques, accédez au fichier journal configuré pour les recevoir.
Configurer la comptabilité système RADIUS
Lorsque vous activez la comptabilité RADIUS, les équipements de Juniper Networks, agissant en tant que clients RADIUS, peuvent informer le serveur RADIUS des activités des utilisateurs telles que les connexions logicielles, les modifications de configuration et les commandes interactives. Le cadre de la comptabilité RADIUS est décrit dans la RFC 2866, Comptabilité RADIUS.
Configurer l’audit des événements utilisateur sur un serveur RADIUS
Pour configurer la comptabilité RADIUS :
L’exemple suivant configure trois serveurs (10.5.5.5, 10.6.6.6 et 10.7.7.7) pour la comptabilité RADIUS :
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;
}
}
}
}
}