Instalacija i konfiguracija TACACS+ sa Cisco ruterom na Debian 8 Jessie


Današnja tehnologija se u velikoj mjeri oslanja na mrežnu opremu i odgovarajuću konfiguraciju te mrežne opreme. Administratori imaju zadatak da osiguraju da se promjene konfiguracije ne samo temeljito testiraju prije implementacije, već i da sve promjene konfiguracije urade pojedinci koji su ovlašteni da unose promjene, kao i da se pobrinu da se promjene evidentiraju.

Ovaj sigurnosni princip je poznat kao AAA (Triple-A) ili Autentifikacija, Autorizacija i Račun. Postoje dva vrlo istaknuta sistema koja nude AAA funkcionalnost za administratore da osiguraju pristup uređajima i mrežama koje ti uređaji služe.

RADIUS (Korisnička usluga za daljinski pristup putem biranja) i TACACS+ (Sistem kontrole pristupa terminalu Plus).

Radijus se tradicionalno koristi za autentifikaciju korisnika za pristup mreži što je suprotno od TACACS u tome što se TACACS tradicionalno koristi za administraciju uređaja. Jedna od velikih razlika između ova dva protokola je sposobnost TACACS-a da odvoji AAA funkcije u nezavisne funkcije.

Prednost TACACS razdvajanja AAA funkcija je u tome što se može kontrolisati sposobnost korisnika da izvrši određene komande. Ovo je veoma korisno za organizacije koje žele da obezbede mrežnom osoblju ili drugim IT administratorima različite komandne privilegije na veoma detaljnom nivou.

Ovaj članak će proći kroz postavljanje Debian sustava da djeluje kao TACACS+ sistem.

Environment Setup

  1. Debian 8 je instaliran i konfiguriran s mrežnom vezom. Molimo pročitajte ovaj članak o tome kako instalirati Debian 8
  2. Cisco mrežni prekidač 2940 (Većina drugih Cisco uređaja će takođe raditi, ali komande na komutatoru/ruteru mogu da variraju).

Instalacija TACACS+ softvera na Debian 8

Prvi korak u postavljanju ovog novog TACACS servera biće preuzimanje softvera iz spremišta. Ovo se lako postiže upotrebom naredbe ‘apt’.


apt-get install tacacs+

Gornja komanda će instalirati i pokrenuti servis servera na portu 49. To se može potvrditi s nekoliko uslužnih programa.


lsof -i :49
netstat -ltp | grep tac

Ove dvije komande bi trebale vratiti red koji pokazuje da TACACS sluša port 49 na ovom sistemu.

U ovom trenutku TACACS osluškuje veze na ovoj mašini. Sada je vrijeme za konfiguraciju TACACS usluge i korisnika.

Konfiguriranje TACACS usluge i korisnika

Općenito je dobra ideja vezati usluge za određene IP adrese ako server ima više adresa. Da bi se izvršio ovaj zadatak, zadane demonske opcije mogu se modificirati kako bi se specificirala IP adresa.


nano /etc/default/tacacs+

Ova datoteka specificira sve demonske postavke koje TACACS sistem treba pokrenuti. Podrazumevana instalacija će odrediti samo konfiguracionu datoteku. Dodavanjem argumenta ‘-B’ ovoj datoteci, određena IP adresa se može koristiti za TACACS za slušanje.


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

Posebna napomena u Debianu: Iz nekog razloga pokušaj ponovnog pokretanja usluge TACACS+ radi čitanja novih demonskih opcija je neuspješan (putem service tacacs_plus restart).

Čini se da je problem ovdje kada se TACACS pokrene preko init skripte, PID je statički postavljen na “PIDFILE=/var /run/tac_plus.pid ” međutim kada je “-B X.X.X.X ” specificirana kao demon opcija, ime pid datoteke se mijenja u “/var/run /tac_plus.pid.X.X.X.X ”.

Nisam potpuno siguran da li je ovo greška ili ne, ali da bismo privremeno riješili situaciju, možete ručno postaviti PIDFILE u init skriptu promjenom linije u “PIDFILE=/var/run/tac_plus.pid.X.X.X.X ” gde je X.X.X.X IP adresa koju TACACS treba da sluša, a zatim da pokrene uslugu sa:


service tacacs_plus start

Nakon ponovnog pokretanja usluge, komanda lsof se može ponovo koristiti za potvrdu da TACACS servis sluša na ispravnoj IP adresi.


lsof -i :49

Kao što se vidi gore, TACACS sluša IP adresu na određenoj IP adresi kao što je postavljeno u TACACS default datoteci iznad. U ovom trenutku potrebno je kreirati korisnike i specifične skupove naredbi.

Ovim informacijama upravlja drugi fajl: „/etc/tacacs+/tac_plus.conf“. Otvorite ovu datoteku u uređivaču teksta da izvršite odgovarajuće izmjene.


nano /etc/tacacs+/tac_plus.conf

Ova datoteka je mjesto gdje bi se trebale nalaziti sve TACACS specifikacije (korisničke dozvole, liste kontrole pristupa, ključevi domaćina, itd.). Prva stvar koju treba kreirati je ključ za mrežne uređaje.

U ovom koraku postoji velika fleksibilnost. Jedan ključ se može konfigurirati za sve mrežne uređaje ili se može konfigurirati više ključeva po uređaju. Opcija je na korisniku, ali ovaj vodič će koristiti jedan ključ radi jednostavnosti.


key = "super_secret_TACACS+_key"

Nakon što je ključ konfiguriran, trebalo bi izgraditi grupe koje određuju dozvole koje će se korisnicima dodijeliti kasnije. Kreiranje grupa čini delegiranje dozvola mnogo lakšim. Ispod je primjer dodjeljivanja punih administratorskih prava.


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

  1. Ime grupe je određeno linijom “group=admins” pri čemu su administratori ime grupe.
  2. Red “default service=permit” označava da ako komanda nije eksplicitno odbijena, onda je dozvolite implicitno.
  3. service=exec { priv-lvl=15 } ” dozvoljava nivo privilegija 15 u exec načinu rada na Cisco uređaju (nivo privilegija 15 je najviši na Cisco oprema).

Sada korisnik mora biti dodijeljen admin grupi.


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

  1. Strofa “user=rob ” dozvoljava korisničkom imenu rob da pristupi nekom resursu.
  2. “član=administratori ” govori TACACS+ da se pozove na prethodnu grupu zvanu administratori za popis onoga što je ovaj korisnik ovlašten da radi.
  3. Posljednji red, “login=des mjth124WPZapY ” je dešifrirana lozinka za autentifikaciju ovog korisnika (slobodno upotrijebite kreker da otkrijete ovaj primjer super “složene” lozinke)!

Važno: Općenito je najbolja praksa postaviti šifrirane lozinke u ovu datoteku, a ne običan tekst jer to dodaje malu količinu sigurnosti u slučaju da neko ovo pročita fajl i ne mora nužno imati pristup.

Dobra preventivna mjera za ovo je barem uklanjanje pristupa za čitanje svijeta u konfiguracijskoj datoteci. Ovo se može postići pomoću sljedeće naredbe:


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

U ovom trenutku serverska strana je spremna za konekcije sa mrežnih uređaja. Prijeđimo sada na Cisco prekidač i konfigurirajmo ga za komunikaciju s ovim Debian TACACS+ poslužiteljem.