Passa al contenuto principale

3. TACACS+ su TLS (TACACS+ over TLS)

TACACS+ su TLS adotta il protocollo definito in [RFC8907], rimuove l'opzione per l'offuscamento e specifica che TLS 1.3 deve essere utilizzato per il trasporto. Viene utilizzato un nuovo numero di porta host predefinito ben noto.

TLS viene introdotto in TACACS+ per soddisfare i seguenti requisiti:

  1. Riservatezza e integrità: L'algoritmo MD5 sottostante al meccanismo di offuscamento specificato in [RFC8907] è stato dimostrato non sicuro [RFC6151] quando utilizzato per la crittografia. La protezione del protocollo TACACS+ con TLS è intesa a fornire riservatezza e integrità senza richiedere la fornitura di una rete protetta.

  2. Autenticazione dei peer: Le capacità di autenticazione di TLS sostituiscono i segreti condivisi dell'offuscamento per l'autenticazione reciproca.

3.1. Separazione delle connessioni TLS (Separating TLS Connections)

I peer che implementano la variante del protocollo TACACS+ definita in questo documento devono (MUST) applicare l'autenticazione reciproca e crittografare tutti i dati scambiati tra loro. Pertanto, quando viene stabilita una connessione TCP per il servizio, inizia immediatamente un handshake TLS.

Per garantire una chiara separazione tra il traffico TACACS+ che utilizza TLS e quello che non lo utilizza, i server che supportano TACACS+ su TLS devono (MUST) ascoltare su una porta TCP/IP distinta da quella utilizzata dai server TACACS+ non-TLS.

Questa specifica assegna il numero di porta TCP ben noto 300 per TACACS+ su TLS.

3.2. Connessione TLS (TLS Connection)

Un client TACACS+ avvia una connessione TLS stabilendo una connessione TCP a un server TLS TACACS+ configurato sul numero di porta TLS TACACS+. Una volta stabilita la connessione TCP, il client deve (MUST) iniziare immediatamente la negoziazione TLS prima di inviare dati del protocollo TACACS+.

Deve (MUST) essere utilizzato un minimo di TLS 1.3 [RFC8446] per il trasporto. Le versioni precedenti di TLS non devono (MUST NOT) essere utilizzate.

Una volta stabilita con successo la connessione TLS, lo scambio di dati TACACS+ deve (MUST) procedere in conformità con le procedure definite in [RFC8907]. Tuttavia, tutti i messaggi TACACS+ devono (SHALL) essere trasmessi come dati applicativi TLS. Il meccanismo di offuscamento TACACS+ definito in [RFC8907] non deve (MUST NOT) essere applicato quando si opera su TLS.

3.3. Opzioni di autenticazione TLS (TLS Authentication Options)

Le implementazioni devono (MUST) supportare l'autenticazione reciproca basata su certificati, per fornire un'opzione di base per l'interoperabilità tra le implementazioni.

Oltre all'autenticazione TLS basata su certificati, le implementazioni possono (MAY) supportare i seguenti meccanismi di autenticazione alternativi:

  • Chiavi Pre-Condivise (PSK) (Sezione 3.5)
  • Chiavi Pubbliche Grezze (RPK)

3.4. Autenticazione basata su certificato TLS (TLS Certificate-Based Authentication)

L'autenticazione tramite certificato TLS è l'opzione di autenticazione principale per TACACS+ su TLS.

La corretta implementazione dell'autenticazione basata su certificati TLS migliorerà notevolmente la sicurezza delle implementazioni TACACS+. È essenziale che gli implementatori e gli operatori comprendano le implicazioni di una soluzione di autenticazione basata su certificati TLS.

Ciascun peer deve (MUST) validare il percorso del certificato del suo peer remoto, inclusa la verifica della revoca.

3.4.2. Identificazione del certificato TLS

Per la validazione lato client delle identità del server TLS TACACS+ presentate, le implementazioni devono (MUST) seguire le tecniche di validazione definite in [RFC9525].

Le implementazioni devono (MUST) supportare l'estensione TLS Server Name Indication (SNI) (Sezione 3 di [RFC6066]).

3.4.3. Requisiti delle suite di cifratura

Le implementazioni devono (MUST) supportare le suite di cifratura obbligatorie TLS 1.3 (Sezione 9.1 di [RFC8446]).

3.5. Autenticazione TLS PSK (TLS PSK Authentication)

Come alternativa all'autenticazione basata su certificati, le implementazioni possono (MAY) supportare PSK, anche noti come PSK esterni in TLS 1.3 [RFC8446].

I segreti condivisi configurati per i client di offuscamento TACACS+ non devono (MUST NOT) essere gli stessi dei PSK configurati per i client TLS.

3.6. Ripresa TLS (TLS Resumption)

La ripresa TLS [RFC8446] può minimizzare il numero di round trip richiesti durante il processo di handshake.

Il client dovrebbe (SHOULD) utilizzare la ripresa quando detiene un ticket valido inutilizzato dal server TLS TACACS+.