Cos'è Linux SASL?

Cos'è Linux SASL?

SASL, o semplice livello di autenticazione e sicurezza, è un framework di autenticazione che specifica e descrive il processo di collegare i meccanismi di autenticazione nei protocolli delle applicazioni. È un framework degli standard Internet o un metodo di traccia per l'autenticazione dei computer remoti.

Il framework SASL consente l'implementazione di meccanismi di autenticazione su server e applicazioni che utilizzano protocolli IMAP, XMPP, ACAP, LDAP e SMTP. Fornisce librerie condivise e sviluppatori di applicazioni con meccanismi di controllo, crittografia e autenticazione giusti e affidabili.

Questo articolo ti fornisce un'introduzione a SASL. Discuterà le caratteristiche e le caratteristiche di SASL e come opera questo framework. Inoltre, questo articolo metterà in evidenza l'architettura SASL e la fine descrivendo i vari meccanismi coinvolti.

Caratteristiche di SASL

Questo livello di autenticazione consente intuitivamente agli sviluppatori di codificare applicazioni e programmi a un'API generica. Non specifica la tecnologia per l'esecuzione di alcuna autenticazione, poiché tale responsabilità si trova ad ogni meccanismo SASL. Pertanto, l'approccio è utile per evitare dipendenze da meccanismi specifici di autenticazione o crittografia.

Naturalmente, i protocolli menzionati in precedenza SASL. La libreria SASL è popolarmente definita Libsasl, un framework che veterà e consente ai giusti programmi e applicazioni SASL di utilizzare i plug-in SASL disponibili nel sistema.

SASL è un quadro che si basa su vari meccanismi per governare lo scambio di protocolli. Questi plug-in di meccanismo di sicurezza consentono a SASL di fornire le seguenti funzioni:

  • Autenticarsi sul lato server
  • Autenticarsi sul lato client
  • Controlla l'integrità dei dati trasmessi
  • Garantisce la riservatezza crittografando e decrittando i dati trasmessi

Identificatori di autorizzazione e autenticazione in SASL

Innanzitutto, è importante conoscere la differenza tra un identificatore di autorizzazione in SASL e un identificatore di autenticazione. Di solito, l'ID utente, UserID o ID di autorizzazione per SASL è un identificatore che qualsiasi applicazione Linux utilizza per verificare le opzioni che può consentire l'accesso e l'uso.

D'altra parte, l'ID di autenticazione o l'ID autenticazione rappresenta l'identificatore di autenticazione. Questa identità è l'identificatore destinato al controllo del sistema. Il sistema autentica solo gli utenti le cui identità e password corrispondono ai dettagli archiviati.

Come funziona SASL

Proprio come il suo nome, SASL lavora in un modo piuttosto semplice. La negoziazione inizia con il client che richiede l'autenticazione dal server stabilendo una connessione. Il server e il client faranno copie delle rispettive copie locali della libreria (libsasl) tramite l'API Sal. LIBSASL stabilirà una connessione con i meccanismi SASL richiesti tramite l'interfaccia del fornitore di servizi (SPI).

Il server risponderà con un elenco di tutti i meccanismi supportati. D'altra parte, il cliente risponderà scegliendo un singolo meccanismo. Il server e il client scambieranno quindi i dati fino a quando il processo di autenticazione richiesto non riesce o riesce. In particolare, il client e il server sapranno chi è dall'altra parte del canale.

L'illustrazione dell'architettura è nella figura seguente:

Un'illustrazione di un'autenticazione SMTP è nella figura seguente:

Le prime 3 righe nell'illustrazione contengono un elenco di tutti i meccanismi supportati, tra cui Cram-MD5, Digest-MD5 e Plain, tra gli altri; sono dal server. La riga seguente proviene dal cliente e indica che ha scelto Cram-MD5 come meccanismo preferito. Il server risponde con un messaggio generato dalle funzioni SASL. Infine, il server accetta l'autenticazione.

Come la maggior parte dei framework, SASL supporta il concetto di "regni". E per definizione, i regni sono abstract degli utenti. Scoprirai anche che meccanismi specifici possono autenticare solo gli utenti all'interno di alcuni regni.

Meccanismi SASL comuni

Abbiamo già notato nelle sezioni precedenti che SASL funziona quando il server elenca i meccanismi disponibili e il client sceglie uno dei meccanismi per una particolare autenticazione. Quindi, alcuni dei meccanismi SASL con cui molto probabilmente interagerai includono:

Meccanismi segreti condivisi

I due principali meccanismi segreti supportati da SASL sono il CRAM-MD5 e il Digest-MD5 che sono venuti dopo. Si basano sul successo del client e del server che condividono un segreto e questo segreto sarà spesso una password. Il server metterà in discussione il client su questo segreto. D'altra parte, il cliente dovrebbe sempre fornire la risposta a questo segreto per dimostrare che conosce il segreto.

Mentre questo metodo è più sicuro rispetto all'invio di password attraverso le reti, la sua fattibilità si basa sulla capacità del server di mantenere i segreti nel suo database. Una violazione della sicurezza sul database del server comprometterà anche la sicurezza delle password memorizzate.

Meccanismi semplici

Solo, questo metodo è piuttosto meno sicuro. È quindi ideale per connessioni che hanno già altri livelli di crittografia. Funziona trasmettendo un ID di autenticazione, un ID utente e una password al server in modo che il server possa determinare se la combinazione è corretta e consentita o no.

In particolare, la più grande preoccupazione per questo meccanismo è come le credenziali e le password di autenticazione vengono controllate e verificate.

Meccanismi di Kerberos

Infine, la libreria SASL ha meccanismi che possono utilizzare i sistemi di autenticazione Kerberos 4 e Kerberos 5. Il meccanismo Kerberos_v4 può utilizzare il Kerberos 4, mentre il GSSAPI può usare Kerberos 5. Poiché usano l'interfaccia Kerberos, non hanno bisogno di password.

Conclusione

Questo livello di autenticazione è utile in una matrice di applicazioni e programmi Linux. Da questo articolo, ora dovresti avere un'idea di cosa comporta il livello di autenticazione. Questo articolo discute specificamente le caratteristiche, l'architettura e il modo in cui SASL funziona in un ambiente Linux. L'articolo spiega anche brevemente alcuni dei comuni meccanismi SASL che incontrerai.