pfSense + openVPN – Zdalny dostęp do biura

Spis treści

Wprowadzenie

W dzisiejszym artykule omówimy, jak bezpiecznie skonfigurować zdalny dostęp do sieci biurowej za pomocą firewalla pfSense oraz oprogramowania OpenVPN. Zdalny dostęp pozwala na korzystanie z zasobów biura przez internet, zabezpieczając transmisję danych za pomocą szyfrowania oraz autoryzacji. Zaprezentujemy krok po kroku konfigurację serwera VPN, tworzenie użytkowników oraz konfigurację klienta VPN.

Środowisko testowe

Do demonstracji używamy środowiska testowego opartego na maszynach wirtualnych:

  • Serwer Debian, pełniący rolę serwera WWW, dostępny pod adresem 192.168.1.105
  • Komputer z systemem Windows w sieci LAN, z adresem 192.168.1.106
  • Firewall pfSense działający jako router i serwer VPN z dwoma interfejsami:
    • LAN (od strony biura) o adresacji 192.168.1.1
    • WAN (symulujący internet) o adresacji 192.168.133.6
  • Sieć LAN: 192.168.1.0/24
  • Symulowany internet: 192.168.133.0/24

Aktualna sytuacja: użytkownik wewnątrz biura ma dostęp do aplikacji, natomiast użytkownik spoza sieci nie ma takiego dostępu.

Różne metody zdalnego dostępu

Istnieją dwa podstawowe podejścia do zdalnego dostępu:

  1. Otwarte przekierowanie portów na routerze (port firward) – jest proste w konfiguracji, ale niesie poważne ryzyko bezpieczeństwa, ponieważ dostęp mają wszyscy z internetu, a przesyłane dane mogą nie być szyfrowane.
  2. Zaawansowany tunel VPN – tworzy szyfrowany tunel od zdalnego komputera do firewalla, dzięki czemu tylko autoryzowani użytkownicy mają dostęp do zasobów, a transmisja jest bezpieczna.

Zalecamy metodę VPN ze względu na lepsze zabezpieczenie dostępu.

Konfiguracja serwera VPN w pfSense

Po zalogowaniu do interfejsu pfSense wybieramy zakładkę VPN i konfigurujemy serwer OpenVPN jako serwer-klient. Możemy korzystać z lokalnej bazy użytkowników lub zewnętrznego serwera autoryzacji (np. RADIUS). Na potrzeby testów wykorzystujemy bazę lokalną.

Kluczowe kroki konfiguracji:

  • Tworzenie centrum certyfikacji (CA) zawierającego informacje o organizacji i lokalizacji.
  • Utowrzenie certyfikatu serwera VPN, podpisanego przez CA.
  • Wybór interfejsu, na którym serwer VPN będzie nasłuchiwał (zwykle WAN).
  • Konfiguracja protokołu (UDP jest zalecany dla lepszej wydajności).
  • Ustawienia związane z kluczami, długością i algorytmem szyfrowania (dłuższe klucze dają większe bezpieczeństwo, ale wymagają więcej zasobów).
  • Definicja zakresu IP dla klientów VPN (np. 10.0.8.0/24) oraz sieci lokalnej, do której będą się mogli łączyć.
  • Określenie topologii sieci (tryb „bridge” lub „routed”) oraz ewentualne przekierowanie całego ruchu klienta przez VPN.
  • Ostateczna konfiguracja reguł firewall pozwalających na ruch na port VPN oraz ruch wewnątrz sieci.

Tworzenie użytkowników VPN

Użytkownicy VPN są tworzeni w panelu zarządzania użytkownikami pfSense. Każdy użytkownik otrzymuje indywidualne hasło oraz certyfikat podpisany przez centralne CA. To zapewnia dwustopniową autoryzację.

Eksport konfiguracji klienta VPN

Konfiguracja klienta VPN jest skomplikowana, ponieważ generowana jest zintegrowana konfiguracja łącząca certyfikaty, klucze i dane serwera. pfSense oferuje pakiet „openvpn-client-export”, który automatyzuje eksport gotowej konfiguracji do różnych platform, takich jak Windows czy Android.

Mamy możliwość pobrania pełnego pliku konfiguracyjnego, który można wykorzystać bezpośrednio w aplikacji OpenVPN jako gotowe rozwiązanie.

Instalacja i łączenie klienta VPN

Po zainstalowaniu aplikacji OpenVPN na komputerze klienta importujemy pobraną konfigurację. Następnie uruchamiamy połączenie, podając nazwę użytkownika i hasło. System operacyjny może zapytać o zgodę na połączenie – należy ją zatwierdzić.

Po pomyślnym połączeniu interfejs sieciowy klienta zostaje skonfigurowany automatycznie, zapewniając dostęp do zasobów sieci wewnętrznej biura, w tym do serwera WWW.

Podsumowanie i wskazówki końcowe

Omówiliśmy, jak skonfigurować bezpieczny zdalny dostęp do sieci biurowej za pomocą pfSense i OpenVPN. Kluczowymi aspektami są:

  • Autoryzacja użytkowników trzyetapowa (hasło + certyfikaty).
  • Szyfrowanie transmisji danych przez tunel VPN.
  • Konfiguracja firewall, zabezpieczająca dostęp.
  • Regularne wykonywanie kopii zapasowych konfiguracji, kluczy i certyfikatów, ponieważ utrata tych danych oznacza konieczność generowania wszystkiego od nowa i ponownej dystrybucji do użytkowników.