Шлюз уровня приложения - Application-level gateway
Шлюз уровня приложения[1] (также известен как ALG, шлюз прикладного уровня, шлюз приложений, прокси приложения, или же прокси уровня приложения[2]) - это компонент безопасности, который дополняет брандмауэр или же NAT работает в компьютерная сеть. Это позволяет настроить Обход NAT фильтры, которые необходимо вставить в шлюз поддерживать адрес и перевод порта для некоторых прикладной уровень протоколы "управления / данных", такие как FTP, BitTorrent, ГЛОТОК, RTSP, передача файлов в Я приложения и т. д. Для того чтобы эти протоколы работали через NAT или брандмауэр, либо приложение должно знать о комбинации адреса / номера порта, которая разрешает входящие пакеты, либо NAT должен отслеживать управляющий трафик и открывать сопоставления портов (отверстие в брандмауэре ) динамически по мере необходимости. Таким образом, законные данные приложения могут проходить через проверки безопасности брандмауэра или NAT, которые в противном случае ограничили бы трафик из-за несоответствия его ограниченным критериям фильтрации.
Функции
ALG может предлагать следующие функции:
- позволяя клиентским приложениям использовать динамические эфемерный Порты TCP / UDP для связи с известными портами, используемыми серверными приложениями, даже если конфигурация брандмауэра может разрешать только ограниченное количество известных портов. В отсутствие ALG либо порты будут заблокированы, либо сетевому администратору потребуется явно открыть большое количество портов в брандмауэре, что сделает сеть уязвимой для атак на эти порты.
- преобразование сетевой уровень адресная информация, находящаяся внутри полезной нагрузки приложения между адресами, приемлемыми для хостов по обе стороны межсетевого экрана / NAT. Этот аспект вводит термин 'шлюз' для ALG.
- распознавание команд, зависящих от приложения, и обеспечение детального контроля над ними
- синхронизация между несколькими потоками / сеансами данных между двумя хостами, обменивающимися данными. Например, FTP приложение может использовать отдельные соединения для передачи команд управления и для обмена данными между клиентом и удаленным сервером. Во время передачи больших файлов управляющее соединение может оставаться свободным. ALG может предотвратить тайм-аут контрольного соединения сетевыми устройствами до завершения длительной передачи файла.[3]
Глубокая проверка пакетов всех пакетов, обрабатываемых ALG в данной сети, делает эту функцию возможной. ALG понимает протокол, используемый конкретными приложениями, которые он поддерживает.
Например, для Протокол инициирования сеанса (ГЛОТОК) Спина к спине Пользовательский агент (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 выполняет свою работу без настройки приложения для его использования путем перехвата сообщений. С другой стороны, прокси-сервер обычно необходимо настраивать в клиентском приложении. Затем клиент явно знает о прокси-сервере и подключается к нему, а не к реальному серверу.
Служба 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.
ALG в Linux
Ядро Linux Netfilter framework, который реализует NAT в Linux, имеет функции и модули для нескольких NAT ALG:
Смотрите также
Рекомендации
- ^ RFC 2663 - ALG: официальное определение (см. Раздел 2.9)
- ^ https://www.webopedia.com/TERM/A/application_gateway.html
- ^ Протокол передачи файлов (FTP) и ваш брандмауэр / Маршрутизатор с трансляцией сетевых адресов (NAT) / Маршрутизатор с балансировкой нагрузки.
- ^ https://kb.intermedia.net/article/3110
- ^ https://docs.skyswitch.com/en/articles/578-what-is-sip-alg-and-should-it-be-on-or-off
- ^ https://www.voicehost.co.uk/help/sip-alg-and-why-it-should-be-disabled-your-router