Jump to content

[resolu] [Debian] configuration serveur tacacs


Recommended Posts

bonjour à tous,

je souhaite mettre en place un système d'authentification tacacs, qui va permettre d'authentifier précisément les utilisateurs souhaitant effectuer des modifications sur les configurations des équipements de notre réseau

en effet, la sécurité est un enjeu important dans le monde des réseaux, et il va de soi qu'un peu de sécurité (non pas de la méfiance mais de la prévention) ça compte beaucoup :|

aussi, je me suis renseigné sur tacacs à installer sur debian

j'ai un serveur sous debian 2.6.12-2-686 et j'ai installé le package tac-plus4

il est démarré, et j'ai regardé un peu le fichier de configuration /etc/tac-plus/tacacs.conf


##  more? read users_guide in /usr/doc/tac-plus/
##
##btw: is there some scripts to manage this file?
## Carlos Barros

#default authentication = file /etc/passwd
#default authentication = file /etc/passwd
#accounting file = /var/log/tac-plus/account
##default authorization = permit
##key = derVichE		# comment while debug

#user = DEFAULT {
#default service = permit
#					 }


#user = test1@redlider {
#default service = permit
#chap = cleartext secret
#service = ppp protocol = ip { }
#service = ppp protocol = lcp { }
#					 }



#user = test2@redlider {
#default service = permit
#name = "Test2 name"
#member = group1
#chap = cleartext "secret2"
#service = ppp protocol = ip { }
#service = ppp protocol = lcp { }
#					 }




#user = test3 {
#	default service = permit
##	login = des
#	member = group2
#	name = "Test3's name"
#chap = cleartext SeCrEt
#timeout = 120
#service = ppp protocol = ip { }
#service = ppp protocol = lcp { }
#}

## Groups section
##
#group = group1 {
#before authorization "/usr/echo $user trying to log in"
#}

#group = group2 {
#maxsess = 1
#}

#group = group { }

je vous avoue que je n'y comprends pas grand chose :zarb:

alors je me suis renseigné sur ce site internet

http://www.debianhelp.co.uk/tacas.htm

si j'ai bien saisi, on peut configurer les utilisateurs dans ce fichier et les affecter à des groupes, en définissant les règles de sécurité appliquées soit à chaque utilisateur soit à chaque groupe

alors je me suis dit : pourquoi ne pas le faire à des groupes, c'est plus simple non ? :transpi:

que pensez-vous de ce bout de code :


#This user can do anything

user = root {
default service = permit
login = des 70e4lCVGyWSKM
		  }

#this user can only run 'show ip' and ‘show interface’ commands

user = user1 {
default service = deny
member = group_users
login = cleartext user
} 

## Groups section
##
group = group_users {
before authorization "/usr/echo $user trying to log in"
cmd = show
			{
			permit ip
			permit interface
			deny .*
			}
}

est-ce que ça peut fonctionner ? :transpi:

ainsi, je n'aurai plus qu'à créer plusieurs utilisateurs, leur affecter un groupe et un mot de passe :|

d'ailleurs en parlant du mot de passe, comment est-ce qu'on l'affecte ? est-ce que ça sera par rapport à ce qui est déjà déclaré dans le fichier /etc/passwd de ce meme serveur ? :reflechis:

merci de vos précisions

sunfun :yes:

Link to comment
Share on other sites

  • 3 weeks later...

bonjour,

finalement, j'ai trouvé comment faire grace à ce tuto

http://www.debian-administration.org/articles/429

sinon par rapport à cette commande :

# tac_plus -C /etc/tac-plus/tacacs.conf

comment je peux faire pour relancer le processus tacacs lorsque je modifie le fichier tacacs.conf ?

j'imagine qu'il faut relancer le processus pour la prise en compte des modifications du fichier :p:mdr2:

merci de votre aide :francais:

sunfun :francais:

Link to comment
Share on other sites

Tu peux toujours essayer un kill -HUP sur le process et voir si ca fonctionne. :sept:

bonjour naparuba,

merci de ta réponse :yes::transpi:

mais n'existe-t-il pas un équivalent à /etc/init.d/tac-plus restart, commande qui ne peut pas s'appliquer dans mon cas, puisque j'ai suivi ce tuto et que j'ai compilé tacacs à la main :transpi:

existe-t-il genre un script que je peux créer et qui ferait la meme chose que la commande que j'ai citée ?

c'est à dire

 # tac_plus -C /etc/tac-plus/tacacs.conf 

merci de ton aide :francais:

sunfun ;)

Link to comment
Share on other sites

Tu peux en créer un toi même si ça n'existe pas.

