GNU/Linux >> Znalost Linux >  >> Panels >> OpenVPN

Sestavte si svůj vlastní kombinovaný server OpenVPN/WiKID pro VPN s vestavěnou dvoufaktorovou autentizací pomocí Packer.

V minulých kurzech jsme přidali jednorázová hesla do OpenVPN a vytvořili server WiKID pomocí Packer. V tomto tutoriálu vytvoříme kombinovaný server OpenVPN/WiKID pomocí Packer. Packer nám umožňuje vytvářet obrazy VMware, VirtualBox, EC2, GCE, Docker atd. pomocí kódu. Všimněte si, že kombinace vašeho dvoufaktorového ověřovacího serveru a VPN serveru v jednom boxu pro vás může, ale nemusí být tím nejlepším řešením. Obvykle máme rádi oddělení povinností kvůli bezpečnosti a flexibilitě. Pokud však potřebujete něco rychlého - auditoři PCI dorazí v pondělí - nebo jste v represivním stavu a potřebujete pouze na krátkou dobu zabezpečené odchozí připojení. A stále máte určitou flexibilitu. Na server WiKID můžete přidat další služby. Server OpenVPN můžete zakázat a místo toho přepnout na jinou VPN.

Sestavení kombinovaného serveru

Nejprve si stáhněte a nainstalujte Packer.

Podívejte se na naše skripty Packer z GitHubu. Skripty se skládají z hlavního souboru JSON, který říká Packerovi, co má dělat, adresáře http se skripty pro sestavení Anaconda, adresáře souborů, který se nahraje do obrazu, a provizorů, které se spouštějí po sestavení obrazu. Packer v zásadě začíná s nějakým zdrojem, jako je ISO nebo AMI, sestavuje server založený na Anacondě (alespoň pro CentOS), nahrává jakékoli soubory a poté spouští provizory. Packer je primárně zaměřen na vytváření idempotentních serverů. V našem případě jej používáme ke spouštění příkazů, což nám umožňuje spustit jeden příkaz namísto přibližně 50 (jen pro zajišťování).

Před stavbou je potřeba upravit několik souborů. Nejprve upravte /files/vars . Toto je standardní soubor vars pro vytváření certifikátů OpenVPN. Stačí zadat hodnoty do polí certifikátu.

# 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"

Dále musíte upravit sdílený tajný klíč v /files/server . Tento soubor sdělí PAM, který server RADIUS má použít. V tomto případě mluví přímo se serverem WiKID. Sdílený tajný klíč se používá ke kódování rádiového provozu. Protože WiKID běží na stejném serveru, ponechte localhost jako server:

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

Toto sdílené tajemství budete potřebovat později.

Podívejte se do centos-6-x86-64.json . Můžete jej spustit tak, jak je, ale možná budete chtít upravit pár věcí. Měli byste potvrdit source_ami (uvedený ami je v USA-východ) nebo jej přepnout na jeden z preferovaných CentOS AMI. Pokud stavíte na VMware nebo VirtualBox, budete chtít změnit iso_url na umístění CentOS ISO na vašem pevném disku a aktualizovat MD5Sum. Možná budete chtít upravit názvy a popisy. Můžete také chtít změnit oblast EC2. Nejdůležitější je, že můžete změnit ssh_password, což je heslo uživatele root.

Jakmile budete se souborem JSON spokojeni, můžete jej ověřit pomocí Packer:

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

Pokud to funguje, postavte to. Cílovou platformu můžete zadat na příkazovém řádku:

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

Pokud vytváříte pro EC2, vložte požadované přihlašovací údaje do příkazového řádku:

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

Pokud sledujete spouštění příkazů, uvidíte, že se buduje kompletní server OpenVPN s novými certifikáty!

Konfigurace serveru dvoufaktorové autentizace WiKID

Jakmile je vytvořen, budete muset spustit AMI nebo importovat virtuální počítač. Spusťte VirtBox a vyberte Soubor, Importovat zařízení. Nasměrujte jej do adresáře output-virtualbox-iso vytvořeného příkazem build a otevřete soubor OVF. Proveďte libovolné změny na virtuálním počítači (např. paměť nebo síť) a spusťte server.

