DataSunrise Consegue la Certificazione AWS DevOps Competency per AWS DevSecOps e Monitoraggio, Logging e Performance

Configurazione del Protocollo di Autenticazione Kerberos

Configurazione del Protocollo di Autenticazione Kerberos

L’autenticazione Kerberos è un metodo sicuro e ampiamente adottato per verificare l’identità degli utenti attraverso reti distribuite. Fornisce una verifica reciproca, garantendo che sia l’utente che il servizio confermino la legittimità dell’altro, senza trasmettere le password in chiaro.

Che cos’è l’autenticazione Kerberos?

Questo protocollo, sviluppato al MIT, si basa su ticket criptati per autenticare gli utenti in modo sicuro e scalabile. È particolarmente diffuso nei sistemi IT aziendali, inclusi Windows Active Directory, Single Sign-On (SSO) e ambienti cloud ibridi.

A differenza dei protocolli di autenticazione di base, Kerberos non espone le credenziali sulla rete. Invece, si avvale di una terza parte fidata, chiamata Key Distribution Center (KDC), per emettere token basati su sessione.

Tutta la comunicazione è criptata utilizzando la crittografia a chiave simmetrica, proteggendo contro intercettazioni e attacchi di replay. Questo sistema elimina la trasmissione in chiaro delle password, rendendolo molto più resiliente contro il furto delle credenziali.

Perché è importante

L’autenticazione Kerberos costituisce l’ossatura della sicurezza di molti sistemi di controllo accessi aziendali. Semplifica la gestione degli utenti, riduce il rischio e consente flussi di lavoro di vero single sign-on, particolarmente preziosi in architetture grandi e multi-livello.

Oggi Kerberos supporta modelli di sicurezza moderni attraverso Active Directory, piattaforme containerizzate, applicazioni cloud-native e pipeline CI/CD. Strumenti come DataSunrise applicano il controllo degli accessi tramite servizi proxy che si integrano direttamente con Kerberos e le politiche di Active Directory.

Limitazioni comuni dell’autenticazione Kerberos

Pur migliorando significativamente la sicurezza dell’autenticazione, Kerberos presenta alcune limitazioni operative e architetturali:

LimitazioneImpatto
Disponibilità del KDCSe il Key Distribution Center (KDC) non è online o non è raggiungibile, tutti i tentativi di accesso falliranno a meno che non sia presente un metodo di autenticazione di backup.
Dipendenza dalla sincronizzazione del tempoI ticket Kerberos si basano su orari sincronizzati. Se si verifica uno slittamento temporale tra i sistemi, l’autenticazione può fallire a causa di ticket scaduti o non validi.
Limitato a client affidabiliKerberos non supporta accessi da dispositivi non affidabili o da sistemi al di fuori del dominio di rete fidato.
Punto unico di fallimento (KDC)In modalità simmetrica, se il KDC viene compromesso, tutti i ticket di servizio e le chiavi di sessione possono essere esposti, rendendolo un obiettivo ad alto valore.
Proliferazione dei Service PrincipalOgni endpoint di servizio (hostname) richiede la propria voce nel keytab, aumentando la complessità in ambienti con molti servizi distribuiti.

Come funziona l’autenticazione Kerberos

Ecco un flusso semplificato:

  1. L’utente effettua il login e richiede un ticket al Server di Autenticazione (AS).
  2. L’AS valida la richiesta ed emette un Ticket Granting Ticket (TGT).
  3. Il TGT viene inviato al Ticket Granting Server (TGS) per richiedere l’accesso a un servizio specifico.
  4. Il TGS emette un ticket di servizio, che l’utente invia al servizio di destinazione.
  5. Il servizio decifra il ticket, verifica la sessione e concede l’accesso.

Durante questo processo, vengono utilizzate chiavi condivise e token di sessione invece di trasmettere le password. Questo previene l’intercettazione dei pacchetti, mitiga il rischio di spoofing e consente l’autenticazione reciproca.

Casi d’uso moderni

L’autenticazione Kerberos continua ad evolversi. Essa alimenta:

  • Single sign-on aziendale per applicazioni web, mobile e VPN
  • Accesso sicuro ai database tramite proxy di autenticazione come DataSunrise
  • Federazione tra domini e intermediazione di identità
  • Modelli di rete Zero Trust in ambienti cloud ibridi
  • Flussi di lavoro DevOps automatizzati con delega delle credenziali

Configurazione e Integrazione

