Brama na poziomie aplikacji
Brama poziomu aplikacji ( ALG , znana również jako brama warstwy aplikacji , brama aplikacji , serwer proxy aplikacji lub serwer proxy aplikacji ) to składnik zabezpieczeń, który rozszerza zaporę ogniową lub NAT stosowany w sieci komputerowej . Umożliwia podłączenie dostosowanych przechodzenia NAT do bramy w celu obsługi translacji adresów i portów dla niektórych protokołów „kontroli/danych” warstwy aplikacji , takich jak FTP , BitTorrent , SIP , RTSP , transfer plików w aplikacjach IM . Aby te protokoły działały przez NAT lub zaporę ogniową, albo aplikacja musi wiedzieć o kombinacji adresu/numeru portu, która zezwala na przychodzące pakiety, albo NAT musi monitorować ruch kontrolny i dynamicznie otwierać mapowania portów (otwory w zaporze ogniowej ) jako wymagane. Wiarygodne dane aplikacji mogą w ten sposób przechodzić przez kontrole bezpieczeństwa zapory ogniowej lub NAT, które w przeciwnym razie ograniczyłyby ruch, aby nie spełniał 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 dopuszczać tylko 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 ogniowej — narażając sieć na ataki na te porty.
- konwertowanie informacji adresowych warstwy sieciowej znalezionych wewnątrz ładunku aplikacji między adresami akceptowanymi przez hosty po obu stronach zapory ogniowej/NAT. Ten aspekt wprowadza termin „brama” dla ALG.
- rozpoznawanie poleceń specyficznych dla aplikacji i oferowanie szczegółowej kontroli bezpieczeństwa nad nimi
- synchronizacja między wieloma strumieniami/sesjami danych między dwoma hostami wymieniającymi dane. Na przykład FTP może używać oddzielnych połączeń do przekazywania poleceń sterujących i do wymiany danych między klientem a zdalnym serwerem. Podczas przesyłania dużych plików połączenie sterujące może pozostać bezczynne. ALG może zapobiec przekroczeniu limitu czasu połączenia sterującego przez urządzenia sieciowe przed zakończeniem długiego przesyłania plików.
Głęboka inspekcja pakietów wszystkich pakietów obsługiwanych przez ALG w danej sieci umożliwia tę funkcjonalność. ALG rozumie protokół używany przez określone aplikacje, które obsługuje.
Na przykład dla agenta użytkownika Back-to-Back ( B2BUA ) protokołu inicjowania sesji (SIP ) ALG może zezwolić na przechodzenie przez zaporę ogniową za pomocą protokołu SIP. Jeśli zapora ma przerwany ruch SIP na ALG, odpowiedzialność za zezwalanie na sesje SIP przechodzi na ALG zamiast na zaporę. ALG może rozwiązać inny poważny ból głowy SIP: przechodzenie NAT . Zasadniczo NAT z wbudowanym ALG może przepisywać informacje w wiadomościach SIP i może przechowywać powiązania adresów do zakończenia sesji. SIP ALG będzie również obsługiwać 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ę pomiędzy klientem a prawdziwym serwerem, ułatwiając wymianę. Wydaje się, że istnieje konwencja branżowa, zgodnie z którą ALG wykonuje swoją pracę bez skonfigurowania aplikacji do korzystania z niej, przechwytując wiadomości. Z drugiej strony serwer proxy zwykle wymaga skonfigurowania w aplikacji klienckiej. Klient jest wtedy wyraźnie świadomy proxy i łączy się z nim, a nie z prawdziwym serwerem.
Microsoft Windows
Usługa Application Layer Gateway w systemie Microsoft Windows zapewnia obsługę wtyczek innych firm, które umożliwiają protokołom sieciowym przechodzenie przez Zaporę systemu Windows i pracę za nią oraz udostępnianie połączenia internetowego . [ potrzebne źródło ] 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 jest przeznaczona do obsługi aktywnych sesji FTP przez 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 karcie sprzężenia zwrotnego firmy Microsoft . Następnie wtyczka ALG FTP monitoruje/aktualizuje ruch w kanale kontrolnym FTP, dzięki czemu wtyczka FTP może przeglądać mapowania portów przez NAT dla kanałów danych FTP.
Linuks
Netfilter jądra Linuksa , która implementuje NAT w Linuksie, ma funkcje i moduły dla kilku ALG NAT: