Przejdz do tresci
Avanet

Bezpieczne sprawdzanie ustawień HTTP Proxy Sophos Firewall

Ustawienia HTTP Proxy w Sophos Firewall sterują globalnymi właściwościami Web Proxy oraz częściowo Captive Portal. Obejmują minimalne wersje TLS, limity czasu, nagłówki Via, ochronę przed pętlami proxy i kategoryzację adresów URL podczas uzgadniania TLS. Zmiana może więc jednocześnie wpłynąć na wiele reguł, grup użytkowników i sieci klientów.

Bezpiecznym punktem wyjścia jest polecenie tylko do odczytu show http_proxy w Device Console. Dopiero gdy odtwarzalny problem wskazuje jeden konkretny parametr, set http_proxy powinno zmienić pojedyncze ustawienie. Przed zmianą należy zapisać bieżącą wartość, ukierunkowany test pozytywny i negatywny oraz polecenie wycofania.

⚠️ Wynik show http_proxy jest stanem bazowym, a nie listą optymalizacji. Nie należy zapobiegawczo włączać przestarzałych wersji TLS, wyłączać kategoryzacji URL ani przekazywać ruchu innego niż HTTP. Domyślna wartość opisana przez Sophos nie jest automatycznie zaleceniem dla nowego projektu zabezpieczeń.

Konfiguracja Direct Web Proxy z plikiem PAC opisuje listener, Device Access, regułę zapory i plik PAC. Ten artykuł dotyczy wyłącznie globalnych parametrów CLI stojących za tą konfiguracją.

Krótka bezpieczna procedura

  1. Odtworzyć objaw i zanotować klienta, cel, czas, ścieżkę proxy oraz dotkniętą funkcję.
  2. Uruchomić show http_proxy w Device Console i bezpiecznie zachować pełny wynik.
  3. Udokumentować parametr, jego bieżące działanie i dokładne polecenie wycofania.
  4. Zmienić tylko tę wartość i utworzyć nowe połączenie testowe.
  5. Osobno sprawdzić Web Proxy i Captive Portal, jeśli parametr dotyczy obu funkcji.
  6. Natychmiast przywrócić zapisaną wartość, jeśli brak oczekiwanego efektu lub pojawi się skutek uboczny.

Po zabezpieczonym logowaniu SSH należy wybrać 4. Device Console. Rozwiązywanie problemów z CLI Sophos Firewall wyjaśnia weryfikację klucza hosta, Device Access i różnicę między Device Console a Advanced Shell.

show http_proxy

Prawidłowy odczyt udokumentowanych wartości

Sophos dokumentuje dla SFOS 22 następujący wynik domyślny. Wartość rzeczywiście wyświetlana przez własną zaporę pozostaje wiążącym stanem bazowym dla zmiany i wycofania.

ObszarParametrUdokumentowana wartość
HTTPadd_via_headeron
HTTPblock_proxy_loopoff
Ochrona portalucaptive_portal_x_frame_optionson
Diagnostykacore_dumpoff
Kategoryzacjadisable_tls_url_categoriesoff
Protokółrelay_invalid_http_trafficoff
Captive Portalcaptive_portal_tlsv1_0off
Captive Portalcaptive_portal_tlsv1_1on
Web Proxyproxy_tlsv1_0off
Web Proxyproxy_tlsv1_1on
Szyfr TLStlsciphers_serverHIGH:!RC4:!MD5:!aNULL
Limit czasuclient_timeout60 sekund
Limit czasuconnect_timeout60 sekund
Limit czasuresponse_timeout60 sekund
Limit czasutunnel_timeout300 sekund

Zaskakująco włączone wartości TLS 1.1 nie są powodem, aby zezwalać na TLS 1.1 w nowym projekcie. Sophos określa TLS 1.0 i TLS 1.1 jako niebezpieczne i ich nie zaleca. Liczą się rzeczywisty stan, potwierdzona zależność starszego systemu i kontrolowany test odpowiedniego portalu lub celu proxy.

Nagłówki Via i pętle proxy

Przy add_via_header on proxy dodaje nagłówek HTTP Via. Uwidacznia on pośredników, przekazuje informacje o protokole i pomaga wykrywać pętle. Jest to udokumentowana wartość domyślna.

block_proxy_loop on odrzuca żądania, gdy zduplikowane wartości Via wskazują pętlę. Sophos dokumentuje tę ochronę domyślnie jako off. Pętla może powstać, gdy upstream proxy przez DNS, PAC lub routing odeśle żądanie do tej samej Sophos Firewall.

Przed zmianą należy sprawdzić plik PAC, Upstream Proxy, rozwiązywanie DNS i rzeczywistą ścieżkę powrotną. Przełącznik nie zastępuje naprawy tej ścieżki.

set http_proxy block_proxy_loop on

