Аппаратная защита сетей класса SOHO с помощью брандмауэров

Сергей Пахомов

Брандмауэры как составная часть маршрутизаторов

Функции брандмауэров

Так ли надежны брандмауэры?

Классификация брандмауэров

   Пакетные фильтры

   Шлюзы сеансового уровня

   Шлюзы прикладного уровня

   SPI-брандмауэры

Настройка брандмауэров

Протокол NAT как составная часть брандмауэра

Проблемы, связанные с NAT-устройствами

Технологии обхода ограничений протокола NAT

   Статическое перенаправление портов (Port mapping)

   Динамическое перенаправление портов (Special Application)

   DMZ-зона

   Технология NAT Traversal

 

При огромном разнообразии профессиональных программных средств защиты от разного рода атак на локальную сеть извне (то есть из Интернета) все они имеют один серьезный недостаток — высокую стоимость. И если речь идет о небольших сетях класса SOHO, то приобретение солидных пакетов — непозволительная роскошь. В то же время стоит отметить, что для небольших сетей возможности подобных пакетов могут оказаться даже избыточными. Поэтому для защиты небольших сетей класса SOHO широкое применение получили недорогие аппаратные решения — брандмауэры. По своей конструкции брандмауэры могут либо выполняться в виде отдельного решения, либо быть составной частью маршрутизаторов класса SOHO, в частности беспроводных маршрутизаторов, что позволяет комбинировать на их основе проводные и беспроводные сегменты локальной сети.
В этой статье мы рассмотрим основные функциональные возможности современных аппаратных брандмауэров, которые встраиваются в маршрутизаторы класса SOHO и используются для обеспечения защиты небольших локальных сетей.

Брандмауэры как составная часть маршрутизаторов

Поскольку маршрутизаторы являются сетевыми устройствами, устанавливаемыми на границе между внутренней и внешней сетями, и выполняют функцию сетевого шлюза, то в конструктивном плане они должны иметь как минимум два порта. К одному из этих портов подключается локальная сеть, и этот порт становится внутренним LAN-портом. Ко второму порту подключается внешняя сеть (Интернет), превращая его во внешний WAN-порт. Как правило, маршрутизаторы класса SOHO имеют один WAN-порт и несколько (от одного до четырех) LAN-портов, которые объединяются в коммутатор. В большинстве случаев WAN-порт коммутатора имеет интерфейс 10/100Base-TX, и к нему может подключаться либо xDSL-модем с соответствующим интерфейсом, либо сетевой Ethernet-кабель.

Кроме того, широкое распространение беспроводных сетей обусловило появление целого класса так называемых беспроводных маршрутизаторов. Эти устройства, помимо классического маршрутизатора с WAN- и LAN-портами, содержат интегрированную точку беспроводного доступа, поддерживающую протокол IEEE 802.11a/b/g. Беспроводной сегмент сети, который позволяет организовать точка доступа, с позиции маршрутизатора относится к внутренней сети, и в этом смысле компьютеры, подключаемые к маршрутизатору беспроводным образом, ничем не отличаются от тех, что подключены к LAN-порту.

Любой маршрутизатор, как устройство сетевого уровня, имеет свой IP-адрес. Помимо маршрутизатора свой IP-адрес имеет также WAN-порт.

Компьютеры, подключаемые к LAN-портам маршрутизатора, должны иметь IP-адрес той же подсети, что и сам маршрутизатор. Кроме того, в сетевых настройках этих ПК необходимо по умолчанию задать адрес шлюза, совпадающий с IP-адресом маршрутизатора. И наконец, устройство, подключаемое к WAN-порту со стороны внешней сети, должно иметь IP-адрес из той же подсети, что и WAN-порт маршрутизатора.

Поскольку маршрутизатор выполняет функцию шлюза между локальной сетью и Интернетом, логично ожидать от него такой функции, как защита внутренней сети от несанкционированного доступа. Поэтому практически все современные маршрутизаторы класса SOHO имеют встроенные аппаратные брандмауэры, которые также называются сетевыми экранами (firewall).

В начало В начало

Функции брандмауэров

