pam

Tutorial su Linux Pam per la sicurezza

Tutorial su Linux Pam per la sicurezza
PAM è l'acronimo di Pluggable Authentication Modules che fornisce supporto per l'autenticazione dinamica per applicazioni e servizi in un sistema operativo Linux. È un meccanismo di sicurezza che consente la protezione tramite PAM invece di chiedere nome utente e password. PAM è responsabile dell'autenticazione dei file in esecuzione. Ogni applicazione è composta da diversi file configurabili e ognuno è costituito da stack di diversi moduli. Questi moduli vengono quindi eseguiti dall'alto verso il basso e quindi il PAM genera la risposta indipendentemente dal fatto che sia positivo o negativo in base al risultato.

PAM lo rende molto più semplice per amministratori e sviluppatori in quanto apporta modifiche al file del codice sorgente da solo e richiede un'interazione minima. Quindi, PAM può anche essere definito come un'interfaccia di programmazione applicativa generalizzata per i servizi relativi all'autenticazione. Invece di riscrivere il codice, viene modificato da solo.

Interfacce del modulo Pam

Autorizzazione: è il modulo che si occupa delle finalità di autenticazione; verifica la password.
account: Dopo che l'utente si è autenticato con le credenziali corrette, la sezione dell'account controlla la validità dell'account come i vincoli di scadenza o di accesso, ecc.
Parola d'ordine: Serve solo per cambiare la password.
Sessione: Gestisce le sessioni, contiene l'account dell'attività dell'utente, la creazione di caselle di posta, crea la home directory dell'utente ecc.

Tutorial

  1. Per verificare se la tua applicazione utilizza LINUX-PAM o meno, usa il seguente comando nel tuo terminale:

    $ ldd /bin/su

    Come possiamo vedere nella riga 2 dell'output esiste un lipbpam.so file che conferma la query.

  2. La configurazione di LINUX-PAM si trova nella directory /etc/pam.d/. Apri il terminale del tuo sistema operativo Linux e vai alla directory pam digitando il comando: $ cd /etc/pam.d/

    Questa è la directory che contiene altri servizi che supportano PAM. si può


    controlla il contenuto eseguendo il comando $ ls   all'interno della directory di pam come mostrato nella schermata sopra.

    se non trovi sshd come servizio che supporta PAM, devi installare il server sshd.

    SSH (o secure shell) è uno strumento di rete crittografato progettato per consentire a diversi tipi di computer/utenti di accedere in modo sicuro a vari computer in remoto su una rete. Devi installare il pacchetto openssh-server che puoi fare eseguendo il seguente comando nel tuo terminale.

    $sudo  apt-get   install openssh-server

    Installerà tutti i file e quindi potrai rientrare nella directory pam e controllare i servizi e vedere che sshd è stato aggiunto.

  3. Quindi digita il seguente comando. VIM è un editor di testo che apre documenti di testo semplice che l'utente può vedere e modificare. $vim sshd

    Se vuoi uscire dall'editor vim e non sei in grado di farlo premi il tasto Esc e due punti (:) allo stesso tempo che ti mette nella modalità di inserimento. Dopo i due punti, digita q e premi invio. Qui q sta per quit.

    Puoi scorrere verso il basso e vedere tutti i moduli descritti in precedenza con termini come richiesto, inclusione, requisito ecc. Cosa sono quelli?

    Sono chiamati come flag di controllo PAM. Entriamo nei loro dettagli prima di immergerci in molti più concetti di servizi PAM.

Flag di controllo PAM

  1. Necessario: Deve passare per avere successo. È la necessità di cui non si può fare a meno.
  2. Requisito: Deve passare altrimenti non vengono eseguiti ulteriori moduli.
  3. Sufficiente: Viene ignorato se fallisce. Se questo modulo viene passato non verranno controllati ulteriori flag.
  4. Opzionale: Viene spesso ignorato. Viene utilizzato solo quando c'è un solo modulo nell'interfaccia.
  5. Includere: Recupera tutte le righe dagli altri file.

