Generowanie certyfikatów dla OpenVPN EasyRSA3

Przewodnik dla początkujących dotyczący generowania certyfikatów dla OpenVPN

EasyRSA to proste narzędzie do generowania certyfikatów, które umożliwia generowanie wielu typów certyfikatów. Ma również możliwość wygenerowania CSR (Certificate Signing Request) i podpisania go z wyznaczonym urzędem certyfikacji (Certificate Authority). Podstawowym zastosowaniem tego narzędzia jest generowanie certyfikatów do użytku w OpenVPN w celu ustanowienia bezpiecznego łącza VPN między wieloma punktami końcowymi.

OpenVPN

Jeśli dopiero zaczynasz w dziedzinie VPN lub szukasz innego rozwiązania swoich nieszczęść ZWIĄZANYCH z VPN. OpenVPN jest jednym z najczęściej używanych rozwiązań VPN na rynku. Udowodniono, że jest to bardzo bezpieczne rozwiązanie i łatwe wdrożenie, i występuje w wielu smakach. Obecnie jest dostępny w systemach Linux i Windows, a także w formie wirtualnego urządzenia takich firm jak Google, Amazon, Microsoft. OpenVPN jest open source, więc można go modyfikować w dowolnym razie.

Instalacja EasyRSA

W tym przewodniku będziemy używać EasyRSA 3, który możesz uzyskać stąd. Musisz kliknąć zielony przycisk oznaczony „Klonuj lub pobierz”, a następnie kliknij „Pobierz ZIP”, aby pobrać nasze archiwum „master.zip”. Podczas gdy proces konfiguracji może być prosty w systemach opartych na systemie Linux, Windows wymaga trochę manewrowania pod względem tego, gdzie umieścić poprawne pliki, aby uruchomić skrypt EasyRSA.

Otwórz plik zip, który właśnie pobrałeś, za pomocą czegoś takiego jak WinRAR i kliknij folder „easy-rsa-master”.

Istnieje lista folderów, ta, którą chcemy najpierw wyodrębnić, będzie dotyczyła wersji Windows. Śmiało i kliknij folder „dystrybucja”. Zanim przejdziemy dalej, utwórz folder o nazwie „EasyRSA” na dysku, może on znajdować się w dowolnym miejscu. Zobaczysz teraz folder o nazwie „okna”, kliknij go. Naciśnij CTRL i A na klawiaturze, aby wybrać wszystkie pliki, teraz przeciągnij lub wyodrębnij zawartość folderu windows do folderu EasyRSA.

Twój folder „EasyRSA” powinien wyglądać tak.

Następnie wróć do pliku archiwum i kliknij „.” dwa razy u góry bieżącego folderu. Przejdziemy teraz do folderu „easyrsa3”.

Naciśnij CTRL i A ponownie, aby wybrać wszystkie pliki w katalogu i przeciągnąć / wyodrębnić do folderu „EasyRSA”.

Twój folder „EasyRSA” powinien teraz wyglądać tak. Teraz, gdy jest napisane „win32” i „win64”, w zależności od tego, czy twoja wersja systemu Windows jest 32-bitowa, czy 64-bitowa (nowoczesne komputery są 64-bitowe), przeniesiemy pliki z jednego z tych folderów do naszego katalogu startowego EasyRSA. Przejdźmy do folderu „win64”.

EasyRSA polega na OpenSSL, aby wygenerować nasze certyfikaty i podpisać je. Tak jak wcześniej, naciśnij zarówno CTRL, jak i A, aby zaznaczyć je wszystkie. Kliknij prawym przyciskiem myszy i kliknij „kopiuj”. Wróć do folderu „EasyRSA”, kliknij prawym przyciskiem myszy i kliknij „Wklej”.

Po zakończeniu wszystkiego ostateczna konfiguracja powinna wyglądać tak. Powinniśmy teraz móc zacząć korzystać z EasyRSA bez żadnych problemów. EasyRSA opiera się na skrypcie wsadowym o nazwie „EasyRSA-Start.bat” do uruchomienia programu. Zobaczmy, czy działa.

Wszystko wydaje się działać idealnie. Przekonasz się, że używa powłoki opartej na Linuksie, która pozwala nam wykonywać wstępnie zdefiniowane skrypty bash w celu utworzenia naszych certyfikatów / kluczy. Zanim przejdziemy do ich gotowania, będziemy musieli wygenerować folder dla naszych certyfikatów. Aby to zrobić, w sekcji „Powłoka EasyRSA” wpisz następujące polecenie:

./easyrsa init-pki

Po naciśnięciu enter. EasyRSA generuje folder o nazwie pki (Public Key Infrastructure) w „EasyRSA”. To tutaj wszystkie nasze certyfikaty i klucze zostaną umieszczone po wygenerowaniu.

