Instal·lació i configuració de TACACS+ amb Cisco Router a Debian 8 Jessie


La tecnologia actual depèn en gran mesura dels equips de xarxa i de la configuració adequada d'aquests equips de xarxa. Els administradors tenen l'encàrrec d'assegurar-se que els canvis de configuració no només es comproven a fons abans de la implementació, sinó també que tots els canvis de configuració siguin fets per persones autoritzades per fer canvis, així com assegurar-se que els canvis es registren.

Aquest principi de seguretat es coneix com AAA (Triple-A) o Autenticació, Autorització i Comptabilitat. Hi ha dos sistemes molt destacats que ofereixen funcionalitat AAA perquè els administradors assegurin l'accés als dispositius i a les xarxes que serveixen.

RADIUS (Servei d'usuari de marcatge d'accés remot) i TACACS+ (Sistema de control d'accés al controlador d'accés al terminal Plus).

El radi s'utilitza tradicionalment per autenticar usuaris per accedir a la xarxa, cosa que contrasta amb TACACS, ja que TACACS s'utilitza tradicionalment per a l'administració de dispositius. Una de les grans diferències entre aquests dos protocols és la capacitat del TACACS de separar les funcions AAA en funcions independents.

L'avantatge de la separació TACACS de les funcions AAA és que es pot controlar la capacitat d'un usuari per executar determinades ordres. Això és molt avantatjós per a les organitzacions que volen oferir personal de xarxa o altres administradors de TI amb diferents privilegis de comandament a un nivell molt granular.

Aquest article explicarà la configuració d'un sistema Debian perquè actuï com a sistema TACACS+.

  1. Debian 8 instal·lat i configurat amb connectivitat de xarxa. Si us plau, llegiu aquest article sobre com instal·lar Debian 8
  2. Commutador de xarxa Cisco 2940 (la majoria dels altres dispositius Cisco també funcionaran, però les ordres del commutador/encaminador poden variar).

Instal·lació del programari TACACS+ a Debian 8

El primer pas per configurar aquest nou servidor TACACS serà adquirir el programari dels repositoris. Això s'aconsegueix fàcilment amb l'ús de l'ordre apt.

# apt-get install tacacs+

L'ordre anterior instal·larà i iniciarà el servei del servidor al port 49. Això es pot confirmar amb diverses utilitats.

# lsof -i :49
# netstat -ltp | grep tac

Aquestes dues ordres haurien de retornar una línia que indiqui que TACACS està escoltant al port 49 d'aquest sistema.

En aquest moment, TACACS està escoltant les connexions d'aquesta màquina. Ara és el moment de configurar el servei TACACS i els usuaris.

Configuració del servei i usuaris TACACS

En general, és una bona idea vincular serveis a adreces IP específiques si el servidor té diverses adreces. Per dur a terme aquesta tasca, les opcions del dimoni per defecte es poden modificar per especificar una adreça IP.

# nano /etc/default/tacacs+

Aquest fitxer especifica tota la configuració del dimoni que hauria d'iniciar el sistema TACACS. La instal·lació per defecte només especificarà el fitxer de configuració. En afegir un argument -B a aquest fitxer, es pot utilitzar una adreça IP específica perquè TACACS escolti.

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

Nota especial a Debian: per alguna raó, intentar reiniciar el servei TACACS+ per llegir les noves opcions del dimoni no té èxit (mitjançant el servei tacacs_plus restart).

El problema aquí sembla ser quan TACACS s'inicia mitjançant l'script d'inici, el PID s'estableix estàticament en \PIDFILE=/var/run/tac_plus.pid, però quan \-B X.X.X.X s'especifica com a opció de dimoni, el nom del fitxer pid es canvia a \/var/run/tac_plus.pid.X.X.X.X.

No estic del tot segur si es tracta d'un error o no, però per combatre la situació temporalment, es pot configurar manualment el PIDFILE a l'script d'inici canviant la línia a \PIDFILE=/var/run/tac_plus.pid.X.X.X.X on X.X.X.X és l'adreça IP que TACACS hauria d'escoltar i després iniciar el servei amb:

# service tacacs_plus start

En reiniciar el servei, es pot tornar a utilitzar l'ordre lsof per confirmar que el servei TACACS escolta a l'adreça IP correcta.

# lsof -i :49

Com s'ha vist anteriorment, TACACS està escoltant una adreça IP en una adreça IP específica tal com s'estableix al fitxer predeterminat TACACS anterior. En aquest punt, cal crear usuaris i conjunts d'ordres específics.

Aquesta informació la gestiona un altre fitxer: '/etc/tacacs+/tac_plus.conf'. Obriu aquest fitxer amb un editor de text per fer les modificacions adequades.

# nano /etc/tacacs+/tac_plus.conf

Aquest fitxer és on han de residir totes les especificacions TACACS (permisos d'usuari, llistes de control d'accés, claus d'amfitrió, etc.). El primer que cal crear és una clau per als dispositius de xarxa.

Hi ha molta flexibilitat en aquest pas. Es pot configurar una única clau per a tots els dispositius de xarxa o es poden configurar diverses claus per dispositiu. L'opció depèn de l'usuari, però aquesta guia utilitzarà una sola tecla per simplicitat.

key = "super_secret_TACACS+_key"

Un cop configurada una clau, s'han de crear grups que determinen els permisos que els usuaris s'assignaran més endavant. La creació de grups facilita molt la delegació de permisos. A continuació es mostra un exemple d'assignació de drets d'administrador complets.

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

  1. El nom del grup ve determinat per la línia \group = admins i els administradors són el nom del grup.
  2. La línia \servei predeterminat = permís indica que si una ordre no es denega explícitament, permeteu-la implícitament.
  3. El \service = exec { priv-lvl = 15 }” permet el nivell de privilegi 15 en mode exec en un dispositiu Cisco (el nivell de privilegi 15 és el més alt dels equips de Cisco).

Ara cal assignar un usuari al grup d'administració.

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

  1. L'estrofa \user = rob permet que un nom d'usuari de rob accedeixi a algun recurs.
  2. El \member = admins diu a TACACS+ que es refereixi al grup anterior anomenat administradors per obtenir una llista del que aquest usuari està autoritzat a fer.
  3. La línia final, \login = des mjth124WPZapY és una contrasenya xifrada per autenticar aquest usuari (no dubteu a utilitzar un cracker per esbrinar aquest exemple de contrasenya super \complexa)!

Important: En general, és una bona pràctica col·locar contrasenyes xifrades en aquest fitxer en lloc de text sense format, ja que afegeix una mica de seguretat en el cas que algú hagi de llegir aquest fitxer i no necessàriament hi hagi de tenir accés.

Una bona mesura preventiva per això és eliminar, com a mínim, l'accés de lectura mundial també al fitxer de configuració. Això es pot aconseguir mitjançant la següent comanda:

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

En aquest punt, el costat del servidor està preparat per a connexions des de dispositius de xarxa. Anem ara al commutador Cisco i configurem-lo per comunicar-se amb aquest servidor Debian TACACS+.