GNU/Linux >> Linux Esercitazione >  >> Panels >> OpenVPN

Crea il tuo server combinato OpenVPN/WiKID per una VPN con autenticazione a due fattori integrata utilizzando Packer.

Nei tutorial precedenti, abbiamo aggiunto password monouso a OpenVPN e creato un server WiKID utilizzando Packer. In questo tutorial creiamo un server combinato OpenVPN/WiKID usando Packer. Packer ci consente di creare immagini VMware, VirtualBox, EC2, GCE, Docker, ecc. utilizzando il codice. Tieni presente che la combinazione del server di autenticazione a due fattori e del server VPN su un'unica scatola potrebbe essere o meno la soluzione migliore per te. In genere ci piace la separazione dei compiti per sicurezza e flessibilità. Tuttavia, se hai bisogno di qualcosa di veloce - gli auditor PCI arrivano lunedì - o sei in uno stato repressivo e hai solo bisogno di una connessione sicura in uscita per un breve periodo di tempo. E hai ancora una certa flessibilità. Puoi aggiungere più servizi al server WiKID. Puoi disabilitare il server OpenVPN e passare invece a un'altra VPN.

Crea il server combinato

Innanzitutto, scarica e installa Packer.

Dai un'occhiata ai nostri script Packer da GitHub. Gli script sono costituiti da un file JSON principale che dice a Packer cosa fare, una directory http con gli script di build di Anaconda, una directory di file che viene caricata sull'immagine e i provisioner che vengono eseguiti dopo la creazione dell'immagine. Fondamentalmente Packer inizia con una fonte come ISO o AMI, costruisce il server basato su Anaconda (almeno per CentOS), carica tutti i file e quindi esegue i provisioner. Packer è principalmente orientato alla creazione di server idempotenti. Nel nostro caso, lo stiamo usando per eseguire i comandi, permettendoci di eseguire un comando invece di circa 50 (solo per il provisioning).

Prima di creare, è necessario modificare alcuni file. Innanzitutto, modifica /files/vars . Questo è il file vars standard per la creazione dei certificati OpenVPN. Inserisci i tuoi valori per i campi del certificato.

# These are the default values for fields
# which will be placed in the certificate.
# Don't leave any of these fields blank.
export KEY_COUNTRY="US"
export KEY_PROVINCE="GA"
export KEY_CITY="Atlanta"
export KEY_ORG="WiKID Systems Inc"
export KEY_EMAIL="[email protected]"
export KEY_OU="WiKID Systems, Inc"

Successivamente, devi modificare il segreto condiviso in /files/server . Questo file indicherà a PAM quale server RADIUS utilizzare. In questo caso, sta parlando direttamente al server WiKID. Il segreto condiviso viene utilizzato per codificare il traffico del raggio. Poiché WiKID è in esecuzione sullo stesso server, mantieni localhost come server:

# server[:port] shared_secret      timeout (s)
127.0.0.1       secret             3
 

Avrai bisogno di questo segreto condiviso in seguito.

