Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по FreeBSD (http://forum.oszone.net/forumdisplay.php?f=10)
-   -   DNS, блокировка хостов по имени (http://forum.oszone.net/showthread.php?t=47131)

Greyman 24-03-2005 18:14 309772

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:

FrIcE 25-03-2005 12:08 309958

Поставь прокси сервер и на нем натраивай фильтры... Дорога в сторону squid, можно настроить прозрачное проксирование, чтоб пользователи этого не замечали, заодно кэш будет.

Greyman 25-03-2005 13:16 309979

FrIcE
Прокси не достаточно. Он для блокировки уже используется. Однако часть трафика приходиться пускать мимо прокси (используется авторизация, поэтому прозрачную проксю для всего трафика настроить возможности нет, а без авторизации нельзя, т.к. по ней статистика считается).

Greyman 31-03-2005 08:54 311638

Хм... Есть 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? Возможно где-то можно решать стоящую предо мной задачу проще...

mar 31-03-2005 11:45 311683

Greyman
я правильно поняла, что задача ни под каким видом не пускать своих пользователей по любым портам и протоколам на машины зоны name.domen.com (name.domain.com, qq.mane.domain.com, vasia.name.domain.com) ?

кстати, самая смешная и простая подмена для внутреннего dns - сервера, это записи ему в /etc/hosts, определение порядка просмотра hosts, bind, а тем же ipfw - разрешение dns-запросов для юзеров сети только на этот dns

Greyman 31-03-2005 13:32 311709

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:


mar 31-03-2005 15:20 311736

хм, да, действительно - у меня было несколько таких мест, squid берет из /etc/hosts, но юзерам вовнутрь действительно отдается то, что из dns, так что придется по-другму крутить :(

Greyman 31-03-2005 15:47 311742

mar
А с подзадачей п.1 не подскажешь? ИМХО такой вариант мне подойдет, но как правильно его конкретно реализовать, вот в чем вопрос...

mar 01-04-2005 11:04 311933

Greyman
нда :( вопрос из области подмены DNS (см. "атака на Internet"). Что-то ничего разумного из настроек самого dns вголову не приходит,- попробую поэксперементировать

mar 02-04-2005 15:49 312333

Greyman
что-то, как не кручу - с bind ничего умного (ничего не ломающего и безопасного) в голову не прихзодит. (bind устроен так, что обменивается сведениями с наружными dns-серверами тоже. Поэтому происывать на нем какую-то зону, - это подымать ее данные наверх и ничего хорошего не получится (имхо, но даже эксперементировать не хотелось бы).
Поэтому, скорее надо смотреть в сторону периодического (скрипт по крону) выявлению ip по заданеному списку и добавлению правил блокировки по выявленному ip на firewall-е (скажем, ipfw).
Минус - меня всегда слегка пугает слишком большое число правил firewall-а, но, в конечном итоге в случае чего эта проблема решается апгрейдом.
Подводный камень - в зависимости от имеющихся правил задача расстановки порядка разрешений + удаляемых/добавляемых запретов может оказаться не самой тривиальной.

А можно встречный вопрос: что это за сеть (без подробностей: предприятие, провайдер, домашняя сеть и т.д.) Может, можно вообще по-другому извернуться?

Greyman 03-04-2005 21:01 312577

mar
Цитата:

Поэтому, скорее надо смотреть в сторону периодического (скрипт по крону) выявлению ip по заданеному списку и добавлению правил блокировки по выявленному ip на firewall-е (скажем, ipfw).
Цитата:

Цитата я, 1-ый пост
3) На IP-адресе блокируемого хоста могут также "висеть" хосты, доступ к которым блокировать не требуется

Кривовасто-с, ИМХО, получается...

Цитата:

что это за сеть (без подробностей: предприятие, провайдер, домашняя сеть и т.д.)
Предприятия. Корпоративная, территориально распредиленная, с объединенияем площадок через различные каналы связи, и единственным общим шлюзом в Интернет.

Цитата:

Может, можно вообще по-другому извернуться?
Может. Я основную задачу в первом посте приписал, а про DNS-это мой вариант, к-ый пришел в голову...

mar 03-04-2005 21:41 312582

давай по порядку:
1)
Цитата:

На IP-адресе блокируемого хоста могут также "висеть" хосты, доступ к которым блокировать не требуется
это, скорей всего только к www относится (и виртуаотным хостам на удаленной машине)? Весь HTTP-трафик можно пучтить в сад, то есть через прокси (причем при желании незаметно для пользователей)
2) какие еще порты нужны изнутри? (из тех, что могут быть задействованы на хостах в черном списке)?
3) какие вообще порты (на наружный трафик) разрешены пользователям? (Поскольку это предприятие - может быть какая-то политика?)


Время: 22:33.

Время: 22:33.
© OSzone.net 2001-