Przejdz do tresci
Avanet

Bezpieczne zarządzanie System Modules w Sophos Firewall

Sophos Firewall wykorzystuje System Modules jako helpery protokołów dla ruchu, w którym firewall musi śledzić dodatkowe informacje lub uwzględniać połączenia dynamiczne. SFOS 22 wymienia dns, h323, irc, pptp, sip i tftp. Moduły te są domyślnie załadowane.

Załadowany moduł nie jest regułą firewalla ani zaleceniem używania danego protokołu. Nie zastępuje właściwej reguły NAT, trasy ani polityki bezpieczeństwa. Wyłączanie wszystkich pozornie nieużywanych helperów również nie jest rozsądnym utwardzeniem. Ustawienie działa globalnie i może nieoczekiwanie wpłynąć na istniejące aplikacje.

⚠️ Zasada operacyjna: Najpierw należy zapisać stan i konkretny wadliwy przepływ. Następnie zmienić najwyżej jeden moduł, powtórzyć ten sam przepływ i przywrócić stan początkowy, jeżeli nie nastąpi poprawa.

Prawidłowa klasyfikacja sześciu modułów

ModułFunkcja według SFOS 22Ważne ograniczenie
dnsUczy się subdomen z nielokalnego ruchu DNS.Nie zastępuje resolvera, polityki DNS ani testów rozwiązywania nazw.
h323Obsługuje komunikację audio, wideo i danych opartą na H.323.Zmiana może wpłynąć na wszystkie połączenia H.323, nie tylko na jedną centralę PBX lub regułę.
ircObsługuje ruch IRC w modelu klient-serwer.Sophos ostrzega przed ryzykiem DoS i spadkiem wydajności w otwartych sieciach IRC.
pptpObsługuje ścieżkę danych połączeń PPTP.Załadowanie helpera nie tworzy tunelu VPN ani nie ocenia, czy PPTP pasuje do obecnego modelu bezpieczeństwa.
sipRozpoznaje sygnalizację SIP i może obsługiwać dynamiczne połączenia multimedialne.SIP ALG może pomagać lub przeszkadzać zależnie od PBX, SBC, NAT, TLS i operatora.
tftpObsługuje TFTP przez UDP.TFTP nie ma własnych funkcji bezpieczeństwa; helper nie zapewnia poufności ani uwierzytelnienia.

W przypadku sip i h323 helper jest często zbyt szybko uznawany za przyczynę lub rozwiązanie. Pełny proces obejmujący NAT, RTP, timeouty, niestandardowy port SIP, Packet Capture i rzeczywiste połączenia testowe opisano w Rozwiązywanie problemów VoIP z SIP i RTP.

Zapis stanu bazowego w Device Console

Polecenia wykonuje się w 4. Device Console, a nie w Advanced Shell. Przed zmianą należy odczytać stan globalny:

system system_modules show

Należy zachować pełne wyjście, nawet jeśli badany jest tylko jeden moduł. Pozwala to wykryć, czy migrowany lub wcześniej zmieniany system odbiega od ustawienia domyślnego. loaded potwierdza jedynie stan modułu, nie dowodzi, że helper obsługuje dany przepływ lub powoduje jego błąd.

Trzeba również zapisać źródłowy i docelowy adres IP, port, protokół, Rule ID, NAT ID, czas oraz dokładny test aplikacji. Bez odtwarzalnego przepływu nie da się wiarygodnie ocenić zmiany globalnej. Log Viewer, Policy Test i Packet Capture nadają się do weryfikacji technicznej.

Ładowanie lub wyłączanie dokładnie jednego modułu

Podstawowe polecenia mają ten sam wzorzec. Tabela jest referencją, a nie blokiem do wykonania w całości.

