Konfiguracja OpenVPN przy pomocy Mikrotika
Wstęp
OpenVPN to popularne rozwiązanie służące do tworzenia bardzo bezpiecznych połączeń VPN. Wszystko jest oparte na otwartym kodzie źródłowym, co oznacza, że jego kod jest dostępny publicznie i może być sprawdzany i modyfikowany przez społeczność. Główną zaletą OpenVPN jest wysoki poziom bezpieczeństwa i prosty sposób konfiguracji. Działa na zasadzie klient – serwer. OpenVPN występuje na Windows, macOS, Linux, Android, iOS. W celu skorzystania należy zainstalować odpowiedni klient VPN i połączyć się z serwerem. Dzięki OpenVPN i MikroTik można tworzyć bezpieczne połączenia VPN, które umożliwiają zdalny dostęp do sieci firmowej, łączenie oddzielnych lokalizacji sieciowych oraz ochronę prywatności.
Materiał w formie video obejrzysz tutaj 🙂
Generowanie certyfikatu CA
Konfigurację OpenVPN należy rozpocząć od wygenerowania certyfikatów. W pierwszej kolejności musimy wygenerować certyfikat CA, którym będziemy mogli podpisywać kolejne certyfikaty. Certyfikat CA to certyfikat, który posiada własny podpis.
Wygenerowanie certyfikatu CA jest bardzo proste, wystarczy w menu klikniemy w System, a następnie w Certificates.
W zakładce General.

Certyfikat CA – OpenVPN
- Name: wpisujemy dowolną nazwę, polecam dla porządku wpisać np. CA-netadminpro
- Common Name: wpisujemy domenę lub zewnętrzny adres
- Country, State, Locality, Organizatio, Unit: jest opcjonalne, ale warto jest uzupełnić
- Key Size: wybieramy tutaj długość klucza
- Days Valid: Jak długo nasz certyfikat będzie ważny? Domyślnie jest to 365 dni
Następnie w zakładce Key Usage, zaznaczamy:

- crt sign
- key cert. sign
Generowanie certyfikatu dla serwera
Podobnie jak wcześniej, w przypadku generowania certyfikatu dla serwera zakładkę General wypełniamy podobnie.

Zakładka Key Usage:

Zaznaczamy:
- digital signature
- key enciphement
- data enciphement
- tls server
Generowanie certyfikatu dla klienta
Ostatni certyfikat jaki jest nam potrzebny to certyfikat dla naszego klienta.

Zakładka Key Usage

Zaznaczamy:
- tls client
Jak podpisać certyfikat
Jeżeli posiadamy wszystkie wymagane certyfikaty, czas aby je podpisać. Podpisywanie certyfikatów jest stosunkowo bardzo proste. Zaczynamy od podpisania naszego głównego certyfikatu.
Przechodzimy do certyfikatu, w naszym przypadku będzie to certyfikat CA, klikamy prawym przyciskiem na nasz ceryfikat i musimy wybrać SIGN.

Następnie pojawi nam się okienko, na którym wystarczy, że klikniemy Start. Proces podpisywania trwa od kilku do kilkunastu sekund.
Kiedy nasz certyfikat zostanie podpisany, musimy podpisać nasz certyfikat dla serwera oraz klienta. Przechodzimy do naszego certyfikatu serwera i podobnie jak poprzednio, klikamy prawym przyciskiem i wybieramy opcję SIGN.
W tym przypadku w polu wyboru CA wskazujemy nasz główny certyfikat, a w polu Certificate wskazujemy na certyfikat, który chcemy podpisać.

Certyfikat dla klienta konfigurujemy bardzo podobnie. Z tą różnicą że wybieramy zamiast Serwer to User.
Kiedy nasze certyfikaty zostaną podpisane, musimy jeszcze raz wejść do certyfikatu serwera oraz klienta i zaznaczyć opcję Trusted. Certyfikat CA jest z automatu certyfikatem zaufanym, więc tam nic nie musimy robić.
OpenVPN konfiguracja
Cała konfigurację zaczynamy od ustalenia zakresu adresów IP. Przechodzimy do IP, a następnie do IP Pools.

- Name: wpisujemy nazwę naszego zakresu
- Address: podajemy zakres adresu IP
Przechodzimy do konfiguracji profilu dla naszego VPN-a. Klikamy w menu na PPP następnie zakładka Profiles. Klikamy w przycisk plusika.

- Name: nazwa naszego profilu
- Local Address: podajemy adres lokalny z naszego VPN
- Remote Address: wskazujemy naszego Pool-a
Teraz przejdźmy do zakładki Secret, w której ustawimy login oraz hasło.

- Name: nasz login
- Password: nasze hasło
- Service: chcemy aby dotyczyło to naszego VPN więc wybierzmy OVPN.
- Profile: tutaj wskazujemy na nasz profil dla naszego VPN, który przed chwileczką stworzyliśmy.
Serwer OpenVPN
Przechodzimy do zakładki Inteface i klikamy w przycisk OVPN Server. Musimy dokonać pewnej korekty ustawień domyślnych.

- Default Profile: tutaj ustawiamy nasz profil
- Certificate: Wskazujemy na certyfikat Serwer, który wcześniej stworzyliśmy i podpisaliśmy.
Auth i Cipher w domyślnej konfiguracji jest dobrze skonfigurowany, ale możemy go ograniczyć.