Do ograniczonego czasowo śledzenia Sophos wymaga także debugowania usługi awarrenhttp. W awarrenhttp.log może się wtedy pojawić Duplicate Via header values, proxy loop. Debugowanie jest domyślnie wyłączone i może wpływać na wydajność, miejsce oraz prywatność. Należy je włączyć tylko na czas odtwarzalnego testu, a następnie wyłączyć. Usługi i pliki dziennika Sophos Firewall opisują bezpieczną analizę.

TLS dla Web Proxy i Captive Portal

Oddzielne traktowanie wersji minimalnych

Device Console może oddzielnie sterować TLS 1.0 i TLS 1.1 dla Web Proxy i Captive Portal. Ukierunkowany test zgodności ze starszym klientem nie rozluźnia więc automatycznie obu funkcji. WebAdmin pokazuje później tylko minimalną wersję proxy, a Sophos ostrzega o różnych wartościach.

Cztery przełączniki to:

set http_proxy captive_portal_tlsv1_0 off
set http_proxy captive_portal_tlsv1_1 off
set http_proxy proxy_tlsv1_0 off
set http_proxy proxy_tlsv1_1 off

Polecenia pokazują bezpieczny stan docelowy dla środowisk bez zależności od starszych klientów, a nie ogólną instrukcję migracji. Przed wyłączeniem wersji należy zinwentaryzować rzeczywiste logowania do portalu, klientów Direct Proxy, odszyfrowywane cele HTTPS i zarządzane starsze aplikacje. Każdą funkcję należy sprawdzić nowym uzgadnianiem klienta. Przy większej zmianie warto zastosować etapowe wdrażanie TLS Inspection.

Jeśli stary klient rzeczywiście obsługuje tylko TLS 1.0 lub TLS 1.1, nie należy bez analizy ponownie włączać wersji globalnie. Najpierw trzeba sprawdzić aktualizację, wymianę lub wąsko oddzieloną ścieżkę. Nieunikniony wyjątek tymczasowy wymaga właściciela, daty wygaśnięcia, udokumentowanego ryzyka i testu dowodzącego, która funkcja go potrzebuje.

X-Frame-Options chroni portal

captive_portal_x_frame_options on chroni Captive Portal przed osadzeniem w obcej ramce, a więc przed clickjackingiem. Ta udokumentowana wartość powinna pozostać aktywna. Wyłączenie jest zasadne tylko dla potwierdzonej i kontrolowanej potrzeby osadzenia po oddzielnej ocenie ryzyka.

Konfiguracja i testowanie Captive Portal opisuje kompletny projekt z Device Access, regułą użytkownika, certyfikatem i wylogowaniem.

Ciąg szyfrów dotyczy obu funkcji

tlsciphers_server wspólnie ustawia szyfry oferowane przez Web Proxy i Captive Portal. Pozorna korekta proxy może więc zmienić portal i odwrotnie. Sophos dokumentuje tę wartość:

HIGH:!RC4:!MD5:!aNULL

Nie należy kopiować ciągu z bloga lub innej platformy. Obsługiwane szyfry zależą od wersji SFOS, wersji TLS, klienta i serwera. Przed zmianą trzeba określić bieżący wynik, oczekiwane dopasowanie i testy obu funkcji. Przy błędzie połączenia należy najpierw oddzielnie sprawdzić wersję TLS, łańcuch certyfikatów, politykę deszyfrowania i zaufanie klienta.

Cztery limity czasu o różnym działaniu

Według Sophos wszystkie cztery przyjmują od 1 do 2147483647 sekund lub default. Technicznie dozwolona wartość skrajna nie musi mieć sensu operacyjnego.

client_timeout dotyczy zestawionych klientów proxy. connect_timeout ogranicza próbę połączenia. response_timeout określa czas oczekiwania proxy na odpowiedź z nowego połączenia. tunnel_timeout obowiązuje podczas zestawiania tunelu HTTPS i ma udokumentowaną wartość 300 sekund, podczas gdy pozostałe trzy mają 60 sekund.

set http_proxy client_timeout 60
set http_proxy connect_timeout 60
set http_proxy response_timeout 60
set http_proxy tunnel_timeout 300

Są to udokumentowane wartości domyślne, nie automatyczna naprawa. Najpierw trzeba ustalić fazę przerwania oraz czy krótszy limit ustawia klient, serwer docelowy, upstream proxy, ścieżka WAN lub aplikacja. Zwiększenie pomaga tylko wtedy, gdy połączenie rzeczywiście zamyka wartość Sophos. Podczas testu należy obserwować otwarte połączenia i zasoby.

Przy wycofaniu trzeba jawnie przywrócić wartość odczytaną wcześniej przez show http_proxy. default służy tylko do świadomego powrotu do wartości dokumentowanej, a nie wtedy, gdy poprzednia wartość jest nieznana.

Nie wyłączać bez analizy kategoryzacji TLS