ModułWyłączenieZaładowanie
DNSsystem system_modules dns unloadsystem system_modules dns load
H.323system system_modules h323 unloadsystem system_modules h323 load
IRCsystem system_modules irc unloadsystem system_modules irc load
PPTPsystem system_modules pptp unloadsystem system_modules pptp load
SIPsystem system_modules sip unloadsystem system_modules sip load
TFTPsystem system_modules tftp unloadsystem system_modules tftp load

Przed wykonaniem należy sprawdzić składnię zainstalowanego buildu za pomocą ?. Po dokładnie jednej zmianie ponownie uruchomić system system_modules show, a następnie powtórzyć wcześniej zapisany przepływ. Równoległe zmiany NAT, reguł, routingu, timeoutów lub PBX utrudniają przypisanie wyniku i powinny być unikane.

Sophos wyraźnie dokumentuje, że SIP load i unload zachowują stan po restarcie. Strona SFOS 22 nie podaje równie dokładnej informacji o trwałości pozostałych modułów. Po planowanym restarcie należy ponownie odczytać ich stan zamiast zakładać trwałość.

Nie wyprowadzać portów niestandardowych z niepełnej skróconej składni

Strona wymienia dla IRC, SIP i TFTP dodatkowe terminy, takie jak port, portname, default lub show, ale nie wyjaśnia w pełni ich dokładnej formy. Nie należy zgadywać tych wartości. Device Console pokazuje składnię zainstalowanego buildu po użyciu ?.

Dla SIP Sophos publikuje osobno dokładne polecenie system system_modules sip load ports <custom_port>. Decyzja ta należy do analizy VoIP, a nie do ogólnego testu helpera. Placeholder należy zastąpić portem sygnalizacyjnym faktycznie używanym przez operatora lub PBX.

Weryfikacja działania i drogi powrotnej

Rzetelny test obejmuje więcej niż wyjście CLI. Po załadowaniu lub wyłączeniu należy sprawdzić zestawienie konkretnego połączenia, ruch w obu kierunkach, Rule i NAT ID, dropy oraz aplikację. Dla SIP lub H.323 obejmuje to rejestrację, połączenia przychodzące i wychodzące oraz media w obu kierunkach. Dla DNS sprawdza się zapytanie i odpowiedź z oczekiwaną nazwą. Dla TFTP również transfer pliku.

Jeśli objaw nie zmienia się lub pojawiają się nowe błędy, tylko zmodyfikowany moduł należy przywrócić do wcześniej zapisanego stanu. Następnie ponownie wykonać system system_modules show i ten sam przepływ testowy. Restart nie zastępuje rollbacku.

Jeśli zachowanie się zmienia, lecz przyczyna pozostaje niejasna, trzeba zachować stan przed i po, build firmware, logi oraz Packet Capture. Globalnie wyłączony helper nie powinien pozostać rozwiązaniem stałym tylko dlatego, że jeden krótki test wyglądał lepiej.

FAQ

Czy nieużywane System Modules należy domyślnie wyłączać?

Nie. SFOS domyślnie ładuje moduły, a ich działanie jest globalne. Moduł zmienia się tylko przy potwierdzonym problemie protokołu, ze stanem bazowym, testem i przygotowanym rollbackiem.

Czy moduł SIP jest tym samym co SIP ALG?

W praktycznym troubleshootingu chodzi o helper SIP, czyli SIP ALG. Rozpoznaje sygnalizację SIP i może obsługiwać informacje istotne dla NAT oraz oczekiwane połączenia multimedialne. Zależnie od projektu VoIP może pomagać lub przeszkadzać.

Czy załadowany moduł PPTP lub TFTP tworzy dostęp?

Nie. System Module nie zastępuje reguły firewalla, NAT, routingu ani konfiguracji samego protokołu. loaded opisuje tylko globalny stan helpera.

Jak wycofać test System Modules?

Przed testem należy zapisać system system_modules show. Następnie za pomocą load lub unload przywrócić tylko testowany moduł do poprzedniej wartości i powtórzyć ten sam przepływ aplikacji.