Технологии защиты информации в компьютерных сетях

Технология преобразования сетевых адресов, механизмы PAT и NAT

Показывать лекцию целиком

Технология преобразования сетевых адресов (NAT)

Ещё одним механизмом, позволяющим поддерживать сетевую безопасность, является технология NAT.

NAT (Network Address Translation – преобразование сетевых адресов) – это механизм в сетях TCP/IP, позволяющий преобразовывать IP-адреса транзитных пакетов. Механизм NAT описан в RFC 1631, RFC 3022.

Преобразование адресов методом NAT может производиться почти любым маршрутизирующим устройством – Интернет-маршрутизатором, сервером доступа, межсетевым экраном. Наиболее популярным является Source NAT (SNAT), суть механизма которого состоит в замене адреса источника (source) при прохождении пакета в одну сторону и обратной замене адреса назначения (destination) в ответном пакете. Наряду с адресами источника/назначения могут также заменяться номера портов источника и назначения.

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

На рисунках ниже приведен пример действия механизма NAT.

(рис 7.1) Подключение одного компьютера с доступом в Интернет

Пользователь корпоративной сети отправляет запрос в Интернет, который поступает на внутренний интерфейс маршрутизатора, сервер доступа или межсетевого экрана (устройство NAT).

(рис 7.2) Объединение нескольких компьютеров в локальную сеть c доступом в Интернет

Устройство NAT получает пакет и делает запись в таблице отслеживания соединений, которая управляет преобразованием адресов.

(рис 7.3) Запись в таблице соединений

Затем подменяет адрес источника пакета собственным внешним общедоступным IP-адресом и посылает пакет по месту назначения в Интернет.

(рис 7.4) Преобразование адресов при использовании функции NAT

Узел назначения получает пакет и передает ответ обратно устройству NAT.

(рис 7.5) Принятие запроса сервером и отправка ответа

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

(рис 7.6) Преобразование адресов при использовании функции NAT

