Cosa fa#
Installa tac_plus su Ubuntu, configura utenti con diversi livelli di privilegio, e testa l'autenticazione da Kali con tacacs_client. Dimostra le differenze pratiche rispetto a RADIUS: TCP invece di UDP, cifratura dell'intera sessione, e separazione netta di Authentication / Authorization / Accounting.
TL;DR#
Kali (192.168.64.200) → simula un router Cisco che chiede "questo admin può accedere?"
Ubuntu (192.168.64.3) → TACACS+ server (tac_plus, porta TCP 49)TACACS+ è il protocollo che i vendor Cisco usano per gli admin di rete (non per gli utenti VPN — quello è RADIUS). Questo lab rende visibile la differenza.
Obiettivo finale#
Come sai che hai finito tutto: tacacs_client -u barno -p Password123 -s 192.168.64.3 -k secret123 da Kali risponde AUTHOR: PASS; tcpdump -i lo tcp port 49 su Ubuntu mostra traffico TCP (non UDP come RADIUS); con Wireshark/tcpdump vedi che il payload è cifrato — non leggibile come RADIUS Access-Request.
Fase 1 — Installazione e configurazione base#
Task 1 — Installa tac_plus su Ubuntu
apt install tacacs+(pacchettotac_plusda Debian/Ubuntu)- Come sai che hai finito:
tac_plus -vmostra la versione;/etc/tacacs+/tac_plus.confesiste
Task 2 — Configura il server con utenti locali
- In
/etc/tacacs+/tac_plus.conf: impostakey = secret123(shared secret), aggiungi utentebarnocon password e privilege level 15 (admin), aggiungireadonlycon privilege level 1 - Come sai che hai finito:
tac_plus -C /etc/tacacs+/tac_plus.conf -d 8(debug) parte senza errori di parsing
- In
Task 3 — Avvia il servizio
systemctl start tacacs+e verifica conss -tlnp | grep 49- Come sai che hai finito: porta TCP 49 in ascolto su Ubuntu
Task 4 — Installa il client su Kali
apt install tacacs+su Kali (includetacacs_client)- Come sai che hai finito:
tacacs_client --helprisponde
Fase 2 — Autenticazione e autorizzazione#
Task 5 — Testa autenticazione admin (privilege 15)
- Da Kali:
tacacs_client -u barno -p Password123 -s 192.168.64.3 -k secret123 - Come sai che hai finito: risposta
AUTHOR: PASSe privilege level 15 nella risposta
- Da Kali:
Task 6 — Testa autenticazione read-only (privilege 1)
tacacs_client -u readonly -p readonly123 -s 192.168.64.3 -k secret123- Come sai che hai finito: risposta
AUTHOR: PASSma privilege level 1 — accesso limitato ai comandishow
Task 7 — Testa credenziali errate
tacacs_client -u barno -p wrongpass -s 192.168.64.3 -k secret123- Come sai che hai finito: risposta
AUTHOR: FAIL— il server rifiuta
Task 8 — Autorizzazione per comando specifico
- Configura in
tac_plus.confchereadonlynon può eseguireconfigure terminal - Testa con
tacacs_clientspecificando il comando richiesto - Come sai che hai finito:
barnoottieneAUTHOR: PASSper il comando;readonlyottieneAUTHOR: FAIL
- Configura in
Fase 3 — TACACS+ vs RADIUS: la differenza chiave#
Task 9 — Cattura traffico TACACS+
- Su Ubuntu:
tcpdump -i lo tcp port 49 -Xmentre testi da Kali - Come sai che hai finito: vedi TCP (non UDP), il payload è cifrato — NON si vede la password né altri attributi in chiaro
- Su Ubuntu:
Task 10 — Confronta con RADIUS (se lab-freeradius-samba è completato)
- Ripeti un test RADIUS con
tcpdump -i lo udp port 1812 -X - Come sai che hai finito: con RADIUS vedi attributi in chiaro (NAS-IP-Address, User-Name, ecc.) — solo la password è hashata. Con TACACS+ è tutto cifrato.
- Ripeti un test RADIUS con
Task 11 — Osserva la separazione AAA
- Aggiungi logging in
tac_plus.conf:accounting file = /var/log/tac_plus.acct - Esegui una sessione con autenticazione + comando + logout
- Come sai che hai finito: il file di accounting registra tre eventi separati: autenticazione, autorizzazione comando, contabilità sessione — tre fasi distinte come da specifica TACACS+
- Aggiungi logging in
Fase 4 — Integrazione con AD (concettuale)#
Task 12 — TACACS+ + PAM per delegare a Samba AD
- Configura
tac_plus.confper usare PAM:login = PAMnella sezione utente - Configura
/etc/pam.d/tacacs+per delegare a Kerberos (sssd o winbind) - Come sai che hai finito:
radtestnon si usa qui —tacacs_client -u barnoautentica barno usando le credenziali del dominio AD, non la password locale intac_plus.conf
- Configura
Task 13 — Capire quando si usa TACACS+ invece di RADIUS
- RADIUS: autenticazione utenti VPN, accesso WiFi 802.1X → molti utenti, throughput importante
- TACACS+: autenticazione admin su router/switch Cisco → pochi admin, separazione AAA critica
- Come sai che hai finito: sai rispondere alla domanda d'esame senza guardare gli appunti
Domande di verifica Security+#
- TACACS+ usa TCP 49. RADIUS usa UDP 1812/1813. Perché la scelta del protocollo di trasporto è rilevante per la sicurezza?
- RADIUS cifra solo la password. TACACS+ cifra l'intera sessione. In quale scenario questa differenza è critica? (hint: pensa a cosa viaggia oltre la password in una sessione di autorizzazione comandi)
- TACACS+ separa Authentication, Authorization, Accounting in tre fasi distinte. RADIUS le gestisce insieme. Quale vantaggio operativo dà questa separazione a un team NOC?
- Un router Cisco deve autenticare un admin. Userebbe RADIUS o TACACS+? E per autenticare gli utenti WiFi della stessa azienda?
- Se tac_plus non risponde, cosa succede agli amministratori di rete? Come si configura un fallback locale sul router Cisco?
Collegato a#
- [[[TODO] lab-freeradius-samba|lab-freeradius-samba]] — RADIUS, il complementare di TACACS+ per utenti VPN/WiFi
- cap-04-securing-your-network — teoria AAA, RADIUS vs TACACS+
- [[[TODO] lab-kerberos-ldap-queries|lab-kerberos-ldap-queries]] — AD backend per autenticazione PAM


