Показать полную графическую версию : DNS, блокировка хостов по имени
По поиску конкретного ответа на интересующий вопрос не нашел, посему обращаюсь к гуру...
Дано:
1) локальная сеть
2) внутренний DNS-сервер
3) на рабочих станциях в качестве DNS-сервера настроен внутренний DNS ЛВС
4) внутренний DNS под управление FreeBSD
5) с помощью МЭ настроена блокировка любых dns-запросов из ЛВС от всех мащин, кроме внутреннего DNS-сервера
Задача:
заблокировать доступ к произвольному хосту <name.domen.com>
Условия:
1) Блокируемых хостов много, в том числе в разных доменных зонах
2) IP-адреса блокируемых хостов регулярно меняются
3) На IP-адресе блокируемого хоста могут также "висеть" хосты, доступ к которым блокировать не требуется
Ваши предложнения?
Мне, на первый взгляд, кажется наиболее логичным заставить внутренний DNS, в ответ на dns-запрос по блокируемому хосту, отдавать ненастоящий IP-адрес (например тот же 127.0.0.1). Однако как это проще всего сделать я не понимаю...:( Действительно ли необходимо заводить для каждого блокируемого хоста его доменную зону на своем DNS-сервере? Но это же гемморой, особенно если учесть, что к хостам из той же доменной зоны доступ должен остаться. Может можно для этого как-то задействовать механизм кеширования, с его "Non-authoritative answer"? Но как прописать "статические" ответы для разрешения адресов конкретных хостов (чтоб он не пытался обновлять по ним информацию с других DNS-срверов)?
Подскажите, умные люди, плиз...:pray:
Поставь прокси сервер и на нем натраивай фильтры... Дорога в сторону squid, можно настроить прозрачное проксирование, чтоб пользователи этого не замечали, заодно кэш будет.
FrIcE
Прокси не достаточно. Он для блокировки уже используется. Однако часть трафика приходиться пускать мимо прокси (используется авторизация, поэтому прозрачную проксю для всего трафика настроить возможности нет, а без авторизации нельзя, т.к. по ней статистика считается).
Хм... Есть 2-ва подвопроса попроще:
1) Запретить надо доступ ко всем хостам в зоне <name.domen.com> и выше (или ниже, неуверен как правильнее). Вопрос, как правильно прописать в BIND зону <name.domen.com>, чтобы DNS-сервер на все зопросы имен из этой зоны резолвил левый IP (хотя бы 127.0.0.1) или вообще ничего не резолвил? Главное, чтобы запрос не шел с внутреннего DNS наружу. Доступ к DNS-серверу из внешней сети запрещен, поэтому ни у <name.domen.com>, ни у <domen.com> оснований для протеста не будет. Ась?
2) Какое еще есть ПО для DNS-сервера под FreeBSD? Возможно где-то можно решать стоящую предо мной задачу проще...
Greyman
я правильно поняла, что задача ни под каким видом не пускать своих пользователей по любым портам и протоколам на машины зоны name.domen.com (name.domain.com, qq.mane.domain.com, vasia.name.domain.com) ?
кстати, самая смешная и простая подмена для внутреннего dns - сервера, это записи ему в /etc/hosts, определение порядка просмотра hosts, bind, а тем же ipfw - разрешение dns-запросов для юзеров сети только на этот dns
marя правильно поняла, что задача ни под каким видом не пускать своих пользователей по любым портам и протоколам на машины зоны name.domen.com (name.domain.com, qq.mane.domain.com, vasia.name.domain.com) Yes, yes, yes!:applause:
кстати, самая смешная и простая подмена для внутреннего dns - сервера, это записи ему в /etc/hosts, определение порядка просмотра hosts, bind А это точно поможет? Разве это помешает внутреннему DNS-серверу переправлять запросы прописанным в нем "forwarders"? Может я просто не учитываю что-то в работе резолвера? Т.е. резолвер сначала смотрит hosts, затем кэш сервера, затем записи зон, а уже потом отправляет запрос дальше? Так? Просто я думал, что это немного не так, я ошибался?
С опытной проверкой небольшая проблемка, поэтому сперва хотелось бы быть уверенном, что решение дейтвительно соответствует задаче...
а тем же ipfw - разрешение dns-запросов для юзеров сети только на этот dns С этим проблем нет. Я об этом писал в описании задачи еще в первом посте. Далее идут уже ее вариации и подзадачи...
Плиз, очень хочется решить проблему! :pray:
хм, да, действительно - у меня было несколько таких мест, squid берет из /etc/hosts, но юзерам вовнутрь действительно отдается то, что из dns, так что придется по-другму крутить :(
mar
А с подзадачей п.1 не подскажешь? ИМХО такой вариант мне подойдет, но как правильно его конкретно реализовать, вот в чем вопрос...
Greyman
нда :( вопрос из области подмены DNS (см. "атака на Internet"). Что-то ничего разумного из настроек самого dns вголову не приходит,- попробую поэксперементировать
Greyman
что-то, как не кручу - с bind ничего умного (ничего не ломающего и безопасного) в голову не прихзодит. (bind устроен так, что обменивается сведениями с наружными dns-серверами тоже. Поэтому происывать на нем какую-то зону, - это подымать ее данные наверх и ничего хорошего не получится (имхо, но даже эксперементировать не хотелось бы).
Поэтому, скорее надо смотреть в сторону периодического (скрипт по крону) выявлению ip по заданеному списку и добавлению правил блокировки по выявленному ip на firewall-е (скажем, ipfw).
Минус - меня всегда слегка пугает слишком большое число правил firewall-а, но, в конечном итоге в случае чего эта проблема решается апгрейдом.
Подводный камень - в зависимости от имеющихся правил задача расстановки порядка разрешений + удаляемых/добавляемых запретов может оказаться не самой тривиальной.
А можно встречный вопрос: что это за сеть (без подробностей: предприятие, провайдер, домашняя сеть и т.д.) Может, можно вообще по-другому извернуться?
marПоэтому, скорее надо смотреть в сторону периодического (скрипт по крону) выявлению ip по заданеному списку и добавлению правил блокировки по выявленному ip на firewall-е (скажем, ipfw).
3) На IP-адресе блокируемого хоста могут также "висеть" хосты, доступ к которым блокировать не требуется Кривовасто-с, ИМХО, получается...
что это за сеть (без подробностей: предприятие, провайдер, домашняя сеть и т.д.)Предприятия. Корпоративная, территориально распредиленная, с объединенияем площадок через различные каналы связи, и единственным общим шлюзом в Интернет.
Может, можно вообще по-другому извернуться? Может. Я основную задачу в первом посте приписал, а про DNS-это мой вариант, к-ый пришел в голову...
давай по порядку:
1) На IP-адресе блокируемого хоста могут также "висеть" хосты, доступ к которым блокировать не требуется
это, скорей всего только к www относится (и виртуаотным хостам на удаленной машине)? Весь HTTP-трафик можно пучтить в сад, то есть через прокси (причем при желании незаметно для пользователей)
2) какие еще порты нужны изнутри? (из тех, что могут быть задействованы на хостах в черном списке)?
3) какие вообще порты (на наружный трафик) разрешены пользователям? (Поскольку это предприятие - может быть какая-то политика?)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.