Recherche de site Web

Installation et configuration de TACACS+ avec le routeur Cisco sur Debian 8 Jessie


La technologie actuelle repose en grande partie sur les équipements réseau et sur la configuration appropriée de ces équipements réseau. Les administrateurs sont chargés de garantir que les modifications de configuration sont non seulement testées de manière approfondie avant leur mise en œuvre, mais également que toutes les modifications de configuration sont effectuées par des personnes autorisées à apporter des modifications, ainsi que de s'assurer que les modifications sont enregistrées.

Ce principe de sécurité est connu sous le nom de AAA (Triple-A) ou Authentification, Autorisation et Comptabilité. Il existe deux systèmes très importants qui offrent aux administrateurs la fonctionnalité AAA pour sécuriser l'accès aux appareils et aux réseaux desservis par ces appareils.

RADIUS (service utilisateur d'accès à distance) et TACACS+ (Terminal Access Controller Access-Control System Plus).

Radius est traditionnellement utilisé pour authentifier les utilisateurs afin d'accéder au réseau, ce qui contraste avec TACACS dans la mesure où TACACS est traditionnellement utilisé pour l'administration des appareils. L’une des grandes différences entre ces deux protocoles réside dans la capacité du TACACS à séparer les fonctions AAA en fonctions indépendantes.

L’avantage de la séparation TACACS des fonctions AAA est que la capacité d’un utilisateur à exécuter certaines commandes peut être contrôlée. Ceci est très avantageux pour les organisations qui souhaitent fournir au personnel réseau ou à d’autres administrateurs informatiques différents privilèges de commande à un niveau très granulaire.

Cet article explique comment configurer un système Debian pour agir comme un système TACACS+.

Configuration de l'environnement

  1. Debian 8 installé et configuré avec la connectivité réseau. Veuillez lire cet article sur la façon d'installer Debian 8
  2. Commutateur réseau Cisco 2940 (la plupart des autres appareils Cisco fonctionneront également, mais les commandes sur le commutateur/routeur peuvent varier).

Installation du logiciel TACACS+ sur Debian 8

La première étape de la mise en place de ce nouveau serveur TACACS sera d'acquérir les logiciels depuis les référentiels. Ceci est facilement réalisé avec l'utilisation de la commande 'apt'.


apt-get install tacacs+

La commande ci-dessus installera et démarrera le service serveur sur le port 49. Cela peut être confirmé avec plusieurs utilitaires.


lsof -i :49
netstat -ltp | grep tac

Ces deux commandes doivent renvoyer une ligne indiquant que TACACS écoute sur le port 49 de ce système.

À ce stade, TACACS écoute les connexions sur cette machine. Il est maintenant temps de configurer le service TACACS et les utilisateurs.

Configuration du service et des utilisateurs TACACS

C'est généralement une bonne idée de lier les services à des adresses IP spécifiques si le serveur possède plusieurs adresses. Pour accomplir cette tâche, les options du démon par défaut peuvent être modifiées pour spécifier une adresse IP.


nano /etc/default/tacacs+

Ce fichier spécifie tous les paramètres du démon que le système TACACS doit démarrer. L'installation par défaut spécifiera uniquement le fichier de configuration. En ajoutant un argument '-B' à ce fichier, une adresse IP spécifique peut être utilisée pour que TACACS écoute.


DAEMON_OPTS="-C /etc/tacacs+/tac_plus.conf " - Original Line
DAEMON_OPTS="-C /etc/tacacs+/tac_plus.conf -B X.X.X.X " - New line, where X.X.X.X is the IP address to listen on

Remarque spéciale dans Debian : Pour une raison quelconque, la tentative de redémarrage du service TACACS+ pour lire les nouvelles options du démon échoue (via le service tacacs_plus redémarrer).

Le problème ici semble être que lorsque TACACS est démarré via le script init, le PID est défini de manière statique sur « PIDFILE=/var /run/tac_plus.pid ” cependant lorsque “-B X.X.X.X ” est spécifié comme option du démon, le nom du fichier pid est changé en “/var/run /tac_plus.pid.X.X.X.X ».

Je ne suis pas totalement sûr s'il s'agit d'un bug ou non, mais pour lutter temporairement contre la situation, on peut définir manuellement le PIDFILE dans le script init en changeant la ligne en « PIDFILE=/var/run/tac_plus.pid.X.X.X.X » où X.X.X.X est l'adresse IP sur laquelle TACACS doit écouter puis démarrer le service avec :


service tacacs_plus start

Au redémarrage du service, la commande lsof peut être utilisée à nouveau pour confirmer que le service TACACS écoute sur la bonne adresse IP.


lsof -i :49

Comme vu ci-dessus, TACACS écoute sur une adresse IP spécifique, telle que définie dans le fichier par défaut de TACACS ci-dessus. À ce stade, des utilisateurs et des jeux de commandes spécifiques doivent être créés.

Ces informations sont gérées par un autre fichier : '/etc/tacacs+/tac_plus.conf'. Ouvrez ce fichier avec un éditeur de texte pour apporter les modifications appropriées.


nano /etc/tacacs+/tac_plus.conf

Ce fichier est l'endroit où doivent résider toutes les spécifications TACACS (autorisations utilisateur, listes de contrôle d'accès, clés d'hôte, etc.). La première chose à créer est une clé pour les périphériques réseau.

Il y a beaucoup de flexibilité dans cette étape. Une seule clé peut être configurée pour tous les périphériques réseau ou plusieurs clés peuvent être configurées par périphérique. L’option appartient à l’utilisateur mais ce guide utilisera une seule clé par souci de simplicité.


key = "super_secret_TACACS+_key"

Une fois qu'une clé a été configurée, des groupes doivent être créés pour déterminer les autorisations que les utilisateurs recevront ultérieurement. La création de groupes facilite grandement la délégation des autorisations. Vous trouverez ci-dessous un exemple d'attribution de droits d'administrateur complets.


group = admins {
        default service = permit
        service = exec {
                priv-lvl = 15
        }
}

  1. Le nom du groupe est déterminé par la ligne « group=admins », admins étant le nom du groupe.
  2. La ligne « default service=permit » indique que si une commande n'est pas explicitement refusée, alors autorisez-la implicitement.
  3. Le « service=exec { priv-lvl=15 > » autorise le niveau de privilège 15 en mode exécutable sur un périphérique Cisco (le niveau de privilège 15 est le plus élevé sur Équipement Cisco).

Maintenant, un utilisateur doit être affecté au groupe d'administrateurs.


user = rob {
       member = admins
       login = des mjth124WPZapY
}

  1. La strophe « user=rob » permet à un nom d'utilisateur de rob d'accéder à une ressource.
  2. Le « member=admins » indique à TACACS+ de se référer au groupe précédent appelé admins pour obtenir une liste de ce que cet utilisateur est autorisé à faire.
  3. La dernière ligne, « login=des mjth124WPZapY » est un mot de passe crypté permettant à cet utilisateur de s'authentifier (n'hésitez pas à utiliser un cracker pour comprendre cet exemple de mot de passe super « complexe ») !

Important : Il est généralement recommandé de placer des mots de passe chiffrés dans ce fichier plutôt que du texte brut, car cela ajoute un léger niveau de sécurité au cas où quelqu'un lirait ceci. fichier et ne devrait pas nécessairement y avoir accès.

Une bonne mesure préventive pour cela consiste au moins à supprimer également l'accès mondial en lecture au fichier de configuration. Cela peut être accompli via la commande suivante :


chmod o-r /etc/tacacs+/tac_plus.conf
service tacacs_plus reload

À ce stade, le côté serveur est prêt pour les connexions à partir de périphériques réseau. Passons maintenant au commutateur Cisco et configurons-le pour communiquer avec ce serveur Debian TACACS+.