- Auth: sha1
- Cipher: aes 256 cbc
Tak skonfiurowany OpenVPN wraz z Certyfikatami jest gotowy do uruchomienia. Na samym końcu pozostało nam wyciągnąć tylko nasze podpisane certyfikaty dla klienta. Proces exportowania certyfikatów jest bardzo prosty. Wystarczy, że wejdziemy w nasze certyfikaty i klikniemy prawym przyciskiem myszy na certyfikat.

Kliknięcie w Export spowoduje, że nasz certyfikat będzie dostępny w zakładce Files. Uwaga! Potrzebujemy tylko dwóch certyfikatów CA oraz Klient. W przypadku Klienta należy podać hasło składające się minimum z 8 znaków.

Teraz wystarczy przejść do zakładki Files i pobrać nasze certyfikaty.
Dodatkowo musimy również zrobić Export ustawień naszego Serwera VPN. W tym celu wracamy do zakładki PPP, klikamy na OVPN Serwer i po prawej stronie będziemy mieć możliwość wyeksportowania pliku .ovpn

Kliknięcie Export .ovpn wygeneruje nam plik, który będzie znajdować się w Files

Jedyne co do nas należy, to wybranie głównego certyfikatu oraz certyfikatu klienta oraz klucza.
Uwaga! Klucz klienta .key wygeneruję się tylko wtedy, kiedy klikniemy na certyfikacie export i następnie wpiszemy hasło. Jeżeli pominiemy krok i nie pominiemy hasła to nasz plik .key się nie wygeneruje i czynność trzeba będzie powtórzyć. Nim przejdziemy do samego klienta OpenVPN warto edytować plik .ovpn i na końcu linii dopisać cert user.crt oraz key user.key.

Taki wpis rozwiąże nam sprawę z konfiguracją i wskazywaniem ręcznym certyfikatów.

Oczywiście wszystkie certyfikaty muszą być w jednym katalogu razem z konfiguracją w lokalizacj,i w której zainstalowany jest program.
Klient OpenVPN
Jeżeli wszystko mamy poprawnie skonfigurowane, wszystkie potrzebne pliki oraz certyfikaty wygenerowane, podpisane oraz pobrane czas aby przejść do klienta OpenVPN.
Cała konfiguracja sprowadza się do uruchomienia naszego pliku .ovpn, a następnie potwierdzenia czy zgadzamy się na import profilu OpenVPN.

Jeżeli się zgodzimy naszym oczom ukaże się okienko.

Naszym zadaniem jest wpisanie nazwy użytkownika, hasła oraz hasła do klucza.
Jeżeli wszystko zrobiliśmy poprawnie i klikniemy w przycisk connect naszym oczom ukaże się okienko, które będzie nas informować że się połączyliśmy.

OpenVPN jest jednym z najpopularniejszych narzędzi VPN ze względu na swoje zalety i możliwości. Dzięki wysokiemu poziomowi bezpieczeństwa, elastyczności konfiguracji i wsparciu dla wielu platform, OpenVPN jest często wybierany zarówno przez użytkowników indywidualnych, jak i firmy do zapewnienia bezpiecznego i prywatnego dostępu do sieci.
Podsumowanie
OpenVPN może działać na standardowych portach, takich jak TCP port 443, który jest szeroko używany do przeglądania stron internetowych. Dzięki temu OpenVPN jest często w stanie przejść przez firewalle i filtry sieciowe, co umożliwia jego skuteczne działanie nawet w miejscach, gdzie inne protokoły VPN mogą być blokowane.
Pamiętaj że OpenVPN jest rozwijane przez rozbudowaną społeczność programistyczną, co oznacza, że istnieje wiele zasobów, takich jak fora dyskusyjne, dokumentacje i poradniki, które mogą pomóc w rozwiązaniu problemów i uzyskaniu wsparcia w przypadku potrzeby.
Pamiętaj również że bardzo ważne jest zachowanie ostrożności podczas zarządzania certyfikatami OpenVPN, ponieważ klucze i certyfikaty mają duże znaczenie dla bezpieczeństwa połączeń VPN. Powinny być przechowywane w bezpiecznym miejscu i dostępne tylko dla uprawnionych osób.
Ciekawostka! Nic nie stoi na przeszkodzie aby nasz port dodatkowo ukryć za pomocą metody PORT KNOCKING
Jeżeli jesteś ciekawy jak wygląda konfiguracja OpenVPN-a od zera do bohatera, to zapraszam Cię do obejrzenia tego materiału, który znajduje się TUTAJ.

Jak stworzyć server OVPN ale z urzyciem tylko certyfikatów i .key mam klienta który nie ma możliwości wpisania hasła i usera.
Tutaj jest więcej na temat generowania certyfikatu dla klienta:
https://netadminpro.pl/20t26-konfiguracja-klienta-openvpn-w-7-min/
Tutaj masz więcej na temat konfiguracji CA:
https://netadminpro.pl/21t40-uniewaznianie-certyfikatow-openvpn-konfiguracja/
A tutaj na temat utwardzania konfiguracji:
https://netadminpro.pl/20t30-openvpn-utwardzanie-konfiguracji/
Jeżeli będziesz potrzebował pomocy w tej konfiguracji to napisz do nas ze szczegółami w wiadomości prywatnej to będziemy mogli bardziej konkretnie odpowiedzieć.