Основная задача любого брандмауэра в конечном счете сводится к обеспечению безопасности внутренней сети. Для решения этой задачи брандмауэры должны уметь маскировать защищаемую сеть, блокировать все известные типы хакерских атак, блокировать утечку информации из внутренней сети, контролировать приложения, получающие доступ во внешнюю сеть.

Для того чтобы реализовать указанные функции, брандмауэры анализируют весь трафик между внешней и внутренней сетями на предмет его соответствия тем или иным установленным критериям или правилам, определяющим условия прохождения трафика из одной сети в другую. Если трафик отвечает заданным критериям, то брандмауэр пропускает его через себя. В противном случае, то есть если установленные критерии не соблюдены, трафик блокируется брандмауэром. Брандмауэры фильтруют как входящий, так и исходящий трафики, а также позволяют управлять доступом к определенным сетевым ресурсам или приложениям. Они могут фиксировать все попытки несанкционированного доступа к ресурсам локальной сети и выдавать предупреждения о попытках проникновения.

По своему назначению брандмауэры больше всего напоминают контрольно-пропускной пункт (КПП) охраняемого объекта, где производится проверка документов всех входящих на территорию объекта и всех покидающих ее. Если пропуск в порядке — доступ на территорию разрешен. Совершенно аналогично действуют и брандмауэры, только в роли людей, проходящих через КПП, выступают сетевые пакеты, а пропуском является соответствие заголовков этих пакетов предопределенному набору правил.

В начало В начало

Так ли надежны брандмауэры?

Можно ли утверждать, что брандмауэр обеспечивает 100-процентную безопасность пользовательской сети или персонального ПК? Безусловно, нет. Хотя бы потому, что вообще ни одна система не дает 100-процентной гарантии безопасности. К брандмауэру стоит относиться как к средству, которое, при правильной его настройке, способно в значительной мере осложнить задачу злоумышленника по проникновению в персональный компьютер пользователя. Подчеркнем: лишь осложнить, но вовсе не гарантировать абсолютной безопасности. Кстати, если речь заходит не о защите локальной сети, а о защите отдельного ПК, имеющего доступ в Интернет, то с обеспечением его персональной безопасности успешно справляется и брандмауэр ICF (Internet Connection Firewall), встроенный в операционную систему Windows XP. Поэтому в дальнейшем мы будем говорить лишь о корпоративных аппаратных брандмауэрах, ориентированных на защиту небольших сетей.

Если брандмауэр, устанавливаемый на входе в локальную сеть, активирован по полной программе (как правило, это соответствует настройкам по умолчанию), то защищаемая им сеть полностью непроницаема и недоступна извне. Однако у столь полной непроницаемости внутренней сети есть и своя оборотная сторона. Дело в том, что в этом случае становится невозможно пользоваться Интернет-сервисами (например, ICQ и тому подобными программами), установленными на ПК. Таким образом, задача настройки брандмауэра заключается в том, чтобы в первоначально глухой стене, которую представляет собой брандмауэр для злоумышленника, проделать окошки, предоставив возможность пользовательским программам отвечать на запросы извне и в конечном счете реализовать подконтрольное взаимодействие внутренней сети с внешним миром. Однако чем больше подобных окон появляется в такой стене, тем более уязвимой становится и сама сеть. Так что еще раз подчеркнем: ни один брандмауэр не может гарантировать абсолютной безопасности защищаемой им локальной сети.

В начало В начало

Классификация брандмауэров

Возможности брандмауэров и степень их интеллектуальности зависят от того, на каком уровне эталонной модели OSI они функционируют. Чем выше уровень OSI, на основе которого построен брандмауэр, тем выше обеспечиваемый им уровень защиты.

