Prvým krokom pre nastavenie routera je určenie tacacs servera a kľúča, ktorý sa bude používať na kryptovanie paketov. Kľúč sa samozrejme musí zhodovať s kľúčom v konfiguračnom súbore tacacsu direktívou
key = mojtackluc
Takže po prihlásení na router sa prepneme do enable módu príkazom
enable
a nakonfigurujeme tacacs server a kľúč
configure terminal tacacs-server key mojtackluc tacacs-server host xxx.xxx.xxx.xxx
configure mód opustíme stlačením kombinácie CTRL-Z a zapíseme config do NVRAM príkazom
write
Na routeri môžeme nadefinovať príkazom tacacs-server host viacero tacacs serverov, avsak na vsetkých musí byť nastavený rovnaký kľúč. Router bude skúsat authentikácie a authorizácie postupne na každej uvedenej ip adrese v poradí ako boli nadefinované a na prvom prístupnom tacacs serveri ich vykoná. To sa môže hodiť pre záložné tacacs servery.
Použitie tacacs servera pre authorizáciu príkazov na routeri
Authorizáciu príkazov na routeri prostredníctvom tacacsu docielime nasledovnými príkazmi v enable config móde:
aaa new-model aaa authorization commands 1 tacacs+ aaa authorization commands 15 tacacs +
Toto spôsobí, že router bude posielať na tacacs požiadavky pre authorizovanie príkazov užívateľov úrovne 1 (bežní úžívatelia) a užívaeľov úrovne 15 (privilegovaných užívateľov v enable móde).
Čiže v konfiguračnom súbore tacacsu si nastavímeme obmedzenia prístupných príkazov pre jednotlivých užívateľov nasledovne:
user = pascal { login = cleartext "sezamotvorsa" cmd = telnet { permit 62\.168\.96\.[0-9]+ } cmd = show { permit .* } cmd = ping { permit .* } }
Užívateľ pascal má prístupné vsetky variácie príkazu show, ping a telnet na ip adresy 62.168.96.. V nasledovnej variácii klauzuly príkazu telnet sú povolené spojenia na vsetky ip adresy okrem 62.168.96.
cmd = telnet { deny 62\.168\.96\.[0-9]+ permit .* }
Príkazy a argumenty, ktoré odosiela užívateľ, sú porovnávané s regulérnymi výrazmi v takom poradí, v akom sú definované v konfiguračnom súbore tacacsu. Prvá úspesná zhoda určí výsledok authorizácie príkazu, čiže permit alebo deny. Ak k zhode nedôjde, v súlade s implicitnou politikou tacacsu je výsledkom authorizácie politika deny. Na to treba pamätať pri písaní pravidiel a nie je teda nutné definovať obmedzenia nasledovne:
cmd = telnet { permit 62\.168\.96\.[0-9]+ deny .* }
Toto implicitné nastavenie politiky tacacsu je možné kvoli spätnej kompatibilite zmeniť na permit v konfiguračnom súbore nasledovnou klauzulou
default authorization = permit.
Pre nedefinovaných užívateľov v konfiguračnom súbore tacacsu je možné authorizáciu príkazov vykonávať nasledovne.
user = DEFAULT { cmd = telnet { permit 62\.168\.96\.[0-9]+ }
To sa nám može zísť ak authentikáciu vykonávame iným prostriedkom ako tacacsom, napríklad externým súborom definovaným klauzulov
default authentication = file /etc/passwd
Ako vidíme, authorizácia príkazov na routeri prostredníctvom tacacsu je silným a jednoduchým nástrojom kde v podstate prostredníctvom REGEXP výrazov jednoducho definujeme obmedzenia. Niekedy vsak v zložitejsích sadách pravidiel pri chybe nám môže pomôcť debug mód. Na routeri ho aktivujeme príkazmi
debug aaa authorization terminal monitor
pre tacacs daemon si túto voľbu zapneme pri spúsťaní daemona parametrom -d, napríklad
tac_plus -C tac_plus.conf -d 16
ktorý nám aktivuje zapisovanie debug informlácií do logového súboru, ktorý môžeme priebežne sledovať
tail -f /var/log/tac_plus.conf
Chyby sa hľadajú jednoduchsie a odlaďovanie sa stane hračkou.
Aktivovanie účtovania pre authorizované príkazy
Jednotlivé príkazy, ktoré sú prostredníctvom tacacsu authorizované, a časy trvania exec sessions je možné po definovaní v konfiguračnom súbore tacacsu direktívou
accounting file = <filename>
na routeri povoliť príkazom
aaa accounting exec stop-only tacacs+
čo nám spôsobí zapisovanie jednotlivých vykonávaných príkazov authentikovaných tacacsom aj s časom trvania, uživateľským menom a ďalsími údajmi do účtovacieho súboru, z ktorého ich môžeme neskôr jednoduchým spôsobom analyzovať a spracovávať. Formát účtovacieho súboru je veľmi jednoduchý preto nie je zložité pripraviť si skripty, ktoré budú jeho obsah vyhodnocovať. Treba si vsak vopred uvedomiť, akým rýchlym tempom bude veľkosť tohoto súboru narastať preto si nezhabudnime nakonfigurovať rotovanie aj pre tento účtovací súbor používanou pomôckou logrotate.
Ďalsia časť seriálu sa bude venovať authentikácii užívateľov a nastavenie pre authentikáciu dialup užívateľov.