OpenVPN: Wstęp i charakterystyka

1/40
Slide 1

Architektura: SSL/TLS VPN

2/40
Slide 2

User Space vs Kernel Space

3/40
Slide 3

Wirtualne interfejsy: TUN vs TAP

4/40
Slide 4

Transport: UDP vs TCP

5/40
Slide 5

Infrastruktura Klucza Publicznego (PKI)

6/40
Slide 6

Narzędzie Easy-RSA

7/40
Slide 7

Dodatkowa ochrona: TLS-Auth / TLS-Crypt

8/40
Slide 8

OpenVPN w RouterOS: Podstawy (1)

9/40

Konfiguracja wymaga wcześniejszego importu certyfikatów do bazy systemowej.

# 1. Definiowanie puli adresowej dla klientów VPN
/ip pool add name=ovpn-pool ranges=10.8.0.10-10.8.0.100

# 2. Konfiguracja profilu PPP (brama lokalna i DNS)
/ppp profile add name=ovpn-profile local-address=10.8.0.1 remote-address=ovpn-pool dns-server=8.8.8.8
Slide 9

OpenVPN w RouterOS: Uruchomienie usługi (2)

10/40

Aktywacja serwera z wyborem bezpiecznych parametrów:

/interface ovpn-server server set
enabled=yes
certificate=Server-Certificate
require-client-certificate=yes
auth=sha256 cipher=aes128,aes256
default-profile=ovpn-profile
netmask=24

Uwaga: W RouterOS v7 zyskujemy wsparcie dla zalecanego protokołu UDP!

Slide 10

Uwierzytelnianie: Baza Secrets

11/40
Slide 11

Struktura pliku .ovpn

12/40
Slide 12

Analiza pliku .ovpn: Sekcja nagłówkowa

13/40
client
dev tun (Tryb L3)
proto udp (Preferowany transport)
remote vpn.firma.pl 1194
resolv-retry infinite
nobind
persist-key
persist-tun
auth-user-pass (Wymóg loginu/hasła)

Komendy te definiują podstawowe zachowanie klienta: adres docelowy, typ tunelu oraz metodę nawiązywania połączenia.

Slide 13

Analiza pliku .ovpn: Szyfrowanie i NCP

14/40
cipher AES-256-GCM
auth SHA256
remote-cert-tls server

NCP (Negotiable Crypto Parameters): Nowoczesne wersje OpenVPN potrafią automatycznie wynegocjować najlepszy dla obu stron algorytm szyfrowania (np. AES-GCM dla wydajności sprzętowej).

Krytyczna zasada: Parametry kryptograficzne muszą być zgodne z możliwościami serwera, w przeciwnym razie połączenie zostanie przerwane.

Slide 14

Certyfikaty wewnątrz pliku (Inline)

15/40

Umieszczenie danych PKI wewnątrz pliku konfiguracyjnego zwiększa wygodę i bezpieczeństwo dystrybucji.

<ca>
-----BEGIN CERTIFICATE-----
(Część publiczna CA w formacie Base64)
-----END CERTIFICATE-----
</ca>
<cert>
(Certyfikat klienta)
</cert>
<key>
(Klucz prywatny klienta - CHRONIĆ!)
</key>
Slide 15

Oprogramowanie klienckie

16/40
Slide 16

Mechanizm Push: Zdalne zarządzanie routingiem

17/40
Slide 17

Pełne tunelowanie (Redirect Gateway)

18/40
Slide 18

Kompresja danych a bezpieczeństwo (VORACLE)

19/40
Slide 19

Zastosowania w środowiskach Cloud

20/40
Slide 20

CCD: Personalizacja konfiguracji klienta

21/40
Slide 21

Skrypty Up/Down – Automatyzacja lokalna

22/40
Slide 22

Integracja z MFA (Multi-Factor Authentication)

23/40
Slide 23

OpenVPN Access Server (Wersja komercyjna)

24/40
Slide 24

Diagnostyka: Błąd "TLS Error"

25/40
Slide 25

Diagnostyka: Pętle routingu (Routing Loop)

26/40
Slide 26

Problemy z czasem systemowym (Clock Skew)

27/40
Slide 27

Analiza logów systemowych

28/40
Slide 28

Charakterystyka wydajnościowa

29/40
Slide 29

Swoistość implementacji w MikroTik

30/40
Slide 30

Krok 1: Budowa własnego CA (Warsztat)

31/40

Użycie Easy-RSA w środowisku Linux/WSL:

git clone https://github.com/OpenVPN/easy-rsa.git
cd easy-rsa/easyrsa3
./easyrsa init-pki
./easyrsa build-ca nopass

Otrzymujemy: ca.crt (certyfikat publiczny) oraz ca.key (klucz główny - tajny).

Slide 31

Krok 2: Certyfikacja Serwera

32/40
./easyrsa build-server-full server1 nopass

Opcja 'nopass' jest powszechnie stosowana dla usług serwerowych, aby umożliwić ich automatyczny start po restarcie jednostki centralnej bez dozoru administratora.

Slide 32

Krok 3: Przygotowanie tożsamości klienta

33/40
./easyrsa build-client-full mobilny_user nopass

Dystrybucja plików (Zasada ograniczonego zaufania):

Slide 33

Fragment pliku server.conf (Linux)

34/40
port 1194
proto udp
dev tun
ca ca.crt
cert server1.crt
key server1.key
dh dh.pem
server 10.8.0.0 255.255.255.0
keepalive 10 120
Slide 34

Firewall i IP Forwarding (Linux)

35/40
Slide 35

Hardening: Uszczelnianie usługi

36/40
Slide 36

OpenVPN vs WireGuard (Perspektywy)

37/40
Slide 37

Podsumowanie części 4

38/40
Slide 38

Zadania do samodzielnej analizy

39/40
Slide 39

Zapowiedź: Część 5 – Routing i topologie

40/40

W kolejnej części zmierzymy się z wyzwaniami dotyczącymi przepływu danych:

Sztuka routingu w tunelach

Slide 40