GNU/Linux >> Linux Esercitazione >  >> Linux

Come configurare il tuo dispositivo OTP con privacyIDEA


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
Passa attraverso lo strumento per familiarizzare, cosa si può fare.

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.
Successivamente, vedrai il nuovo amministratore del token nell'elenco. Puoi ripetere questo passaggio tutte le volte che vuoi. È possibile eliminare un amministratore o modificare la password, scegliendo l'amministratore dall'elenco.


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:

  1. miarete
      nome:miarete
      ip:172.16.200.0
      maschera di rete:24
      segreto:topSecret4All
      nome breve:vuoto
  2. 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!


Linux
  1. Proteggi i tuoi container con SELinux

  2. Risolvi i problemi della tua rete con tcpdump

  3. Come installare e configurare Bind per configurare il server DNS?

  4. Come installare Nextcloud con Docker sul tuo server Linux

  5. Come installare e configurare lo stack MERN con Nginx su Ubuntu 20.04

Q4OS Linux fa rivivere il tuo vecchio laptop con l'aspetto di Windows

Come installare Fedora in una configurazione dual-boot con Windows

Come configurare il firewall con UFW su Linux

Come configurare il firewall con Gufw su desktop Linux

Leggi i tuoi fumetti con OpenComic su Ubuntu 20.04

Configura il server di streaming audio personale con Koel su Ubuntu 20.04