Шлюз уровня приложений

Компонент безопасности, дополняющий брандмауэр или NAT, используемые в компьютерной сети.

Шлюз уровня приложения ( ALG , также известный как шлюз уровня приложения , шлюз приложения , прокси-сервер приложения или прокси-сервер уровня приложения ) — это компонент безопасности, который дополняет брандмауэр или NAT, используемые в мобильной сети . [1] [2] Он позволяет подключать настраиваемые фильтры обхода NAT к шлюзу для поддержки преобразования адресов и портов для определенных протоколов «управления/данных» уровня приложения, таких как FTP , BitTorrent , SIP , RTSP , передача файлов в приложениях обмена мгновенными сообщениями . Для того чтобы эти протоколы работали через NAT или брандмауэр, либо приложение должно знать о комбинации адреса/номера порта, которая разрешает входящие пакеты, либо NAT должен отслеживать управляющий трафик и динамически открывать сопоставления портов ( отверстия брандмауэра ) по мере необходимости. Таким образом, легитимные данные приложения могут проходить через проверки безопасности брандмауэра или NAT, которые в противном случае ограничили бы трафик из-за несоответствия его ограниченным критериям фильтрации.

Функции

ALG может предлагать следующие функции:

  • позволяя клиентским приложениям использовать динамические эфемерные порты TCP/UDP для связи с известными портами, используемыми серверными приложениями, даже если конфигурация брандмауэра может разрешать только ограниченное количество известных портов. При отсутствии ALG порты либо будут заблокированы, либо администратору сети придется явно открыть большое количество портов в брандмауэре, что сделает сеть уязвимой для атак на эти порты.
  • преобразование адресной информации сетевого уровня , найденной внутри полезной нагрузки приложения, между адресами, приемлемыми для хостов по обе стороны брандмауэра/NAT. Этот аспект вводит термин «шлюз» для ALG.
  • распознавание команд, специфичных для приложений, и предоставление им детального контроля безопасности
  • синхронизация между несколькими потоками/сессиями данных между двумя хостами, обменивающимися данными. Например, приложение FTP может использовать отдельные соединения для передачи команд управления и для обмена данными между клиентом и удаленным сервером. Во время передачи больших файлов управляющее соединение может оставаться бездействующим. ALG может предотвратить тайм-аут управляющего соединения сетевыми устройствами до завершения длительной передачи файла. [3]

Глубокая проверка всех пакетов, обрабатываемых ALG в заданной сети, делает эту функциональность возможной. ALG понимает протокол, используемый конкретными приложениями, которые он поддерживает.

Например, для протокола SIP Back-to-Back User Agent ( B2BUA ) ALG может разрешить обход брандмауэра с помощью SIP. Если трафик SIP брандмауэра завершается на ALG, то ответственность за разрешение сеансов SIP переходит к ALG вместо брандмауэра. ALG может решить еще одну серьезную проблему SIP: обход NAT . По сути, NAT со встроенным ALG может перезаписывать информацию в сообщениях SIP и может удерживать привязки адресов до тех пор, пока сеанс не будет завершен. SIP ALG также будет обрабатывать SDP в теле сообщений SIP (что повсеместно используется в VoIP для настройки конечных точек мультимедиа), поскольку SDP также содержит буквальные IP-адреса и порты, которые должны быть преобразованы.

Часто бывает так, что SIP ALG на некотором оборудовании мешает работе других технологий, которые пытаются решить ту же проблему, и многие провайдеры рекомендуют отключать его. [4] [5] [6]

ALG очень похож на прокси-сервер , поскольку он находится между клиентом и реальным сервером, облегчая обмен. Кажется, в отрасли существует соглашение, что ALG выполняет свою работу без настройки приложения на его использование, перехватывая сообщения. Прокси, с другой стороны, обычно необходимо настраивать в клиентском приложении. Затем клиент явно знает о прокси и подключается к нему, а не к реальному серверу.

Майкрософт Виндоус

Служба шлюза уровня приложения в Microsoft Windows обеспечивает поддержку сторонних плагинов, которые позволяют сетевым протоколам проходить через брандмауэр Windows и работать за ним и общим доступом к подключению Интернета . [ требуется ссылка ] Плагины ALG могут открывать порты и изменять данные, встроенные в пакеты, такие как порты и IP-адреса . Windows Server 2003 также включает плагин ALG FTP. Плагин ALG FTP предназначен для поддержки активных сеансов FTP через механизм NAT в Windows. Для этого плагин ALG FTP перенаправляет весь трафик, проходящий через NAT и предназначенный для порта 21 (порт управления FTP), на частный прослушивающий порт в диапазоне 3000–5000 на адаптере обратной связи Microsoft . Затем плагин ALG FTP отслеживает/обновляет трафик на канале управления FTP, чтобы плагин FTP мог прокладывать сопоставления портов через NAT для каналов данных FTP.

Линукс

Фреймворк Netfilter ядра Linux , реализующий NAT в Linux, имеет функции и модули для нескольких алгоритмов NAT:

Смотрите также

Ссылки

  1. ^ RFC 2663, раздел 2.9 — ALG: официальное определение
  2. ^ «Что такое Application Gateway?». 26 июня 2001 г.
  3. ^ Протокол передачи файлов (FTP) и ваш брандмауэр/маршрутизатор с преобразованием сетевых адресов (NAT)/маршрутизатор с балансировкой нагрузки.
  4. ^ «Почему SIP ALG является проблемой?».
  5. ^ «Что такое SIP ALG и следует ли его включать или выключать?».
  6. ^ «SIP ALG и почему его следует отключить на большинстве маршрутизаторов | VoiceHost — британский провайдер VoIP».
  • Шлюз уровня приложений DNS (DNS_ALG)
Retrieved from "https://en.wikipedia.org/w/index.php?title=Application-level_gateway&oldid=1235143690"