network f5 - ghdrako/doc_snipets GitHub Wiki

Profile

   ┌───────────────────┐
   │   Zewnętrzny      │
   │     Klient        │
   │(prezentuje cert.) │
   └────────┬──────────┘
            │ TLS (mTLS)
            │ Client-SSL Profile
            ▼
   ┌───────────────────┐
   │   F5 Big-IP       │
   │ Virtual Server    │
   │                   │
   │ • client-side TLS │
   │   (Client-SSL)    │
   │ • server-side TLS │
   │   (Server-SSL)    │
   └────────┬──────────┘
            │ TLS (mTLS)
            │ Server-SSL Profile
            ▼
   ┌───────────────────┐
   │  Serwer           │
   │ Backendowy        │
   │(weryfikuje cert.) │
   └───────────────────┘

Virtual Server to „punkt wejścia” (adres IP + port), na którym F5 odbiera ruch.

  • Zamiast ustawiać każde zachowanie ręcznie, przypinasz do VS’y profile:
    • Client-SSL do obsługi TLS od klienta
    • HTTP do parsowania i modyfikacji żądań HTTP
    • Persistence do utrzymania stałego backendu

F5 łączy te profile w jeden „łańcuch przetwarzania” i dzięki temu ruch jest: rozszyfrowany, zrozumiany na warstwie aplikacji, zaadresowany według reguł, a później ewentualnie ponownie zaszyfrowany wyjściowo.

Na F5 Big-IP „profile” to po prostu pre-zdefiniowane zestawy ustawień, które określają, jak ruch sieciowy ma być obsługiwany na warstwie L4/L7. Zamiast konfigurować każdą opcję „ręcznie” na Virtual Serverze, przypinasz do niego jeden lub kilka profili – każdy profil dotyczy innego aspektu przetwarzania ruchu:

  1. SSL (Client-SSL / Server-SSL)
  • Client-SSL – profil odpowiedzialny za terminowanie połączenia TLS od klienta. Trzyma certyfikat, klucz, zestaw cipherów, wersje TLS, SNI itp.
  • Server-SSL – profil do szyfrowania połączenia od F5 do backendu (gdy backend wymaga TLS).
  1. HTTP
  • Profil HTTP zarządza analizą i manipulacją nagłówków, utrzymaniem połączeń, kompresją, obsługą cookie-persistencji, przekierowaniami czy regułami iRules.
  1. TCP / FastL4 / FastL7
  • Profil TCP pozwala na niźszo-poziomowe ustawienia timeoutów, window scaling, algorytmy retransmisji.
  • Tryby FastL4/FastL7 dają uproszczone, bardzo wydajne przetwarzanie bez pełnej inspekcji protokołu.
  1. Persistence (Sticky)
  • Profily utrzymywania sesji („stickiness”) – cookie-based, source-address, hash-based itp., aby kolejne żądania klienta trafiały cały czas do tego samego serwera backend.
  1. Cache, Compression
  • Profile do buforowania odpowiedzi od backendu lub kompresji (gzip) dla ruchu HTTP.
  1. Health Monitor
  • Choć formalnie nie są „profilami” w tej samej ścieżce REST, to monitorowanie stanu serwerów działa na podobnej zasadzie – definiujesz regułę (HTTP, TCP, ICMP) i przypisujesz ją do puli.

Zarzadzanie profilami SSL na F5 BigIP

Zadania:

  1. Tworzyć i aktualizować profile SSL (client-ssl)
  • dzięki POST /mgmt/tm/ltm/profile/client-ssl/* mogą dodawać nowe profile SSL, wgrywać lub odnawiać certyfikaty i klucze, ustawiać parametry szyfrowania (cipher suite), SNI, renegocjacje itp.
  • dzięki PATCH /mgmt/tm/ltm/profile/client-ssl/* mogą modyfikować istniejące profile — np. odświeżyć certyfikat, zmienić listę cipherów czy politykę protokołów (TLS1.2 vs TLS1.3).
  1. Odczytywać konfigurację i stan systemu
  • GET /mgmt/tm/ltm/profile/client-ssl/* pozwala im sprawdzić, jakie profile są dostępne i jakie mają parametry.
  • GET /mgmt/tm/sys daje wgląd w podstawowe informacje o systemie (wersja oprogramowania, stan licencji, ogólne ustawienia), co bywa potrzebne do diagnostyki lub planowania zmian.
  1. Przypinać profile SSL do Virtual Serverów
  • POST /mgmt/tm/ltm/virtual/VS-srodowiska/profiles umożliwia dodanie (lub zmianę) profilu SSL na konkretnym Virtual Serverze, czyli wskazanie, który certyfikat/ustawienia mają być użyte przy obsłudze ruchu TLS dla danej usługi.
  1. Zapewniać ciągłość i bezpieczeństwo połączeń TLS
  • Regularna rotacja certyfikatów (np. przed wygaśnięciem), aktualizacja najlepszych praktyk szyfrowania, weryfikacja, że klient-ssl profile odpowiadają polityce bezpieczeństwa organizacji.
  • Szybkie reagowanie na incydenty (np. gdy pojawi się luka w danym algorytmie szyfrowania).
  1. Współpracować z zespołami bezpieczeństwa i operacji
  • Wdrażać wymogi compliance (PCI-DSS, RODO itp.) przez odpowiednie ustawienia cipherów i protokołów.
  • Koordynować wprowadzanie wyjątków (whitelisty) lub całkowite blokowanie niebezpiecznych konfiguracji.

Jak to działa w praktyce?

  1. Nowy certyfikat
  • Techniczny użytkownik (lub skrypt) robi POST /mgmt/tm/ltm/profile/client-ssl/ z payloadem zawierającym nowy certyfikat i prywatny klucz.
  • Następnie PATCH istniejącego profilu, by odnieść się do nowego certyfikatu.
  • Przypięcie profilu do VS
  • Wywołanie POST /mgmt/tm/ltm/virtual/VS-srodowiska/profiles z JSON-em, który mówi „dodaj ten profil SSL do tej usługi”. Dzięki temu ruch TLS jest terminowany z użyciem właściwego certyfikatu.
  1. Sprawdzenie stanu
  • Przed wdrożeniem zmiany robią GET /mgmt/tm/ltm/profile/client-ssl/ żeby upewnić się, że profil istnieje i ma poprawną konfigurację.
  • W razie problemów z handshake’em lub certyfikatami: GET /mgmt/tm/sys + logi systemowe.

Dzięki tym uprawnieniom użytkownicy techniczni mogą w pełni zarządzać cyklem życia SSL na F5 Big-IP, zapewniając, że wszystkie usługi korzystają ze świeżych, bezpiecznych certyfikatów i zgodnych z polityką szyfrowania.