- Форум
- /
- IT и телекоммуникации
- /
- Конфигурация сетевого оборудования
- /
- Безопасность DMVPN сети: Фильтрация IP-сессий с применением Reflexive Access List (Reflexive ACL)
Безопасность DMVPN сети: Фильтрация IP-сессий с применением Reflexive Access List (Reflexive ACL)
Rendering Error in layout Widget/Social: Call to a member function exists() on null. Please enable debug mode for more information.
10 года 11 мес. назад - 10 года 4 мес. назад #33
от TOLLIFi
IT и Телеком: IP-телефония, интернет-технологии, программирование, web-сервисы.
TOLLIFi создал тему: Безопасность DMVPN сети: Фильтрация IP-сессий с применением Reflexive Access List (Reflexive ACL)
В данной статье пойдет речь о безопасности Intranet-сети от несанкционированного доступа из Internet путем фильтрации IP-сессий с помощью рефлексивных ACL (Reflexive Access List). Ниже приведенная информация полезна прежде всего для тех сетевых инженеров, чья DMVPN сеть построена на маршрутизаторах, у которых интерфейсы подключены напрямую в Internet (без доп.сетевого оборудования безопасности типа ASA/PIX и т.п.) и с которых, собственно, и строится туннельная сеть. Статья является продолжением предыдущих тем:
DMVPN + OSPF + Cisco GLBP (Gateway Load Balancing Protocol). Балансировка нагрузки и маршрутизация
.
Здесь приведены описание и примеры конфигурации по фильтрации IP-сессий, где Reflexive ACL накладывается на внутренние (Internal) интерфейсы (когда в сети присутствует DMZ) и внешние (External) интерфейсы. Оба варианта подразумевают физические интерфейсы (не Interface Tunnel и т.п.!). Впрочем, подобные ACL полезны для любых физических интерфейсов, подключенных напрямую к Internet.
В прикрепленных файлах литература по курсу "Configuring IP Session Filtering (Reflexive Access Lists)", в которой приведено подробное описание и примеры конфигурации Reflexive Access Lists...
--- ОПИСАНИЕ И ОСНОВНЫЕ ОСОБЕННОСТИ REFLEXIVE ACL >>>
Рефлексивные списки доступа обеспечивают способность фильтровать IP-поток трафика через маршрутизатор, основываясь на сессионной информации протоколов верхних уровней. Они могут пропускать поток трафика, сгенерированного из внутренней сети, но в то же время - блокируют внешний входящий поток (в зависимости от его назначения). Reflexive ACL могут быть определены в конфигурации только в extended ACL.
Преимущества:
- Защита сети от Spoofing и DoS-атак, интеграция с существующей Firewall-политикой.
- Лекго конфигурируются, наравне со стандартными ACL.
Основные особенности:
- В данных списках доступа содержатся динамические записи (правила), по которым разрешается/запрещается передача трафика извне. Временные правила существуют до тех пор, пока либо не завершится текущая IP-сессия, либо не будет создана новая.
- Reflexive ACL не накладываются на интерфейс маршрутизатора непосредственно, а подключаются через родительские ACL, в которых Reflexive ACL определены.
- Не содержат в качестве последней записи правило блокирующее весь трафик, как в стандартных ACL!
Управление IP-сессиями
Сравним Reflexive ACL (далее rACL) с примером стандартных ACL (далее sACL). В sACL похожим вариантом фильтрации IP-сессий являетются правила для TCP-пакетов. Эти правила на конце обычно содержат ключевое слово established, что означает - пропускать входящий трафик, основываясь на флагах TCP-сегмента ACK и RST. И они накладываются непосредственно на интерфейс маршрутизатора. Что касается rACL, они создают более надежную защиту благодаря временным правилам, учитывающим не только значения полей ACK и RST, но и такие параметры, как: IP источника и назначения, порты источника и назначения. Помимо всего прочего, rACL способны таким же способом фильтровать поток UDP, ICMP и т.п. (в которых отсутствуют поля ACK и RST и, соответственно, к ним невозможно применить ключевое слово established). При использовании rACL нет необходимости учитывать все возможные правила для фильтрации входящего трафика, все связанные с текущей сессией правила добавляются автоматически и являются временными.
Примечание:
Рефлексивные списки доступа не работаю с некоторыми приложениями, использующие порты, номера которых могут изменяться в текущей сессии. Например, для FTP необходимо будет использовать пассивный режим работы.
Характеристики временных записей
- имеет префикс 'permit';
- имеет тот же протокол (TCP) что и исходящий поток (поток во внешнюю сеть);
- имеет те же адреса источника и назначения и порты источника и назначения, что и для исходящего потока (за исключением изменяемых адресов и портов), что справедливо для TCP и UDP. Для ICMP, IGMP и т.п. используются значения номера типа протокола;
- входящий поток фильтруется согласно временным записям Reflexive ACL;
- удаляется сразу же, как будет пропущен последний пакет текущей сессии;
- если длительное время в текущей сессии не передается ни одного пакета, запись по-истечении сконфигурированного времени автоматически удаляется.
--- ПРИМЕНЕНИЕ REFLEXIVE ACL НА ИНТЕРФЕЙСАХ >>>
Существуют 2 основных способа применения рефлексивных списков доступа: на internal-интерфейсах и на external-интерфейсах.
1. Internal Interface.
Наложение ACL на внутренний (internal) интерфейс маршрутизатора чаще всего используется в сетях с зоной DMZ, где обычно располагаются сервера, доступ к которым возможен из внешней сети.
Пример конфигурации:
2. External Interface.
Наложение ACL на внешний (external) интерфейс маршрутизатора чаще всего используется в сетях без зоны DMZ, где интерфейсы подключаются напрямую к внешней сети (Internet).
Пример конфигурации:
--- ПРИМЕР КОНФИГУРАЦИИ REFLEXIVE ACL ДЛЯ ИНТЕРФЕЙСОВ СЕТИ DMVPN >>>
Описание маршрутизаторов и IOS:
- HUB Router: Cisco2851 (C2800NM-ADVENTERPRISEK9-M, Version 15.1(4)M).
- Site Router: Cisco871 (C1841-ADVSECURITYK9-M, Version 12.4(23)).
1. [HUB1]:2. [HUB2]:3. [Site1]:4. [Site2]:
После применения всех ACL, можно проверить работоспособность динамически созданного Reflexive ACL:
При желании можно также применить стандартные меры безопасности для всех маршрутизаторов, отключив потенциально опасные и редко используемые сервисы:
Некоторые пояснения:
- ip reflexive-list timeout 60 - тайм-аут, по-истечении которого, для неактивных IP-сессии, удаляется соответствующее динамическое правило из Reflexive ACL;
- object-group network OBJ-GROUP-NET1 - группа внешних "проверенных" хостов (IP филиалов);
- object-group service OBJ-GROUP-SRV1 - сервисы (протоколы/порты), открытые для инициализации из внешней сети;
- icmp echo, udp eq isakmp, udp eq non500-isakmp, esp - в контексте конфигурации object-group, необходимы для правильной инициализации GRE и mGRE туннелей, при чем для GRE достаточно открыть первые 3 сервиса (echo, isakmp и, по-желанию, non500-isakmp) для правильного установления туннеля, но для mGRE еще необходимо открыть esp, поскольку mGRE (DMVPN) использует также протокол NHRP (доп. инфо. в предыдущих темах);
- icmp ... - все сервисы icmp настроены для удобства администрирования (проверка доступности внешних узлов пингом из доверенных IP);
- evaluate RFLX-ACL - в контексте ip access-list extended, предлагает просмотреть также правила access list RFLX-ACL, перед тем как перейти к другому правилу (напоминание: RFLX-ACL не содержит последним правилом 'deny any'! и поэтому после его проверки, управление передается заново родительскому ACL).
- permit ip any any reflect RFLX-ACL - в контексте ip access-list extended, указывает на генерацию динамических правил в RFLX-ACL от IP-сессий, созданных от внутренних хостов.
- ip verify unicast reverse-path - проверка входящего трафика: пакету с SrcIP=A.A.A.A, пришедшему в интерфейс F0, должна соответствовать запись в таблице маршрутизации, т.е. подсеть источника пакета (например, A.A.A.0/24) достижима через интерфейс F0, иначе входящий пакет будет отброшен. Исключение - балансировка маршрутизации исходящего трафика (например, F0 и F1). Не рекоммендуется применять в ассиметричных каналах передачи данных, когда пакет отправляется с одного интерфейса, а ответ приходит на другой интерфейс. Рекоммендуется применять на аплинках к провайдеру.
Здесь приведены описание и примеры конфигурации по фильтрации IP-сессий, где Reflexive ACL накладывается на внутренние (Internal) интерфейсы (когда в сети присутствует DMZ) и внешние (External) интерфейсы. Оба варианта подразумевают физические интерфейсы (не Interface Tunnel и т.п.!). Впрочем, подобные ACL полезны для любых физических интерфейсов, подключенных напрямую к Internet.
В прикрепленных файлах литература по курсу "Configuring IP Session Filtering (Reflexive Access Lists)", в которой приведено подробное описание и примеры конфигурации Reflexive Access Lists...
--- ОПИСАНИЕ И ОСНОВНЫЕ ОСОБЕННОСТИ REFLEXIVE ACL >>>
ВНИМАНИЕ: Спойлер!
Рефлексивные списки доступа обеспечивают способность фильтровать IP-поток трафика через маршрутизатор, основываясь на сессионной информации протоколов верхних уровней. Они могут пропускать поток трафика, сгенерированного из внутренней сети, но в то же время - блокируют внешний входящий поток (в зависимости от его назначения). Reflexive ACL могут быть определены в конфигурации только в extended ACL.
Преимущества:
- Защита сети от Spoofing и DoS-атак, интеграция с существующей Firewall-политикой.
- Лекго конфигурируются, наравне со стандартными ACL.
Основные особенности:
- В данных списках доступа содержатся динамические записи (правила), по которым разрешается/запрещается передача трафика извне. Временные правила существуют до тех пор, пока либо не завершится текущая IP-сессия, либо не будет создана новая.
- Reflexive ACL не накладываются на интерфейс маршрутизатора непосредственно, а подключаются через родительские ACL, в которых Reflexive ACL определены.
- Не содержат в качестве последней записи правило блокирующее весь трафик, как в стандартных ACL!
Управление IP-сессиями
Сравним Reflexive ACL (далее rACL) с примером стандартных ACL (далее sACL). В sACL похожим вариантом фильтрации IP-сессий являетются правила для TCP-пакетов. Эти правила на конце обычно содержат ключевое слово established, что означает - пропускать входящий трафик, основываясь на флагах TCP-сегмента ACK и RST. И они накладываются непосредственно на интерфейс маршрутизатора. Что касается rACL, они создают более надежную защиту благодаря временным правилам, учитывающим не только значения полей ACK и RST, но и такие параметры, как: IP источника и назначения, порты источника и назначения. Помимо всего прочего, rACL способны таким же способом фильтровать поток UDP, ICMP и т.п. (в которых отсутствуют поля ACK и RST и, соответственно, к ним невозможно применить ключевое слово established). При использовании rACL нет необходимости учитывать все возможные правила для фильтрации входящего трафика, все связанные с текущей сессией правила добавляются автоматически и являются временными.
Примечание:
Рефлексивные списки доступа не работаю с некоторыми приложениями, использующие порты, номера которых могут изменяться в текущей сессии. Например, для FTP необходимо будет использовать пассивный режим работы.
Характеристики временных записей
- имеет префикс 'permit';
- имеет тот же протокол (TCP) что и исходящий поток (поток во внешнюю сеть);
- имеет те же адреса источника и назначения и порты источника и назначения, что и для исходящего потока (за исключением изменяемых адресов и портов), что справедливо для TCP и UDP. Для ICMP, IGMP и т.п. используются значения номера типа протокола;
- входящий поток фильтруется согласно временным записям Reflexive ACL;
- удаляется сразу же, как будет пропущен последний пакет текущей сессии;
- если длительное время в текущей сессии не передается ни одного пакета, запись по-истечении сконфигурированного времени автоматически удаляется.
--- ПРИМЕНЕНИЕ REFLEXIVE ACL НА ИНТЕРФЕЙСАХ >>>
ВНИМАНИЕ: Спойлер!
Существуют 2 основных способа применения рефлексивных списков доступа: на internal-интерфейсах и на external-интерфейсах.
1. Internal Interface.
Наложение ACL на внутренний (internal) интерфейс маршрутизатора чаще всего используется в сетях с зоной DMZ, где обычно располагаются сервера, доступ к которым возможен из внешней сети.
Пример конфигурации:
!
interface Ethernet 0
description *** Access from the I-net to our Internal Network via this interface ***
ip access-group inboundfilters in
ip access-group outboundfilters out
!
ip reflexive-list timeout 120
!
ip access-list extended outboundfilters
permit eigrp any any
deny icmp any any
evaluate tcptraffic
!
ip access-list extended inboundfilters
permit tcp any any reflect tcptraffic
!
2. External Interface.
Наложение ACL на внешний (external) интерфейс маршрутизатора чаще всего используется в сетях без зоны DMZ, где интерфейсы подключаются напрямую к внешней сети (Internet).
Пример конфигурации:
!
interface Serial 1
description *** Access to the Internet via this interface ***
ip access-group inboundfilters in
ip access-group outboundfilters out
!
ip reflexive-list timeout 120
!
ip access-list extended outboundfilters
permit tcp any any reflect tcptraffic
!
ip access-list extended inboundfilters
permit eigrp any any
deny icmp any any
evaluate tcptraffic
!
--- ПРИМЕР КОНФИГУРАЦИИ REFLEXIVE ACL ДЛЯ ИНТЕРФЕЙСОВ СЕТИ DMVPN >>>
ВНИМАНИЕ: Спойлер!
Описание маршрутизаторов и IOS:
- HUB Router: Cisco2851 (C2800NM-ADVENTERPRISEK9-M, Version 15.1(4)M).
- Site Router: Cisco871 (C1841-ADVSECURITYK9-M, Version 12.4(23)).
1. [HUB1]:
!
ip reflexive-list timeout 60
!
object-group network OBJ-GROUP-NET1
description *** Outside IP Address Pool ***
host 11.11.11.1
host 12.12.12.1
!
object-group service OBJ-GROUP-SRV1
description *** Outside Services for Outside IP Address Pool ***
icmp echo
udp eq isakmp
udp eq non500-isakmp
esp
!
interface FastEthernet0/3/0
description *** Internet ***
ip address 1.1.1.2 255.255.255.248
ip access-group ACL-EDGE-FILTER-IN in
ip access-group ACL-EDGE-FILTER-OUT out
!
ip access-list extended ACL-EDGE-FILTER-IN
permit object-group OBJ-GROUP-SRV1 object-group OBJ-GROUP-NET1 any
evaluate RFLX-ACL
permit icmp any any echo-reply
permit icmp any any time-exceeded
permit icmp any any packet-too-big
permit icmp any any traceroute
permit icmp any any unreachable
ip access-list extended ACL-EDGE-FILTER-OUT
permit ip any any reflect RFLX-ACL
!
!
ip reflexive-list timeout 60
!
object-group network OBJ-GROUP-NET1
description *** Outside IP Address Pool ***
host 11.11.11.1
host 12.12.12.1
!
object-group service OBJ-GROUP-SRV1
description *** Outside Services for Outside IP Address Pool ***
icmp echo
udp eq isakmp
udp eq non500-isakmp
esp
!
interface FastEthernet0/3/0
description *** Internet ***
ip address 2.2.2.2 255.255.255.248
ip access-group ACL-EDGE-FILTER-IN in
ip access-group ACL-EDGE-FILTER-OUT out
!
ip access-list extended ACL-EDGE-FILTER-IN
permit object-group OBJ-GROUP-SRV1 object-group OBJ-GROUP-NET1 any
evaluate RFLX-ACL
permit icmp any any echo-reply
permit icmp any any time-exceeded
permit icmp any any packet-too-big
permit icmp any any traceroute
permit icmp any any unreachable
ip access-list extended ACL-EDGE-FILTER-OUT
permit ip any any reflect RFLX-ACL
!
!
ip reflexive-list timeout 60
!
interface FastEthernet0/0
description *** Internet ***
ip address 11.11.11.2 255.255.255.248
ip access-group ACL-EDGE-FILTER-IN in
ip access-group ACL-EDGE-FILTER-OUT out
!
ip access-list extended ACL-EDGE-FILTER-IN
permit udp host 1.1.1.2 any eq isakmp non500-isakmp
permit udp host 2.2.2.2 any eq isakmp non500-isakmp
permit esp host 1.1.1.2 any
permit esp host 2.2.2.2 any
permit icmp host 1.1.1.2 any echo
permit icmp host 2.2.2.2 any echo
evaluate RFLX-ACL
permit icmp any any echo-reply
permit icmp any any time-exceeded
permit icmp any any packet-too-big
permit icmp any any traceroute
permit icmp any any unreachable
ip access-list extended ACL-EDGE-FILTER-OUT
permit ip any any reflect RFLX-ACL
!
!
ip reflexive-list timeout 60
!
interface FastEthernet0/0
description *** Internet ***
ip address 12.12.12.2 255.255.255.248
ip access-group ACL-EDGE-FILTER-IN in
ip access-group ACL-EDGE-FILTER-OUT out
!
ip access-list extended ACL-EDGE-FILTER-IN
permit udp host 1.1.1.2 any eq isakmp non500-isakmp
permit udp host 2.2.2.2 any eq isakmp non500-isakmp
permit esp host 1.1.1.2 any
permit esp host 2.2.2.2 any
permit icmp host 1.1.1.2 any echo
permit icmp host 2.2.2.2 any echo
evaluate RFLX-ACL
permit icmp any any echo-reply
permit icmp any any time-exceeded
permit icmp any any packet-too-big
permit icmp any any traceroute
permit icmp any any unreachable
ip access-list extended ACL-EDGE-FILTER-OUT
permit ip any any reflect RFLX-ACL
!
После применения всех ACL, можно проверить работоспособность динамически созданного Reflexive ACL:
!
HUB1#show ip access-lists RFLX-ACL
Reflexive IP access list RFLX-ACL
permit esp host 11.11.11.2 host 1.1.1.2 (46979 matches) (time left 59)
permit esp host 12.12.12.2 host 1.1.1.2 (1765275 matches) (time left 59)
!
При желании можно также применить стандартные меры безопасности для всех маршрутизаторов, отключив потенциально опасные и редко используемые сервисы:
!
no ip source-route
no service udp-small-servers
no service tcp-small-servers
no service finger
no ip bootp server
no ip http server
no cdp run
!
ip cef
!
interface FastEthernet0/0
no ip redirects
no ip unreachables
no ip proxy-arp
no ip directed-broadcast
ip verify unicast reverse-path
!
Некоторые пояснения:
- ip reflexive-list timeout 60 - тайм-аут, по-истечении которого, для неактивных IP-сессии, удаляется соответствующее динамическое правило из Reflexive ACL;
- object-group network OBJ-GROUP-NET1 - группа внешних "проверенных" хостов (IP филиалов);
- object-group service OBJ-GROUP-SRV1 - сервисы (протоколы/порты), открытые для инициализации из внешней сети;
- icmp echo, udp eq isakmp, udp eq non500-isakmp, esp - в контексте конфигурации object-group, необходимы для правильной инициализации GRE и mGRE туннелей, при чем для GRE достаточно открыть первые 3 сервиса (echo, isakmp и, по-желанию, non500-isakmp) для правильного установления туннеля, но для mGRE еще необходимо открыть esp, поскольку mGRE (DMVPN) использует также протокол NHRP (доп. инфо. в предыдущих темах);
- icmp ... - все сервисы icmp настроены для удобства администрирования (проверка доступности внешних узлов пингом из доверенных IP);
- evaluate RFLX-ACL - в контексте ip access-list extended, предлагает просмотреть также правила access list RFLX-ACL, перед тем как перейти к другому правилу (напоминание: RFLX-ACL не содержит последним правилом 'deny any'! и поэтому после его проверки, управление передается заново родительскому ACL).
- permit ip any any reflect RFLX-ACL - в контексте ip access-list extended, указывает на генерацию динамических правил в RFLX-ACL от IP-сессий, созданных от внутренних хостов.
- ip verify unicast reverse-path - проверка входящего трафика: пакету с SrcIP=A.A.A.A, пришедшему в интерфейс F0, должна соответствовать запись в таблице маршрутизации, т.е. подсеть источника пакета (например, A.A.A.0/24) достижима через интерфейс F0, иначе входящий пакет будет отброшен. Исключение - балансировка маршрутизации исходящего трафика (например, F0 и F1). Не рекоммендуется применять в ассиметричных каналах передачи данных, когда пакет отправляется с одного интерфейса, а ответ приходит на другой интерфейс. Рекоммендуется применять на аплинках к провайдеру.
Это вложение скрыто для гостей.
Пожалуйста, зарегистрируйтесь или войдите, чтобы увидеть его.
Пожалуйста, зарегистрируйтесь или войдите, чтобы увидеть его.
IT и Телеком: IP-телефония, интернет-технологии, программирование, web-сервисы.
Последнее редактирование: 10 года 4 мес. назад пользователем TOLLIFi.
Спасибо сказали: valery12
Пожалуйста Войти , чтобы присоединиться к беседе.
- Вы здесь:
-
Главная
-
Форум
-
IT и телекоммуникации
-
Конфигурация сетевого оборудования
- Безопасность DMVPN сети: Фильтрация IP-сессий с применением Reflexive Access List (Reflexive ACL)