disable_tls_url_categories on wyłącza wyszukiwanie kategorii dla reguł SSL/TLS Inspection. Podczas uzgadniania TLS ruch jest wtedy nieskategoryzowany. Na tym etapie mogą pasować tylko reguły SSL/TLS Inspection z Categories and websites: Any. Web Policy może również podjąć inną decyzję.

Ustawienie nie zmienia kategoryzacji zwykłych żądań HTTP ani późniejszej kategoryzacji odszyfrowanej treści HTTPS. Strona może więc się załadować, choć wybór reguły i ochrona już się zmieniły.

Przed użyciem należy przejrzeć reguły SSL/TLS Inspection, warunki kategorii, dopasowania witryn i wymagane traktowanie nieskategoryzowanego ruchu. Następnie sprawdzić, czy dozwolony, zablokowany i niemożliwy do skategoryzowania cel trafia w oczekiwane reguły. Web Protection w Sophos Firewall wyjaśnia współdziałanie kategorii i akcji.

Nie wymuszać ruchu innego niż HTTP przez proxy

relay_invalid_http_traffic on przekazuje ruch inny niż HTTP wysłany przez porty zwykle używane dla HTTP i HTTPS, czyli 80 i 443. Może pozornie naprawić jeden starszy protokół, ale poszerza ścieżkę proxy i utrudnia ocenę bezpieczeństwa.

Sophos zaleca zamiast tego bypass proxy dla konkretnej aplikacji. Należy ograniczyć go możliwie dokładnie według źródła, celu i usługi, a następnie zabezpieczyć zwykłą regułą zapory i w razie potrzeby SSL/TLS Inspection. Globalny przełącznik zwykle pozostaje off.

Core dump i debugowanie tylko do diagnostyki

core_dump on tworzy core dump po awarii procesu proxy. Może pomóc Sophos Support w badaniu odtwarzalnej awarii, lecz nie jest Health Checkiem ani opcją wydajności. Plik może zawierać wrażliwe dane procesu i zajmować miejsce.

Funkcji należy używać tylko w określonym oknie wsparcia lub diagnostyki. Najpierw trzeba sprawdzić wolne miejsce, kroki odtwarzania i bezpieczny kanał przekazania. Po teście należy przywrócić poprzednią wartość i postąpić z plikami według instrukcji supportu.

Walidacja i wycofanie zmiany

Przed i po zmianie należy użyć tego samego źródła, celu oraz nowego połączenia. Dla globalnej zmiany TLS lub szyfrów trzeba sprawdzić co najmniej jedno żądanie Direct Proxy i jedno logowanie Captive Portal. Dla limitu czasu należy zweryfikować fazę, dla pętli dokładny komunikat, a dla kategoryzacji rzeczywiście wybraną regułę SSL/TLS Inspection.

W Log Viewer należy zapisać czas, klienta, Web Policy i Rule ID. Jeśli wybór reguły nadal jest niejasny, Prawidłowe testowanie reguły Sophos Firewall łączy Policy Test, Log Viewer i Packet Capture.

Wycofanie używa zapisanej wcześniej wartości:

set http_proxy <parameter> <previous-value>
show http_proxy

Następnie trzeba utworzyć nowy przepływ testowy. Powrót starej wartości w show http_proxy potwierdza tylko konfigurację; rzeczywisty test proxy lub portalu potwierdza działanie.

Lista kontrolna eksploatacji

  • Pełny wynik show http_proxy, build SFOS, czas i osoba odpowiedzialna zapisane.
  • Dotknięta funkcja i dokładnie jeden parametr wyizolowane.
  • Wpływ na Web Proxy, Captive Portal, TLS Inspection i Web Policy oceniony.
  • Poprzednia wartość przygotowana jako wykonywalne polecenie wycofania.
  • Test pozytywny, negatywny i niezależny test kontrolny zdefiniowane.
  • Debugowanie i core dump używane tylko przez ograniczony czas.
  • Nowe połączenie sprawdzone po zmianie i po wycofaniu.
  • Tymczasowy wyjątek legacy ma właściciela i datę wygaśnięcia.

FAQ

Czy wyłączyć TLS 1.1, mimo że Sophos dokumentuje go jako domyślnie aktywny?

TLS 1.1 nie jest zalecany w nowym projekcie. Przed wyłączeniem trzeba jednak sprawdzić rzeczywistych klientów Captive Portal i proxy, ponieważ obie funkcje mają osobne przełączniki CLI. Udokumentowana wartość nie zastępuje oceny ryzyka ani testu zgodności.

Czy wszystkie wartości HTTP Proxy można zresetować przez default?

Kilka limitów czasu przyjmuje default, ale ogólny reset nie jest bezpiecznym wycofaniem. Wiążący jest zapisany wynik show http_proxy; dla każdego zmienionego parametru należy przywrócić rzeczywistą wcześniejszą wartość.