KROK 2 - wygenerowanie certyfikatów
Jednym z głównych założeń OpenVPN jest autoryzacja połączonych urządzeń za pomocą certyfikatów, czyli swojego rodzaju podpisu elektronicznego.
Jeżeli korzystamy z płatnego serwisu OpenVPN, to odpowiednie certyfikaty oraz plik konfiguracyjny otrzymamy od dostawcy usługi. Natomiast gdy uruchamiamy serwer OpenVPN, to sami dla siebie jesteśmy dostawcami i sami musimy sobie wygenerować potrzebne certyfikaty.
Jeżeli router, na którym uruchamiasz OpenVPN ma system oparty na Gargoyle, to tworzenie certyfikatów jest bardzo proste i sprowadza się do kilku kliknięć w interfejsie graficznym. Zakładam jednak, że jeżeli czytasz ten tekst to masz router z oprogramowaniem OpenWT / LuCi i musisz wygenerować potrzebne certyfikaty "ręcznie", to jest w trybie tekstowym.
Dla wszystkich, którzy czują się nieswojo w trybie tekstowym przygotowałem ten materiał, bogato ilustrowany zrzutami ekranu. W gruncie rzeczy jest to jednak powtórzenie kroków opisanych przez Cezarego w jego obszernym tutorialu.
Uwaga !!!: W OpenWRT 19.07 zastosowano nową wersję easy-rsa (wersja 3.x) Opisana tutaj procedura tworzenia certyfikatów różni się od tej, wymaganej dla easy-rsa w wersji 2.x
Tworzenie certyfikatów
1. Logujesz się do routera przez SSH / putty
2. Sprawdzasz, gdzie znajduje się pakiet openvpn-easy-rsa służący do tworzenia certyfikatów. W terminalu wydajesz polecenie:
opkg files openvpn-easy-rsa

3. Jak widać na obrazku poniżej, większość plików znajduje się w katalogu /etc/easy-rsa.

4. Musisz przenieść się do tego katalogu za pomocą polecenia: cd /etc/easy-rsa
Następnie resetujesz ustawienia easy-rsa poleceniem easyrsa init-pki. Krok ten zwykle wykonuje się tylko raz – podczas pierwszego uruchomienia pakietu. Ponowne wykonanie tego polecenia spowoduje skasowanie bazy dotychczas wystawionych certyfikatów.

5. Program wyświetla ostrzeżenie o tym, że wszystkie dotychczas wygenerowane certyfikaty zostaną usunięte. Aby zatwierdzić piszesz yes

6. Program wyświetla informację, że nowo utworzone klucze będą zapisywane w katalogu /etc/easy-rsa/pki

7. Teraz musisz wygenerować plik Diffie-Hellman (z grubsza biorąc, jest to plik służacy do uzgadniania kluczy szyfrjących między serwerem a klientem). Domyślna długość klucza, tj. 2048 bitów była uznawana za bardzo dobrą kilka lat temu. Obecnie uznawana jest za wystarczającą, jednak w perspektywie kilku kolejnych lat trzeba będzie zwiększyć długość do 4096 bitów.
Plik tworzy się wydając polecenie easyrsa gen-dh

8. Teraz możesz iść na kawę. Tworzenie pliku może trwać od 20 minut do godziny. W tym czasie na ekranie wyświetlają się kropki, a czasami plusiki. To normalne. Gdyby program się zawiesił, to by ich nie wyświetlał.

9. Po wielu, wielu minutach . . .wyświetla się komunikat o utworzeniu pliku

10. Teraz generujesz certyfikat CA (to taki certyfikat główny)
Wydajesz polecenie easyrsa build-ca nopass

11. System zgłasza błąd "Can't load /etc/easy-rsa/pki/.rnd" ale rusza dalej. Według informacji z internetu błąd jest nieszkodliwy i zostanie naprawiony w kolejnych wydaniach easy-rsa.

12. Należy jeszcze wypełnić pole Common Name

13. Wpisałem sobie lukasz-ca ty możesz go nazwać jakc hcesz, np. moje-ca

14. Gotowy certyfikat CA znajduje się w /etc/easy-rsa/pki/ca.crt

15. W kolejnym etapie należy utworzyć certyfikat dla serwera.
Wydajesz polecenie easyrsa build-server-full serwer nopass
Opcja nopass oznacza, że certyfikat nie będzie zabezpieczany dodatkowym hasłem

16. Komunikat o prawidłowym wygenerowaniu certyfikatu serwera.

17. Teraz pora wygenerować certyfikat dla klienta.
Wydajesz polecenie easyrsa build-client-full nazwa_klienta nopass
W załączonym przypadku nazwa klienta to po prostu client1
Opcja nopass oznacza, że certyfikat nie będzie zabezpieczany dodatkowym hasłem

18. Komunikat o prawidłowym wygenerowaniu certyfikatu klienta.

19. Kolejny klient będzie miał nazwę laptop. Brak opcji nopass sprawia, że certyfikat będzie zabezpieczony hasłem

20. System zapyta o hasło do certyfikatu.

21. Komunikat o prawidłowym wygenerowaniu certyfikatu klienta.

22. ANULOWANIE CERTYFIKATU
Jeżeli certyfikat zsotał wystawiony przez pomyłkę, lub utraciliśmy urządzenie (telefon, tablet) z wgranym certyfikatem, to taki certyfikat należy anulować.
Służy do tego polecenie easyrsa revoke nazwa_klienta.
W poniższym przykładzie anulujesz certyfikat klienta lukasz2

23. System poprosi o potwierdzenie anulowania certyfikatu. Potwierdź wpisując yes

24. Certyfikat został anulowany. Teraz trzeba jeszcze zaktualizować listę anulowanych certyfikatów, czyli Certificate Revocation List

25. W tym celu musisz wydać komendę easyrsa gen-crl

26. Lista anulowanych certyfikatów została zaktualizowana. Należy ją jeszcze przegrać do katalogu z plikami serwera OpenVPN - domyślnie jest to /etc/openvpn/

27. Polecenie skopiowania listy: cp /etc/easy-rsa/pki/crl.pem /etc/openvpn/crl.pem

To by było na tyle Dziękuję za przeczytanie i proszę o uwagi