Напомним, что модель OSI (Open System Interconnection) включает семь уровней сетевой архитектуры. Первый, самый нижний, — это физический уровень. За ним следуют канальный, сетевой, транспортный, сеансовый уровни, уровень представления и прикладной уровень, или уровень приложений. Для того чтобы обеспечивать фильтрацию трафика, брандмауэр должен работать как минимум на третьем уровне модели OSI, то есть на сетевом уровне, где происходит маршрутизация пакетов на основе преобразования MAC-адресов в сетевые адреса. С точки зрения протокола TCP/IP этот уровень соответствует уровню IP (Internet Protocol). Получая информацию сетевого уровня, брандмауэры способны определить адрес источника и получателя пакета и проверить, допустима ли передача трафика между данными адресатами. Однако информации сетевого уровня для анализа содержимого пакета недостаточно. Брандмауэры, функционирующие на транспортном уровне модели OSI, получают несколько больше информации о пакетах и в этом смысле могут предоставлять более интеллектуальные схемы защиты сетей. Что же касается брандмауэров, работающих на уровне приложений, то им доступна полная информация о сетевых пакетах, а значит, такие брандмауэры обеспечивают наиболее надежную сетевую защиту.

В зависимости от уровня модели OSI, на которых функционируют брандмауэры, исторически сложилась следующая классификация этих устройств:

  • пакетный фильтр (packet filter);
  • шлюз сеансового уровня (circuit-level gateway);
  • шлюз прикладного уровня (application-level gateway);
  • Stateful Packet Inspection (SPI).

Отметим, что данная классификация имеет лишь исторический интерес, поскольку все современные брандмауэры относятся к категории наиболее совершенных (в плане защиты сети) SPI-брандмауэров.

Пакетные фильтры

Брандмауэры типа пакетных фильтров являются наиболее простыми (наименее интеллектуальными). Эти брандмауэры работают на сетевом уровне модели OSI или на IP-уровне стека протоколов TCP/IP. Такие брандмауэры в обязательном порядке присутствуют в каждом маршрутизаторе, поскольку любой маршрутизатор работает как минимум на третьем уровне модели OSI.

Задача пакетных фильтров заключается в фильтрации пакетов на основе информации об IP-адресе источника или получателя, а также о номерах портов.

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

Пакетные фильтры просты в реализации и практически не влияют на скорость маршрутизации.

Шлюзы сеансового уровня

Шлюзы сеансового уровня — это брандмауэры, которые работают на сеансовом уровне модели OSI или на TCP (Transport Control Protocol) уровне стека протоколов TCP/IP. Данные брандмауэры отслеживают процесс установления TCP-соединения (организацию сеансов обмена данными между оконечными машинами) и позволяют определить, является ли данный сеанс связи легитимным. Данные, передаваемые к удаленному компьютеру во внешней сети через шлюз на сеансовом уровне, не содержат информации об источнике передачи, то есть все выглядит таким образом, как будто данные отправляются самим брандмауэром, а не компьютером во внутренней (защищаемой) сети. Все брандмауэры на основе NAT-протокола являются шлюзами сеансового уровня (протокол NAT будет описан ниже).

Шлюзы сеансового уровня также не оказывают существенного влияния на скорость маршрутизации. В то же время эти шлюзы не способны осуществлять фильтрацию отдельных пакетов.

Шлюзы прикладного уровня

Шлюзы прикладного уровня, или proxy-серверы, функционируют на прикладном уровне модели OSI. Прикладной уровень отвечает за доступ приложений в сеть. К задачам этого уровня относятся перенос файлов, обмен почтовыми сообщениями и управление сетью. Получая информацию о пакетах на прикладном уровне, шлюзы прикладного уровня могут реализовывать блокировку доступа к определенным сервисам. К примеру, если шлюз прикладного уровня сконфигурирован как Web-proxy, то любой трафик, относящийся к протоколам Telnet, FTP, Gopher, будет заблокирован. Поскольку эти брандмауэры анализируют пакеты на прикладном уровне, они способны осуществлять фильтрацию специфических команд, например, http:post, get и т.д. Данная функция недоступна ни пакетным фильтрам, ни шлюзам сеансового уровня. Шлюзы прикладного уровня могут также использоваться для регистрации активности отдельных пользователей и для установления ими сеансов связи. Эти брандмауэры предлагают более надежный способ защиты сетей по сравнению со шлюзами сеансового уровня и пакетными фильтрами.

SPI-брандмауэры

