antiCisco blogs


блоги по технологиям и оборудованию cisco от инструкторов

Опубликовано 21 Сентябрь , 2010

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

Для этого надо создать правило ip inspect, описать те протоколы, которые вы хотите обрабатывать и запоминать их сессии, привесить это правило на интерфейс и … всё 🙂 Маршрутизатор будет запоминать те сессии, которые были инициированы изнутри, и пропускать снаружи только те пакеты, которые «заказаны». Если же пришедший пакет не соответствует никакой сессии, то дальше маршрутизатор проверяет ACL, висящий на интерфейсе, на предмет наличия разрешающего правила для этого пакета. Т.е. сначала обрабатывается динамический кэш сессий, и только потом – список доступа, если динамической записи не обнаружено.
Пример конфига:

Ro(config)# ip inspect name FW tcp
Ro(config)# ip inspect name FW udp
Ro(config)# ip inspect name FW icmp
Ro(config)# ip inspect name FW ftp
Ro(config)# ip inspect name FW sip

TCP — слушает ТСР сессии.
UDP — слушает UDР сессии.

остальные строки включают прослушивание и обработку соответствующего протокола, т.к. его работа сложнее, чем просто пропуск ответного пакета TCP/UDP сессии. Например, протокол FTP имеет один служебный канал, по которому идёт согласование и аутентификация, а данные передаются совсем по другому каналу, причём сессия пытается инициироваться снаружи и маршрутизатор её не пропустит. А если включить инспектирование, маршрутизатор подслушает служебную сессию, узнает, на каких портах сервер и клиент договорились слать данные и эту сессию тоже поместит в список разрешенных (т.е. в кэш сессий).

Ro(config)# int f0/1 (внутренний интерфейс)
Ro(config-if)# ip inspect FW in

Правило вешается на вход внутреннего или выход внешнего интерфейса, т.е. в направлении на ВЫХОД трафика наружу.
На внешнем интерфейсе висит строгий ACL, который почти ничего не пропускает снаружи, например

Ro(config)# ip access-l ex STRICT
Ro(config-ex-nacl)# deny ip any any
 
Ro(config)# int f0/0 (внешний интерфейс)
Ro(config-if)# ip access-g STRICT in

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

Есть тонкость: ACL STRICT попутно запретит весь трафик на сам роутер, т.к. по умолчанию трафик роутера не попадает в инспектируемый. Чтобы инспектировать трафик маршрутизатора надо добавить

Ro(config)# ip inspect name FW router

Если же задачи сложные, например, надо создавать различные зоны безопасности (демилитаризованные зоны, DMZ) и гибко настраивать работу протоколов между этих зон, то лучше воспользоваться так называемым зональным межсетевым экраном (zone-based firewall). Описывать его здесь не буду, ибо это уже не для молодого бойца 🙂

 

Метки: , ,
Опубликовано: Маршрутизаторы и коммутаторы

 

One Response to “Защищаемся маршрутизатором: Межсетевое экранирование (базовый МСЭ).”

comment rss - Trackback

  1. zubastiy:

    Добрый день.

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

» Оставить комментарий

Вы должны войти чтобы прокомментировать.