Přihlaste se pomocí root/wikid nebo pomocí čehokoli, co jste možná nastavili jako root heslo jako v souboru JSON. Server WiKID budeme konfigurovat pomocí možnosti konfigurace rychlého startu. Zkopírujte soubor do aktuálního adresáře:

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

Upravte wikid.conf podle těchto pokynů. Jako kód domény použijte externí IP adresu vašeho serveru nebo instance EC2. Takže z 54.163.165.73 se stane 054163165073. Pro hostitele RADIUS použijte localhost a sdílený tajný klíč, který jste vytvořili v /files/server výše:

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

Pokud jste na virtuálním počítači, můžete nakonfigurovat síť spuštěním:

wikidctl setup

Na EC2 stačí nakonfigurovat server WiKID:

wikidctl quick-setup configfile=wikid.conf

Uvidíte procházet informace o konfiguraci. Spusťte server WiKID:

wikidctl start

Budete vyzváni k zadání přístupové fráze, kterou jste nastavili na wikid.conf. Přejděte do rozhraní WIKIDAdmin na adrese https://yourserver.com/WiKIDAdmin/ a měli byste vidět vytvořenou doménu, nakonfigurovaného klienta sítě Radius a dokončené všechny požadované certifikáty.

Před opuštěním serveru byste měli přidat své uživatelské jméno jako účet na serveru s 'useradd $username'. Není třeba přidávat heslo.

Zaregistrujte si softwarový token WiKID

Stáhněte si softwarový token WiKID nebo si jej nainstalujte pro iOS nebo market://search?q=pname:com.wikidsystems.android pro Android z obchodů s aplikacemi.

Spusťte token a vyberte „Přidat doménu“. Zadejte identifikační kód domény, který jste nastavili na wikid.conf, a měli byste být dvakrát vyzváni k nastavení PIN. Udělejte tak a dostanete zpět registrační kód. Přejděte do webového uživatelského rozhraní WiKIDAdmin a klikněte na kartu Uživatelé a poté ručně ověřit uživatele. Klikněte na svůj registrační kód a zadejte své uživatelské jméno. Tento proces přidruží token (a klíče, které byly vyměněny) s uživatelem.

Nastavení klienta VPN

Stáhněte si ca.crt do klienta:

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

Upravte soubor client.conf OpenVPN. Nastavte vzdálený server jako váš kombinovaný server 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
   

Zakomentujte řádky certifikátu a klíče. Zbývá pouze CA. Protože k ověření a identifikaci uživatele používáme WiKID, nejsou potřeba.

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

V dolní části souboru řekněte klientovi, aby požádal o heslo:

auth-user-pass

Nyní spusťte klienta OpenVPN:

sudo openvpn client.conf

Budete vyzváni k zadání uživatelského jména a hesla. Vyžádejte si přístupový kód ze svého tokenu WiKID a zadejte jej do pole pro heslo. Měly by vám být uděleny přístupy.

Související:

  • WiKID – server s dvoufaktorovou autentizací
  • OpenVPN
  • Balík

OpenVPN
  1. Nakonfigurujte svůj server OpenVPN v systému Linux

  2. Jak nakonfigurovat sudo pro dvoufaktorové ověřování pomocí pam-radius na Ubuntu a CentOS

  3. 7 výhod používání virtuálního privátního serveru pro vaše podnikání

  1. Nainstalujte OpenVPN do svého počítače se systémem Linux

  2. Zabezpečte OpenVPN s dvoufaktorovou autentizací z WiKID na Centos 7

  3. Vytvořte si vlastní cloudovou službu dvoufaktorového ověřování pomocí WiKID a Packer.

  1. Vytvořte si svůj vlastní server pro streamování videa s Linuxem

  2. Nastavte linuxový VPN server pomocí OpenVPN – průvodce krok za krokem

  3. OpenVPN - Zabezpečte si správu serveru pomocí multiplatformního připojení VPN