Последний тип брандмауэров — Stateful Packet Inspection (SPI) — объединяет в себе преимущества одновременно и пакетных фильтров, и шлюзов сеансового уровня, и шлюзов прикладного уровня. То есть фактически речь идет о многоуровневых брандмауэрах, которые работают одновременно на сетевом, сеансовом и прикладном уровнях.

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

Эти брандмауэры реализуют наиболее надежный способ защиты сетей и на данный момент являются стандартом де-факто.

В начало В начало

Настройка брандмауэров

Методология и возможности по настройке брандмауэров зависят от конкретной модели. К сожалению, не существует единых правил настройки и тем более единообразного интерфейса. Можно говорить лишь о неких общих правилах, которых стоит придерживаться. Собственно, основное правило довольно простое — необходимо запрещать все, что не требуется для нормального функционирования сети.

Чаще всего возможности по настройке брандмауэров сводятся к активированию некоторых предопределенных правил и к созданию статических правил в виде таблицы.

Рассмотрим в качестве примера возможности по настройке брандмауэра, входящего в маршуртизатор Gigabyte GN-B49G. В этом маршрутизаторе имеется ряд предопределенных правил, позволяющих реализовывать различные уровни безопасности внутренней сети. К таким правилам относятся следующие:

  • Access to Router’s configuration and administration from the WAN side is prohibited. Активация данной функции запрещает доступ к настройкам маршрутизатора из внешней сети;
  • The access from Global-IP to Private-IP is prohibited inside LAN. Данная функция позволяет блокировать доступ внутри локальной сети с глобальных IP-адресов (если таковые имеются) на IP-адреса, зарезервированные для частного использования;
  • Prevent file and printer sharing from outside the router’s network. Функция предотвращает использование разделяемого доступа к принтерам и файлам внутренней сети извне;
  • The existence of the router cannot be detected from the WAN side. Данная функция делает маршрутизатор невидимым со стороны внешней сети;
  • Denial of Service (DoS) type attacks are prevented. При активировании этой функции реализуется защита от атак типа DoS (Denial of Service). Атаки DoS — это вид сетевых атак, который заключается в поступлении на сервер множества запросов с требованием услуги, предоставляемой системой. Сервер расходует свои ресурсы на установление соединения и его обслуживание и при определенном потоке запросов не справляется с ними. Защита от атак этого вида строится на анализе источников избыточного по сравнению с обычным трафика и запрете его передачи.

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

Другой способ настройки брандмауэра сводится к созданию статических правил, которые позволяют не только защитить сеть снаружи, но и ограничить пользователям локальной сети доступ во внешнюю сеть. Возможности по созданию правил достаточно гибкие и позволяют реализовать практически любую ситуацию. Для создания правила задаются IP-адрес (или диапазон адресов) источника, порты источника, IP-адреса и порты получателя, тип протокола, направление передачи пакета (из внутренней сети во внешнюю или наоборот), а также действие, которое должно предприниматься при обнаружении пакета с означенными свойствами (отбросить или пропустить пакет). К примеру, если требуется запретить пользователям внутренней сети (диапазон IP-адресов: 192.168.1.1-192.168.1.100) обращение к FTP-серверу (порт 21), расположенному по внешнему IP-адресу 64.233.183.104, то правило может быть сформулировано следующим образом:

  • направление передачи пакетов: LAN-to-WAN;
  • IP-адреса источника: 192.168.1.1-192.168.1.100;
  • порт источника: 1-65535;
  • IP-адрес получателя: 64.233.183.104;
  • порт получателя: 21;
  • протокол: TCP;
  • действие: drop.

Статическая настройка правила брандмауэра для рассмотренного выше примера показана на рис. 1.

 

Рис. 1. Статическая настройка правила брандмауэра

Рис. 1. Статическая настройка правила брандмауэра

В начало В начало

Протокол NAT как составная часть брандмауэра

Все современные маршрутизаторы со встроенными брандмауэрами поддерживают протокол трансляции сетевых адресов NAT (Network Address Translation).

Протокол NAT не является составной частью брандмауэра, но в то же время способствует повышению безопасности сети. Основная же задача протокола NAT — решение проблемы дефицита IP-адресов, которая становится все более актуальной по мере роста числа компьютеров.