Folder „prywatny” przechowuje klucze prywatne dla każdego wygenerowanego certyfikatu. „reqs” będzie przechowywać nasz CSR (Certificate Signing Request). Istnieją również 2 pliki „.cnf”, najlepiej nie manipulować nimi i po prostu pozwolić EasyRSA zająć się nimi, chyba że masz doświadczenie z OpenSSL. Teraz wygenerujemy nasz urząd certyfikacji (Urząd certyfikacji), wpisz następujące polecenie:

./easyrsa build-ca

Naciśnij Enter. Zostaniesz poproszony o wymyślenie hasła dla swojego urzędu certyfikacji. Ważne jest, aby zapisać dowolne hasło, które utworzysz, w specjalnym pliku lub kartce papieru. Chroni to klucz prywatny urzędu certyfikacji przechowywany w folderze „pki\private\ca.key” przed naruszeniem zabezpieczeń. Następnie zostaniesz poproszony o podanie „Nazwy pospolitej” dla certyfikatu urzędu certyfikacji. Możesz go nazwać, jak chcesz. Naciśnij Enter. Certyfikat urzędu certyfikacji i klucz urzędu certyfikacji zostały wygenerowane i gotowe do podpisania wszystkich tworzonych certyfikatów.

Zobaczysz teraz „ca.crt” w folderze „pki”. Jeśli przejdziesz do „folderu prywatnego”, zobaczysz również „ca.key”, który jest kluczem prywatnym certyfikatu. W tym momencie zaczniemy generować certyfikaty i klucze do użytku OpenVPN. Następnie wygenerujemy klucz diffie-hellmana. Ten klucz pozwoli nam bezpiecznie uwierzytelnić się za pomocą serwera OpenVPN. Aby go wygenerować, będziemy wpisywać następujące informacje:

./easyrsa gen-dh

W zależności od tego, jak szybki jest twój komputer, „To zajmie dużo czasu”. 

Z całą powagą, będziesz chciał poczekać od 15 do 30 minut, aż się skończy. W większości przypadków powinien zakończyć się bardzo szybko (1 do 3 minut). Po zakończeniu plik ten zostanie umieszczony w katalogu „pki” jako „dh.pem”.

Generowanie certyfikatów serwera i klienta

W przypadku OpenVPN serwer będzie potrzebował własnego zestawu certyfikatów: ca.crt, server.crt, server.key i dh.pem. Dla klientów: ca.crt, client.crt, client.key. Najpierw wygenerujmy CSR (Certificate Signing Request) dla certyfikatu serwera. Wpisz następujące polecenie w EasyRSA:

./easyrsa gen-req insertCSRnamehere

Nazwij swój plik CSR, jak chcesz. Po naciśnięciu przycisku Wprowadź rozpocznie się proces. Ponownie musisz wprowadzić hasło, aby zabezpieczyć swój certyfikat podczas uwierzytelniania. Możesz również dodać „nopass” na końcu polecenia, aby to pominąć, ale dla dodatkowego bezpieczeństwa powinieneś dodać jeden. Zaraz potem zostaniesz poproszony o „nazwę zwyczajową”, ponownie nazwij ją tak, jak chcesz. Twój plik CSR zostanie umieszczony w folderze „req” w „pki”, a plik klucza w „private”.

Nadszedł czas, aby podpisać nasz plik CSR. Wpisz następujące polecenie w EasyRSA:

./easyrsa sign-req server nameofyourCSRfile

Wpisz „tak”, aby potwierdzić nazwę zwyczajową CSR. Twój certyfikat zostanie pobrany z CSR i podpisany przy użyciu naszego certyfikatu CA wygenerowanego wcześniej. Zostaniesz poproszony o wprowadzenie hasła do utworzonego wcześniej klucza urzędu certyfikacji. Następnie tworzony jest certyfikat serwera i umieszczany w folderze „wystawiony” „pki”.

To samo dotyczy generowania CSR dla certyfikatów klienta. Wygeneruj swój CSR tak jak wcześniej, a następnie po podpisaniu wpisz następujące polecenie:

./easyrsa sign-req client nameofyourCSRfile

Twój certyfikat klienta zostanie również umieszczony w tym samym folderze, co nasz serwer. Możesz wygenerować dowolną liczbę certyfikatów klienta dla swoich klientów OpenVPN. Pamiętaj, że w OpenVPN wszyscy klienci, którzy łączą się z serwerem, będą identyfikowani przez ich „Nazwę pospolitą” oznaczoną w ich certyfikatach, więc upewnij się, że są one jednoznacznie nazwane, aby uniknąć konfliktu.