Вот стоит задача: запретить доступ до 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 попыток собрать всю эту байду. А потом всё обнулится Т.е., на практике меня интересуют очень длинные expire-entry-timer minutes.
UPD: Результаты обкатки показали, что на практике схема рабочая и пока не глючит, если установить достаточно большое время. После запуска начинает работать не сразу, что очевидно.