[ Alex WebKnacKer ] Хакинг и антихакинг - защита и нападение. Книги удк 004. 056. 5Alex WebKnacKer
Скачать 42.38 Mb.
|
Приложение D 351 Служба DNS поддерживает взаимодействие с базой данных имен хостов и сопоставленных им IP-адресов, хранимой на сервере DNS. Средства Winsock направляют на сервер DNS запрос с именем хоста и требуют преобразовать их в IP-адрес. Для выполнения этой задачи сервер DNS использует два метода: прямой поиск и обратный поиск. Прямой поиск заключается в преобразовании имени хоста в IP-адрес. Для этого сервер DNS производит поиск в базе данных записи со сведениями о разрешаемом имени хоста. Если такие сведения найдены разрешение выполнено; иначе сервер DNS направляет запрос другим серверам DNS, функционирующим в сети, выполняя процедуру, называемую рекурсивным прямым поиском. Обратный поиск состоит в преобразовании IP-адреса в имя хоста, которое сервер DNS также выполняет запросом базы данных имен хостов. С помощью таких запросов можно решить некоторые задачи защиты системы, например, выявляя атаки, при которых хакер подменяет IP-адрес своего компьютера другим IP-адресом - фальсифицированному IP-адресу в базе данных DNS не сопоставлено имя хоста. В сетях TCP/IP с компьютерами Windows 95/98/NT/2000/XP информацию сервера можно динамически обновлять с помощью сервера DHCP (Dynamic Host Configuration Protocol - Протокол динамической конфигурации хоста). Сервер DHCP управляет установками IP-адресов клиентов DHCP. Когда компьютер клиента DHCP подключается к сети, он отсылает серверу DHCP широковеща- тельный запрос на получение IP-адреса. Сервер DHCP может выделить клиенту на некоторое время IP-адрес, предоставив также и прочую информацию, необхо- димую для функционирования компьютера в сети TCP/IP. В операционную систему Windows 2000 включена также служба разрешения и кэширования имен DNS. Когда компьютер Windows 2000 Professional посылает серверу DNS запрос на разрешение имени хоста в IP-адрес, компьютер сохраняет результат запроса в локальном кэше DNS. В результат запроса входит значение времени TTL (Time to Live - Время жизни), которое определяет время, в течение которого запись полученного результата разрешения будет сохра- няться в локальном кэше. Таким образом, все дальнейшие запросы, посту- пающие от компьютера Windows 2000 Professional, не требуют подключения к серверу DNS, что значительно снижает сетевой трафик. Разрешение имен NetBIOS Имена NetBIOS могут содержать до 16 символов, из которых первые 15 символов зарезервированы для указания имени компьютера, а шестнадцатый символ зарезервирован для указания, какая служба компьютера передает информацию. Прежде чем протокол NetBT сможет послать сообщение на транспортный уровень, он должен преобразовать имена NetBIOS компьютера- 352 Быстро и легко. и Антихакинг получателя в IP-адрес. Для преобразования (разрешения) имени NetBIOS в IP-адрес в протоколе NetBT применяются следующие методы. • Поиск в кэше имен NetBIOS. Когда имя NetBIOS преобразуется в информация сохраняется в кэш-памяти в течение двух минут. Если в двух минут имя используется хотя бы один раз, оно сохраняется в кэше NetBIOS в течение десяти минут. • Запрос сервера WINS (Windows Internet Naming Service - Служба имен Интернета для Windows). Сервер WINS функционирует в системе Windows 2000 Server как служба, к которой могут напрямую обращаться клиенты WINS для разрешения В основном сервер WINS используется для поддержки обратной совместимости с прежними системами Windows. • Широковещательный запрос сети. Если сервер WINS не может преобразовать имя NetBIOS в IP-адрес, протокол NetBT отсылает компьютеру-получателю широковещательный запрос на отсылку широковещательного сообщения с IP-адресом. • Поиск в файле LMHOSTS. Этот файл подобен файлу HOSTS и представляет собой текстовый файл, каждая запись которого содержит IP-адрес хоста и сопоставленные ему имена NetBIOS. Если в конце записи поместить суффикс #PRE, имя NetBIOS и ГР-адрес будут навсегда помещены в кэш имен NetBIOS. Файл LMHOSTS находится в папке и имеет расширение • Поиск в файле HOSTS. Средства NetBT для разрешения имен NetBIOS также могут использовать файл HOSTS. Чтобы задействовать файл HOSTS, сле- дует включить в раздел системного реестра параметр EnableDns. • Запрос сервера DNS. Если в системный реестр следует включить параметр EnableDns (как в предыдущем методе), средства NetBT будут направлять запрос на разрешение имени NetBIOS серверу DNS. Информация о разрешенных именах хостов передается средствам нижележащих уровней модели TCP/IP. Транспортный Транспортный уровень модели TCP/IP выполняет следующие функции. • Отвечает за установление связи между компьютерами, а также за прием и отсылку данных. • Добавляет к передаваемым данным заголовок, идентифицирующий протокол передачи данных (TCP или UDP), а затем отсылает и принимает IP-адрес компьютера. Приложение • Добавляет к заголовкам TCP некоторую дополнительную информацию. Транспортный уровень протокола TCP/IP может использовать как заголовки TCP, так и UDP, которые обсуждаются в следующих разделах. TCP Протокол TCP (Transmission Control Protocol - Протокол управления передачей) принадлежит семейству протоколов установления логического соединения. Такие протоколы еще до отсылки данных должны установить связь и формали- зовать процесс обмена информацией. По протоколу TCP данные передаются в виде байтового потока, разбитого на сегменты, причем никакие ограничения на данные не налагаются. Каждый сегмент данных снабжается полями, содер- жащими порядковый номер сегмента и другие данные, гарантирующие надеж- ную передачу и прием данных, а также указывают методы отправки и приема данных. Для обеспечения надежной отсылки и приема данных в протоколе TCP используются так называемые подтверждения приема сообщения (квитирова- ние) и контрольные суммы. Ниже перечислены некоторые основные поля заго- ловков TCP. • Исходный порт - номер порта передающего компьютера. • Порт назначения - номер порта компьютера-получателя. • Порядковый номер - первый байт данных в сегменте TCP. Размер сегмента TCP определяется параметром, называемым размер окна TCP. • Номер подтверждения - порядковый номер сегмента, который передающий компьютер ожидает принять от принимающего компьютера. • Управляющие биты. Флаги-указатели, используемые для отсылки особых типов данных. В качестве примера можно назвать флаг FIN, который указывает, что передача закончена и компьютер отключился. • - число байтов, которое может вместиться в буфер принимающего компьютера. Это поле указывает размер окна TCP для приема данных. • Контрольная сумма. Число, указывающее контрольную сумму для проверки ошибок. Контрольная сумма позволяет установить целостность отосланных данных. Прежде чем отослать данные, компьютер-получатель и компьютер-отправитель должны установить связь. С этой целью используется процесс трехстороннего подтверждения связи, предназначенный для синхронизации порядковых номе- ров и подтвержденных порядковых номеров при обмене сегментами TCP между двумя компьютерами. Процесс трехстороннего подтверждения задает также размеры окон каждого компьютера. Процесс выполняется в три этапа. 354 Быстро и легко. Хакинг и Антихакинг 1. Компьютер-отправитель посылает сегмент TCP, который содержит начальный порядковый номер отправляемых сегментов и размер окна TCP для приема данных. 2. Компьютер-получатель возвращает сегмент TCP, в который входят его начальный порядковый номер, размер окна TCP для приема данных и подтверждение на готовность к приему сегмента TCP от компьютера- отправителя. 3. Компьютер-отправитель отсылает сегмент TCP, который подтверждает достоверность порядкового номера компьютера-получателя. В итоге каждый компьютер знает порядковый номер и размер окна TCP другого компьютера. После того, как компьютер-отправитель узнает размер окна TCP для приема данных компьютера-получателя, он устанавливает точно такой же размер своего окна. В предыдущих версиях операционной системы Windows размер окна TCP ограничивался величиной 64 Кбайт. Система Windows 2000 может поддерживать размер окна TCP для приема данных до 1 Гбайт, используя этого масштабируемые окна TCP. Во время процесса подтверждения связи протокол TCP может использовать управляющий флаг SYN. Этот флаг указывает, что протокол поддерживает масштабирование окон и задает их предельный размер. В таблице приведены наиболее часто используемые порты TCP. Таблица Порты TCP Номер TCP-порта 20 21 23 80 139 Назначение Канал передачи данных по протоколу FTP Управляющий канал FTP Telnet Передача данных с Web-сайтов по протоколу HTTP Служба сеансов NetBIOS UDP Протокол пользовательских дейтаграмм (UDP User Datagram Protocol) обеспечивает ненадежную доставку данных, передаваемых в виде дейтаграмм (пакета данных с адресной информацией). При отсылке данных по протоколу соединение не устанавливается и размер окна не задается. Поэтому заголовки UDP намного короче заголовков TCP; но данные пересылаются значительно быстрее, поскольку компьютеру не приходится ожидать под- тверждения приема. Приложение D 355 Протокол используется приложениями, не требующими подтверждения приема данных и передающих данные небольшими порциями. Протокол применяют, например, службы имен NetBIOS и службы дейтаграмм NetBIOS и В таблице D.2 приведено назначение основных UDP-портов. Таблица D.2. Порты протокола UDP Номер 53 137 138 161 Назначение Запросы имен DNS Служба имен NetBIOS Служба дейтаграмм NetBIOS Протокол SNMP Межсетевой уровень отвечает за адресацию пакетов и их маршрутизацию при передаче по сети TCP/IP. Средства межсетевого уровня адресуют и упаковывают данные в дейтаграммы а также управляют маршрутизируемой передачей пакетов между компьютерами. К межсетевому уровню относятся следующие базовые протоколы. • Протокол D? (Internet Protocol - Протокол Интернета) - отвечает за IP-адресацию и маршрутизацию пакетов, а также за фрагментацию и восстановление пакетов. • Протокол ARP (Address Resolution Protocol - Протокол разрешения адресов) - обеспечивает преобразование адресов межсетевого уровня в адреса уровня сетевого интерфейса. • Протокол (Internet Control Message Protocol - Протокол контроля сообщений Интернета) - поддерживает выполнение диагностики сети и сооб- щает об ошибках передачи IP-пакетов. Также протокол ICMP используется утилитами сканирования сети ping и входящими в пакет W2RK. • Протокол IGMP (Internet Group Management Protocol - Межсетевой протокол управления группами) • управляет участием хоста в группах хостов. Входящие в группу хосты слушают трафик, направленный на один адрес, и каждый хост регистрируется в группе с помощью IGMP. Рассмотрим подробнее некоторые протоколы межсетевого уровня. 356 Быстро и легко. и Антихакинг IP Протокол IP в основном предназначен для адресации и маршрутизации данных между хостами сети TCP/IP. В IP-пакет входит информация, необходимая для маршрутизации, отсылки и приема данных компьютером-получателем. В заголовок IP-пакета включаются следующие поля. • IP-адрес отправителя. IP-адрес компьютера-отправителя IP-пакета. • IP-адрес получателя. IP-адрес компьютера-получателя • Идентификация. Если дейтаграммы разбиваются на фрагменты меньшего размера, эти фрагменты перечисляются в этом поле, что позволяет компью- теру-получателю собрать их заново. • Время жизни (TTL). Максимальное время существования фрагмента в сети. Это число уменьшается на единицу и более после прохождения каждого маршрутизатора, что предотвращает бесконечную циркуляцию IP-пакетов по сети. • Протокол. Указывает получателю, какому протоколу верхнего уровня следует передать IP-пакет - TCP, ICMP и др. • Контрольная сумма. Используется для контроля целостности Маршрутизация по протоколу IP представляет собой процесс отсылки данных компьютеру-получателю через маршрутизаторы, которые для определения наилучшего маршрута передачи данных используют таблицы маршрутизации. В таблицах маршрутизации содержатся записи о сетях, которые либо присоеди- нены непосредственно к данному маршрутизатору, либо доступны через другой маршрутизатор. При прохождении IP-пакета через маршрутизатор выполняется просмотр таблицы маршрутизации и выбор направления передачи IP-пакета на другой маршрутизатор или на компьютер-получатель. Если значение TTL равно нулю, IP-пакет отбрасывается. Для создания и обновления таблиц маршрутизации приме- няется протокол с помощью которого маршрутизаторы каждые 30 секунд рассылают свои таблицы маршрутизации и получают эти таблицы от других маршрутизаторов. Полученные новые данные пополняют таблицу маршрутиза- ции, а устаревшие данные отбрасываются. ПротоЬл ICMP Этот протокол обеспечивает работу средств диагностики и передает сообщения об ошибках. В набор сообщений протокола ICMP входит эхо-запрос возможности подключения к хосту и соответствующий эхо-ответ. Также протокол ICMP позволяет маршрутизаторам управлять отправкой данных, передавая уведом- ления хоста-отправителя о наиболее эффективном маршруте к IP-адресу получателя или сообщения об отсутствии пути («пробке») и недоступности адресата. Приложение 357 Имеются прикладные программы, которым для эффективной работы необходимо одновременно связываться с более чем одним компьютером. Для этого они используют многоадресную передачу данных, поддерживаемую про- токолом IGMP. Протокол IGMP позволяет хостам в любой момент подклю- чаться к группе и покидать ее, обеспечивает работу с хостами, расположенными в разных локальных сетях, и поддерживает группы любого размера. Хост может поддерживать групповую рассылку либо на уровне 1 - только передача, либо на уровне 2 - как передача, так и приём. Последний уровень поддерживается в се- тях TCP/IP системами Windows 2000 и Windows NT версии не ниже 3.51. В ка- честве примера программы, использующей IGMP, можно назвать приложение для проведения конференций NetShow. ARP При обращении к любому сетевому компьютеру программа или операционная система должна точно знать адрес машины. В качестве этого адреса используется адрес MAC (Media Access Control - Управление доступом к среде передачи). Адрес MAC (или - это уникальное 48-разрядное число, присваиваемое сетевому адаптеру производителем. Именно МАС-адрес исполь- зуется на подуровне MAC канального уровня, задающего формат кадров, методы доступа и способы адресации в сетях Поскольку пользователи никогда не указывают МАС-адрес, должен существовать механизм преобразования имени машины, имени NetBIOS или в МАС-адрес. Этот механизм обеспечивает протокол ARP (Address Resolution Protocol - Протокол определе- ния адресов), описанный в RFC 826. Протокол ARP входит в состав основного набора протоколов TCP/IP. Он испо- льзуется только в пределах одной физической сети или подсети. С помощью ARP адрес машины определяется по его IP-адресу следующим образом. Компьютер проверяет свой кэш ARP, в котором находится список известных IP-адресов и соответствующих им МАС-адресов. 2. Если компьютер не обнаружит в кэше ARP необходимого адреса, он отправляет широковещательный запрос ARP. В запросе содержится отправителя, а также IP-адрес той машины, МАС-адрес которой нужно опре- делить. Запрос ARP получают только компьютеры локальной сети, поскольку широковещательные запросы такого типа не маршрутизируются. 3. Каждый компьютер сети получает запрос ARP и сравнивает свой ГР-адрес с адресом, указанным в запросе. Если адреса не совпадают, запрос игнорируется. Если адреса совпадают, компьютер посылает ответ ARP, но не широковещательный, а направленный по МАС-адресу, указанному в запросе. Одновременно запрошенный компьютер вносит МАС-адрес инициатора запроса в свой кэш ARP. 358 Быстро и легко. Хакинг и Антихакинг 4. Инициатор запроса получает ответ и вносит новый МАС-адрес в свой кэш ARP. После этого становится возможным обмен информацией между ком- пьютерами. Если же два компьютера находятся в сетях, определять МАС-адрес получателя нет необходимости. Пакеты будут пересылаться через маршру- тизатор, который подставляет свой МАС-адрес в адресное поле отправителя пакетов. Таким образом, на уровне протокола IP указывается конечный адрес получателя, а на физическом уровне - МАС-адрес ближайшего маршрутизатора. Уровень интерфейса Средства уровня сетевого интерфейса (или сетевого доступа) обеспечивают отправку и прием TCP/IP пакетов в/из сетевой среды. Протокол TCP/IP независим от сетевой среды и может быть использован для сетей любых типов - Ethernet, Token Ring, X.25 и Frame Relay. Сердцевиной средств этого уровня являются группы битов в кадрах платы сетевого адаптера, посылаемые через сетевого посредника на принимающий их компьютер или компьютеры. Наиболее существенное продвижение средств этого уровня - использование системой Windows 2000 спецификации (Network Driver Interface Specification - Спецификация стандартного интерфейса сетевых адаптеров) версии 5 (NDIS 5.0). Концепция Active После создания сети TCP/IP компьютеров Windows 2000 сразу возникает задача управления этой сетью, включающая вопросы аутентификации пользователей, распределения общих ресурсов, защиты сети и подключенных к ней хостов и т.д. Для решения этой задачи в системах Windows 2000 используется служба активного каталога AD (Active Directory), являющаяся дальнейшим развитием доменной модели, используемой в системах Windows NT. Служба AD основана на концепции иерархического построения сети, состоящей из деревьев, лесов, доменов и организационных подразделений OU (Organizational Unit). Основной структурной единицей является домен совокупность компьютеров с общим именем распределенной иерархической системы имен DNS (согласно спецификации OSI доменом также называют административную единицу, выделенную по функциональным признакам). Домены, разделяющие общее пространство имен DNS, называют деревом. На физическом уровне домен представляет собой единую локальную сеть ком- пьютеров, а лес - совокупность этих сетей. Внутри доменов выделяются группы компьютеров и пользователей, называемых организационным подразделением. Все данные, относящиеся к домену, хранятся на контроллерах домена и репли- цируются между контроллерами домена и между доменами одного леса. Полная информация, реплицируемая между всеми доменами, хранится в глобальном |