Шлюз уровня приложения - Application-level gateway

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

Функции

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

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

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

Например, для Session Initiation Protocol (SIP) Назад-назад Агент пользователя ( B2BUA ), AN ALG может позволить межсетевой экран обхода с SIP. Если трафик SIP брандмауэра завершается на ALG, то ответственность за разрешение сеансов SIP переходит к ALG, а не к брандмауэру. ALG может решить еще одну серьезную проблему SIP: обход NAT . Обычно NAT со встроенным ALG может перезаписывать информацию в сообщениях SIP и может удерживать привязки адресов до завершения сеанса. SIP ALG также будет обрабатывать SDP в теле сообщений SIP (который повсеместно используется в VoIP для настройки конечных точек мультимедиа), поскольку SDP также содержит буквальные IP-адреса и порты, которые необходимо транслировать.

SIP 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.

Linux

Инфраструктура Netfilter ядра Linux , которая реализует NAT в Linux, имеет функции и модули для нескольких NAT ALG:

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

использованная литература

внешние ссылки