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

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

OpenVPN vytváří šifrovaný tunel mezi dvěma body, který brání třetí straně v přístupu k vašemu síťovému provozu. Nastavením serveru virtuální privátní sítě (VPN) se stanete svým vlastním poskytovatelem VPN. Mnoho oblíbených služeb VPN již OpenVPN používá, tak proč spojovat své připojení s konkrétním poskytovatelem, když můžete mít úplnou kontrolu?

První článek v této sérii ukázal, jak nastavit a nakonfigurovat počítač se systémem Linux, aby sloužil jako váš server OpenVPN. Diskutovalo se také o tom, jak nakonfigurovat směrovač, abyste se k serveru VPN dostali z vnější sítě.

Tento druhý článek ukazuje, jak nainstalovat serverový software OpenVPN pomocí kroků přizpůsobených z wiki OpenVPN.

Instalovat OpenVPN

Nejprve nainstalujte OpenVPN a easy-rsa aplikace (která vám pomůže nastavit ověřování na vašem serveru) pomocí správce balíčků. Tento příklad používá Fedora Linux; pokud jste zvolili něco jiného, ​​použijte příslušný příkaz pro vaši distribuci:

$ sudo dnf install openvpn easy-rsa 

Tím se vytvoří nějaké prázdné adresáře:

  • /etc/openvpn
  • /etc/openvpn/client
  • /etc/openvpn/server

Pokud se nevytvoří během instalace, vytvořte je ručně.

Nastavit ověřování

OpenVPN závisí na easy-rsa skripty a měl by mít jejich vlastní kopii. Zkopírujte easy-rsa skripty a soubory:

