Konfiguracja OpenVPN w OpenSense dla Road Warrior

Z Thomas-Krenn-Wiki
Przejdź do nawigacji Przejdź do wyszukiwania

Firewall open source OPNsense umożliwia konfigurację połączeń VPN (Virtual Private Network) w kilku krokach. W tym przykładzie pokazujemy jak podłączyć komputer kliencki (np. Windows 10, Ubuntu 18.04 lub smartfon z Androidem lub iOS) do sieci firmowej przez internet za pomocą [OpenVPN].

Konfiguracja OpenVPN Road Warrior

Aby skonfigurować połączenia klienckie OpenVPN (konfiguracja Road Warrior), należy wykonać następujące kroki:

  1. Utworzyć Certificate Authority
  2. Utworzyć certyfikat serwera
  3. Utworzyć użytkownika VPN z certyfikatem klienta
  4. Utworzyć serwer OpenVPN
  5. Utworzyć reguły firewalla dla OpenVPN)
  6. Eksportować konfigurację klienta
  7. Skonfigurować klienta (np. Windows 10)

Tworzenie Certificate Authority

Tworzenie Certificate Authority
  1. W menu należy wybrać System -> Trust -> Authorities i kliknąć na Add or import CA.
  2. Tutaj należy wybrać następujące ustawienia:
    • Descriptive name: OpenVPN CA
    • Method: Create an internal Certificate Authority
    • Key length: 4096
    • Digest Algorithm: SHA512
    • Common Name: internal-sslvpn-ca
  3. I kliknąć na Save.

Tworzenie certyfikatu serwera

Tworzenie certyfikatu serwera
  1. W menu należy wybrać System -> Trust -> Certificates i kliknąć na Add or import Certificate.
  2. Tutaj należy wybrać następujące ustawienia:
    • Method: Create an internal Certificate
    • Certificate authority: OpenVPN CA
    • Type: Server Certificate
    • Key length: 4096
    • Digest Algorithm: SHA512
    • Common Name: OpenVPN Server Zertifikat
  3. I kliknąć na Save.

Tworzenie użytkownika VPN z certyfikatem klienta

Tworzenie użytkownika VPN z certyfikatem klienta
  1. W menu należy wybrać System -> Access -> Users i kliknąć na znak plusa.
  2. Tutaj należy wybrać następujące ustawienia:
    • Username: (wprowadzić wybraną nazwę użytkownika)
    • Password: (podać hasło użytkownika)
    • Certificate: zaznaczyć pole wyboru, aby w następnym kroku można było bezpośrednio utworzyć certyfikat dla użytkownika
  3. Kliknąć na Save. Zostanie wyświetlony formularz tworzenia certyfikatu klienta
  4. Tutaj należy wybrać następujące ustawienia:
    • Method: Create an internal Certificate
    • Certificate authority: OpenVPN CA
    • Type: Client Certificate
    • Key length: 4096
    • Digest Algorithm: SHA512
  5. I kliknąć na Save.

Tworzenie serwera OpenVPN

Tworzenie serwera OpenVPN z SSL/TLS i User Auth
  1. W menu należy wybrać VPN -> OpenVPN -> Servers i kliknąć na Add Server.
  2. Tutaj należy wybrać następujące ustawienia:
    • Server Mode: Remote Access (SSL/TLS + User Auth) (W tym przykładzie wykorzystujemy ten tryb, aby osiągnąć najwyższy poziom bezpieczeństwa. Informacje na temat innych opcji znajdują się w rozdziale Tryb serwera OpenVPN)
    • Protocol: UDP
    • Device Mode: tun
    • Interface: WAN
    • Local port: 1194
    • Server Certificate:
    • DH Parameters Length: 4096
    • Encryption algorithm: AES-256-CBC (256-bit)
    • Auth Digest Algorithm: SHA512 (512-bit)
    • IPv4 Tunnel Network: z.B. 10.10.0.0/24
    • IPv4 Local Network: 192.168.1.0/24
    • Compression: Enabled with Adaptive Compression
    • Disable IPv6: (aktywować)

