Sur cette page
Authentification RADIUS
Junos OS prend en charge RADIUS pour l’authentification centralisée des utilisateurs sur les équipements réseau. Pour utiliser l’authentification RADIUS sur l’équipement, vous (l’administrateur réseau) devez configurer des informations sur un ou plusieurs serveurs RADIUS sur le réseau. Vous pouvez également configurer la comptabilité RADIUS sur l’équipement pour collecter des données statistiques sur les utilisateurs qui se connectent à un LAN ou en sortent, 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 équipement réseau. Les sections suivantes décrivent pourquoi vous utiliseriez RADIUS et comment le configurer.
- Pourquoi utiliser RADIUS
- Configurer les détails du serveur RADIUS
- 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, y compris 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 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.
Utilisez 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+. Alors que TACACS+ prend en charge un plus grand nombre de protocoles, RADIUS est universellement pris en charge.
-
Performances : RADIUS est beaucoup plus léger sur vos routeurs et commutateurs. C’est pourquoi 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’équipement, configurez les informations relatives à un ou plusieurs serveurs RADIUS sur le réseau en incluant une radius-server
déclaration au niveau de la [edit system]
hiérarchie pour chaque serveur RADIUS. L’équipement 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’équipement tente de contacter chaque serveur de la liste jusqu’à ce qu’il reçoive une réponse.
L’équipement réseau peut mapper les utilisateurs authentifiés par RADIUS à un compte d’utilisateur ou à un compte modèle d’utilisateur défini localement, qui détermine l’autorisation. Par défaut, Junos OS attribue des utilisateurs authentifiés RADIUS au compte remote
de modèle d’utilisateur, s’il est configuré, lorsque :
-
L’utilisateur authentifié n’a pas de compte d’utilisateur configuré sur l’équipement local.
-
Le serveur RADIUS n’assigne pas l’utilisateur à un modèle d’utilisateur local, ou le modèle qu’il assigne n’est pas configuré sur l’équipement local.
Le serveur RADIUS peut attribuer un utilisateur authentifié à un modèle d’utilisateur différent pour accorder différentes autorisations administratives à cet utilisateur. L’utilisateur conserve le même nom d’identification dans l’interface cli, mais hérite de la classe de connexion, des privilèges d’accès et de l’ID utilisateur effectif du modèle assigné. Si l’utilisateur authentifié PAR RADIUS ne correspond à aucun compte ou modèle d’utilisateur défini localement et que le remote
modèle n’est pas configuré, l’authentification échoue.
Le remote
nom d’utilisateur est un cas particulier et Junos OS doit toujours être en minuscule. Il agit comme un modèle pour les utilisateurs qui sont authentifiés par un serveur distant mais qui n’ont pas de compte utilisateur configuré localement sur l’équipement. Junos OS 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.
Comme vous configurez l’authentification à distance sur plusieurs équipements, il est courant de la configurer au sein d’un groupe de configuration. Les étapes indiquées ici sont 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 pour utiliser l’instance de gestion
Par défaut, Junos OS achemine les paquets d’authentification, d’autorisation et de comptabilisation 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 non par défaut.
Pour acheminer les paquets RADIUS via l’instance de mgmt_junos
gestion :
-
Activez l’instance de
mgmt_junos
gestion.[edit system] user@host# set management-instance
-
Configurez l’instruction
routing-instance mgmt_junos
pour le serveur d’authentification RADIUS et le serveur de comptabilité RADIUS, si configuré.[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 : Configurer un serveur RADIUS pour l’authentification du système
Cet exemple configure l’authentification système via un serveur RADIUS.
Conditions préalables
Avant de commencer :
-
Effectuez la configuration initiale de l’équipement. Consultez le guide de démarrage de votre équipement.
-
Configurez au moins un serveur RADIUS sur votre réseau.
Présentation
Dans cet exemple, vous ajoutez un nouveau serveur RADIUS avec une adresse IP 172.16.98.1. Vous spécifiez le mot de passe secret partagé du serveur RADIUS en tant que Radiussecret1. L’équipement 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’équipement utilise dans les demandes de serveur RADIUS. Dans la plupart des cas, vous pouvez utiliser l’adresse de bouclage de l’équipement, qui est 10.0.0.1 dans cet exemple.
Vous pouvez configurer la prise en charge de plusieurs méthodes d’authentification utilisateur, telles que l’authentification locale par mot de passe, RADIUS et TACACS+, sur l’équipement réseau. Lorsque vous configurez plusieurs méthodes d’authentification, vous pouvez hiérarchiser l’ordre dans lequel l’équipement essaie les différentes méthodes. Dans cet exemple, vous configurez l’équipement pour qu’il utilise d’abord les services d’authentification RADIUS, puis, en cas d’échec, pour tenter l’authentification locale par mot de passe.
Un utilisateur authentifié par RADIUS doit mapper à un compte d’utilisateur local ou à un compte modèle d’utilisateur local sur l’équipement réseau, qui détermine l’autorisation. Par défaut, si un utilisateur authentifié PAR RADIUS ne se mappe pas à un compte d’utilisateur local ou à un modèle d’utilisateur spécifique, l’utilisateur est assigné au remote
modèle utilisateur, s’il est configuré. Cet exemple configure le remote
modèle utilisateur.
Configuration
Procédure
Configuration rapide cli
Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez les détails nécessaires pour correspondre à la configuration de votre réseau, copiez et collez les commandes dans la CLI au niveau de la [edit]
hiérarchie, puis entrez commit
à partir du mode de 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’équipement 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’équipement et incluez l’option
radius
.[edit system] user@host# set authentication-order [radius password]
- Configurez le
remote
modè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.
Le résultat suivant inclut uniquement les parties de la hiérarchie de configuration qui sont 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’équipement, saisissez commit
le mode de configuration.
Vérification
Vérifiez que la configuration fonctionne correctement.
Vérifier la configuration du serveur RADIUS
But
Vérifiez que le serveur RADIUS authentifie les utilisateurs.
Action
Connectez-vous à l’équipement réseau et vérifiez que la connexion a réussi. Pour vérifier que l’équipement 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.
Configurer l’authentification RADIUS (QFX Series ou OCX Series)
L’authentification RADIUS est une méthode d’authentification des utilisateurs qui tentent d’accéder au routeur ou au commutateur. Les tâches de configuration de l’authentification RADIUS sont les suivantes :
L’instruction source-address
n’est pas prise en charge au [edit system-radius-server name]
niveau hiérarchique sur le système QFabric.
- Configurer les détails du serveur RADIUS
- Configurer MS-CHAPv2 pour la prise en charge du changement de mot de passe
- Spécifiez une adresse source pour Junos OS pour accéder aux serveurs RADIUS externes
Configurer les détails du serveur RADIUS
Pour utiliser l’authentification RADIUS sur le routeur ou le commutateur, configurez les informations sur un ou plusieurs serveurs RADIUS sur le réseau en incluant une radius-server
déclaration au niveau de la [edit system]
hiérarchie pour chaque serveur RADIUS :
[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 est l’adresse du serveur RADIUS.
Vous pouvez spécifier un port sur lequel contacter le serveur RADIUS. Par défaut, le numéro de port 1812 est utilisé (comme spécifié dans la RFC 2865). Vous pouvez également spécifier un port comptable pour l’envoi de paquets comptables. La valeur par défaut est 1813 (comme spécifié dans la RFC 2866).
Vous devez spécifier un mot de passe dans l’instruction secret password
. Si le mot de passe contient des espaces, enfermez-le entre guillemets. Le secret utilisé par le routeur ou le commutateur local doit correspondre à celui utilisé par le serveur.
Vous pouvez éventuellement spécifier le temps d’attente du routeur ou du commutateur local pour recevoir une réponse d’un serveur RADIUS (dans l’instruction timeout
) et le nombre de fois que le routeur ou le commutateur tente de contacter un serveur d’authentification RADIUS (dans l’instruction retry
). Par défaut, le routeur ou le commutateur attend 3 secondes. Vous pouvez le configurer pour qu’il s’agisse d’une valeur de 1 à 90 secondes. Par défaut, le routeur ou le commutateur se connecte trois fois au serveur. Vous pouvez le configurer pour qu’il s’agisse d’une valeur de 1 à 10 fois.
Vous pouvez utiliser l’instruction source-address
pour spécifier une adresse logique pour des serveurs individuels ou plusieurs serveurs RADIUS.
Pour configurer plusieurs serveurs RADIUS, incluez plusieurs radius-server
déclarations.
Pour configurer un ensemble d’utilisateurs qui partagent un seul compte à des fins d’autorisation, vous créez un utilisateur modèle. Pour ce faire, incluez l’instruction user
au niveau de la [edit system login]
hiérarchie, comme décrit dans la section Exemple : Configurer l’ordre d’authentification.
Vous pouvez également configurer l’authentification RADIUS au niveau et [edit access profile]
de la [edit access]
hiérarchie. Junos OS utilise l’ordre de recherche suivant pour déterminer quel ensemble de serveurs est utilisé pour l’authentification :
[edit access profile profile-name radius-server server-address]
[edit access radius-server server-address]
[edit system radius-server server-address]
Configurer MS-CHAPv2 pour la prise en charge du changement de mot de passe
Avant de configurer MS-CHAPv2 pour la prise en charge du changement de mot de passe, assurez-vous que vous :
Configurez les paramètres d’authentification du serveur RADIUS.
Configurez le authentication-order serveur RADIUS pour la tentative de mot de passe initiale.
Vous pouvez configurer l’implémentation Microsoft du protocole MS-CHAPv2 (Challenge Handshake Authentication Protocol version 2) sur le routeur ou le commutateur pour prendre en charge la modification des mots de passe. Cette fonctionnalité offre aux utilisateurs accédant à un routeur ou un commutateur la possibilité de modifier le mot de passe lorsque le mot de passe expire, est réinitialisé ou configuré pour être modifié lors de la prochaine connexion.
Pour configurer MS-CHAP-v2, incluez les déclarations suivantes au niveau de la [edit system radius-options]
hiérarchie :
[edit system radius-options] password-protocol mschap-v2;
L’exemple suivant illustre les instructions de configuration du protocole de mot de passe MS-CHAPv2, de l’ordre d’authentification des mots de passe et des comptes utilisateur :
[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; } } }
Spécifiez une adresse source pour Junos OS pour accéder aux serveurs RADIUS externes
Vous pouvez spécifier l’adresse source que Junos OS utilise pour accéder à votre réseau pour contacter un serveur RADIUS externe pour l’authentification. Vous pouvez également spécifier l’adresse source que Junos OS utilise lorsque vous contactez un serveur RADIUS pour envoyer des informations de comptabilité.
Pour spécifier une adresse source pour un serveur RADIUS, incluez l’instruction source-address
au niveau de la [edit system radius-server server-address]
hiérarchie :
[edit system radius-server server-address] source-address source-address;
source-address est une adresse IP valide configurée sur l’une des interfaces du routeur ou du commutateur.
Attributs RADIUS spécifiques aux fournisseurs De Juniper Networks
Junos OS prend en charge la configuration des attributs radius de Juniper Networks sur le serveur d’authentification. Ces VSA sont encapsulés dans un attribut spécifique au fournisseur RADIUS , l’ID du fournisseur étant défini sur le numéro d’identification Juniper Networks, 2636.
Tableau 1 répertorie les VSA Juniper Networks que vous pouvez configurer.
Certains attributs acceptent les 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, joignez-la entre guillemets. Pour plus d’informations, consultez :
Nom |
Description |
Type |
Length |
String |
---|---|---|---|---|
Nom de l’utilisateur local juniper |
Indique le nom du modèle d’utilisateur assigné à cet utilisateur lorsque l’utilisateur se connecte à un équipement. Cet attribut est utilisé uniquement dans les paquets Access-Accept. |
1 |
≥3 |
Un ou plusieurs octets contenant des caractères ASCII imprimables. |
Commandes d’autorisation 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 classe de connexion de l’utilisateur. Cet attribut est utilisé uniquement dans les paquets Access-Accept. |
2 |
≥3 |
Un ou plusieurs octets contenant des caractères ASCII imprimables, sous la forme d’une expression régulière étendue. |
Juniper-Deny-Commands |
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 classe de connexion de l’utilisateur. Cet attribut est utilisé uniquement dans les paquets Access-Accept. |
3 |
≥3 |
Un ou plusieurs octets contenant des caractères ASCII imprimables, sous la forme d’une expression régulière étendue. |
Configuration d’autorisation Juniper |
Contient une expression régulière étendue qui permet à l’utilisateur d’afficher et de modifier les instructions de configuration en plus de celles autorisées par les bits d’autorisation de classe de connexion de l’utilisateur. Cet attribut est utilisé uniquement dans les paquets Access-Accept. |
4 |
≥3 |
Un ou plusieurs octets contenant des caractères ASCII imprimables, sous la forme d’une expression régulière étendue. |
Configuration Juniper-Deny |
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 classe de connexion de l’utilisateur. Cet attribut est utilisé uniquement dans les paquets Access-Accept. |
5 |
≥3 |
Un ou plusieurs octets contenant des caractères ASCII imprimables, sous la forme d’une expression régulière étendue. |
Juniper-Interactive-Command |
Indique la commande interactive saisie par l’utilisateur. Cet attribut n’est utilisé que dans les paquets comptabilité-demande. |
8 |
≥3 |
Un ou plusieurs octets contenant des caractères ASCII imprimables. |
Changement de configuration Juniper |
Indique la commande interactive qui entraîne une modification de configuration (base de données). Cet attribut n’est utilisé que dans les paquets comptabilité-demande. |
9 |
≥3 |
Un ou plusieurs octets contenant des caractères ASCII imprimables. |
Autorisations utilisateur Juniper |
Contient les informations que le serveur utilise pour spécifier les autorisations des utilisateurs. Cet attribut est utilisé uniquement dans les paquets Access-Accept. 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 indicateur 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 « distant ». |
11 |
≥5 |
Un ou plusieurs octets contenant des caractères ASCII imprimables. |
Juniper-Session-Port |
Indique le numéro de port source de la session établie. |
12 |
taille de l’entier |
Entier |
Juniper-Allow-Configuration-Regexps (RADIUS uniquement) |
Contient une expression régulière étendue qui permet à l’utilisateur d’afficher et de modifier les instructions de configuration en plus de celles autorisées par les bits d’autorisation de classe de connexion de l’utilisateur. Cet attribut est utilisé uniquement dans les paquets Access-Accept. |
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 (RADIUS uniquement) |
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 classe de connexion de l’utilisateur. Cet attribut est utilisé uniquement dans les paquets Access-Accept. |
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, voir RFC 2138, Service radius (Remote Authentication Dial in User Service).
Utiliser des expressions régulières sur un serveur RADIUS ou TACACS+ pour autoriser ou refuser des commandes
Junos OS peut mapper les utilisateurs authentifiés RADIUS et TACACS+ à un compte d’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 droits d’accès d’un utilisateur en définissant les attributs RADIUS et TACACS+ de Juniper Networks sur le serveur d’authentification respectif.
La classe de connexion d’un utilisateur définit l’ensemble des autorisations qui déterminent le mode opérationnel et les commandes de configuration qu’un utilisateur est autorisé à exécuter, ainsi que 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 empêchent un utilisateur 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 de connexion peut inclure les instructions suivantes pour définir l’autorisation 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 serveur RADIUS ou TACACS+ peut utiliser des VSA Juniper Networks pour définir des autorisations spécifiques ou des expressions régulières qui déterminent les droits d’accès d’un utilisateur. Pour obtenir la liste des VSA RADIUS et TACACS+ pris en charge, consultez les éléments suivants :
- Attributs RADIUS spécifiques aux fournisseurs De Juniper Networks
- Attributs TACACS+ spécifiques aux fournisseurs De Juniper Networks
Vous pouvez définir des autorisations utilisateur sur le serveur RADIUS ou TACACS+ comme une liste de valeurs séparées par l’espace.
-
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 enfermez plusieurs commandes ou hiérarchies de configuration entre parenthèses et séparez-les à l’aide d’un symbole de tuyau. Si l’expression régulière contient des espaces, des opérateurs ou des caractères génériques, joignez-la entre guillemets. Lorsque vous configurez les paramètres d’autorisation à la fois localement et à distance, l’équipement 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
déclarations que celles que vous pouvez configurer sur l’équipement local. Les *-regexps
attributs TACACS+ et RADIUS utilisent la *-Regexps
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 1 à n doivent être uniques mais ne doivent pas être 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ères individuelles.
-
Lorsque vous émettez la
show cli authorization
commande, la sortie de la commande affiche l’expression régulière dans 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, ainsi que les autorisations de commande et de configuration en publiant la commande du show cli authorization
mode opérationnel.
user@host> show cli authorization
Lorsque vous configurez les paramètres d’autorisation à la fois localement sur l’équipement réseau et à distance sur le serveur RADIUS ou TACACS+, l’équipement 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 la dernière expression contient une erreur de syntaxe, le résultat global est une expression régulière non valide.
Directives VSA du filtre de commutation Juniper, conditions de correspondance et actions
Les équipements prennent en charge la configuration des attributs de serveur RADIUS spécifiques à Juniper Networks. Ces attributs sont connus sous le nom d’attributs spécifiques au fournisseur (VSA) et sont décrits dans la RFC 2138, Service RADIUS (Remote Authentication Dial in User Service ). Les attributs spécifiques aux fournisseurs étendent les fonctionnalités du serveur RADIUS au-delà de celles fournies par les attributs standard publics, ce qui permet d’implémenter de nombreuses fonctionnalités utiles nécessaires à la gestion des abonnés et à l’assistance aux services.
Les VSA De Juniper Networks ont l’ID du fournisseur défini sur 2636.
Les attributs sont des champs en texte clair envoyés du serveur RADIUS à l’équipement en raison de la réussite ou de l’échec de l’authentification. L’authentification empêche l’accès non autorisé des utilisateurs en bloquant un demandeur au niveau du port jusqu’à ce que l’équipement soit authentifié par le serveur RADIUS. L’implémentation d’attributs de filtrage avec authentification sur le serveur RADIUS fournit un emplacement central pour contrôler l’accès LAN pour les demandeurs.
L’attribut Juniper-Switching-Filter fonctionne conjointement avec l’authentification 802.1X pour centraliser l’accès des demandeurs au réseau. Vous pouvez utiliser cet attribut pour configurer des filtres sur le serveur RADIUS. Ces filtres sont envoyés au commutateur et appliqués aux utilisateurs qui ont été authentifiés à l’aide de l’authentification 802.1X.
Le filtre juniper-commutation peut contenir un ou plusieurs termes de filtre. Les termes de filtrage sont configurés à l’aide d’une ou plusieurs conditions de correspondance avec une action résultante. Les conditions de correspondance sont les critères auxquels un paquet doit répondre pour qu’une action configurée soit appliquée sur lui. L’action configurée est l’action que le commutateur effectue si un paquet répond aux critères spécifiés dans les conditions de correspondance. L’action que le commutateur peut effectuer est d’accepter ou de refuser un paquet.
L’ajout d’un filtre de pare-feu de port à un serveur RADIUS élimine le besoin d’ajouter le filtre à plusieurs ports et équipements. L’un des moyens d’y parvenir consiste à appliquer un filtre de pare-feu de port précédemment configuré directement sur le serveur RADIUS à l’aide du vsA de Juniper-Firewall-filter-name. Comme les attributs de filtrage de ports, ce filtre est appliqué pendant le processus d’authentification et ses actions sont appliquées au port de l’équipement.
Consignes VSA
Les attributs RADIUS spécifiques au fournisseur ont un maximum de 247 caractères par attribut. Si vous avez besoin de plus de longueur, Juniper prend en charge plusieurs instances du même attribut, jusqu’à 4 000 caractères. Pour prendre en charge les filtres de plus de 247 caractères, utilisez plusieurs attributs Juniper-Commutation-Filter. L’exemple ci-dessous montre deux attributs, chacun contenant un nouveau terme de filtre qui se trouve dans la limite de 247 caractères :
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"
La limite de 4 000 caractères est soumise à la prise en charge de MTU sur le serveur RADIUS et l’équipement Juniper, ainsi que le nombre d’autres attributs RADIUS utilisés.
Les consignes suivantes s’appliquent aux conditions et actions de correspondance VSA :
-
match
La déclaration et laaction
déclaration sont obligatoires. -
Si aucune condition de correspondance n’est spécifiée, tout paquet est considéré comme une correspondance par défaut.
-
Si aucune action n’est spécifiée, l’action par défaut consiste à refuser le paquet.
-
Toutes les options peuvent être incluses dans chaque
match
action
relevé. -
L’opération AND est effectuée sur des champs d’un type différent, séparés par des virgules. Les champs du même type ne peuvent pas être répétés.
-
Pour que l’option
forwarding-class
soit appliquée, la classe de transfert doit être configurée sur le commutateur. Si la classe de transfert n’est pas configurée sur le commutateur, cette option est ignorée.
Conditions de correspondance
Tableau 2 décrit les conditions de correspondance que vous pouvez spécifier lorsque vous configurez un attribut VSA en tant que filtre de pare-feu à l’aide de la match
commande sur le serveur RADIUS. La chaîne qui définit une condition de correspondance s’appelle une instruction de correspondance.
Option |
Description |
---|---|
|
Adresse MAC (Destination Media Access Control) du paquet. |
|
Valeur d’étiquette dans l’en-tête 802.1Q, dans la plage |
|
Adresse du nœud de destination finale. |
|
Valeur du protocole IPv4. Au lieu de la valeur numérique, vous pouvez spécifier l’un des synonymes de texte suivants : |
|
Champ de port source TCP ou UDP (User Datagram Protocol). Normalement, vous spécifiez cette instruction de correspondance en conjonction avec l’instruction |
|
Champ de port de destination TCP ou UDP. Normalement, vous spécifiez cette instruction de correspondance en conjonction avec l’instruction |
Actions
Lorsque vous définissez un ou plusieurs termes qui spécifient les critères de filtrage, vous définissez également l’action à entreprendre si le paquet correspond à tous les critères. Tableau 3 affiche les actions que vous pouvez spécifier dans un terme.
Option |
Description |
---|---|
( |
Accepter un paquet ou jeter un paquet en silence sans envoyer de message ICMP (Internet Control Message Protocol). |
|
(Facultatif) Classez le paquet dans l’une des classes de transfert suivantes :
|
|
(Facultatif) Définissez la priorité de perte de paquets (PLP) sur |
Voir également
Comprendre la comptabilité RADIUS
Les équipements réseau prennent en charge la RFC IETF 2866, Comptabilité RADIUS. Vous pouvez configurer la comptabilité RADIUS sur un équipement pour collecter des données statistiques sur les utilisateurs qui se connectent à un LAN et les envoyer à un serveur de comptabilité RADIUS. Les données statistiques peuvent être utilisées pour la surveillance générale du réseau, l’analyse et le suivi des modèles d’utilisation, ou la facturation d’un utilisateur en fonction de la durée de la session ou du type de services consultés.
Pour configurer la comptabilité RADIUS, spécifiez :
-
Un ou plusieurs serveurs de comptabilité RADIUS pour recevoir les données statistiques de l’équipement
-
Type de données comptables à collecter
Vous pouvez utiliser le même serveur pour la comptabilisation et l’authentification RADIUS, ou utiliser des serveurs distincts. Vous pouvez spécifier une liste de serveurs de comptabilité RADIUS. L’équipement interroge les serveurs dans l’ordre dans lequel ils sont configurés. Si le serveur principal (le premier configuré) n’est pas disponible, l’équipement tente de contacter chaque serveur de la liste jusqu’à ce qu’il reçoive une réponse.
Le processus de comptabilisation RADIUS entre l’équipement et un serveur RADIUS fonctionne comme ceci :
-
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’équipement transfère un paquet comptabilité-demande contenant un enregistrement d’événements 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. Lorsque la session du demandeur se termine, la demande de comptabilité contient une valeur d’attribut Acct-Status-Type indiquant la fin du service utilisateur. Le serveur de comptabilité RADIUS l’enregistre sous la forme d’un enregistrement de comptabilisation d’arrêt contenant des informations de session et la durée de la session.
-
Le serveur de comptabilité RADIUS enregistre ces événements dans un fichier sous la forme d’enregistrements de comptabilisation de début ou d’arrêt. Sur FreeRADIUS, le nom de fichier est l’adresse du serveur, par exemple 192.0.2.0.
-
Le serveur de comptabilité envoie un paquet comptabilité-réponse à l’équipement confirmant qu’il a bien reçu la demande de comptabilité.
-
Si l’équipement ne reçoit pas de paquet comptabilité-réponse du serveur, il continue d’envoyer des demandes de comptabilité jusqu’à ce que le serveur renvoie une réponse.
Vous pouvez consulter les statistiques collectées lors de ce processus sur le serveur RADIUS. Pour consulter ces statistiques, accédez au fichier journal configuré pour les recevoir.
Configurer la comptabilité du système RADIUS
Lorsque vous activez la comptabilité RADIUS, les équipements Juniper Networks, agissant en tant que clients RADIUS, peuvent informer le serveur RADIUS des activités utilisateur telles que les connexions logicielles, les modifications de configuration et les commandes interactives. La structure de la comptabilité RADIUS est décrite 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; } } } } }