TACACS+: Difference between revisions
Line 262: | Line 262: | ||
ps -ef | grep tac_plus | ps -ef | grep tac_plus | ||
</pre> | </pre> | ||
Peale igat tac_plus.conf konfiguratsioonimuudatust, tuleb taaskäivitada TACACS+ teenus: | Peale igat tac_plus.conf konfiguratsioonimuudatust, tuleb taaskäivitada TACACS+ teenus: |
Revision as of 23:56, 15 December 2012
Autor
Margus Kurnikov AK21
Sissejuhatus
TACACS+ (Terminal Access Controller Access-Control System Plus) on võrguseadmete ligipääsukontrolli protokoll, mis hõlmab endas nii autentimise, autoriseerimise kui ka aruandluse teenuseid. Andmevahetuseks kasutatakse TCP porti 49.
Erinevalt RADIUS'st, mis on TACACS+ alternatiiv, eristab viimast autoriseerimise funktsionaalsuse lahutamine, mis võimaldab paindlikumat ligipääsukontrolli - kes võib käivitada käske, milliseid käske, millises seadmes. Iga kasutaja poolt sisestatud käsk saadetakse kesksesse TACACS+ serverisse autoriseerimiseks, kus kontrollitakse, kas vastavat käsku on lubatud käivitada konkreetsel kasutajal või grupil. TACACS+ on võimalik luua käskude käivitamisele näiteks kasutaja-, seadme-, või ajapõhiseid reegleid.
TACACS+ protokolli tugi on olemas levinud suuremate tootjate võrguseadmetes - Cisco, Juniper/Netscreen, HP, Alcatel/Lucent, Ericsson jt.
Antud kirjutises käsitlen lihtsaid TACACS+ seadistamisvõimalusi.
Paigaldamine
TACACS+ teenus paigaldatud Ubuntu 12.04-le.
Testitava ruuterina kasutusel Cisco 1812.
TACACS+ teenuse paigaldus:
apt-get install tacacs+
Teenuse seadistamine
Konfiguratsioonifaili manual:
man tac_plus.conf
Aruandluse logifail:
/var/log/tac_plus.acct
TACACS+ konfiguratsioonifaili asukoht:
/etc/tacacs+/tac_plus.conf
Algupärane konfiguratsioonifail:
# Created by Henry-Nicolas Tourneur(henry.nicolas@tourneur.be) # See man(5) tac_plus.conf for more details # Define where to log accounting data, this is the default. accounting file = /var/log/tac_plus.acct # This is the key that clients have to use to access Tacacs+ key = testing123 # Use /etc/passwd file to do authentication #default authentication = file /etc/passwd # You can use feature like per host key with different enable passwords #host = 127.0.0.1 { # key = test # type = cisco # enable = <des|cleartext> enablepass # prompt = "Welcome XXX ISP Access Router \n\nUsername:" #} # We also can define local users and specify a file where data is stored. # That file may be filled using tac_pwd #user = test1 { # name = "Test User" # member = staff # login = file /etc/tacacs/tacacs_passwords #} # We can also specify rules valid per group of users. #group = group1 { # cmd = conf { # deny # } #} # Another example : forbid configure command for some hosts # for a define range of clients #group = group1 { # login = PAM # service = ppp # protocol = ip { # addr = 10.10.0.0/24 # } # cmd = conf { # deny .* # } #} user = DEFAULT { login = PAM service = ppp protocol = ip {} } # Much more features are availables, like ACL, more service compatibilities, # commands authorization, scripting authorization. # See the man page for those features.
Kasutajate autentimist on võimalik tac_plus's seadistada kolmel moel:
- Autentimine lokaalse passwd faili alusel - /etc/passwd
- Autentimine /etc/tac_plus/tac_plus.conf faili lisatud DES salajaste võtmetega
- Autentimine PAM-ga LDAP serveri pihta
Käsitlen kahte esimest varianti:
Autentimine passwd faili põhjal
Lisan TACACS+ võtme , mis tuleb ka hallatava(te)sse ruuteri(te)sse seadistada (sellest juttu edaspidi), kommenteerin välja rea, kus määratakse autentimisandmete allikaks /etc/passwd fail.
Loon grupi "net_admins", omistan Cisco kõrgeim ligipääsutaseme - privilege level 15. Kasutaja "margus" määran grupi "net_admins" liikmeks.
. . . key = y97A14T2#741zQ+ . . . default authentication = file /etc/passwd . . . group = net_admins { default service = permit login = file /etc/passwd enable = file /etc/passwd service = exec { priv-lvl = 15 } } user = margus { member = net_admins } . . .
Autentimine DES salajase võtmega
Loon grupi "uusgrupp", madalaima ligipääsutasemega - privilege level 0.
Kasutaja "jaan" lisan loodud gruppi ja defineerin krüpteeritud parooli.
Parooli krüpteerimiseks kasutan käsku tac_pwd
.
. . . key = y97A14T2#741zQ+ . . . group = uusgrupp { default service = permit service = exec { priv-lvl = 0 } } . . . user = jaan { login = des UT.e3EErKERm2 member = uusgrupp } . . .
Autoriseermine
Autoriseerimine võimaldab keelata hallatavas võrguseadmes teatud käskude käivitamist. Need reeglid on omistatavad nii kasutajatele kui gruppidele. Reeglid on keelavad või lubavad.
Lihtne näide, kus on loodud grupp "piiratud_ligip22s", mille liikmetele on lubatud ligipääs vaid ruuterile IP-ga 172.16.1.103.
Grupi liikmetel on keelatud käivitada käske "configure" ega "debug".
. . . acl = ruuter1_acl { permit = 172.16.1.103 } group = piiratud_ligip22s { default service = permit login = file /etc/passwd enable = file /etc/passwd service = exec { priv-lvl = 15 } cmd = configure { deny "." } cmd = debug { deny "." } acl = ruuter1_acl } user = uno { member = piiratud_ligip22s } . . .
Cisco AAA seadistamine
Lihtsustatud AAA konfiguratsioon Cisco ruuteris
! luuakse uus AAA skeem, millega lubatakse sisestada allolevad käsud aaa new-model ! ! Käsib seadmel iga sisse logiva kasutaja nime ja parooli valideerida TACACS+ serveri pihta aaa authentication login default group tacacs+ enable ! ! Kui kasutaja on autoriseeritud, siis sisselogimisel viiakse ta kohe exec (enable) režiimi aaa authorization exec default group tacacs+ if-authenticated ! ! Autoriseeritakse privilege level 15 kasutajaid ja kui TACACS+ server pole kättesaadav, siis kasutatakse lokaalset kasutajakontot aaa authorization commands 15 default group tacacs+ ! ! Salvestab aruandlust privilege level 15 kasutajate kohta: aaa accounting commands 15 default start-stop group tacacs+ ! ! TACACS+ serveri IP tacacs-server host 172.16.1.100 ! ! TACACS+ serveri võti tacacs-server key y97A14T2#741zQ+ !
Tõrkeotsing
Kontrollime, kas TACACS+ protsess jookseb:
ps -ef | grep tac_plus
Peale igat tac_plus.conf konfiguratsioonimuudatust, tuleb taaskäivitada TACACS+ teenus:
/etc/init.d/tacacs_plus restart
Kui teenus ei peaks pärast konfiguratsioonimuudatust käivituma,
* Restarting TACACS+ authentication daemon tacacs+ [fail]
siis tuleb viga otsida tac_plus.conf failist.