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:
- 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).
- HTTP
- Profil HTTP zarządza analizą i manipulacją nagłówków, utrzymaniem połączeń, kompresją, obsługą cookie-persistencji, przekierowaniami czy regułami iRules.
- 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.
- 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.
- Cache, Compression
- Profile do buforowania odpowiedzi od backendu lub kompresji (gzip) dla ruchu HTTP.
- 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:
- 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).
- 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.
- 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.
- 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).
- 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?
- 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.
- 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.