$ sudo mkdir /etc/openvpn/easy-rsa
$ sudo cp -rai /usr/share/easy-rsa/3/* \
/etc/openvpn/easy-rsa/

Další zdroje pro Linux

  • Cheat pro příkazy Linuxu
  • Cheat sheet pro pokročilé příkazy systému Linux
  • Bezplatný online kurz:Technický přehled RHEL
  • Síťový cheat pro Linux
  • Cheat sheet SELinux
  • Cheat pro běžné příkazy pro Linux
  • Co jsou kontejnery systému Linux?
  • Naše nejnovější články o Linuxu

Autentizace je důležitá a OpenVPN to bere velmi vážně. Teorie je taková, že pokud Alice potřebuje získat přístup k soukromým informacím v Bobově společnosti, je důležité, aby se Bob ujistil, že Alice skutečně je Alice. Stejně tak se Alice musí ujistit, že Bob je skutečně Bob. Říkáme tomu vzájemné ověřování.

Dnešní osvědčený postup kontroluje atribut ze dvou ze tří možných faktorů:

  • Něco máte
  • Něco, co víte
  • Něco, co jste

Možností je spousta. Toto nastavení OpenVPN používá:

  • Certifikáty: Něco, co má klient i server
  • Heslo k certifikátu: Něco, co lidé vědí

Alice a Bob potřebují pomoc při vzájemné autentizaci. Protože oba důvěřují Cathy, Cathy přebírá roli zvanou certifikační autorita (CA). Cathy potvrzuje, že Alice i Bob jsou tím, za koho se prohlašují. Protože Alice a Bob oba důvěřují Cathy, nyní důvěřují i ​​sobě navzájem.

Ale co přesvědčí Cathy, že Alice a Bob skutečně jsou Alice a Bob? Cathyina reputace v komunitě závisí na tom, zda se to podaří, a pokud tedy chce, aby jí Danielle, Evan, Fiona, Greg a další důvěřovali, bude přísně testovat tvrzení Alice a Boba. Poté, co Alice a Bob přesvědčí Cathy, že skutečně jsou Alice a Bob, Cathy jim podepíše certifikáty, které mohou sdílet mezi sebou a se světem.

Jak Alice a Bob vědí, že Cathy – a ne někdo, kdo se za ni vydává – podepsala certifikáty? Používají technologii zvanou šifrování veřejného klíče:

  • Najděte kryptografický algoritmus, který šifruje jedním klíčem a dešifruje jiným.
  • Prohlásit jeden klíč za soukromý a druhý klíč sdílet s veřejností.
  • Cathy sdílí svůj veřejný klíč a textovou kopii svého podpisu se světem.
  • Cathy zašifruje svůj podpis pomocí svého soukromého klíče. Každý jej může dešifrovat pomocí jejího veřejného klíče.
  • Pokud se Cathyin dešifrovaný podpis shoduje s kopií čistého textu, Alice a Bob mohou věřit, že to Cathy opravdu podepsala.

Stejnou technologii používáte pokaždé, když nakupujete zboží a služby online.

Implementujte ověřování

Dokumentace OpenVPN navrhuje nastavení CA na samostatném systému nebo alespoň samostatném adresáři na serveru OpenVPN. Dokumentace také navrhuje generování serverových a klientských certifikátů ze serveru a klientů. Protože se jedná o jednoduché nastavení, můžete použít server OpenVPN jako jeho vlastní CA a umístit certifikáty a klíče do určených adresářů na serveru.

Vygenerujte certifikáty ze serveru a zkopírujte je do každého klienta jako součást nastavení klienta.

Tato implementace používá certifikáty s vlastním podpisem. To funguje, protože server důvěřuje sám sobě a klienti důvěřují serveru. Proto je server nejlepší CA pro podepisování certifikátů.

Ze serveru OpenVPN nastavte CA:

$ sudo mkdir /etc/openvpn/ca
$ cd /etc/openvpn/ca
$ sudo /etc/openvpn/easy-rsa/easyrsa init-pki
$ sudo / etc/openvpn/easy-rsa/easyrsa build-ca

Použijte snadno zapamatovatelné, ale těžko uhodnutelné heslo.

Nastavte pár klíčů serveru a žádost o certifikát:

$ cd /etc/openvpn/server
$ sudo /etc/openvpn/easy-rsa/easyrsa init-pki
$ sudo /etc/openvpn/easy-rsa/easyrsa gen-req OVPNserver2020 nopass

V tomto příkladu OVPNServer2020 je jakýkoli název hostitele, který jste svému serveru OpenVPN přiřadili v prvním článku této série.

Generování a podepisování certifikátů

Nyní musíte odeslat požadavek serveru CA a vygenerovat a podepsat certifikát serveru.

Tento krok v podstatě zkopíruje soubor požadavku z /etc/openvpn/server/pki/reqs/OVPNserver2020.req do /etc/openvpn/ca/pki/reqs/OVPNserver2020.req jej připravit ke kontrole a podpisu:

$ cd /etc/openvpn/ca
$ sudo /etc/openvpn/easy-rsa/easyrsa \
import-req /etc/openvpn/server/pki/reqs/OVPNserver2020.req OVPNserver2020

Zkontrolujte a podepište žádost

Vytvořili jste požadavek, takže nyní musíte zkontrolovat a podepsat certifikáty:

$ cd /etc/openvpn/ca
$ sudo /etc/openvpn/easy-rsa/easyrsa \
show-req OVPNserver2020

Podepište se jako server:

$ cd /etc/openvpn/ca
$ sudo /etc/openvpn/easy-rsa/easyrsa \
sign-req server OVPNserver2020

Umístěte kopii certifikátů serveru a CA tam, kam patří, aby je konfigurační soubor vyzvedl:

$ sudo cp /etc/openvpn/ca/pki/issued/OVPNserver2020.crt \
/etc/openvpn/server/pki/
$ sudo cp /etc/openvpn/ca/pki/ ca.crt \
/etc/openvpn/server/pki/

Dále vygenerujte parametry Diffie-Hellman, aby si klienti a server mohli vyměňovat klíče relace:

$ cd /etc/openvpn/server
$ sudo /etc/openvpn/easy-rsa/easyrsa gen-dh

Téměř tam

Další článek v této sérii ukáže, jak nakonfigurovat a spustit server OpenVPN, který jste právě vytvořili.

Tento článek je založen na blogu D. Grega Scotta a je znovu použit se svolením.


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

  2. Nainstalujte si ownCloud 5 na Linux Mint 14

  3. Jak nainstalovat virtualizační Linux Server

  1. Jak nainstalovat desktopové prostředí na váš Headless Linux Server

  2. Nejjednodušší způsob instalace a konfigurace serveru OpenVPN v systému Linux

  3. Nainstalujte a nakonfigurujte klienta OpenVPN na Rocky Linux 8

  1. Nastavte OpenVPN Server na Rocky Linux 8

  2. Nainstalujte a nastavte OpenVPN Server na Ubuntu 20.04

  3. Nainstalujte a nakonfigurujte OpenVPN Server FreeBSD 12