Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1
RSS
Методы защиты DNS aka BIND
 
Какие есть методы защиты днс сервера в ОС Freebsd от посягательств иноверцев :?:
 
Канешна, вот статья одного эксперта из  сибири по этому поводу:
http://s1b.livejournal.com/26186.html
 
chroot jail
 
1 Скрыть версию
options { version "BIND"; }
2 Ограничение запросов
3 Защита передачи зоны
options { allow-transfer { 192.168.0/24; } ;};
4 chroot
5 dnssec
6 Генерация более сложных id
options { use_id-pool yes; };
 
А что, до сих пор нападают? :)
 
Цитата
Andrey Y. Ostanovsky пишет:
А что, до сих пор нападают?
Пока нет, но лучше предохранятся, а то всякое может случиццо
 
800-1000 рекурсивных запросов на бинд в режиме кеширующего рекурсивного ns укладывают стабильно.

Защита - сменить бинд на что-то более адекватное.
 
Или запретить рекурсию для  внешних адресов и ограничить скорость поступления DNS-запросов с одного адреса ;)
 
Статью можно целую Вам написать в ответ на вопрос. В общем можно констатировать, что в BIND уже давно перестали находить дырки ( но могут найти еще) и остались в общем тока проблемы с самим протоколом DNS - из за алгоритма его работы, состоящего в том, что он шлет запросы по UDP и единственный способ подтверждения что ответ на запрос был послан именно с легитимного сервера это приход в ответе идентификатора, являющегося 16 битным числом. Таким образом злоумышленники могут угадать или перехватить этот ID и направить вам ответ неверный (что приведет к DOS атаке) или c адресом себя же ( что приведет к атаке человек посередине) или с адресом каго-то сайта (и вы подвергнетесь фарминг атаке). Хорошим способом защиты от атак на протокол DNS является поставить систему обнаружения и предотвращения атак. К сожалению защищенная версия DNSSEC в Интернете так и не развивается по определенным причинам.

Если коротко перечислять список, то получится следующее:
1. Самое главное поставить последнюю версию BIND и еще главнее следить за тем, чтобы она всегда была "самой последней".
2. Не говорить хакерам версию вашего BIND. Например так:
options {
version "KGB Edition";
};
3. Вообще говоря не нужно иметь один DNS сервер: сделайте хотя бы два: внутренний и внешний, тогда только внутренние пользователи будут иметь возможность разрешить внутренние адреса, а внешние смогут узнать только общедоступные имена вашей сетки, типа www. Опять же здесь защита идет совместно с firewallом. Подробнее описывать не буду - если вам интересно, то сходите на курсы или почитайте книжку про этот метод защиты.
4. Трансфер зон разрешате только с secondary серверов. Не надо злоумышленникам разрешать скачивать зоны. Например закройте TCP 53 на Firewall для всех кроме secondary dns.
5. Ограничьте сам демон. FreeBSD позволяет заключить демона в jail - смысл в том, что демон работает в фиксированной папке и не может выйти из нее, даже если захочет. Запустите DNS сервер из под jail.
6. Разберитесь с рекурсивными запросами. Хотите ли вы, чтобы неизвестные юзеры из интернета заставляли ваш DNS сервер делать рекурсивные запросы? Думаю что нет. Запретите это.

и т.д. книжек на эту тему много исписано, особенно в издательстве O'Reilly ;-) У них есть очень интересная книжка DNS and BIND. Вам нужна 11 глава.

кстати не забудьте защитить сам по себе FreeBSD, знаете если взломают саму операционку то ваша навороченная защита DNS будет ненужна.
 
Цитата
ksiva пишет:
2. Не говорить хакерам версию вашего BIND. Например так:
options {
version "KGB Edition";
};
Если хакерам будет показывается версия KGB, тогда что мне должно высветится при моем запросе "bind -v"?
 
То же, что и всегда.
 
named[584]: zone 10.10.10.in-addr.arpa/IN: refresh: could no set file modification time of 'slave/10.10.10.in-addr.arpa': permission denied
Что это такое и почему оно могло появится
 
Цитата
BigBrother пишет:
Что это такое
"Permission denied" не наталкивает ни на какие мысли?

Цитата
BigBrother пишет:
и почему оно могло появится
А если немного подумать о том что делает подчиненный(slave) DNS-сервер когда берет зону с мастера и вспомнить под какой учетной записью работает bind и какие права стоят на файле slave/10.10.10.in-addr.arpa?
 
Цитата
R пишет:
Или запретить рекурсию для внешних адресов и ограничить скорость поступления DNS-запросов с одного адреса
Если это провайдерский днс, который прописывают у себя клиенты(или отдаваемые по ipcp/dhcp), то он по определению рекурсивный и ограничить к нему доступ = лишить пользователей днс.

При достаточно большом числе пользователей бинд начинает тошнить(особенно когда размер кеша большой).
 
Цитата
ksiva пишет:
Вообще говоря не нужно иметь один DNS сервер: сделайте хотя бы два: внутренний и внешний, тогда только внутренние пользователи будут иметь возможность разрешить внутренние адреса, а внешние смогут узнать только общедоступные имена вашей сетки, типа www. Опять же здесь защита идет совместно с firewallом. Подробнее описывать не буду - если вам интересно, то сходите на курсы или почитайте книжку про этот метод защиты.
А чего бы не сделать пару view и просто аккуратно закрыть fw?
 
Цитата
^rage^ пишет:
А чего бы не сделать пару view
А это что такое?
 
Цитата
BigBrother пишет:
А это что такое?
Фича бинда, которая позволяет отдавать разные ответы на DNS-запросы в заивисмости от IP клиента. Позволяет создать внутреннюю зону для сотрудников, и внешнюю, публичную зону для внешних клиентов, в которой отсутствуют DNS-записи внутренних хостов, которые внешним клиентам видеть необязательно.

http://www.isc.org/index.pl?/sw/bind/view/?release=9.4.1-P1#DOCS
 
Цитата
^rage^ пишет:
А чего бы не сделать пару view и просто аккуратно закрыть fw?
Не храни все яица в одной корзине ©
Страницы: 1
Читают тему