Regarde tes autres /etc/init.d/*, c'est plein dekills ou de start-stop-deamons sous Deb-like (dpkg).

bonjour theocrite

merci du conseil

je vais voir ce que je peux faire

sunfun :transpi:

Link to comment
Share on other sites

bonjour à tous,

merci pour votre aide :yes:

j'ai résolu mon probleme :craint::p:smack:

en fait, j'ai remarqué que pour lancer le démon tacacs installé manuellement, il utilisait la commande tac_plus

alors j'ai fait un which tac_plus pour identifier où il se trouvait :p:sucre::p

et j'ai modifié le fichier /etc/init.d/tac-plus qui avait été installé lors de l'installation par apt-get install tac-plus

voici ce que ça donne :


#! /bin/sh
#
# skeleton	  example file to build /etc/init.d/ scripts.
#			   This file should be used to construct scripts for /etc/init.d.
#
#			   Written by Miquel van Smoorenburg <miquels@cistron.nl>.
#			   Modified for Debian GNU/Linux
#			   by Ian Murdock <imurdock@gnu.ai.mit.edu>.
#
# Version:	  @(#)skeleton  1.8  03-Mar-1998  miquels@cistron.nl
#
# This file was automatically customized by dh-make on Mon, 13 Sep 1999 15:05:30 -0300

PATH=/sbin:/bin:/usr/sbin:/usr/bin
#DAEMON=/usr/sbin/tac_plus
DAEMON=/usr/local/bin/tac_plus
NAME=tac_plus
DESC="Tacacs+ server"
CONFIG_FILE=/etc/tac-plus/tacacs.conf

test -f $DAEMON || exit 0
test -f $CONFIG_FILE || { echo "There is no $CONFIG_FILE here"; exit 1; }

#set -e

case "$1" in
 start)
	echo -n "Starting $DESC: "
	start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
			--exec $DAEMON -- -C $CONFIG_FILE -d 248
	echo "$NAME."
   ;;
 stop)
	echo -n "Stopping $DESC: "
	start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
			--exec $DAEMON
	echo "$NAME."
   ;;
 #reload)
	#
	#	   The daemon AFAIK have problems reloading its
	#	   config files on the fly. When sending the signal
	#	   it dies trying to bind again to the socket.
	#	   So it has been disabled.
	# echo "Reloading $DESC configuration files."
	# start-stop-daemon --stop --signal FIXME --quiet --pidfile \
	#	   /var/run/$NAME.pid --exec $DAEMON
 #;;
 restart|force-reload)
	#
	echo -n "Restarting $DESC: "
	start-stop-daemon --stop --quiet --pidfile \
			/var/run/$NAME.pid --exec $DAEMON
	sleep 1
	start-stop-daemon --start --quiet --pidfile \
			/var/run/$NAME.pid --exec $DAEMON -- -C $CONFIG_FILE -d 248
	echo "$NAME."
   ;;
 *)
	N=/etc/init.d/$NAME
	# echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
	echo "Usage: $N {start|stop|restart|force-reload}" >&2
	exit 1
   ;;
esac

exit 0

à présent, je peux faire /etc/init.d/tac-plus stop/start/restart/reload

c'est génial ;):p8):-D

pour ce qui est de la configuration du tacacs proprement dite, j'ai modifié le fichier /etc/tac-plus/tacacs.conf et ça donne un exemple comme ceci :


key=clé_tacacs
#
# See Documentation /opt/tac_plus/doc/users_guide for advanced details"
#
# Configuring the encryption key (actuellement non activée)
# key = "your key here"
#
# Default authentification using a file (actuellement non activée)
# default authentication = file /etc/passwd
#
# There is only one configurable accounting parameter --
#accounting file=/var/log/tac_plus/tac_acc.log
accounting file=/var/log/tac-plus/tacplus_acc.log
#
#########################################################
# liste desgroupes autorises
#
#groupe RO  : readonly
#groupe RW  : readwrite
##########################################################
#
#
#
#
group=readonly {
 service=exec {
   priv-lvl=7
}
cmd=show {
  deny run
  permit .*
}
cmd=ping {
  permit .*
}
 cmd=traceroute {
  permit .*
}
 name="Groupe Read Only"
	  }
#
#
group=readwrite {
  default service=permit
  service=exec {
	   default attribute=permit
			   }
 name="Groupe Read Write"
			  }
#
#
#################################################################
#															   #
#	liste des compte utilisateurs autorises en read/write	  #
#															   #
#################################################################
#
#
user=$enab15$ {
	login=des C3qUDO1Op5MGI
	name="enable"
	}
#
user=$enab10$ {
	login=des bSSRf7uNLyFYk
	name="enable10"
	}

# readwrite
user=readwrite {
member=readwrite
login=des 51IRerwYfFqJw
name="readwrite"
	   }

# readonly
user=readonly {
member=readonly
login=des JK0oQLpxn5wis
name="readonly"
 }

j'ai donc défini 2 groupes, une clé tacacs, qu'il faudra configurer sur les équipements cisco pour que le tacacs soit fonctionnel :p:-D

ensuite, pour éviter de saisir le mot de passe enable, il suffit de rajouter ceci dans la configuration d'un utilisateur :

service=exec {
	priv-lvl=15
	}

enfin, pour générer les mots de passe, il faut utiliser la commande tac_pwd

après ça, on relance le processus tacacs et c'est bon :ouioui:

encore merci à tous :yes:

je mets ce sujet en résolu

:resolu:

sunfun :byebye:

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...