Дело в том, что в настоящей версии протокола IPv4 для определения IP-адреса отводится четыре байта, что позволяет сформировать свыше четырех миллиардов адресов сетевых компьютеров. Конечно, в те времена, когда Интернет только зарождался, трудно было себе даже представить, что когда-нибудь этого количества IP-адресов может оказаться недостаточно. Для того чтобы частично решить проблему дефицита IP-адресов, и был в свое время предложен протокол трансляции сетевых адресов NAT.

Протокол NAT определен стандартом RFC 1631, в котором определяется, каким образом происходит преобразование сетевых адресов.

В большинстве случаев устройство NAT преобразует IP-адреса, зарезервированные для частного использования в локальных сетях, в открытые IP-адреса.

Частное адресное пространство регламентируется документом RFC 1918. К этим адресам относятся следующие IP-диапазоны: 10.0.0.0-10.255.255.255, 172.16.0.0-172.31.255.255, 192.168.0.0-192.168.255.255.

Согласно документу RFC 1918, частные IP-адреса нельзя использовать в Глобальной сети, поэтому они могут свободно применяться только для внутренних целей.

Прежде чем перейти к особенностям функционирования протокола NAT, рассмотрим, как происходит сетевое соединение между двумя ПК.

Когда один компьютер сети устанавливает соединение с другим компьютером, открывается сокет, определяемый IP-адресом источника, портом источника, IP-адресом назначения, портом назначения и сетевым протоколом. Формат IP-пакета предусматривает двухбайтовое поле для номеров портов. Это позволяет определить 65 535 портов, которые играют роль своеобразных каналов связи. Из 65 535 портов первые 1023 зарезервированы для хорошо известных серверных сервисов, таких как Web, FTP, Telnet и т.д. Все остальные порты могут использоваться для любых других целей.

Если, к примеру, один сетевой компьютер обращается к FTP-серверу (порт 21), то при открытии сокета операционная система присваивает сессии любой порт выше 1023. Например, это может быть порт 2153. Тогда IP-пакет, отправляемый со стороны ПК к FTP-серверу, будет содержать IP-адрес отправителя, порт отправителя (2153), IP-адрес получателя и порт назначения (21). IP-адрес и порт отправителя будут использоваться для ответа сервера клиенту. Использование разных портов для различных сетевых сессий позволяет клиентам сети одновременно устанавливать несколько сессий с различными серверами или с сервисами одного сервера.

Теперь рассмотрим процесс установления сессии при использовании NAT-маршрутизатора на границе внутренней сети и сети Интернет.

Когда клиент внутренней сети устанавливает связь с сервером внешней сети, то, как и в случае установки соединения между двумя ПК, открывается сокет, определяемый IP-адресом источника, портом источника, IP-адресом назначения, портом назначения и сетевым протоколом. Когда приложение передает данные через этот сокет, IP-адрес источника и порт источника вставляются в пакет в поля параметров источника. Поля параметров пункта назначения будут содержать IP-адрес сервера и порт сервера. К примеру, компьютер внутренней сети с IP-адресом 192.168.0.1 может обратиться к Web-серверу Глобальной сети с IP-адресом 64.233.188.104. В этом случае операционная система клиента может назначить установленной сессии порт 1251 (порт источника), а порт назначения — это порт Web-сервиса, то есть 80. Тогда в заголовке отправляемого пакета будут указаны следующие атрибуты (рис. 2):

  • IP-адрес источника: 192.168.0.1;
  • порт источника: 1251;
  • IP-адрес получателя: 64.233.183.104;
  • порт получателя: 80;
  • протокол: TCP.

 

Рис. 2. Принцип работы NAT-устройства при передаче пакета из внутренней сети во внешнюю

Рис. 2. Принцип работы NAT-устройства при передаче пакета из внутренней сети во внешнюю

Устройство NAT (маршрутизатор) перехватывает исходящий из внутренней сети пакет и заносит в свою внутреннюю таблицу сопоставление портов источника и получателя пакета, используя IP-адрес назначения, порт назначения, внешний IP-адрес устройства NAT, внешний порт, сетевой протокол, а также внутренние IP-адрес и порт клиента.