Существует 3 базовых концепции трансляции адресов:

  • статическая (SAT, Static Network Address Translation),
  • динамическая (DAT, Dynamic Address Translation),
  • маскарадная (NAPT, NAT Overload, PAT).
  • Статический NAT отображает локальные IP-адреса на конкретные публичные адреса на основании один к одному. Применяется, когда локальный хост должен быть доступен извне с использованием фиксированных адресов.

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

    Маскарадный NAT (NAPT, NAT Overload, PAT, маскарадинг) – форма динамического NAT, который отображает несколько частных адресов в единственный публичный IP-адрес, используя различные порты. Известен также как PAT (Port Address Translation).

    Механизмов взаимодействия внутренней локальной сети с внешней общедоступной сетью может быть несколько – это зависит от конкретной задачи по обеспечению доступа во внешнюю сеть и обратно и прописывается определенными правилами. Определены 4 типа трансляции сетевых адресов:

  • Full Cone (Полный конус)
  • Restricted Cone (Ограниченный конус)
  • Port Restricted Cone (Порт ограниченного конуса)
  • Symmetric (Симметричный)
  • В первых трех типах NAT для взаимодействия разных IP-адресов внешней сети с адресами из локальной сети используется один и тот же внешний порт. Четвертый тип – симметричный – для каждого адреса и порта использует отдельный внешний порт.

    При использовании NAT, работающему по типу Full Cone, внешний порт устройства (маршрутизатора, сервера доступа, межсетевого экрана) открыт для приходящих с любых адресов запросов. Если пользователю из Интернета нужно отправить пакет клиенту, расположенному за NAT’ом, то ему необходимо знать только внешний порт устройства, через который установлено соединение. Например, компьютер за NAT’ом с IP-адресом 192.168.0.4 посылает и получает пакеты через порт 8000, которые отображаются на внешний IP-адрес и порт, как 10.1.1.1:12345. Пакеты из внешней сети приходят на устройство с IP-адресом:портом 10.1.1.1:12345 и далее отправляются на клиентский компьютер 192.168.0.4:8000.

    Во входящих пакетах проверяется только транспортный протокол; адрес и порт назначения, адрес и порт источника значения не имеют.

    (рис 7.7) Использование NAT Full Cone

    При использовании NAT, работающему по типу Restricted Cone, внешний порт устройства (маршрутизатора, сервера доступа, межсетевого экрана) открыт для любого пакета, посланного с клиентского компьютера, в нашем примере: 192.168.0.4:8000. А пакет, пришедший из внешней сети (например, от компьютера 172.16.0.5:4000) на устройство с адресом:портом 10.1.1.1:12345, будет отправлен на компьютер 192.168.0.4:8000 только в том случае, если 192.168.0.4:8000 предварительно посылал запрос на IP-адрес внешнего хоста ( в нашем случае – на компьютер 172.16.0.5:4000). То есть, маршрутизатор будет транслировать входящие пакеты только с определенного адреса источника (в нашем случае компьютер 172.16.0.5:4000), но номер порта источника при этом может быть любым. В противном случае, NAT блокирует пакеты, пришедшие с хостов, на которые 192.168.0.4:8000 не отправлял запроса.

    (рис 7.8) Использование NAT Restricted Cone

    Механизм NAT Port Restricted Cone почти аналогичен механизму NAT Restricted Cone. Только в данном случае NAT блокирует все пакеты, пришедшие с хостов, на которые клиентский компьютер 192.168.0.4:8000 не отправлял запроса по какому-либо IP-адресу и порту. Mаршрутизатор обращает внимание на соответствие номера порта источника и не обращает внимания на адрес источника. В нашем примере маршрутизатор будет транслировать входящие пакеты с любым адресом источника, но порт источника при этом должен быть 4000. Если клиент отправил запросы во внешнюю сеть к нескольким IP-адресам и портам, то они смогут посылать пакеты клиенту на IP-адрес:порт 10.1.1.1:12345.

    Symmetric NAT существенно отличается от первых трех механизмов способом отображения внутреннего IP-адреса:порта на внешний адрес:порт. Это отображение зависит от IP-адреса:порта компьютера, которому предназначен посланный запрос. Например, если клиентский компьютер 192.168.0.4:8000 посылает запрос компьютеру №1 (172.16.0.5:4000), то он может быть отображен как 10.1.1.1:12345, в тоже время, если он посылает с того же самого порта (192.168.0.4:8000) на другой IP-адрес, он отображается по-другому (10.1.1.1:12346).

    Компьютер №1 (172.16.0.5:4000) может отправить пакет только на 10.1.1.1:12345, а компьютер №2 (169.10.2.8:6000) – только на 10.1.1.1:12346. Если любой из них попытается отправить пакеты на порт, с которого он не получал запроса, NAT заблокирует данные пакеты.

    Внешний IP-адрес:порт открыт только тогда, когда клиентский компьютер отправляет данные во внешнюю сеть по определенному адресу:порту.

    (рис 7.9) Использование Symmetric NAT

    NAT выполняет три важных функции.

  • Позволяет сэкономить IP-адреса, транслируя несколько внутренних IP-адресов в один внешний публичный IP-адрес (или в несколько, но меньшим количеством, чем внутренних). По такому принципу построено большинство сетей в мире: на небольшой район домашней сети местного провайдера или на офис выделяется 1 публичный (внешний) IP-адрес, за которым работают и получают доступ интерфейсы с частными (внутренними) IP-адресами.
  • Позволяет предотвратить или ограничить обращение снаружи к внутренним хостам, оставляя возможность обращения из внутренней сети во внешнюю. При инициации соединения изнутри сети создаётся трансляция. Ответные пакеты, поступающие снаружи, соответствуют созданной трансляции и поэтому пропускаются. Если для пакетов, поступающих из внешней сети, соответствующей трансляции не существует (а она может быть созданной при инициации соединения или статической), они не пропускаются.
  • Позволяет скрыть определённые внутренние сервисы внутренних хостов/серверов. По сути, выполняется та же указанная выше трансляция на определённый порт, но возможно подменить внутренний порт официально зарегистрированной службы (например, 80-й порт TCP (HTTP-сервер) на внешний 54055-й). Тем самым, снаружи, на внешнем IP-адресе после трансляции адресов на сайт (или форум) для осведомлённых посетителей можно будет попасть по адресу http://dlink.ru:54055, но на внутреннем сервере, находящимся за NAT, он будет работать на обычном 80-м порту.
  • Однако следует упомянуть и о недостатках данной технологии:

  • Не все протоколы могут "преодолеть" NAT. Некоторые не в состоянии работать, если на пути между взаимодействующими хостами есть трансляция адресов. Опеределенные межсетевые экраны, осуществляющие трансляцию IP-адресов, могут исправить этот недостаток, соответствующим образом заменяя IP-адреса не только в заголовках IP, но и на более высоких уровнях (например, в командах протокола FTP).
  • Из-за трансляции адресов "много в один" появляются дополнительные сложности с идентификацией пользователей и необходимость хранить полные логи трансляций.
  • Атака DoS со стороны узла, осуществляющего NAT – если NAT используется для подключения многих пользователей к одному и тому же сервису, это может вызвать иллюзию DoS-атаки на сервис (множество успешных и неуспешных попыток). Например, избыточное количество пользователей ICQ за NAT приводит к проблеме с подключением к серверу некоторых пользователей из-за превышения допустимой скорости подключений.
  • Механизмы PAT и NAT

    У этой технологии есть множество названий – это и трансляция адрес/порта, и "проброс" портов, и перенаправление портов, и "порт-форвардинг/порт-маппинг", и сокращенные DNAT/PAT. Но с любым названием открытие портов просто необходимо для тех, кто хочет показать свой сервер из-за стены под названием NAT.

    Virtual Servers

    Фунция Virtual Servers в Интернет-маршрутизаторах D-Link обеспечивает перенаправление запросов пользователей из внешней сети (например, Интернета) на определенный порт маршрутизатора во внутреннюю сеть на IP-адрес сервера.

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

    Сервер можно выбрать из выпадающего меню, либо прописать вручную (рис 7.10). Номера публичного и частного портов можно использовать либо уже известные (привязанные к определенным службам и приложениям), либо назначать в соответствии с требованиями политики сетевого администратора.

    (рис 7.10) Использование функции Virtual Server на примере маршрутизатора DIR-615

    Port Forwarding

    Данная функция используется для открытия нескольких портов (например: 80,68,888) или диапазона портов (например, 100-150) маршрутизатора и перенаправления данных из внешней сети через эти порты к определенному IP-адресу компьютера (сервера) во внутренней сети.

    (рис 7.11) Использование функции Port Forwarding на примере маршрутизатора DIR-857

    DMZ

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

    DMZ (Demilitarized Zone – демилитаризованная зона) – Технология обеспечения безопасности внутренней сети при предоставлении доступа внешних пользователей к определенным ресурсам внутренней сети (таким как почтовые, WWW-, FTP-серверы и др.). При применении данной технологии серверы, отвечающие на запросы из внешней сети, находятся в особом сегменте сети (который и называется DMZ), а доступ к основным ресурсам сети ограничен с помощью межсетевого экрана (firewall). В отличие от функции "Virtual Servers", когда отображается только один порт, в данном случае запрос извне на любой порт внешнего, например, WAN- или Internet-интерфейса отображается на такой же порт компьютера или сервера, указанного в настройках DMZ. То есть, все открытые порты на этом компьютере (сервере) доступны снаружи.

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

    (рис 7.12) Использование функции DMZ на примере маршрутизатора DIR-857

    Функция DMZ в маршрутизаторах D-Link несколько отличается от аналогичной функции в аппаратном решении межсетевых экранов D-Link. В аппаратных межсетевых экранах настраивается отдельный физический порт DMZ с возможностью использования DMZ-интерфейса в правилах конфигурации. В маршрутизаторах же нет выделенного физического порта, а функция DMZ настраивается по IP-адресу хоста, находящемуся в локальной сети (LAN).

    (рис 7.13) Использование технологии DMZ на межсетевых экранах D-Link

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

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

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

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

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

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

    Прозрачный режим (Transparent mode)

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

    Прозрачный режим позволяет устанавливать межсетевые экраны NetDefendOS D-Link в любое место сети без изменения ее конфигурации и без уведомления пользователей о работе межсетевого экрана. И внешний, и внутренний интерфейсы DFL могут принадлежать одной сети. Функционал NetDefendOS предоставляет возможность контроля и анализа за изменением сетевого трафика, также может разрешать или запрещать доступ к различным сервисам (например, HTTP) и ссылкам. Пакеты, поступающие на DFL, будут перенаправлены на необходимый сетевой интерфейс с учетом настроенных политик безопасности.

    (рис 7.14) Прозрачный режим для LAN- и WAN-интерфейсов

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

    Межсетевой экран NetDefend может работать в двух режимах: режим маршрутизации, использующий некоммутируемые маршруты и прозрачный режим, использующий коммутируемые маршруты.

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

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

    Коммутируемые маршруты (Switch Routes)

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

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

    Иногда в коммутируемых маршрутах вместо all-nets можно указывать диапазон сети, это применяется в том случае, если сеть разделена между двумя интерфейсами и администратор не знает, к какому интерфейсу принадлежит пользователь.

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

    (рис 7.15) Объединение двух различных интерфейсов в одну сеть

    Рассмотрим на примерах варианты использования прозрачного режима:

  • Обеспечение конфиденциальности между пользователями.

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

  • Управление доступом в Интернет.

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

  • Как работает прозрачный режим?

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

    При установке нового соединения хост определяет физический адрес назначения в ARP-запросе. Система NetDefendOS анализирует этот запрос, проводит на его основании внутреннюю транзакцию и передает ARP-запрос на все остальные интерфейсы (за исключением исходного) по коммутируемым маршрутам. Если в течение определенного времени система NetDefendOS получает ARP-ответ от интерфейса назначения, то анализируется запись о состоянии ARP-транзакции, на основании которой ARP-ответ передается интерфейсу источника.

    Во время проведения ARP-транзакции система NetDefendOS изучает информацию об адресе источника, информация о котором записывается в две таблицы: CAM (Content Addressable Memory – контекстно-адресуемая память) и кэш 3 уровня. В таблице CAM хранятся MAC-адреса, доступные для данного интерфейса, а в кэш 3 уровня (применяется только для IP-трафика) заносится соответствие между IP-адресами и MAC-адресами.

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

    Система NetDefendOS находит исходящие ARP-запросы так же, как ICMP-запросы (ping), которые действуют как инициация отправителя оригинального IP-пакета для интерфейсов назначения, указанных в коммутируемом маршруте. Если получен ARP-ответ, то система NetDefendOS обновляет CAM-таблицу и кэш 3 уровня и отправляет пакет к интерфейсу назначения.

    При переполнении CAM-таблицы или кэша 3 уровня происходит автоматическая очистка таблиц и кэша.

    Основные требования при конфигурации прозрачного режима:

  • Следует собрать в одну группу все интерфейсы (Interface Groups), для которых необходимо включить прозрачный режим. Опция Security/Transport Equivalent применяется в том случае, когда требуется, чтобы хосты могли свободно переходить с одного интерфейса на другой в соответствии с одними и теми же настройками безопасности, в том числе IP-правилами.
  • В соответствующей таблице маршрутизации создается коммутируемый маршрут, связанный с данной группой интерфейсов. Любые некоммутируемые маршруты для интерфейсов этой группы должны быть удалены из таблицы маршрутизации.
  • Для параметра Network коммутируемого маршрута определяется значение all-nets или в качестве альтернативы указывается значение сети или диапазона IP-адресов, которые будут прозрачно работать между интерфейсами.
  • Создается соответствующее IP-правило в наборах IP-правил, позволяющее трафику проходить между интерфейсами, работающими в прозрачном режиме.
  • Если на прохождение трафика в прозрачном режиме не нужно накладывать никаких ограничений, то следует указать только одно правило. Для обеспечения безопасности рекомендуется добавлять запрещающие IP-правила.
  • Прозрачный режим при использовании DHCP

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

    Тем не менее, DHCP-сервер можно использовать при установке прозрачного режима для размещения IP-адресов пользователей. При Интернет-соединении распределять публичные IP-адреса может DHCP-сервер провайдера. В этом случае система NetDefendOS должна быть сконфигурирована, как DHCP Relayer, передающий DHCP-трафик между пользователями и DHCP-сервером.

    Вернуться к учебному плану