Úvod
VPN (Virtual Private Network) je virtuální privátní síť, která umožňuje bezpečné připojení pro vzdálený přes internet např. k privátní síti vaší společnosti. Pomocí VPN je možné přistupovat k systémům společnosti stejným způsobem, jako byste byli fyzicky přítomni na pracovišti.
VPN lze implementovat prostřednictvím běžných operačních systémů, včetně Windows, a služeb jako například OpenVPN. Jedná se o open-source software, který vytváří šifrovaný virtuální tunel založený na protokolech TLS/SSL (Transport Layer Security / Secure Sockets Layer) pomocí certifikátů, které umožňují bezpečný přenos mezi serverem a jedním nebo více klienty.
V tomto návod vám ukážeme, jak implementovat VPN na cloudovém serveru instalací a konfigurací softwaru OpenVPN connect na Windows Server 2019.
Požadavky
Aby bylo možné se připojit ke stejné síti, musí mít dvě nebo více zařízení (klient a server) připojených k síti VPN přístup k UDP portu 1194.
Toho docílíte přidáním pravidla do firewallu.
Jak nainstalovat OpenVPN
Prvním krokem je stažení instalačního programu OpenVPN pro Windows Server 2019 přímo z oficiální webové stránky.
Jakmile je soubor stažen, spusťte instalaci. Nezapomeňte zaškrtnout políčko "EasyRSA 2 Certificate Management Scripts" a "OpenVPN GUI". Poté klikněte na "Next".
Dokončete instalaci.
Generování certifikátů a klíčů pro server
Po dokončení fáze předběžné instalace OpenVPN vygenerujte certifikáty a klíče pro přístup k VPN.
Nejprve otevřete terminál vašeho Windows Serveru. Klikněte na Start, zadejte „cmd“, klikněte pravým tlačítkem na ikonu Příkazový řádek a poté vyberte možnost "Spustit jako správce".
Přejděte do složky, kde byl nainstalován OpenVPN, a spusťte skript "init-config".
cd "C:\Program Files\OpenVPN\easy-rsa"
init-config
Nyní otevřete soubor "vars.bat" v adresáři "C: \ Program Files \ OpenVPN \ easy-rsa":
notepad vars.bat
Téměř na konci dokumentu bude řada položek začínajících na "set" sloužící k nastavení některých informací mezi proměnnými prostředí. Doplňte do těchto polí své údaje a vygenerujte certifikát.
Tento krok není nutný, jelikož stejné údaje budete muset zadat ještě později. Když však nyní nastavíte hodnoty v tomto souboru, budou tyto hodnoty později použity jako výchozí parametry.
Po zadání informací soubor uložte a zavřete textový editor. Poté zadejte následující příkazy, které tyto změny aplikují:
vars
clean-all
Poté začněte vytvářet certifikát. Z terminálu (spuštěného jako správce a vždy ve složce "C: \ Program Files \ OpenVPN \ easy-rsa") zadejte:
build-ca
Pokud jste své údaje již zadali do souboru "vars", budou zobrazeny v hranatých závorkách každého povinného pole. V takovém případě stačí stisknout klávesu "Enter".
Položce "Common name" dejte snadno zapamatovatelný název. V našem příkladu bude použit název "OpenVPN-CA".
Operace generování certifikátu proběhla úspěšně, pokud jsou ve složce "easy-rsa \ keys" vytvořeny dva nové soubory "ca.crt" a "ca.key".
Nyní vytvořte klíče serveru. Použijte příkaz:
build-key-server server_name
Přiřaďte serveru obecný název na řádku "Common name". Na následujícím obrázku je vidět, že v našem příkladu byl použit název "server".
Na konci procesu budete požádáni, abyste dvakrát potvrdili uložení dat. V obou případech zadejte "y" a stiskněte "Enter".
Jak vygenerovat klíč pro klienta
Vzhledem k tomu, že ve VPN musí být všechna připojená zařízení rozpoznatelná, potřebují klienti pro komunikaci také pár klíčů. Stále uvnitř serveru, z terminálu a ve složce "C: \ Program Files \ OpenVPN \ easy-rsa") zadejte:
build-key client_name
Uveďte obecný název, který se má přiřadit klientovi (na obrázku v tomto případě byl použit název "client-desktop") na řádku "Common name".
Nyní je nutné spustit generování Diffie-Hellman klíče umožňující dvěma účastníkům (server a klient) se dohodnout, který klíč použijí jako ověřovací k vzájemné identifikaci. Zadejte:
build-dh
Tato operace může trvat dlouho, v závislosti na hardwaru, kterým server disponuje. Proces nevyžaduje žádnou interakci uživatele.
Nakonec vygenerujte klíč "ta.key" pro další zvýšení zabezpečení VPN. Zadejte:
"C:\Program Files\OpenVPN\bin\openvpn.exe" --genkey --secret "C:\Program Files\OpenVPN\easy-rsa\keys\ta.key"
Konfigurační soubor serveru
OpenVPN již poskytuje ukázkové konfigurační soubory, které lze použít ke generování konfigurace potřebné pro správné fungování VPN.
Otevřete Start -> All Programs -> OpenVPN -> OpenVPN Sample Configuration Files a zkopírujte soubor "server.ovpn" do adresáře "C: \ Program Files \ OpenVPN \ easy-rsa \ keys". Po zkopírování jej otevřete v Poznámkovém bloku:
notepad "C:\Program Files\OpenVPN\easy-rsa\keys\server.ovpn"
Vyhledejte položky:
- approx .crt
- cert server.crt
- key server.key
- dh dh2048.pem
a nahraďte je těmito:
- ca "C: \\ Program Files \\ OpenVPN \\ config \\ ca.crt"
- cert "C: \\ Program Files \\ OpenVPN \\ config \\ server.crt"
- key "C: \\ Program Files \\ OpenVPN \\ config \\ server.key"
- dh "C: \\ Program Files \\ OpenVPN \\ config \\ dh2048.pem"
Potvrďte změny, uložte a zavřete soubor.
Konfigurační soubor klienta
Změny, které je třeba provést v konfiguračním souboru klienta, jsou velmi podobné změnám provedeným pro server.
Otevřete Start -> All Programs -> OpenVPN -> OpenVPN Sample Configuration Files a zkopírujte soubor "client.ovpn" do adresáře "C: \ Program Files \ OpenVPN \ easy-rsa \ keys". Po zkopírování soubor přejmenujte na stejný "Common Name" použitý ve fázi generování klíče (v našem příkladu se jednalo o "client-desktop") a otevřete jej v Poznámkovém bloku..
notepad "C:\Program Files\OpenVPN\easy-rsa\keys\client-desktop.ovpn"
Vyhledejte položky:
- approx .crt
- cert server.crt
- key server.key
a nahraďte je těmito:
- ca "C: \\ Program Files \\ OpenVPN \\ config \\ ca.crt"
- cert "C: \\ Program Files \\ OpenVPN \\ config \\ client-desktop.crt"
- key "C: \\ Program Files \\ OpenVPN \\ config \\ client-desktop.key"
Vyhledejte také položku my-server-1 1194 a nahraďte "my-server-1" IP adresou vašeho serveru. Potvrďte změny, uložte a zavřete soubor
Nyní zkopírujte následující soubory:
- ca.crt
- ta.key
- dh2048.pem
- server.crt
- server.key
- server.ovpn
Uvnitř adresáře "C: \ Program Files \ OpenVPN \ config", může být operace provedena přímo pomocí nástroje robocopy.
robocopy "C:\Program Files\OpenVPN\easy-rsa\keys\ " "C:\Program Files\OpenVPN\config\ " ca.crt ta.key dh2048.pem server.crt server.key server.ovpn
Zkopírujte následující soubory:
- ca.crt
- ta.key
- client-desktop.crt
- client-desktop.key
- client-desktop.ovpn
WV rámci klienta v adresáři "C: \ Program Files \ OpenVPN \ config \".
Nyní přejděte na Start -> All Programs -> OpenVPN -> OpenVPN GUI na straně serveru i klienta.
Grafické rozhraní OpenVPN se otevře v liště vpravo dole. Klikněte pravým tlačítkem na příslušnou ikonu OpenVPN a poté klikněte na "Připojit".
Když ikona zezelená, připojení k virtuální privátní síti bylo správně navázáno a obě zařízení, klient a server, budou komunikovat prostřednictvím nově vytvořené VPN.