В предыдущей заметке мы познакомились с рефлексивными списками доступа Reflexive ACL, позволяющими реализовать базовые функции межсетевого экрана с отслеживанием состояний сессий — Stateful Firewall.
Дальнейшим развитием этой технологии стал CBAC, который представляет собой уже полноценный межсетевой экран и поддерживает инспекцию протоколов прикладного уровня.
Идея CBAC состоит в инспекции информации в проходящем через маршрутизатор трафике, специфичной для каждого из поддерживаемых протоколов и разрешение ответного трафика в списке доступа ACL, работающем в противоположном направлении.
Согласитесь, это очень похоже на Reflexive ACL, но только в CBAC выполняется более глубокая инспекция, затрагивающая не только общие протоколы TCP/UDP/ICMP, но и протоколы прикладного уровня, такие как FTP, HTTP, ESMTP, DNS и многие другие.
CBAC может работать как в маршрутизируемом режиме (routed), так и в прозрачном (transparent) режиме бриджа. А также с протоколами IPv4 и IPv6, но для IPv6 есть определенные ограничения (поддерживается только FTP).
Настройка CBAC состоит из двух частей:
- Создание правил инспекции требуемых протоколов и применение их на интерфейсе в направлении начального потока пакетов. Обычно это поток пакетов их доверенной сети в не-доверенную. Например, из локальной сети LAN в Интернет.
- Создание списка доступа ACL и применение его в направлении, противоположном начальному потоку пакетов. Как правило, это поток пакетов из не-доверенной сети в доверенную, например, из Интернет в LAN.
Тут тоже прослеживается аналогия с рефлексивными списками доступа. Но, в отличии от них, в список доступа ACL не добавляются динамические правила.
Вместо этого, на пути следования пакетов через маршрутизатор вставляется специальное правило обхода списка доступа ACL для ответного трафика. И он пройдет через маршрутизатор, даже если в самом ACL и стоит для него запрет.
Привила инспекции и список доступа ACL могут быть как на одном и том же интерфейсе (направление действия in/out), так и на двух различных (направление действия in/in).
Движок инспекции протоколов CBAC может оповещать о нарушениях в работы инспектируемых протоколов и попытках атак.
CBAC также позволяет вести простейший подсчет трафика — количество переданных и принятых байт, длительность сессий. Можно включить регистрацию такой информации в syslog.
По умолчанию, CBAC не работает с трафиком, генерируемым самим маршрутизатором и трафиком, адресованным к нему. Но это можно включить с помощью ключевого слова router-traffic в правилах инспекции.
В приведенном примере производится инспекция трафика из локальной сети LAN в Интернет, включая общие протоколы транспортного уровня TCP/UDP/ICMP и протоколы прикладного уровня HTTP/DNS/FTP/ESMTP.
Также инспектируется не только транзитный трафик, но и TCP/UDP/ICMP к/от самого маршрутизатора.
Список доступа INBOUND_ACL запрещает все входящие соединения. Но механизм CBAC пропустит все ответные входящие соединения, инициируемые из локальной сети.
Более того, для сессий FTP в активном режиме будет автоматически открыт порт передачи данных, даже несмотря на то, что он не был известен заранее.
Правило инспекции с названием CBAC применяется на внешнем интерфейсе GigabitEthernet0/0 в исходящем направлении, а список доступа INBOUND_ACL на том же интерфейсе, но уже во входящем направлении.
Пример конфигурации:
R1:
ip inspect name CBAC udp router-traffic
ip inspect name CBAC tcp router-traffic
ip inspect name CBAC icmp router-traffic
ip inspect name CBAC http
ip inspect name CBAC dns
ip inspect name CBAC ftp
ip inspect name CBAC esmtp
!
ip access-list extended INBOUND_ACL
deny ip any any
!
interface GigabitEthernet0/0
ip inspect CBAC out
ip access-group INBOUND_ACL in
Подводя итоги, хочу сказать, что в принципе CBAC можно рассматривать в качестве полноценного межсетевого экрана.
Но есть один маленький нюанс, он более не развивается. Дальнейшие разработки CBAC остановлены и теперь весь его новый функционал и возможности представлены в технологии-приемнике Zone- Based Policy Firewall (ZBPF).
Более подробно это будет разбираться в практическом курсе по настройке современных межсетевых экранов на базе маршрутизаторов с Cisco IOS – Zone-Base Policy Firewall.
Курс представляет собой рабочую тетрадь Workbook, где даются все необходимые теоретические основы для изучения и практические задания к лабораторным работам.
В конце приводится детальный разбор заданий и способов их решений, а также диагностика и методы поиска неисправностей.
Для практики на время прохождения курса предоставляется дистанционный доступ к лаборатории проекта LearnCisco.Ru.
Курс будет доступен уже в начале марта.
Чтобы получить максимально льготные условия, переходите по этой ссылке и записывайтесь в «ранний список»!
В следующей заметке я расскажу об опасности фрагментированных IP пакетов и как с их помощью можно обойти списки доступа ACL и проникнуть в защищаемую сеть!