Ora la regola generale per scrivere la configurazione principale è la seguente: tipo di servizio control-flag module module-arguments

  1. SERVIZIO: Questo è il nome dell'applicazione. Supponiamo che il nome della tua applicazione sia NUCUTA.
  2. GENERE: Questo è il tipo di modulo utilizzato. Supponiamo che qui il modulo utilizzato sia il modulo di autenticazione.
  3. BANDIERA DI CONTROLLO: Questo è il tipo di flag di controllo utilizzato, uno dei cinque tipi descritti in precedenza.
  4. MODULO: Il nome file assoluto o il percorso relativo del PAM.
  5. MODULO-ARGOMENTI: È l'elenco separato di token per controllare il comportamento del modulo.

Supponiamo di voler disabilitare l'accesso dell'utente root a qualsiasi tipo di sistema tramite SSH, è necessario limitare l'accesso al servizio sshd. Inoltre, i servizi di login devono essere controllati ad accesso.

Esistono diversi moduli che limitano l'accesso e danno privilegi, ma possiamo usare il modulo /lib/security/pam_listfile.così che è estremamente flessibile e ha molte funzionalità e privilegi.

  1. Apri e modifica il file/applicazione nell'editor vim per il servizio di destinazione entrando nel /etc/pam.d/ directory prima directory.

La seguente regola deve essere aggiunta in entrambi i file:

auth richiesto pam_listfile.so\onerr=succeed item=user sense=deny file=/etc/ssh/deniedusers

Dove auth è il modulo di autenticazione, richiesto è il flag di controllo, il pam_listfile.quindi module fornisce i privilegi di negazione ai file, onerr=succeed è l'argomento del modulo, item=user è un altro argomento del modulo che specifica gli elenchi dei file e il contenuto per cui deve essere controllato, sense=deny è un altro argomento del modulo che lo farà se item è trovato in un file e file=/etc/ssh/deniedusers che specifica un tipo di file che contiene solo un elemento per riga.

  1. Quindi crea un altro file /etc/ssh/deniedusers e aggiungi root come nome in esso. Può essere fatto seguendo il comando: $sudo vim /etc/ssh/deniedusers
  1. Quindi salva le modifiche dopo aver aggiunto il nome radice e chiudi il file.
  2. Usa il chmod commond per cambiare la modalità di accesso al file. La sintassi per il comando chmod è
 chmod   [riferimento][operatore][modalità]  file

Qui i riferimenti sono usati per specificare un elenco di lettere che indica a chi dare il permesso.

Ad esempio, qui puoi scrivere il comando:

$sudo   chmod   600  /etc/ssh/deniedusers

Funziona in modo semplice. Specifica gli utenti a cui è negato l'accesso al tuo file nel file /etc/ssh/deniedusers e imposta la modalità di accesso per il file usando il comando chmod. D'ora in poi, durante il tentativo di accedere al file a causa di questa regola, PAM negherà a tutti gli utenti elencati nel file /etc/ssh/deniedusers l'accesso al file.

Conclusione

PAM fornisce supporto per l'autenticazione dinamica per applicazioni e servizi in un sistema operativo Linux. Questa guida indica una serie di flag che possono essere utilizzati per determinare l'esito del risultato di un modulo. È conveniente e affidabile. per gli utenti rispetto alla password tradizionale e al meccanismo di autenticazione del nome utente, e quindi PAM è spesso utilizzato in molti sistemi protetti.

Come utilizzare GameConqueror Cheat Engine in Linux
L'articolo copre una guida sull'utilizzo del motore cheat GameConqueror in Linux. Molti utenti che giocano su Windows utilizzano spesso l'applicazione...
I migliori emulatori di console di gioco per Linux
Questo articolo elencherà il popolare software di emulazione della console di gioco disponibile per Linux. L'emulazione è un livello di compatibilità ...
Le migliori distribuzioni Linux per il gioco nel 2021
Il sistema operativo Linux ha fatto molta strada dal suo aspetto originale, semplice e basato su server. Questo sistema operativo è notevolmente migli...