Dai un'occhiata a centos-6-x86-64.json . Puoi eseguirlo così com'è, ma potresti voler modificare alcune cose. Dovresti confermare source_ami (l'ami elencato si trova negli Stati Uniti orientali) o passarlo a una delle tue AMI CentOS preferite. Se stai compilando su VMware o VirtualBox, ti consigliamo di cambiare iso_url nella posizione di CentOS ISO sul tuo disco rigido e aggiornare MD5Sum. Potresti voler modificare i nomi e le descrizioni. Potresti anche voler cambiare la regione EC2. Soprattutto, puoi cambiare ssh_password che è la password di root.

Una volta che sei soddisfatto del file JSON, puoi verificarlo con Packer:

$packer_location/packer verify centos-6-x86-64.json

Se funziona, costruiscilo. Puoi specificare la piattaforma di destinazione sulla riga di comando:

$packer_location/packer build --only=virtualbox-iso centos-6-x86-64.json

Se crei per EC2, inserisci le credenziali richieste nella riga di comando:

$packer_location/packer build -var 'aws_access_key=XXXXXXXXXXXXXXXXXXXX' -var 'aws_secret_key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' --only=amazon-ebs centos66.json

Se guardi l'esecuzione dei comandi, vedrai un server OpenVPN completo in fase di creazione completo di nuovi certificati!

Configura il server di autenticazione a due fattori WiKID

Una volta creata, dovrai avviare l'AMI o importare la macchina virtuale. Avvia VirtBox e seleziona File, Importa dispositivo. Puntalo alla directory output-virtualbox-iso creata dal comando build e apri il file OVF. Apporta le modifiche che desideri alla macchina virtuale (ad es. memoria o rete) e avvia il server.

Accedi utilizzando root/wikid o qualsiasi altra cosa tu abbia impostato la password di root come nel file JSON. Configureremo il server WiKID utilizzando l'opzione di configurazione di avvio rapido. Copia il file nella directory corrente:

cp /opt/WiKID/conf/sample-quick-setup.properties wikid.conf

Modifica wikid.conf secondo queste istruzioni. Utilizza l'indirizzo IP esterno del tuo server o dell'istanza EC2 con riempimento zero come codice di dominio. Quindi, 54.163.165.73 diventa 054163165073. Per l'host RADIUS usa l'host locale e il segreto condiviso che hai creato in /files/server sopra:

information for setting up a RADIUS host
radiushostip=127.0.0.1
radiushostsecret=secret
; *NOTE*: YOU SHOULD REMOVE THIS SETTING AFTER CONFIGURATION FOR SECURITY
  

Se sei su una macchina virtuale, puoi configurare la rete eseguendo:

wikidctl setup

Su EC2, puoi semplicemente configurare il server WiKID:

wikidctl quick-setup configfile=wikid.conf

Vedrai le informazioni sulla configurazione scorrere oltre. Avvia il server WiKID:

wikidctl start

Ti verrà richiesta la passphrase impostata in wikid.conf. Passa all'interfaccia WIKIDAdmin su https://yourserver.com/WiKIDAdmin/ e dovresti vedere il tuo dominio creato, il tuo client di rete radius configurato e tutti i certificati richiesti completati.

Prima di lasciare il server, dovresti aggiungere il tuo nome utente come account sul server con 'useradd $username'. Non è necessario aggiungere una password.

Registra il token del software WiKID

Scarica un token software WiKID o installalo per iOS o market://search?q=pname:com.wikidsystems.android per Android dagli app store.

Avvia il token e seleziona "Aggiungi un dominio". Inserisci il codice identificativo del dominio che hai impostato in wikid.conf e ti dovrebbe essere richiesto due volte di impostare il tuo PIN. Fallo e riceverai indietro un codice di registrazione. Vai all'interfaccia utente web di WiKIDAdmin e fai clic sulla scheda Utenti, quindi su Convalida manualmente un utente. Clicca sul tuo codice di registrazione e inserisci il tuo nome utente. Questo processo associa il token (e le chiavi che sono state scambiate) con l'utente.

Configura il client VPN

Scarica il ca.crt sul cliente:

scp -i ~/Downloads/wikid.pem [email protected]:/etc/openvpn/ca.crt .

Modifica il file client.conf OpenVPN. Imposta il server remoto come server combinato WiKID/OpenVPN:

# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote yourserver.com 1194
   

Commenta le righe per il certificato e la chiave. Lasciando solo il CA. Poiché utilizziamo WiKID per autenticare e identificare l'utente, non sono necessari.

ca ca.crt
#cert client.crt
#key client.key
 

Nella parte inferiore del file, chiedi al client di richiedere una password:

auth-user-pass

Ora avvia il client OpenVPN:

sudo openvpn client.conf

Ti verrà richiesto un nome utente e una password. Richiedi un passcode dal tuo token WiKID e inseriscilo nel campo della password. Dovresti ottenere gli accessi.

Correlati:

  • WiKID - Server di autenticazione a due fattori
  • OpenVPN
  • Imballatore

OpenVPN
  1. Configura il tuo server OpenVPN su Linux

  2. Installa OpenVPN sul tuo PC Linux

  3. Come configurare sudo per l'autenticazione a due fattori usando pam-radius su Ubuntu e CentOS

  4. OpenVPN - Proteggi l'amministrazione del tuo server con una connessione VPN multipiattaforma

  5. Proteggi OpenVPN con l'autenticazione a due fattori da WiKID su Centos 7

Configura il tuo server VPN WireGuard su Debian 11 e Debian 10

Creazione di certificati e chiavi per il tuo server OpenVPN

Configurazione di un server OpenVPN con autenticazione Web e viscosità Okta Single Sign-on

Come creare il tuo server VPN IPsec in Linux

Come creare la tua VPN:istruzioni dettagliate

Server Freenas NAS fai-da-te - Costruisci il tuo NAS con Freenas