Tutorial Pam Linux

Tutorial Pam Linux
Linux-Pam è una ricca raccolta di moduli condivisi che autenticano interattivamente un utente per programmi (o servizi) in un sistema Linux. Linux-Pam è un acronimo di moduli di autenticazione collegabile, che si sono sviluppati dal design unix-pam. Combina numerosi moduli di autenticazione di basso livello con un'API di alto livello per fornire autenticazione dinamica per le app. Nonostante lo schema di autenticazione sottostante, ciò consente agli sviluppatori di creare applicazioni che richiedono autenticazione. Linux-Pam (noto anche come "PAM") è spesso supportato per impostazione predefinita nelle varianti contemporanee di Linux.

La cosa più cruciale per un amministratore di sistema da capire è come i file di configurazione PAM forniscono il collegamento tra servizi e PAM che svolgono le attività di autenticazione effettive. Non è necessario comprendere i meccanismi interni di Pam. PAM potrebbe alterare in modo significativo la sicurezza del sistema Linux. Le impostazioni errate possono vietare l'accesso alla macchina.

Interfacce di Linux-Pam in Ubuntu 20.04

Quattro diversi gruppi di gestione gestiscono separatamente le attività di autenticazione PAM. Quando un utente tipico richiede un servizio limitato, questi gruppi gestiscono varie parti della richiesta:

  • Account: Questo modulo viene utilizzato per determinare se l'account fornito è valido nelle circostanze correnti. Diversi fattori sono controllati in questa categoria, tra cui la scadenza dell'account, l'ora del giorno o se l'utente ha l'autorizzazione al servizio pertinente.
  • Autenticazione: In questo modulo, l'identità dell'utente viene convalidata una volta che tutte le informazioni di base sono state verificate come accurate. L'identità dell'utente viene verificata consentendo loro di fornire un accesso o qualsiasi altro particolare pezzo di dati che solo loro sono tenuti a sapere.
  • Parola d'ordine: Il modulo di autenticazione dovrebbe funzionare in collaborazione con questo modulo, che aiuta l'utente a aggiornare le password. Entrambe le risonanze forniscono la possibilità di applicare password sicure.
  • Sessione: Questo modulo delinea le attività che devono essere prese all'inizio e alla fine delle sessioni, e non è il minimo importante dei moduli che compongono l'ordine in base al quale la strategia PAM complessiva completa l'attività desiderata. La sessione inizia quando l'individuo si è autenticato con successo.

Come convalidare un programma Linux-Pam in Ubuntu 20.04

Un'applicazione o un programma deve essere "PAM a conoscenza" o espressamente costruita e compilata per utilizzare PAM. Utilizzare il comando "LDD" per vedere se un programma è stato creato utilizzando la libreria PAM per determinare se è "consapevole di PAM" o no. Quando viene eseguito il comando "LDD /Bin /SU", il file "libpam.Quindi "è evidenziato nella seconda riga che supporta la query. La convalida è mostrata nello screenshot seguente:

La directory /etc /pam.D/ contiene la configurazione per Linux-Pam. Vai alla directory PAM inserendo il seguente comando nel terminale del sistema operativo Linux:

L'istantanea precedente mostra che si può esaminare il contenuto inserendo il comando "LS" all'interno della directory PAM. Il server SSHD deve essere installato se non è elencato come servizio che implementa PAM. SSH, noto anche come Shell Secure, è un'applicazione di networking che crittografa la trasmissione dei dati e consente a vari tipi di computer e utenti di connettersi in modo sicuro e in remoto su una rete a vari sistemi. Il seguente comando acquisisce il pacchetto OpenSsh-Server:

È quindi possibile rientrare nella directory PAM, verificare i servizi e vedere SSHD dopo aver terminato l'installazione di tutti i file. Il servizio SSHD è evidenziato in “/etc/pam.directory d ".

Come configurare un programma Linux-Pam in Ubuntu 20.04

