di Nemo @ pixabay
In questo howto configureremo un sistema che può fungere da dispositivo OTP personale, gestendo tutti i dispositivi di autenticazione nella tua rete. È quindi possibile configurare i servizi per l'autenticazione su questa macchina. È una buona idea utilizzare alcuni meccanismi di virtualizzazione. Se hai del vecchio hardware in giro, questo è anche buono.
Installeremo privacyIDEA su un sistema Ubuntu 14.04 LTS, che potresti aver visto prima qui o qui. Ma questa volta lo faremo ancora più liscio ed elegante!
Installazione di base
Disclaimer: Presumo che tu sia utente root in questo scenario. In caso contrario, dovresti aggiungere "sudo" prima di ogni comando.
Quindi prima installiamo un semplice server Ubuntu 14.04 LTS senza nulla su di esso. Si prega di non installare alcun database o server web. Dovresti selezionare solo openssh per l'esecuzione come servizio su questa macchina.
Installa privacyIDEA
privacyIDEA 1.3.3 viene fornito con un sacco di nuovi pacchetti Debian in un repository di launchpad, che lo rende ancora più semplice da configurare.
Per prima cosa dobbiamo aggiungere il repository al sistema:
apt-get install software-properties-common
add-apt-repository ppa:privacyidea/privacyidea
apt-get update
Ora che abbiamo aggiunto il repository di privacyidea, puoi dare un'occhiata a cosa è disponibile:
[email protetta]:~# apt-cache search privacyidea
privacyidea - sistema di autenticazione a due fattori, ad es. per dispositivi OTP
privacyideaadm - admin client per privacyIDEA
privacyidea-radius - Modulo FreeRADIUS per privacyIDEA, autenticazione OTP
privacyidea-all - sistema di autenticazione a due fattori. Questo è un metapacchetto per installare tutto.
privacyidea-otrs - Modulo OTRS per privacyIDEA, autenticazione OTP
privacyidea-nginx - sistema di autenticazione a due fattori. Questo è un metapacchetto per installare privacyidea con nginx
privacyidea-appliance - sistema di autenticazione a due fattori. Questo è uno strumento di configurazione per una facile configurazione del sistema.
Esistono diversi (meta)pacchetti per diversi scenari. Come accennato, vorremmo installare una sorta di "elettrodomestico". Allora facciamolo:
apt-get install privacyidea-appliance privacyidea-radius
Questo installerà il server web Nginx, il database MySQL, il server FreeRADIUS e privacyIDEA con tutte le dipendenze python.
Ti verrà chiesto di inserire una password di root MySQL. Scegline uno buono - non ne abbiamo bisogno più tardi!;-)
Dopo l'installazione sei pronto per configurare il tuo apparecchio.
Configura il tuo elettrodomestico
C'è uno strumento per configurare tutti i mezzi necessari del tuo elettrodomestico. Avvialo dalla riga di comando come utente root.
privacyidea-setup-tui
Questo è uno strumento dell'interfaccia utente di testo basato su finestre di dialogo, che ti consente di eseguire tutte le attività rilevanti a livello di sistema operativo come la gestione degli amministratori dei token, l'impostazione dei livelli di registro, la rigenerazione delle chiavi di crittografia e firma, l'impostazione del servizio Web e del servizio RADIUS corretti e la gestione dei client RADIUS.
Almeno dobbiamo svolgere le seguenti attività:
- crea almeno un amministratore di token
- crea il database MySQL
- crea un client RADIUS
Lo strumento si basa sulla logica del parser per i file client FreeRADIUS, i file ini privacyIDEA e il file nginx. Quindi puoi anche modificare i file dalla riga di comando, le modifiche verranno conservate.
Nota: Lo strumento di installazione non conserverà alcun commento nei file, se modifichi quei file manualmente!
Crea il tuo amministratore di token
Per gestire i tuoi amministratori di token vai su privacyidea ? gestire gli amministratori .
Lì puoi scegliere Aggiungi nuovo amministratore .
Ti verrà chiesto:
- Un nome utente, dove scelgo admin e
- la password (due volte!) che non viene ripetuta sullo schermo.
Ora che hai creato il tuo amministratore (o amministratori) puoi premere Annulla e Annulla e tornare al menu principale.
Crea il database MySQL
Potresti anche saltare questo passaggio. privacyIDEA verrebbe quindi eseguito con il database SQLite in /var/lib/privacyidea/. Ma scegliamo di utilizzare un database MySQL in questo scenario.
Quindi vai su PrivacyIDEA ? database ...
Lì puoi scegliere reimposta localmente , che creerà il database MySQL, creerà un utente e configurerà le tabelle del database.
Sì, lo facciamo!
Finalmente vedi la nuova configurazione, utilizzando il database MySQL.
Crea i tuoi client RADIUS
Nel menu principale scegli FreeRADIUS ? configurazione client per gestire i tuoi client RADIUS. Il default /etc/freeradius/clients.conf viene fornito con un client localhost, ecco perché vedi già un client nell'elenco.
Nota: Non puoi eliminare l'ultimo cliente, quindi creiamo nuovi clienti!
Creeremo una rete client per far fronte a tutti i possibili client nella tua rete e al client localhost, per eseguire test sul sistema. Quindi scelgo questi valori:dovresti adattare la rete di conseguenza:
- miarete
- nome:miarete
- ip:172.16.200.0
- maschera di rete:24
- segreto:topSecret4All
- nome breve:vuoto
- localhost
- nome:localhost
- ip:127.0.0.1
- maschera di rete:32
- segreto:topSecretOnce
- nome breve:vuoto
Scegliamo Aggiungi nuovo cliente per creare il nuovo client "mynetwork" e le finestre di dialogo ci chiederanno i valori sopra indicati. Quindi tutti i client sulla rete 172.16.200.0/24 potranno emettere una richiesta RADIUS con il segreto RADIUS "topSecret4All".
Il nome della configurazione del client
L'indirizzo IP
La maschera di rete
Il segreto condiviso
Il nome breve può essere lasciato vuoto
È possibile selezionare il client "localhost" ed eliminarlo. Successivamente puoi creare un nuovo client "localhost" in base alle impostazioni di cui sopra.
Configurazione completata
Ora hai finito di configurare il sistema di base. Lo strumento di installazione dovrebbe rendersi conto che si modificano dati importanti e si riavviano i servizi. Ma solo per essere sicuro di poterlo fare manualmente:
servizio uwsgi restart
servizio freeradius restart
Registra il tuo token
Ora puoi registrare i tuoi dispositivi di autenticazione, operazione che viene eseguita utilizzando l'interfaccia utente Web di gestione. Punta il tuo browser su https://tuo-server, accetta l'avviso di certificato del certificato autofirmato e otterrai la schermata di accesso:
In questa schermata di accesso puoi accedere come amministratore di token. Tutti gli amministratori di token che hai creato devono aggiungere "@admin" al loro nome, per indicare che sono amministratori.
L'interfaccia utente Web offre una visualizzazione di token, utenti, criteri, macchine e registro di controllo.
Connetti all'origine utente
Poiché privacyIDEA non gestisce gli utenti da sola, abbiamo bisogno di leggere gli utenti da qualche fonte. Useremo il file /etc/passwd.
Fare clic su configprivacyIDEA ? useridresolver , fai clic sul pulsante Nuovo e seleziona File piatto .
Fai clic su salva per salvare la definizione del resolver con il nome "local".
Nota: In qualsiasi momento puoi fare clic sul punto interrogativo bianco nel cerchio verde che ti porterà alla guida in linea contestuale in un'altra finestra del browser. In effetti potrebbe essere una buona idea leggere qualcosa sui resolver e sui reami;-).
Quando chiudi la finestra del risolutore verrai portato automaticamente alla finestra del regno oppure puoi fare clic su privacyIDEA Config ? regni per creare un nuovo regno. In questa finestra di dialogo devi fare clic su Nuovo .
Inserisci il nome del regno ("realm1") e seleziona il risolutore ("locale") e fai clic su Salva .
Quindi vedrai il nuovo regno nella tua lista di regni.
Puoi chiudere la finestra e fare clic sulla scheda Vista utente .
Registra un token per l'utente
In basso puoi cercare un utente inserendo "r*" e facendo clic su cerca pulsante. Vedrai la radice dell'utente. Seleziona l'utente cliccandoci sopra. L'utente sarà menzionato nella barra laterale di sinistra come utente selezionato. Ora puoi fare clic sul pulsante registrati nella barra laterale sinistra.
Quindi si aprirà la finestra di dialogo di registrazione. Scegli il tipo di token "HMAC eventbased" e seleziona genera chiave HMAC .
Fare clic sul pulsante Registrati . Il server creerà una chiave segreta e visualizzerà un codice QR che può essere scansionato con l'app Google Authenticator. Questa app Google Authenticator ora funzionerà come dispositivo di autenticazione.
Dopo aver scansionato il codice QR, puoi fare clic su OK e infine impostare un PIN - una password che solo tu conosci - proprio per questo token.
Ora hai due fattori con cui autenticarti:il PIN e il valore OTP generato dal tuo dispositivo di autenticazione.
Testa il tuo sistema
Ora possiamo controllare il sistema inviando una richiesta RADIUS a questo dispositivo. Lo farò dal sistema stesso essendo loggato come root tramite ssh con un comando come:
echo "Nome utente=root, Password=PIN+OTP" | radclient -s 127.0.0.1 auth topSecretOnce
La Password essendo concatenato dal PIN e dal valore OTP e "topSecretOnce" è il segreto condiviso per localhost.
[email protetta]:~# echo "Nome utente=root, Password=test570391" | radclient -s 127.0.0.1 auth topSecretOnce
Risposta ricevuta ID 209, codice 3, lunghezza =55
Reply-Message ="privacyIDEA server ha negato l'accesso!"
Totale autorizzazioni approvate:0
Autenticazioni negate totali:1
Autenticazioni perse totali:0
[email protetta]:~# echo "Nome utente=root, Password=test137634" | radclient -s 127.0.0.1 auth topSecretOnce
Risposta ricevuta ID 180, codice 2, lunghezza =48
Reply-Message ="privacyIDEA accesso concesso"
Totale autorizzazioni approvate:1
Auth totali negate:0
Auth totali perse:0
Nota: A causa di un contatore di partenza diverso nell'App e nel server la prima autenticazione fallirà.
Ora puoi prendere tutte le tue applicazioni abilitate RADIUS (Firewall, OpenVPN) e configurarle per l'autenticazione contro privacyIDEA utilizzando il segreto condiviso precedentemente definito.
Buona autenticazione!