Gli aggressori utilizzano spesso credenziali perse, rubate, deboli o predefinite per aumentare i propri privilegi dopo essersi infiltrati nella rete. Sebbene l'autenticazione a due fattori possa ridurre notevolmente l'infiltrazione, esistono altri mezzi per ottenere l'accesso come il malware. Questo tutorial mostra come aggiungere raggio a sudo per Centos 7 e Ubuntu 14.04 per l'autenticazione a due fattori con il server WiKID Strong Authentication. L'uso di pam-radius è utile perché ti consente di inserire un server radius, come Freeradius o NPS su Windows, in modo da poter eseguire l'autorizzazione nella tua directory e quindi l'autenticazione su un server di autenticazione a due fattori separato. La gestione degli utenti in una directory centrale è un'ottima pratica di sicurezza. Tieni presente che poiché utilizziamo RADIUS, questa configurazione di base funziona per tutti i sistemi 2FA di classe enterprise.
Configura sudo su Centos/RHEL per l'autenticazione a due fattori
Inizieremo su RHEL/Centos 7. Installa i prerequisiti:
sudo yum -y install make gcc pam pam-devel
Ottieni l'ultimo codice PAM RADIUS (1.4 al momento della stesura di questo articolo):
wget ftp://ftp.freeradius.org/pub/radius/pam_radius-x.x.x.tar.gz
Costruisci la libreria:
tar -xzvf pam-radius-x.x.x.tar.gz
cd pam-radius-x.x.x
sudo ./configure
sudo make
Copia la libreria nella posizione corretta:
cp pam_radius_auth.so /lib/security/
O per 64 bit:
cp pam_radius_auth.so /lib64/security/
Crea la directory di configurazione e copia il file di configurazione sotto il nome 'server':
sudo mkdir /etc/raddb
cp pam_radius_auth.conf /etc/raddb/server
Modifica /etc/raddb/server e aggiungi l'IP del tuo server radius e il segreto condiviso a questo file.
# server[:port] shared_secret timeout (s)
127.0.0.1 secret 1
radius_server_IP secret 3
#
# having localhost in your radius configuration is a Good Thing.
(Nota che anche se alla fine vogliamo il raggio nel ciclo, puoi anche utilizzare il tuo server WiKID come server del raggio, aggiungere questa casella Centos come client di rete su WiKID, riavviare WiKID e il gioco è fatto o almeno puoi testare in questo modo. È sempre una buona idea fare alcuni piccoli test lungo il percorso, assicurati solo di rimuoverli.)
Successivamente, dobbiamo dire a sudo di usare raggio. Modifica il file /etc/pam.d/sudo e sostituisci "auth include system-auth" con:
auth required pam_radius_auth.so
Questo è tutto per la scatola Centos/RHEL 7. La stessa configurazione funziona anche per 5 e 6.
Configura sudo su Ubuntu per l'autenticazione a due fattori
Il prossimo è il server Ubuntu 14.04. Innanzitutto, installa pam-radius:
sudo apt-get install libpam-radius-auth
Configuralo anche con il server NPS modificando /etc/pam_radius_auth.conf. In modo che sia lo stesso di sopra:
# server[:port] shared_secret timeout (s)
127.0.0.1 secret 1
radius_server_IP secret 3
#
# having localhost in your radius configuration is a Good Thing.
Modifica il tuo file /etc/pam.d/sudo e aggiungi la riga ' auth sufficienti pam_radius_auth.so' sopra la riga comm-auth:
auth required pam_env.so readenv=1 user_readenv=0
auth required pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
auth sufficient pam_radius_auth.so
@include common-auth
@include common-account
@include common-session-noninteractive
Questo è per il server Ubuntu.
Ora, ogni volta che un amministratore tenta di utilizzare sudo, deve inserire il proprio passcode monouso. PAM inoltrerà il nome utente e l'OTP al tuo server radius o al tuo server WiKID per la convalida.
L'utilizzo dell'autenticazione a due fattori per gli account amministrativi è un potente strumento per proteggere la rete. Potrebbe anche diventare parte dei requisiti PCI DSS.