Предположим, что в рассмотренном выше примере NAT-маршрутизатор имеет внешний IP-адрес 195.2.91.103 (адрес WAN-порта), а для установленной сессии внешний порт NAT-устройства — 3210. В этом случае внутренняя таблица сопоставления портов источника и получателя пакета содержит следующую информацию:

  • IP-адрес источника: 192.168.0.1;
  • порт источника: 1251;
  • внешний IP-адрес

NAT-устройства: 195.2.91.103;

  • внешний порт NAT-устройства: 3210;
  • IP-адрес получателя: 64.233.183.104;
  • порт получателя: 80;
  • протокол: TCP.

Затем устройство NAT «транслирует» пакет, преобразуя в пакете поля источника: внутренние IP-адрес и порт клиента заменяются внешними IP-адресом и портом устройства NAT. В рассмотренном примере преобразованный пакет будет содержать следующую информацию:

  • IP-адрес источника: 195.2.91.103;
  • порт источника: 3210;
  • IP-адрес получателя: 64.233.183.104;
  • порт получателя: 80;
  • протокол: TCP.

Преобразованный пакет пересылается по внешней сети и в итоге попадает на заданный сервер.

Получив пакет, сервер будет направлять ответные пакеты на внешний IP-адрес и порт устройства NAT (маршрутизатора), указывая в полях источника свои собственные IP-адрес и порт (рис. 3). В рассмотренном примере ответный пакет от сервера будет содержать в заголовке следующую информацию:

  • IP-адрес источника: 64.233.183.104;
  • порт источника: 80;
  • IP-адрес получателя: 195.2.91.103;
  • порт получателя: 3210;
  • протокол: TCP.

 

Рис. 3. Принцип работы NAT-устройства при передаче пакета из внешней сети во внутреннюю

Устройство NAT принимает эти пакеты от сервера и анализирует их содержимое на основе своей таблицы сопоставления портов. Если в таблице будет найдено сопоставление порта, для которого IP-адрес источника, порт источника, порт назначения и сетевой протокол из входящего пакета совпадают с IP-адресом удаленного узла, с удаленным портом и с сетевым протоколом, указанным в сопоставлении портов, то NAT выполнит обратное преобразование: заменит внешний IP-адрес и внешний порт в полях назначения пакета на IP-адрес и внутренний порт клиента внутренней сети. Таким образом, пакет, передаваемый во внутреннюю сеть, для рассмотренного выше примера будет иметь следующие атрибуты:

  • IP-адрес источника: 64.233.183.104;
  • порт источника: 80;
  • IP-адрес получателя: 192.168.0.1;
  • порт получателя: 1251;
  • протокол: TCP.

Однако если в таблице сопоставления портов не находится соответствия, то входящий пакет отвергается и соединение разрывается.

Благодаря NAT-маршрутизатору любой ПК внутренней сети получает возможность передавать данные в Глобальную сеть с использованием внешнего IP-адреса и порта маршрутизатора. При этом IP-адреса внутренней сети, как присвоенные сессиям порты, остаются невидимыми со стороны внешней сети.

Однако NAT-маршрутизатор позволяет обмениваться данными между компьютерами внутренней и внешней сетей только в том случае, если этот обмен инициируется компьютером внутренней сети. Если же какой-нибудь компьютер внешней сети пытается получить доступ к компьютеру внутренней сети по своей собственной инициативе, то такое соединение отвергается устройством NAT. Поэтому помимо решения проблемы нехватки IP-адресов протокол NAT также способствует повышению безопасности внутренней сети.

В начало В начало

Проблемы, связанные с NAT-устройствами

