Пример:
company.ru. SOA ns1.company.ru root.ns1.company.ru. (2003103001 3600 600 604800 3600)
company.ru. NS ns1.company.ru
ns1 A 213.48.57.81
Так же первичный DNS сервер может уведомлять вторичный DNS сервер об изменениях в зонах, что приведет к изменению зоны на вторичном DNS сервере. А теперь давайте представим себе такую ситуацию:
злоумышленник постоянно посылает ложные запросы на вторичный DNS сервер, в результате чего DNS сервер дезинформирован. На самом деле, такая ситуация несет критический характер, особенно если в сети используются различные средства безопасности, которые могут зависеть от работы DNS службы. Как можно защититься от такого рода атак? В принципе это,
опять же, возможно средствами BIND, в его новой версии. В новой версии BIND появилась такая новая функция как TSIG. Что это такое? Это новый более защищенный механизм, который позволяет осуществлять проверку при передачи зон и уведомлений об изменениях
не только по ip адресу, но и по MD5 ключу. Для того, чтобы включить этот механизм, необходимо сгенерировать соответствующие ключи. Делается это следующим образом:
devil# dnssec-keygen –a hmac-md5 –b 128 –n HOST dnskey
в результате чего у нас будут сгенерированы два файла, нас интересует второй файл, который имеет расширение .private. Теперь:
devil# cat key.private
Private-key-format v1.2
Algorithm,: 157 (HMAC_MD5)
Key: BdySGxJmrd6N1YG2agKPh0==
После чего мы открываем named.conf и прописываем туда следующие на обоих DNS серверах:
Key dns { algorithm hmac-md5; secret “BdySGxJmrd6N1YG2agKPh0==”; };
Server ipadress { keys { dns; }; };
Где ipadress у нас ip адрес другого DNS сервера. На первичном DNS сервере естественно необходимо указать ip адрес вторичного DNS сервера. То же самое необходимо проделать на вторичном DNS сервере, но уже указав там ip адрес первичного DNS. Механизм на самом деле очень хорош, но что делать другим администраторам, у которых либо старая версия BIND, либо в качестве него работает другое программное обеспечение? В качестве решения данной проблемы я бы воспользовался средствами IPSecurity, что в принципе гораздо надежней, чем сам этот механизм. Дело в том, что IPSecurity абсолютно прозрачен для пользователей и другого программного обеспечения за счет того, что работает на более низком уровне по модели OSI. Для тех, кто не знаком с IPSecurity, могу лишь добавить, что это протокол позволяет проверять целостность данных, источник, шифровать передаваемый данные по разным криптографическим алгоритмам (к примеру, 3DES), а так же производить
аутентификацию с поддержкой PKI. Рассказывать о том, как это все можно сделать средствами IPSecurity я не буду, так как это выходит за рамки данной статьи. Я лишь напомнил об IPSecurity, как о возможном средстве для решения некоторых проблем в сети.
В принципе вы, наверное, многие слышали про fingprint? Самая начальная стадия проникновения в сеть, когда
злоумышленник только собирает информацию о сети. В качестве мер предосторожности всегда следует использовать все доступные методы, в частотности дезинформацию. Например, для того, чтобы изменить версию BIND сервера достаточно добавить в файл named.conf раздел options следующую строчку:
Version “Not version”;
Это далеко не все рекомендации, но это основные. В качестве более серьезных мер можно, а иногда и нужно, вынести DNS сервера в DMZ зону, с защитой средствами не только брандмауэра, но
и средставми обнаружения вторжений, таких как SNORT и RealSecure. Дело в том, что сейчас довольно часто находят различные дыры, которые приводят к атакам типа DOS. В частности они могут выглядеть в качестве некорректного запроса. Сигнатуры для этих IDS всегда можно найти на веб узле
www.whitehats.com. Так же старайтесь всегда отключать не нужные службы, а если бюджет позволяет то еще лучше вынести DNS сервер на отдельный сервер, на котором будет работать только эта служба. Если же вы стремитесь к очень высокой защищенности сети, тогда по возможности старайтесь не использовать зоны обратного просмотра. Зоны обратного просмотра отвечают за сопоставление ip адресу имен узлов. Но и тут есть подводные камни, так как достаточно многие службы в сети нуждаются в работе этих зон, в качестве примера могу привести ActiveDirectory. В данном случае мы рассмотрели вопросы безопасности самой службы DNS, но не забывайте, о том, что в мире информационных технологий все взаимосвязано.