La chiamata di ogni modulo PAM si traduce in successo o fallimento. Il risultato è gestito da PAM usando flag di controllo. I flag di controllo specificano l'importanza relativa del successo di ciascun modulo o il fallimento dell'obiettivo generale di stabilire l'identità dell'utente con il servizio e i moduli possono essere ammucchiati in un certo ordine. Sono disponibili quattro flag di controllo preconfigurati:

  • Richiesto: per l'autenticazione per andare avanti, la risposta al pacchetto deve avere successo. L'utente non verrà avvisato se il tentativo fallisce in questa fase fino a quando tutti i pacchetti non testano il suo utilizzo quell'interfaccia ha finito di eseguire i propri risultati.
  • Requisito: secondo gli argomenti, se questo si rompe, anche tutto il resto lo farà. PAM verrà anche chiuso e verrà consegnato un avviso di guasto.
  • sufficiente: se questo modulo ha esito positivo e anche tutti i moduli richiesti in precedenza hanno esito positivo, non vengono chiamati ulteriori moduli richiesti.
  • Facoltativo: indica che il modulo non è essenziale per se la richiesta di servizio dell'utente ha esito positivo o senza successo. Il suo valore è considerato solo in assenza di successi o errori conclusivi di moduli impilati precedenti o successivi.
  • Includi: quando il parametro corrispondente viene abbinato, ogni riga nel file di configurazione viene recuperata da questo flag di controllo.

Basta digitare il seguente comando all'interno della directory PAM:

Come puoi vedere, il termine di controllo, che abbiamo descritto in precedenza nel seguente file PAM:

Le seguenti linee guida generali dovrebbero essere utilizzate durante la scrittura della configurazione principale:

  • Servizio: Il vero nome del programma
  • Tipo: interfaccia/contesto/tipo di modulo
  • Control-Flag: Se il modulo non riesce a completare la sua attività di autenticazione, il flag di controllo determina come si comporterà il PAM-API
  • Modulo: Il nome del nome del percorso assoluto o relativo del PAM
  • Argumento modulo: I parametri del modulo sono un elenco di token che possono essere utilizzati per influenzare la funzionalità del modulo

Se si desidera impedire agli utenti root di connettersi a qualsiasi sistema su SSH, è necessario limitare l'accesso al servizio SSHD. Inoltre, l'accesso ai servizi di accesso deve essere limitato.

Diversi moduli limitano i privilegi di accesso e sovvenzione, ma possiamo utilizzare il modulo incredibilmente adattabile e ricco di funzionalità/lib/sicurezza/PAM ListFile List.COSÌ. Vai a /etc /pam.D/ Directory, aprire il file del servizio di destinazione e apportare le modifiche necessarie come segue:

Il seguente regolamento deve essere inserito nel file:

In precedenza, il tipo di modulo è auth (o contesto). Il flag di controllo indica che nonostante il modo in cui gli altri moduli stanno eseguendo, se il modulo viene utilizzato, deve avere successo o il risultato generale sarà un fallimento. Un mezzo per abilitare o negare i servizi in base a qualsiasi file è fornito da PAM ListFile.Quindi modulo. ONERR = successo è un argomento per il modulo. L'utente = utente è un argomento del modulo che descrive il contenuto del file che deve essere verificato. L'opzione Sense = Deny Modulo indica l'azione da intraprendere se l'elemento si trova nel file. Altrimenti, è richiesto il modo opposto. Il file con un elemento per riga è specificato dall'opzione modulo file =/etc/ssh/negadusers.

La radice del nome deve essere aggiunta al file/etc/ssh/negadusers dopo che è stata creata:

Dopo aver effettuato le autorizzazioni necessarie, salvare le modifiche e chiudere il file:

Con la regola precedente in atto, PAM verrà chiesto di controllare/etc/ssh/negadusers e impedire a tutti gli utenti elencati di utilizzare i servizi SSH e di accesso andando avanti.

Conclusione

I programmi che dipendono dall'autenticazione possono garantire che solo le applicazioni autorizzate siano in un sistema operativo Linux a causa della solida API di alto livello nota come PAM. Ha molto potere, ma è anche abbastanza difficile da comprendere e operare. Per applicazioni e servizi in esecuzione sotto Linux, PAM offre un supporto di autenticazione dinamica. Le prestazioni di un modulo possono essere valutate utilizzando uno qualsiasi dei flag di controllo elencati in questo manuale. PAM è spesso utilizzato in molti sistemi sicuri perché è più intuitivo e affidabile del meccanismo di autenticazione convenzionale password e utente.