ПРИГЛАШЕНИЕ DoS
Атаки по типу «отказ в обслуживании» (Denial of Service, DoS) высветили еще одну проблему в защите, причем такую, для которой простого решения не существует. Атаки начались, когда группа североамериканских операторов сетей (North American Network Operators Group, NANOG) проводила встречу, где обсуждалась угроза — как вы думаете, чего? — распределенных атак DoS (Distributed DoS, DDoS). Это немедленно вызвало спекуляции по поводу того, что хакеры тем самым подают операторам предупреждение. Приводимое описание атак составлено на основании нескольких сообщений из списков рассылки NANOG.
Атаки DoS проводятся посредством бомбардировки устройств трафиком, занимающим всю пропускную способность или мощность ЦПУ, в результате чего добропорядочные пользователи не могут получить доступ. Простейший способ сделать это — во время февральской атаки он не применялся — состоит в использовании простого сценария для генерации множества запросов HTTP. Каждый запрос на страницу Web занимает только несколько байт пропускной способности канала атакующего, но предоставление самой страницы отнимает у сервера гораздо большие ресурсы (к примеру, домашняя страница Network Magazine представляет собой файл HTML объемом 26 Кбайт плюс 66 Кбайт графики).
От такой примитивной атаки достаточно просто защититься, установив верхний предел для числа запросов HTTP, которые могут быть поданы с одного IP-адреса в течение минуты. Это полезно сделать в любом случае, особенно если ваш узел предусматривает какие-либо средства отправки электронной почты с помощью форм. Как утверждают в Mail Abuse Protection System (MAPS), многие компании по рассылке электронных поздравительных открыток реализуют подобные меры защиты для предотвращения использования спаммерами интерактивных форм в качестве транслятора электронной почты.
Атаки DDoS — как те, что имели место в феврале 2000 г., — состоят в одновременной рассылке множества ложных запросов с различных компьютеров в Internet. Обычно атакующие в действительности не работают за этими компьютерами; они проникают на них заранее, оставляя небольшой демон, активизируемый, только когда начинается атака. После начала атаки эти взломанные компьютеры также становятся непригодными для использования, иначе говоря, они также оказываются жертвами. Как, впрочем, и все пользователи Internet, даже те, кого эта атака непосредственно не затрагивает. Как показывают расчеты Keynote Systems, производительность ядра Internet во время атаки 9 февраля 2000 г. снизилась на 26,8%.
Очевидный способ предотвратить такого рода атаки — это укрепить защиту, чтобы хакеры не могли получить доступ к чужим системам. Проблема в том, что, хотя ваша собственная сеть может быть надежно защищена, все же это не в состоянии уберечь вас от атак DoS, инициированных с менее надежно защищенных систем Internet. Некоторые эксперты предлагают провести сканирование всех систем на предмет выявления дыр в защите и затем блокировать доступ для тех, в которых такие дыры обнаружатся. Однако подобные меры вряд ли найдут поддержку среди хозяев узлов электронной коммерции, так как они могут лишить их сотен и тысяч пользователей.
Одна мера, которую администраторы сети могут предпринять немедленно, — это убедиться, что их системы не содержат демонов DoS. Несколько дней спустя после начала атаки ФБР выпустило программу для поиска наиболее распространенных демонов: tribal flood, trinoo и stachel-draht. Ее можно взять на http://www.fbi.gov/nipc/trinoo.htm, но, к сожалению, исходные коды не предлагаются. Это породило слухи, что правительство само инициировало атаки в попытке установить «троянских коней» на корпоративные машины. Некоторые теоретики всемирных заговоров также грешат на держателей акций компаний-разработчиков средств защиты, чья совокупная стоимость резко подскочила в последующие после атаки дни.
DNS И ACTIVE DIRECTORY
Комментарий редактора. Джон Сэвилл из SavillTech создал великолепный узел http://www.ntfaq.com. Он недавно опубликовал страницу с ответами на наиболее часто задаваемые вопросы о взаимосвязи между DNS и Active Directory компании Microsoft. Приводимая ниже заметка публикуется с разрешения Сэвилла.
Резюме DNS и Active Directory в одном предложении. Сервер DNS используется клиентом для получения адреса ближайшего к клиенту контроллера домена (Domain Controller, DC) с копией Active Directory, затем клиент обращается к Active Directory для нахождения необходимого ему объекта.
Резюме DNS и Active Directory в одном абзаце. Вначале клиент обращается к серверу DNS, тот в свою очередь просматривает домен клиента и предоставляет ему адрес ближайшего DC в домене. После этого клиент обращается к DC для аутентификации. При ее успешном завершении клиент может осуществлять поиск требуемого объекта по каталогу Active Directory (базе данных на DC). Таким объектом может быть почтовый адрес, файл, принтер или список пользователей в группе. Если клиент не может обратиться к серверу DNS, то он не сможет найти свой DC, так как его адрес имеется только у сервера DNS.
Резюме DNS и Active Directory в одну страницу. При первом запуске на компьютере под управлением Windows 2000 dcpromo (утилита для трансформации сервера в DC) создает новый домен, пусть это будет narnia. При этом в действительности она создает два типа доменов.
Прежде всего, она создает домен на сервере DNS (в данном примере с именем narnia.extest.microsoft.com). Домен будет находиться на тестовых серверах DNS в мини-лаборатории Exlab. Exlab содержит эти серверы DNS для общего пользования, чтобы при тестировании администраторам не надо было устанавливать сервер DNS всякий раз, когда они хотят установить Windows 2000. В несколько упрощенном, хотя и функционально идентичном виде домен на главных тестовых серверах DNS выглядит как
extest.microsoft.com narnia.extest.microsoft.com bigthud dc 172.30.224.34 blackie dc 172.20.32.13
При обращении к нему клиентов сервер DNS просматривает домен клиента. В результате поиска narnia сервер DNS находит также bigthud и blackie, два DC в narnia. Пусть bigthud будет ближайшим к клиенту контроллером домена. Сервер DNS передаст клиенту адрес контроллера bigthud, а именно 172.30.224.34. После установления соединения с контроллером клиент сможет обращаться к базе домена Active Directory, хранящейся на bigthud, для поиска объектов (принтеров, файловых серверов, пользователей, групп, организационных единиц и т. д.) в домене narnia. Bigthud хранит также ссылки на другие домены в дереве с именем com. Таким образом, клиент может осуществлять поиск по всему дереву доменов.
Если поиск требуется произвести за пределами дерева доменов клиента, то для этого существует версия Active Directory, где хранится список объектов во всем лесу. Эта версия называется глобальным каталогом (Global Catalog, GC). Глобальный каталог может храниться на каждом DC в лесу, но он не обязательно должен находиться на всех DC. GC открывает короткий путь для нахождения объекта в любом месте леса, но он предоставляет только некоторые из его атрибутов. Чтобы получить объект целиком, клиенту необходимо обратиться к Active Directory домена (а он всегда находится на DC этого домена). GC можно сконфигурировать на предоставление любых атрибутов объекта по выбору, а не какого-то одного жестко фиксированного набора.
В целях упрощения создания объектов в Active Directory контроллер домена хранит также копию и иерархию классов для целого домена. Например, если у нас имеется класс игроков в бейсбол и производный от него класс питчеров (т. е. игроков с несколькими дополнительными записями для фиксации их результатов как подающих), то структура класса будет храниться в разделе Active Directory под названием Schema.
Если затем мы решим создать группу игроков, то при этом нам понадобится использовать классы из Schema для представления игроков в виде объектов (экземпляров класса) в Active Directory. Кроме того, мы можем добавить в Schema дополнительные классы (игроков в американский футбол и защитников, например). Такая свобода в оперировании классами называется расширяемой схемой.
Схема является частью конфигурационного «пространства имен» Windows 2000 и хранится на всех DC в лесе. Пространство имен — это множество ярлыков, которые вы можете навешивать на вещи (такое, как пространство имен aisle для супермаркета: aisle=cookies, shelf=top, item=oreo). Конфигурационное пространство имен в Windows 2000 состоит из ряда определенных элементов, таких, как физическое местонахождение, «узел» Windows 2000 (узел — производная от леса, он может содержать машины из любого домена с единственным условием, что все машины узла имеют быстрые и надежные соединения с Internet для тиражирования DC), «подсеть», т. е. группа IP-адресов, присваиваемая узлам для дальнейшего ускорения тиражирования Active Directory между DC.
Active Directory использует упрощенный протокол доступа к каталогу (Lightweight Directory Access Protocol, LDAP), стандартный протокол Internet, который многие приложения используют для доступа к своим записям. Почему? Потому что их записи хранятся на DC в формате уникальных имен LDAP. Что такое формат уникальных имен LDAP? В нижеследующем примере владелец уникального имени fred является пользователем в организационной единице programming в домене narnia в домене extest в домене microsoft домена com.
cn=fred, ou=programming, dc=narnia, dc=extest, dc=microsoft, dc=com
Здесь cn означает «личное имя», ou — «организационная единица», а dc в данном случае — «компонент домена», а не Domain Controller. Так fred выглядит в Active Directory, и клиент, в частности администратор, может запрашивать атрибуты fred с использованием этого синтаксиса при условии, что он имеет на это соответствующие полномочия.
В случае, если он способен общаться с Active Directory на языке LDAP, клиент может сделать это непосредственно. Однако действия могут инициироваться с клиента, выполняющего приложение, где используется иной формат имен. На этот случай при доступе (с небольшими преобразованиями) он может воспользоваться двумя другими форматами — LDAP URL и Active Directory Canonical Name.
1. Пример LDAP URL:
LDAP://server1.narnia.extest. microsoft.com/cn=fred, ou=programming, dc=narnia, dc=extest, dc=microsoft, dc=com
2. Пример Active Directory Canonical Name:
narnia.extest.microsoft.com/ programming/fred
Именно каноническое имя Active Directory вы видите в пользовательском интерфейсе Windows 2000.