TACACS+ (Terminal Access Controller Access-Control System Plus) je protokol, ki omogoča dostopovno kontrolo, avtorizacijo in acoounting do množice omrežnih naprav preko enega samega streznika. Najvecja prednost je torej to, da imamo centraliziran streznik, na katerem imamo definirane uporabnike, ki jim dovolimo izvedbo tocno dolocenih komand na routerjih. Vec si lahko preberete na wikipedii.
Torej nam ni potrebno konfigurirati dostopa na vsakem routerju posebej, ampak samo vklopimo tacacs+ podporo in smo ready to go!
Poleg tega pa imamo na strezniku tudi kompleten log file vseh dostopov, avtentikacij in komand, ki jih je kaksen uporabnik naredil na posamezni napravi. Pravice pa kot omenjeno lahko delamo per-user ali per-group – npr nadzorni center lahko izvede samo show komande, medtem ko administratorji lahko uporabljajo vse komande.
Tale guide je sicer Gentoo-oriented, vendar je sama konfiguracija streznika ter routerjev enaka tudi za druge distribucije…
1. Instalacija streznika
Na Gentooju je instalacija straigh-forward, samo emergamo tac_plus:
emerge -av tac-plus
2. Konfiguracija streznika in uporabnikov
Za tale primer bomo naredili samo preprosto osnovno konfiguracijo, skupine uporabnikov in dostope si kasneje skreirajte sami… Za vec nastavitev si oglejte man tac_plus.conf.
Naredili bomo 2 uporabnika (admina ter limited userja, ki bo lahko izvedel samo "show ip *" ter "show interface *") ter dovolili dostop do streznika samo iz enega routerja…
vi /etc/tac_plus/tac_plus.conf
user = admin {
default service = permit
login = des F2Dk.dHKwPLDg
}
user = user {
default service = deny
login = cleartext user
cmd = show
{
permit ip
permit interface
deny .*
}
}
Dodamo se IP routerja ter geslo za dostop:
host = 10.0.0.10 {
key = gremonapivo
}
Kriptirana gesla kreiramo s komando tac_pwd:
server tac_plus # tac_pwd
Password to be encrypted: encrypt_this
F2Dk.dHKwPLDg
server tac_plus #
3. Zagon streznika
Streznik zazenemo na standarden nacin:
/etc/init.d/tac_plus start
Lahko ga seveda tudi zazenemo ob zagonu sistema – dodamo v default runlevel:
rc-update add tac_plus default
4. Troubleshooting
Za troubleshooting gledamo log fajle:
tail -f /var/log/tac_plus.*
tac_plus.log je log streznika,
tac_plus.auth je avtorizacijski log – tukaj vidimo kdo je kdaj, iz kje izvedel katero komando
:
Fri Mar 28 13:49:58 2008 10.0.0.10 admin tty131 10.0.0.14 stop task_id=4 timezone=UTC service=shell priv-lvl=15 cmd=show running-config
torej: uporabnik admin je iz IPja 10.0.0.14 ob 13:49:58 dne 28.03.2008 na routerju 10.0.0.10 izvedel komando "show running-config".
5. Konfiguracija Cisco naprav
Seveda moramo pred vsem tem še skonfigurirati Cisco naprave, da se bodo avtenticirale preko TACACS+ streznika…
Vec TACACS+ primerov lahko najdete na http://www.cisco.com/en/US/tech/tk583/tk642/tsd_technology_support_sub-protocol_home.html
Konfiguracija je sledeca:
-Avtentikacija
Default avtentikacija naj bo preko tacacs+ streznika:
aaa new-model
aaa authentication login default group tacacs+ enable
aaa authentication enable default group tacacs+ enable
-Avtorizacija
Dovoljene komande za uporabnike so definirane na tacacs strezniku:
aaa authorization network default group tacacs+
aaa authorization commands 1 tacacs+ if-authenticated
aaa authorization commands 15 tacacs+ if-authenticated
aaa authorization network tacacs+
V kolikor streznik ni dostopen lahko dovolimo izvedbo vseh komand z lokalnim userjem, da si ne odrezemo dostopa:
aaa authorization exec default group tacacs+
-Accounting
Da vidimo katere komande je kateri uporabnik izvajal vklopimo accounting:
aaa accounting exec start-stop tacacs+
aaa accounting commands 1 start-stop tacacs+
aaa accounting commands 15 start-stop tacacs+
aaa accounting network start-stop tacacs+
aaa accounting system start-stop tacacs+
- steznik
Na koncu se definiramo streznik ter geslo za dostop:
tacacs-server host 10.0.0.11
tacacs-server key gremonapivo
V kolikor je vse ok bi se sedaj morali uspesno avtenticirati preko tacacs+ streznika.
lpm
p.s.:
s sledeco komando lahko preverimo, katere komande je izvedel uporabnik (npr rancid):
cat /var/log/tac_plus.acct | grep rancid | cut -f 10
output:
cmd=terminal length 0
cmd=show version
cmd=show environment all
cmd=show flash:
cmd=dir /all nvram:startup-config nvram:private-config nvram:ifIndex-table
cmd=dir /all
cmd=dir /all
cmd=show controllers
cmd=show diag
cmd=show vlans
cmd=show debugging
cmd=show running-config
cmd=write terminal
disc-cause-ext=1020
Your IP Address is:
38.107.179.223