Настройка NAT на ISR

Что такое stateful firewall?
Почему маршрутизаторы класса soho не советуют для применения для защиты даже обычного офиса на несколько человек?

Зачастую рекомендуют для применения устройства более высокого класса, чем необходимо. В этой статье заденем часть функционала, из-за которого эти советы возникают. Основная это обслуживание границы внутренней и внешней сетей, и использование технологии NAT. Точнее, в большинстве случаев подразумевается подвид nat-трансляции Port Address Translation (PAT), но все привыкли и этот случай называть NAT, и мы не будем выбиваться из общих тенденций.

Итак, трансляция заголовков пакетов при пересечении административных доменов.

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

Рассмотрим использование stateless-роутера например с подобной конфигурацией:

access-list 10 permit ip 192.168.0.0 0.0.0.255 any

ip nat pool POOL1 1.1.1.1 1.1.1.1 255.255.255.0

ip nat inside source list 10 pool POOL1 overload

interface gig 0/1.100

ip nat inside

interface gig 0/1.200

ip nat outside

Настройка NAT на ISR

И исходные данные просты – NAT настроен, и клиентское ПО создаёт обращение на некий сервер в интернете с адресом 2.2.2.2, скорее всего по протоколу https.

При маршрутизации клиентского пакета через наш роутер произойдёт трансляция, в ходе которой вместо клиентского адреса будет изменён source ip в tcp-пакете на 1.1.1.1, и скорее всего будет изменён source port, если он уже был занят другой трансляцией.

При этом для ответных пакетов в таблице трансляций роутера создаётся так называемый pinhole – «дырка», которая позволяет ответному пакету от сервера 2.2.2.2 при получении роутером в таблице трансляций найти первоначальную, и восстановить destination ip и destination port, с дальнейшей обработкой пакета по правилам маршрутизации и передаче этого пакета конечному клиенту.

И тут, в зависимости от реализации NAT конечного устройства всплывают разные нюансы.

Во многих soho-устройствах производитель экономит на размере таблицы трансляций: source address для входящих внешних пакетов не проверяется, в результате - pinhole на практике позволяет при обращении на внешний порт от любого айпи-адреса отослать пакет на клиентское устройство. И, например, при том что многие мобильные устройства зачастую не имели встроенного фаервола – это было чревато потенциальным получением доступа.

Даже если мы используем роутер Cisco или подобное устройство с корректной работой NAT/PAT , и условие проверки source address для входящего внешнего пакета выполняется – и это не облегчает безопасность айти-инфраструктуры. Для любого stateless nat-преобразования не выполняется проверка корректности транзитных пакетов. При установлении корректного соединения, в нашем случае tcp, должна пройти так называемая процедура тройного рукопожатия, и в случае stateless-устройства ответные внешние пакеты не будут проверены на корректность соответствия этой процедуре.

Если стоит вопрос безопасности предприятия – рекомендуем в первую очередь рассматривать устройства уровня Cisco ASA/Firepower. Кроме строгоой проверки трафика, эти устройства дадут и другие интересные возможности, например отслеживание обслуживаемых внутренних хостов на возможное участие в ботнетах, проверка сгружаемых файлов антивирусом, и много, много другой радости для системного администратора.

Полезные мелочи, которые полезно учитывать.

  1. На софт-роутерах Cisco есть возможность использования domainless NAT. В таком случае у будут отсутствовать направления inside/outside, и трансляция будет производиться в зависимости от заданного направления прохождения пакетов. Для указания возможности принятия (саб)интерфейсов в трансляции адресов используется директива ip nat enable.
  2. При использовании SLA для переключения внешних каналов доступа, не забывайте после замены конфигурации очищать таблицу NAT-трансляций – пакет от клиента для уже устанавливавшегося соединения уйдёт в неактивный сабинтерфейс в соответствии с имеющейся записью в таблице трансляций.
  3. Не забывайте использовать инструкцию ip nat translation max-entries all-host, которая ограничивает максимальное трансляций на адрес. В случае заражения и рассылки спама, или при запуске сотрудником битторент-клиента работа офиса может быть парализована, при кажущемся отсутствии нагрузки. Особенно стоит обратить внимание, если используется проброс внешнего порта для какого-либо внутреннего сервиса.
  4. Возможно, вы видели таблицу с максимально возможной пропускной способностью выбранной модели маршрутизатора Cisco поколения G1, которые до сих пор популярны. Стоит учесть, что данные были получены буквально в лабораторных условиях, при использовании NAT и других ёмких сервисов, например IPSec, максимальная пропускная способность будет меньше. Для последних моделей производительность публикуется для трафика IMIX, и указывается производительность в сочетании с другими сервисами, что более приближено к реальным условиям.
17 Декабря 2019 г.