Tworzenie reguł firewalla dla OpenVPN

Tworzenie następujących reguł zapory sieciowej w obszarze "WAN" i w obszarze "OpenVPN".

WAN

W menu należy wybrać Firewall -> Rules -> WAN i zezwolić na przychodzący ruch OpenVPN, tak aby usługa OpenVPN była dostępna z zewnątrz:

OpenVPN

W menu należy wybrać Firewall -> Rules -> OpenVPN i zezwolić na dostęp z sieci OpenVPN do sieci lokalnej:

Eksportowanie konfiguracji klienta

Eksport plików konfiguracyjnych do archiwum

Niezbędna konfiguracja zapory OPNsense została zakończona. Teraz trzeba wyeksportować konfiguracje dla urządzeń klienckich. Menu Client Export można znaleźć jako podmenu "OpenVPN" w lewym drzewie menu.

  • Gdy skonfigurowane jest kilka sieci VPN: należy sprawdzić, czy wybrano właściwą sieć VPN, aby wyeksportować pliki konfiguracyjne danej sieci VPN.
  • Dział Client Export Option:
    • Należy zaznaczyć pole wyboru przy Use a password to protect the pkcs12 file contents or key in Viscosity bundle
    • Dla wyeksportowania pliku z certyfikatem PKCS12 należy wprowadzić bezpieczne hasło.
    • Zwiększa to bezpieczeństwo podczas wymiany pliku z certyfikatem.
  • Dział Client Install Packages:
    • W rozwijanym menu po prawej stronie można wybrać jeden z wielu pakietów konfiguracyjnych dla wybranego użytkownika.
    • Wybór archiwów jest przeznaczony dla desktopowych systemów operacyjnych. Po kliknięciu na odpowiedni wpis na liście automatycznie rozpocznie się pobieranie konfiguracji.
    • Pozycje w dziale "Inline Configuration" dotyczą urządzeń mobilnych. Utworzony zostanie jeden plik *.ovpn z wszystkimi niezbędnymi informacjami i certyfikatami.

Konfiguracja klienta

Informacje na temat konfiguracji poszczególnych klientów VPN można znaleźć w poniższych artykułach:

Tryb serwera OpenVPN

  • Remote Access (SSL/TLS):
    • Używa wyłącznie certyfikatów.
    • Każdy użytkownik ma indywidualną konfigurację klienta z osobistym certyfikatem i kluczem.
    • Przydatne, jeśli użytkownik nie powinien być pytany o nazwę użytkownika/hasło.
    • Ograniczone bezpieczeństwo, gdyż posiadanie certyfikatu i klucza jest wystarczające, bez dodatkowych danych dostępu.
  • Remote Access (User Auth):
    • Używa wyłącznie uwierzytelniania (bez certyfikatów).
    • Przydatne, jeśli użytkownicy nie powinni mieć indywidualnych certyfikatów.
    • Często używane w przypadku uwierzytelniania zdalnego (RADIUS, LDAP).
    • Wszyscy użytkownicy mogą korzystać z tej samej konfiguracji klienta.
    • Ograniczone bezpieczeństwo z powodu korzystania tylko z jednego klucza pre-shared TLS Key i nazwy użytkownika/hasła.
  • Remote Access (SSL/TLS + User Auth) (tryb ten jest stosowany w powyższym przykładzie):
    • Wymaga zarówno certyfikatów, jak i nazwy użytkownika/hasła.
    • Każdy użytkownik ma indywidualną konfigurację klienta z osobistym certyfikatem i kluczem.
    • Podwyższony poziom bezpieczeństwa.

Dodatkowe informacje


Autor: Thomas Niedermeier


Autor: Werner Fischer

Powiązane artykuły

Konfiguracja systemu iOS 11 jako klienta OpenVPN
Konsola w OPNsense
Update OPNsense