Reflexive ACL — настройка и пример работы зеркальных списков контроля доступа
Зеркальные (reflexive) ACL – это расширение технологии extended ACL, которое позволяет организовать пропуск трафика из интернета в локальную сеть только в ответ на предварительно сделанный запрос из локальной сети в интернет.
Рекомендуется начать знакомство с ACL c этой статьи, чтобы было понятно, о чём идёт речь.
Технология эта напоминает внешне использование ключевого слова established, но имеется рад серьёзных отличий как в реализации, так и по функционалу. Суть технологии вот в чём: на выход из сети ставится ACL, который выпускает трафик изнутри наружу. Одновременно с пропуском трафика, автоматически формируется встречный ACL, для пропуска трафика извне вовнутрь. Таким образом появляется возможность получать ответы на свои запросы из интернета.
Приведём пример: есть сеть 192.168.0.0/24 из неё надо организовать доступ в интернет по http, pop и smtp
Пишется на выход следующие 2 ACL:
R1(config)#ip access-list extended IN-TO-OUT R1(config-ext-nacl)#permit tcp 192.168.0.0 0.0.0.255 any eq www reflect BACK-WWW R1(config-ext-nacl)#permit tcp 192.168.0.0 0.0.0.255 any eq pop3 reflect BACK-POP R1(config-ext-nacl)#permit tcp 192.168.0.0 0.0.0.255 any eq smtp reflect BACK-SMTP R1(config-ext-nacl)#exit R1(config)#ip access-list extended OUT-TO-IN R1(config-ext-nacl)#evaluate BACK-WWW R1(config-ext-nacl)#evaluate BACK-POP R1(config-ext-nacl)#evaluate BACK-SMTP
Применяем ACL
R1#configure terminal Enter configuration commands, one per line. End with CNTL/Z. R1(config)#interface fa0/0 R1(config-if)#ip access-group IN-TO-OUT in R1(config-if)#inter fa0/1 R1(config-if)#ip access-group OUT-TO-IN in R1(config-if)#
IN-TO-OUT разрешает выход трафика изнутри наружу. Пропускается трафик на порты 25,80 и 110 параллельно формируются зеркальные ACL BACK-WWW, BACK-POP и BACK-SMTP, которые пропускают обратный трафик. Весь трафик извне фильтруется ACL OUT-TO-IN, который по умолчанию ничего не пропускает, но когда появляются зеркальные записи, то трафик начинает пропускаться.
Предположим, что человек обращается с адреса 192.168.0.100 к веб страничке на сервере 123.123.123.123 при обращении выбирается случайный порт отправителя (например, 1234), порт получателя используется стандартный – 80. Когда пакет проходит через маршрутизатор, он проверяется IN-TO-OUT. И по первой строчке проходит, одновременно в ACL BACK-WWW автоматически на время добавляется зеркальная запись:
permit tcp host 123.123.123.123 eq 80 host 192.168.0.100 eq 1234
То есть в настоящий момент весь трафик из интернета вовнутрь будет заблокирован, за исключением ответа от веб-сервера на наш запрос. Преимущество Reflexive ACL перед established заключается в том, что established пользуется только флагом в TCP сегменте, а Reflexive реально отслеживает соединения. Флаг можно подделать, в этом случае входящий трафик начнёт пропускаться. Конечно, его вряд ли кто-то примет, но можно устроить, например, DOS атаку. Но самое важное преимущество, с помощью established в принципе нельзя организовать пропуск протоколов, отличных от TCP. Например, протоколов, базирующихся на UDP, или ICMP трафик. Зеркальные же ACL справляются с этими задачами отлично.
Комментарии
Антон (не проверено)
вт, 06/06/2017 - 21:53
Постоянная ссылка (Permalink)
Здравствуйте, у меня в 7 Packet Tracer нету команды "reflect", что посоветуете сделать?
bacek
ср, 06/14/2017 - 09:37
Постоянная ссылка (Permalink)
Гость (не проверено)
вс, 02/24/2019 - 20:25
Постоянная ссылка (Permalink)
Reflexive и time-base ACL выбросили из курса CCNA. Поэтому попробуйте GNS3 или купите себе парочку роутеров. Эта фича вполне поддерживается на Cisco 26xx. Они дешевые, не разоритесь.
Денис (не проверено)
вс, 08/11/2019 - 17:53
Постоянная ссылка (Permalink)
У вас номер порта не совпадает, лишняя четверка
bacek
чт, 08/22/2019 - 12:49
Постоянная ссылка (Permalink)
Dimogen (не проверено)
сб, 09/28/2019 - 23:34
Постоянная ссылка (Permalink)
Народ 19-й год на дворе, какой GNS? Как по мне так он помирает, EVE-NG намного удобнее.
Добавить комментарий