Несмотря на кажущуюся простоту работы NAT-устройств, с ними связаны некоторые проблемы, нередко усложняющие организацию взаимодействия между сетевыми компьютерами или вообще препятствующие его установлению. К примеру, если локальная сеть защищена NAT-устройством, то любой клиент внутренней сети может установить соединение с сервером Глобальной сети, но не наоборот. То есть из внешней сети нельзя инициировать соединение с сервером, расположенным во внутренней сети за NAT-устройством. Но как быть, если во внутренней сети расположен сервис (например, FTP- или Web-сервер), к которому пользователи внешней сети должны иметь доступ? Для решения данной проблемы в NAT-маршрутизаторах используются технологии демилитаризованной зоны и перенаправления портов, которые будут подробно описаны ниже.

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

Существуют сетевые приложения, которые при передаче данных используют один порт (в качестве порта отправителя), но ожидают ответа на другой порт. Устройство NAT, анализируя исходящий трафик, производит сопоставление порта отправителя. Однако о том, что ответ ожидается на другой порт, устройство NAT не знает и выполнить соответствующего сопоставления не может. В результате ответные пакеты, адресованные на порт, для которого нет сопоставления во внутренней таблице NAT-устройства, будут отброшены.

Еще одна проблема, связанная с NAT-устройствами, заключается в множественном доступе к одному и тому же порту. Рассмотрим ситуацию, когда несколько клиентов локальной сети, отделенной от внешней сети NAT-устройством, обращаются к одному и тому же стандартному порту. К примеру, это может быть порт 80, зарезервированный для Web-сервиса. Поскольку все клиенты внутренней сети используют один и тот же IP-адрес, возникает вопрос: каким образом NAT-устройство сможет определить, к какому именно клиенту внутренней сети относится внешний запрос? Для решения данной проблемы в каждый момент времени доступ к стандартному порту имеет только один клиент внутренней сети.

В начало В начало

Технологии обхода ограничений протокола NAT

В некоторых маршрутизаторах возможно отключение NAT-протокола, однако делать это следует лишь в исключительных случаях — на этапе настройки устройства или при использовании нескольких маршрутизаторов. При этом важно, чтобы маршрутизатор мог частично обойти ограничения NAT-протокола. К таким возможностям относятся технологии статического и динамического перенаправления портов, а также конфигурирование демилитаризованной зоны (DMZ-зоны).

Статическое перенаправление портов (Port mapping)

Для того чтобы сделать доступными из внешней сети определенные приложения, запускаемые на сервере во внутренней сети (такие, например, как Web-сервер или FTP-сервер), в NAT-устройстве необходимо задать сопоставление между портами, используемыми определенными приложениями, и IP-адресами тех серверов внутренней сети, на которых эти приложения работают. В этом случае говорят о технологии перенаправления портов (Port mapping), а сам сервер внутренней сети называется виртуальным сервером. В результате любой запрос из внешней сети на внешний IP-адрес NAT-устройства (маршрутизатора) по указанному порту будет автоматически перенаправлен на указанный виртуальный сервер внутренней сети.

К примеру, если во внутренней сети конфигурируется виртуальный FTP-сервер, который запускается на ПК с IP-адресом 192.168.0.10, то при настройке виртуального сервера задаются IP-адрес виртуального сервера (192.168.0.10), используемый протокол (TCP) и порт приложения (21). В подобном случае при обращении по внешнему адресу NAT-устройства (WAN-порт маршрутизатора) по порту 21 пользователь внешней сети может получить доступ к FTP-серверу внутренней сети, несмотря на использование протокола NAT. Пример конфигурирования виртуального сервера на реальном NAT-маршрутизаторе показан на рис. 4.

 

Рис. 4. Пример конфигурации двух виртуальных серверов при помощи технологии статического перенаправления портов

Рис. 4. Пример конфигурации двух виртуальных серверов при помощи технологии статического перенаправления портов

Как правило, NAT-маршрутизаторы позволяют создавать несколько статических перенаправлений портов. Так, на одном виртуальном сервере можно открыть сразу несколько портов или создать несколько виртуальных серверов с различными IP-адресами. Однако при статическом перенаправлении портов нельзя перенаправлять один порт на несколько IP-адресов, то есть порт может соответствовать одному IP-адресу. Невозможно, к примеру, сконфигурировать несколько Web-серверов с разными IP-адресами — для этого придется менять порт Web-сервера по умолчанию и при обращении по 80-му порту в настройке маршрутизатора в качестве внутреннего порта (Private Port) указывать измененный порт Web-сервера.

