юдифь с головой олорифма
А я очень не люблю облачные сервисы.
Вот стоит задача: запретить доступ до api.mail.ru со всех наших филиалов. Запретить при помощь файрвола, cisco asa 5505, скажем. Известно, что у api.mail.ru много адресов.
И тут же хочется, конечно, использовать fqdn acl.
А облом.
Если сделать nslookup api.mail.ru 8.8.8.8 (чтобы заведомо ничего не кэшировалось), то выяснится, что:
Это называется — облако.
Строго говоря, если есть кэширующий DNS сервер (грубо говоря, DefaultDNS у асы не гугловый, а корпоративный), схема может сработать — пока тот же сервер является DNS-ом у пользователей.
Но вот незадача — время кэширования у асы и корпоративного DNS легко может не совпасть.
UPD: в попытке всё же воспользоваться fqdn пока сделала
dns domain-lookup inside
dns server-group DefaultDNS
expire-entry-timer minutes 60
poll-timer minutes 1
name-server 10.150.1.2
domain-name tensor.ru
Смотрю, сколько он насобирает за час. Ещё интересно, что произойдёт на стыке. Время жизни записи минута, итого у парня 60 попыток собрать всю эту байду. А потом всё обнулится
Т.е., на практике меня интересуют очень длинные expire-entry-timer minutes.
UPD: Результаты обкатки показали, что на практике схема рабочая и пока не глючит, если установить достаточно большое время. После запуска начинает работать не сразу, что очевидно.
Вот стоит задача: запретить доступ до api.mail.ru со всех наших филиалов. Запретить при помощь файрвола, cisco asa 5505, скажем. Известно, что у api.mail.ru много адресов.
И тут же хочется, конечно, использовать fqdn acl.
А облом.
Если сделать nslookup api.mail.ru 8.8.8.8 (чтобы заведомо ничего не кэшировалось), то выяснится, что:
- api.mail.ru резолвится только в один адрес за раз
- но при следующем запросе это будет уже другой адрес
- и эти адреса не принадлежат одной AS-ке и общего между собою ничего не имеют.
Это называется — облако.
Строго говоря, если есть кэширующий DNS сервер (грубо говоря, DefaultDNS у асы не гугловый, а корпоративный), схема может сработать — пока тот же сервер является DNS-ом у пользователей.
Но вот незадача — время кэширования у асы и корпоративного DNS легко может не совпасть.
Даже если мы настроим проверку обновлений на циске раз в минуту, то за эту минуту, пока acl не обновился, много чего может случиться .
А вот кстати поговорим про обновление acl. Каждый раз, как acl будет обновляться, циска будет фактически выполнять операцию clear xlate, дропая коннекшены (так как на базе fqdn она формирует вполне себе классическую ACL-ку). upd: вроде, всё же нет.
Последний минус этой схемы — на блокируемых адресах может быть размещено что-то полезное. А то так заблочишь api.mail.ru, а тебе mail.ru отдаваться перестанет (чисто теоретически).
Как мы(Николай Второй, император и самодержец) это порешали?
Добавили на корпоративный DNS указ резолвить api.mail.ru в серый внутренний адрес 10.x.x.x, а на ASA, соответственно, блочить запросы к этому ip-шнику.
Здесь для сравнения нужно добавить контрпример, пусть будет maps.google.com.
Сделайте nslookup maps.google.com и почувствуйте разницу: вот это благодатная почва для fqdn acl.
Последний минус этой схемы — на блокируемых адресах может быть размещено что-то полезное. А то так заблочишь api.mail.ru, а тебе mail.ru отдаваться перестанет (чисто теоретически).
Как мы
Добавили на корпоративный DNS указ резолвить api.mail.ru в серый внутренний адрес 10.x.x.x, а на ASA, соответственно, блочить запросы к этому ip-шнику.
Здесь для сравнения нужно добавить контрпример, пусть будет maps.google.com.
Сделайте nslookup maps.google.com и почувствуйте разницу: вот это благодатная почва для fqdn acl.
UPD: в попытке всё же воспользоваться fqdn пока сделала
dns domain-lookup inside
dns server-group DefaultDNS
expire-entry-timer minutes 60
poll-timer minutes 1
name-server 10.150.1.2
domain-name tensor.ru
Смотрю, сколько он насобирает за час. Ещё интересно, что произойдёт на стыке. Время жизни записи минута, итого у парня 60 попыток собрать всю эту байду. А потом всё обнулится

UPD: Результаты обкатки показали, что на практике схема рабочая и пока не глючит, если установить достаточно большое время. После запуска начинает работать не сразу, что очевидно.
Получается, надо до L7 пакет просматривать, чтобы фильтровать строго определённый сайт.
Ну и вы тоже придумали выход, прикольно.
Я и не думал, что FQDN ACL делают просто резолв и потом строят обычный ACL.
Потому что представим обратную ситуацию - трафик до облачного ресурса нужно разрешить, а не запретить, и мой аккуратный в целом метод уже не работает
Я собираюсь всё-таки реализовать очень похожую схему, но динамическую, с помощью fqdn: задам ему политику обновления (нового запроса к DNS) - раз в скажем одну минуту, а кэш задам длинный - скажем, час, или 8 часов или 24 часа, если возможно.
Итого : за 8 часов циска опросит все возможные ip-шники для данного имени, добавит в acl и будет обрабатывать.
ip могут полностью смениться, а acl будет работать. Срыв маловероятен)
>>> ASA уходи в "полку" по CPU, если настроить обновления ACL раз в минуту - не говорила я этого! Она у нас уходит в полку по совершенно левым причинам, и чтобы избавиться от этого, мы блочим конкретные ресурсы. А почему уходит - это связано с багом при авторизации.
В частности, в сентенции про clear xlate я уже сомневаюсь: надо тестировать.
Мне просто удобно сюда записывать рабочие моменты и апдейтить, как разберусь)
Коннекшены он вроде не рвёт. поэтому что это считается не за добавление нового rule, а за добавление объекта в rule