La configurazione di Kerberos richiede l’integrazione con un servizio di directory (ad es. Active Directory), strumenti client (come generatori di keytab) e una corretta configurazione tra i sistemi. Di seguito, un breve schema:

1. Configurazione utente in Active Directory

  • Creare o individuare un utente AD con una password permanente e senza scadenza.
  • Assegnare gli SPN (Service Principal Names) rilevanti utilizzando ktpass o setspn.

2. Generazione dei file Keytab

Utilizzare lo strumento ktpass per generare le voci keytab. Questi file vengono memorizzati in forma crittografata e utilizzati dai servizi per l’autenticazione basata su ticket. Esempio:

ktpass /princ [email protected] /mapuser user1_backend /pass P@ssword123 \
/crypto all /ptype KRB5_NT_PRINCIPAL /out datasunrise.keytab -setupn

3. Configurazione dei client Linux

Installare i pacchetti necessari ed editare il file /etc/krb5.conf per riflettere il dominio, il KDC e le impostazioni del realm. Assicurarsi che non esistano righe commentate utilizzando il simbolo #.

4. Integrazione del Proxy Kerberos

DataSunrise può operare come proxy di autenticazione. Supporta implementazioni sia su Windows che su Linux utilizzando Kerberos, abilitando l’applicazione sicura degli accessi attraverso vari servizi e database.

5. Configurazione su base Windows

Utilizzare setspn per registrare gli SPN MSSQL:

setspn -A MSSQLSvc/proxy-host:proxy-port proxy-host
setspn -L proxy-host

Utilizzare select auth_scheme from sys.dm_exec_connections where session_id=@@spid per verificare l’autenticazione MSSQL. Se necessario, procedere alla risoluzione dei problemi tramite la guida SSPI di Microsoft, disponibile qui.

Vantaggi in termini di sicurezza

Kerberos protegge contro:

  • Intercettazioni delle password sulla rete
  • Attacchi di replay mediante token di sessione
  • Accessi non autorizzati da endpoint non affidabili

Consente inoltre sessioni di autenticazione limitate nel tempo, delega della fiducia e tracciabilità, elementi critici per la conformità a normative come GDPR, HIPAA e SOX.

Verifica dell’autenticazione Kerberos con PostgreSQL

Una volta configurato Kerberos e registrato il service principal, è possibile verificare il corretto funzionamento dell’autenticazione utilizzando psql su un client Linux. Il seguente esempio mostra un accesso sicuro senza richiedere una password:

# Innanzitutto, ottenere un TGT (Ticket Granting Ticket) valido
kinit [email protected]

# Confermare che il ticket è stato emesso
klist

# Connettersi a PostgreSQL utilizzando Kerberos
psql "host=db.domain.com port=5432 dbname=exampledb user=user1_backend sslmode=prefer gssencmode=prefer"

Se l’operazione va a buon fine, la connessione verrà stabilita senza richiedere una password, confermando che l’autenticazione Kerberos è attiva e il ticket di sessione è valido.

Assicurarsi che PostgreSQL sia compilato con il supporto GSSAPI e configurato in pg_hba.conf con una voce adeguata, ad esempio:

# Abilitazione dell'autenticazione basata su GSSAPI
host    all     all     0.0.0.0/0       gss include_realm=1 krb_realm=DOMAIN.COM

Questa configurazione garantisce che il vostro database PostgreSQL rispetti l’autenticazione Kerberos e imponga accessi sicuri senza credenziali, ideale per la sicurezza a livello aziendale e il controllo centralizzato degli accessi.

Conclusione

L’autenticazione Kerberos è una soluzione affidabile e basata su standard per la gestione sicura delle identità in ambienti aziendali. Quando implementata correttamente, rafforza il controllo degli accessi, semplifica la conformità normativa e riduce il rischio legato alle credenziali.

DataSunrise supporta funzionalità di proxy di autenticazione sicura e si integra perfettamente con ambienti Kerberos, sia on-premises che nel cloud. Richiedi una demo per scoprire come estendere l’autenticazione basata su Kerberos ai vostri asset critici del database.

Successivo

Creare una Macchina Virtuale DataSunrise su Microsoft Azure

Creare una Macchina Virtuale DataSunrise su Microsoft Azure

Scopri di più

Ha bisogno del nostro team di supporto?

I nostri esperti saranno lieti di rispondere alle Sue domande.

Informazioni generali:
[email protected]
Servizio clienti e supporto tecnico:
support.datasunrise.com
Richieste di collaborazione e alleanza:
[email protected]