Brama na poziomie aplikacji — Application-level gateway

Bramy poziomie aplikacji ( ALG , znany również jako brama warstwy aplikacji , bramy aplikacji , serwer aplikacji , czy serwer aplikacji poziomu ) jest element zabezpieczający, który zwiększa zapora lub NAT zastosowany w sieci komputerowej . Umożliwia podłączenie niestandardowych filtrów przechodzenia NAT do bramy w celu obsługi translacji adresów i portów dla niektórych protokołów „kontroli/danych” w warstwie aplikacji , takich jak FTP , BitTorrent , SIP , RTSP , przesyłanie plików w aplikacjach IM . Aby te protokoły działały przez NAT lub zaporę, albo aplikacja musi wiedzieć o kombinacji adresu/numeru portu, która umożliwia przychodzące pakiety, albo NAT musi monitorować ruch kontrolny i dynamicznie otwierać mapowania portów ( otwory zapory ) jako wymagane. Uzasadnione dane aplikacji mogą zatem przechodzić przez kontrole bezpieczeństwa zapory lub NAT, które w przeciwnym razie ograniczyłyby ruch z powodu niespełnienia ograniczonych kryteriów filtrowania.

Funkcje

ALG może oferować następujące funkcje:

  • zezwalanie aplikacjom klienckim na używanie dynamicznych efemerycznych portów TCP/UDP do komunikowania się ze znanymi portami używanymi przez aplikacje serwera, nawet jeśli konfiguracja zapory może zezwalać tylko na ograniczoną liczbę znanych portów. W przypadku braku ALG albo porty zostałyby zablokowane, albo administrator sieci musiałby jawnie otworzyć dużą liczbę portów w zaporze — czyniąc sieć podatną na ataki na te porty.
  • konwertowanie informacji o adresie warstwy sieciowej znalezionych w ładunku aplikacji między adresami akceptowanymi przez hosty po obu stronach zapory/NAT. Ten aspekt wprowadza termin „brama” dla ALG.
  • rozpoznawanie poleceń specyficznych dla aplikacji i oferowanie nad nimi szczegółowej kontroli bezpieczeństwa
  • synchronizacja między wieloma strumieniami/sesjami danych między dwoma hostami wymieniającymi dane. Na przykład aplikacja FTP może używać oddzielnych połączeń do przekazywania poleceń sterujących i wymiany danych między klientem a serwerem zdalnym. Podczas przesyłania dużych plików połączenie sterujące może pozostać nieaktywne. ALG może zapobiec przekroczeniu limitu czasu połączenia sterującego przez urządzenia sieciowe przed zakończeniem długiego przesyłania plików.

Funkcjonalność ta jest możliwa dzięki głębokiej inspekcji wszystkich pakietów obsługiwanych przez ALG w danej sieci. ALG rozumie protokół używany przez określone aplikacje, które obsługuje.

Na przykład w przypadku agenta Back-to-Back User ( B2BUA ) protokołu inicjowania sesji (SIP) ALG może zezwolić na przechodzenie przez firewall za pomocą protokołu SIP. Jeśli w zaporze ruch SIP jest zakończony na ALG, odpowiedzialność za zezwolenie na sesje SIP przechodzi na ALG, a nie na zaporę. ALG może rozwiązać inny poważny problem z SIP: przechodzenie przez NAT . Zasadniczo NAT z wbudowanym ALG może przepisywać informacje w komunikatach SIP i może utrzymywać powiązania adresów do momentu zakończenia sesji. SIP ALG obsługuje również SDP w treści komunikatów SIP (który jest powszechnie używany w VoIP do konfigurowania punktów końcowych mediów), ponieważ SDP zawiera również dosłowne adresy IP i porty, które muszą zostać przetłumaczone.

Często zdarza się, że SIP ALG na niektórych urządzeniach zakłóca działanie innych technologii, które próbują rozwiązać ten sam problem, a różni dostawcy zalecają jego wyłączenie.

ALG jest bardzo podobny do serwera proxy , ponieważ znajduje się między klientem a rzeczywistym serwerem, ułatwiając wymianę. Wydaje się, że istnieje branżowa konwencja, zgodnie z którą ALG wykonuje swoją pracę bez skonfigurowania aplikacji do jej używania, przechwytując wiadomości. Z drugiej strony serwer proxy zwykle musi być skonfigurowany w aplikacji klienckiej. Klient jest wtedy wyraźnie świadomy serwera proxy i łączy się z nim, a nie z rzeczywistym serwerem.

Microsoft Windows

Warstwa Application Gateway usługa w systemie Microsoft Windows zapewnia wsparcie dla wtyczek firm trzecich, które umożliwiają protokoły sieciowe przejść przez Zaporę systemu Windows i praca za nią i Udostępnianie połączenia internetowego . Wtyczki ALG mogą otwierać porty i zmieniać dane osadzone w pakietach, takie jak porty i adresy IP . Windows Server 2003 zawiera również wtyczkę ALG FTP. Wtyczka ALG FTP została zaprojektowana do obsługi aktywnych sesji FTP za pośrednictwem silnika NAT w systemie Windows. W tym celu wtyczka ALG FTP przekierowuje cały ruch, który przechodzi przez NAT i jest przeznaczony dla portu 21 (port kontrolny FTP) do prywatnego portu nasłuchiwania w zakresie 3000–5000 na adapterze sprzężenia zwrotnego firmy Microsoft . Wtyczka ALG FTP następnie monitoruje/aktualizuje ruch w kanale kontrolnym FTP, dzięki czemu wtyczka FTP może przeprowadzić mapowanie portów przez NAT dla kanałów danych FTP.

Linux

Struktura Netfilter jądra Linuksa , która implementuje NAT w Linuksie, ma funkcje i moduły dla kilku ALG NAT:

Zobacz też

Bibliografia

Zewnętrzne linki