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_proxyjest 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
- Odtworzyć objaw i zanotować klienta, cel, czas, ścieżkę proxy oraz dotkniętą funkcję.
- Uruchomić
show http_proxyw Device Console i bezpiecznie zachować pełny wynik. - Udokumentować parametr, jego bieżące działanie i dokładne polecenie wycofania.
- Zmienić tylko tę wartość i utworzyć nowe połączenie testowe.
- Osobno sprawdzić Web Proxy i Captive Portal, jeśli parametr dotyczy obu funkcji.
- 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.
| Obszar | Parametr | Udokumentowana wartość |
|---|---|---|
| HTTP | add_via_header | on |
| HTTP | block_proxy_loop | off |
| Ochrona portalu | captive_portal_x_frame_options | on |
| Diagnostyka | core_dump | off |
| Kategoryzacja | disable_tls_url_categories | off |
| Protokół | relay_invalid_http_traffic | off |
| Captive Portal | captive_portal_tlsv1_0 | off |
| Captive Portal | captive_portal_tlsv1_1 | on |
| Web Proxy | proxy_tlsv1_0 | off |
| Web Proxy | proxy_tlsv1_1 | on |
| Szyfr TLS | tlsciphers_server | HIGH:!RC4:!MD5:!aNULL |
| Limit czasu | client_timeout | 60 sekund |
| Limit czasu | connect_timeout | 60 sekund |
| Limit czasu | response_timeout | 60 sekund |
| Limit czasu | tunnel_timeout | 300 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?
Czy wszystkie wartości HTTP Proxy można zresetować przez default?
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ść.