Большинство моделей маршрутизаторов позволяют также задавать статическое перенаправление группы портов, то есть ставить в соответствие IP-адресу виртуального сервера сразу целую группу портов. Такая возможность полезна в том случае, если необходимо обеспечить работу приложений, использующих большое количество портов, например игр или аудио/видеоконференций. Количество перенаправляемых групп портов в разных моделях маршрутизаторов различно, но обычно их не менее десяти.

Динамическое перенаправление портов (Special Application)

Статическое перенаправление портов позволяет отчасти решить проблему доступа из внешней сети к сервисам локальной сети, защищаемой NAT-устройством. Однако существует и противоположная задача — необходимость обеспечить пользователям локальной сети доступ во внешнюю сеть через NAT-устройство. Дело в том, что некоторые приложения (например, Интернет-игры, видеоконференции, Интернет-телефония и другие приложения, требующие одновременного установления множества сессий) не совместимы с NAT-технологией. Для решения этой проблемы используется так называемое динамическое перенаправление портов (иногда встречается название Special Application), когда перенаправление портов задается на уровне отдельных сетевых приложений.

В случае если маршрутизатор поддерживает данную функцию, необходимо задать номер внутреннего порта (или интервал портов), связанный с конкретным приложением (как правило, его обозначают Trigger Port), и задать номер внешнего порта NAT-устройства (Public Port), который будет сопоставляться с внутренним портом.

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

Динамическое перенаправление портов используется в основном для служб, предусматривающих кратковременные запросы и передачу данных, поскольку если один компьютер использует перенаправление данного порта, то в этот же момент времени другой компьютер не может делать то же самое. Если требуется настроить работу приложений, которым необходим постоянный поток данных, занимающих порт на длительное время, то динамическое перенаправление малоэффективно. Однако и в этом случае существует решение проблемы — оно заключается в использовании демилитаризованной зоны.

DMZ-зона

Демилитаризованная зона (DMZ-зона) — еще один способ обхода ограничений протокола NAT. Эту возможность предоставляют все современные маршрутизаторы. При размещении компьютера внутренней локальной сети в зоне DMZ он становится прозрачным для протокола NAT. Фактически это означает, что компьютер внутренней сети виртуально располагается перед брандмауэром. Для ПК, расположенного в DMZ-зоне, осуществляется перенаправление всех портов на один внутренний IP-адрес, что позволяет организовать передачу данных из внешней сети во внутреннюю.

Если, к примеру, сервер с IP-адресом 192.168.1.10, находящийся во внутренней локальной сети, размещен в DMZ-зоне, а сама локальная сеть защищена NAT-устройством, то при поступлении по любому порту запроса из внешней сети по адресу WAN-порта NAT-устройства этот запрос будет переадресован на IP-адрес 192.168.1.10, то есть на адрес виртуального сервера в DMZ-зоне.

Как правило, NAT-маршрутизаторы класса SOHO позволяют разместить в DMZ-зоне только один компьютер. Пример конфигурирования компьютера в DMZ-зоне показан на рис. 5.

 

Рис. 5. Пример конфигурации компьютера

Рис. 5. Пример конфигурации компьютера в DMZ-зоне

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

Технология NAT Traversal

Перечисленные нами способы обхода ограничений протокола NAT могут представлять определенную сложность для начинающих пользователей. Для облегчения администрирования была предложена автоматизированная технология конфигурирования NAT-устройств. Технология NAT Traversal (прохождение NAT) позволяет сетевым приложениям определять, что они находятся под защитой NAT-устройства, узнавать внешний IP-адрес и выполнять перенаправление портов в автоматическом режиме. Таким образом, преимущество технологии NAT Traversal заключается в том, что пользователю не приходится вручную настраивать сопоставление портов.

Технология NAT Traversal опирается на протоколы UPnP (Universal Plug and Play) поэтому нередко в маршрутизаторах для активирования данной технологии необходимо отметить опцию UPnP&NAT.

КомпьютерПресс 4'2006

Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует