Любознательному отечественному читателю уже известен бестселлер «Maximum Security: A Hacker`s Guide to Protecting Your Internet Site and Network». Однако вторая редакция этой книги обладает весьма существенными отличиями — фактически это новая работа. Тематически материал тот же, но сгруппирован он по-иному и отредактирован в соответствии с современными реалиями Internet. Первая редакция являлась максимально широким обзором проблемы безопасности в Internet, что и определяло форму подачи материала и упорядоченность изложения. Вторая редакция реализована скорее как справочник системного администратора и, в отличие от первой редакции, направленной на описание проблемы, в значительно большей степени ориентирована на решение конкретных проблем защиты сети.

Изложение предмета сосредоточено на трех основных вопросах: неправильной настройке хоста, недостатках систем или ошибках производителей и, наконец, слабом знании особенностей системы. При этом, по моему мнению, наиболее сильной стороной книги являются подобранные в качестве иллюстраций примеры, например взлом сервера Министерства юстиции США, ставший возможным из-за ошибок в настройках межсетевого экрана, истории «червя Мориса» и Рейнольда Шварца - популяризатора Perl и т.п. Обо всем этом в книге рассказано очень увлекательно и с необходимыми подробностями.

Книга состоит из шести разделов и массы справочного материала. В первой части разбираются основные нетехнические причины существования проблемы безопасности и даются указания по практическому использованию материалов книги.

Вторая часть рассказывает об истории Internet и интеграции стека протоколов межсетевого обмена в сетевые операционные системы. При этом подробно разбирается назначение сети и первопричины заложенных в нее решений, которые, в конечном счете, и приводят к проблемам безопасности. Здесь же вводятся понятия «хакер» (hacker) и «крекер» (cracker); автор объясняет разницу между ними. Завершается вторая часть описанием стратегий безопасности и методов их реализации. При этом перечисляются организации и группы, которые могут помочь сетевым администраторам в решении проблем защиты их сетей.

Третья часть книги посвящена средствам нападения и защиты: деструктивные устройства, сканеры, взломщики паролей, «троянцы», «cнифферы», сетевые экраны, средства аутентификации и аудита. В терминологии автора деструктивные устройства - это программы, которые либо разрушают информацию, либо назойливо беспокоят администратора системы. Как это не покажется странным, они не относятся автором к серьезным средствам взлома. Указывается, что запускают такие программы либо «недоразвитые» пользователи, либо озлобленные сотрудники, либо дети.

Существует три основных разновидности таких программ: почтовые бомбы, блокираторы служб и вирусы. Первые «засыпают» систему почтовыми сообщениями. Мощь потока может быть такой, что почтовый сервер блокируется. Как указывает автор, единственными решениями этой проблемы может быть только фильтрация или контратака.

Сродни «бомбам» непрошенная подписка на списки рассылки (spam). Решение рекомендовано то же, что и в случае почтовых «бомб». Особый интерес с точки зрения администратора представляет атака, которая использует точки пересылки почты (relay). В этом случае спаммер маскируется под relay и отфильтровать его не удается. Администраторам рекомендуется закрывать свои почтовые серверы от пересылки. Этот совет дается с указанием всех тонкостей такого сорта действий, позволяющих избежать блокировки почтовой службы защищающейся компании при неаккуратной настройке.

Блокирование службы - еще один способ деструктивной атаки. Задачей такой атаки является выключение сервера из работы в сети. Серьезной безопасности самой сети атака не представляет, но как вспомогательное средство при более серьезных атаках блокирование, без сомнения, может использоваться. Из списка примеров, которые приводит автор, следует, что основными целями атак данного типа являются системы под управлением ОС Windows.

Вторая группа средств нападения и защиты - сканеры. По определению автора книги, это программы, которые автоматически определяют слабости системы. Автор особо обращает внимание на то обстоятельство, что сканеры являются полезным средством администрирования, позволяющим найти слабые места системы. При этом неизбежно приходится отвечать на вопрос о правомерности сканирования - автор вынужден признать, что юридически сканирование не наказуемо, однако из соображений этики необходимо получать разрешения на сканирование удаленной системы.

Третья группа средств - взломщики паролей. В книге указываются стандартные слабости парольной защиты различных систем и рекомендации по их устранению. Четвертая группа - «троянцы» или программные закладки, которые позволяют проникнуть в систему без ведома администратора. Основным средством борьбы названы отпечатки файлов и файловых систем, однако, это только часть комплекса мероприятий по контролю состояния системы. Автор рекомендует кроме отпечатка (рекомендуется md5), контролировать дату последней модификации и дату создания файлов, а также его размер.

«Снифферы» - это средства анализа трафика. Основная опасность этого типа программного обеспечения в том, что оно позволяет подсматривать чужие пакеты без ведома их владельцев. Обычно их используют для перехвата паролей и идентификаторов пользователей при удаленном доступе к ресурсам Сети. В качестве защиты в книге рекомендовано использовать ssh и s/key. Первая программа шифрует пароли, а вторая генерирует одноразовые пароли.

Автор подразделяет межсетевые экраны на два типа: уровня межсетевого обмена и прокси-приложений. Для каждого из этих типов подробно рассматриваются их преимущества и недостатки. Так для встроенных в стек экранов указывается их несомненная полезность в качестве пограничного кордона локальной сети, а также их высокая производительность. Для прокси, с точки зрения автора, характерны более высокая интеллектуальность и гибкость настройки. Естественно, что рекомендуется сочетать разные типы экранов при защите локальных сетей.

Четвертая глава книги посвящена слабым местам операционных систем. Читая ее, начинаешь постепенно осознавать, что в мире гораздо больше честных людей - иначе просто невозможно объяснить, почему твой личный компьютер все еще работает и его не «взломали».

Лидером по числу таких «слабостей» являются операционные системы от Microsoft. Их список столь велик, а последствия настолько драматичны, что вдумчивого читателя их описание повергает в шок. При этом автор делает любопытное замечание, к которому стоит прислушаться: «Общая стоимость владения программным обеспечением (TCO, Total Cost of Ownership) позволяет определить полную стоимость, которую вы тратите на систему за все время ее жизненного цикла... Средний показатель TCO для систем Microsoft превышает 10000 долл. за три года эксплуатации... сегодня сетевые администраторы начинают осознавать, что выбор Microsoft означает выбор ежегодных обновлений программ, что драматически увеличивает TCO».

Следующей операционной системой, которая подвергается детальному анализу, автор избрал Unix. На примере различных клонов этой системы он рассматривает практически все аспекты безопасности: физическая безопасность, безопасность консоли, безопасность установки системы, безопасность паролей и «заплаток». В контексте Unix в книге рассмотрены различные способы использования слабых мест и не делается различий между локальными и удаленными программами, а также способами проникновения в систему. Подчеркивается только, что все они основаны на ошибках программного обеспечения и лечатся только постановкой исправлений - «заплаток».

Пятая глава посвящена планированию безопасности и может быть рекомендована новичкам-администраторам. Здесь популярно объясняется, что взлом системы — это не только проблема ее администратора, но и головная боль для всех остальных - «взломанный» хост может быть использован в качестве позиции для атаки на другие компоненты сети.

Последняя, шестая, глава посвящена описанию удаленных атак и их классификации. При этом достаточно много места посвящено и самим атакующим их навыкам, повадкам, манерам поведения и т.п. Приведен список литературы, посвященной данной теме. Описывается одна из наиболее интересных атак - «спуффинг« (spooffing — подмена адреса). Достаточно наглядно показано, что для IP-спуффинга подменить адрес мало - нужно еще найти свободный IP-адрес или «уронить» (то есть блокировать) хост с используемым IP-адресом. Кроме того, требуется воспроизвести последовательность номеров пакетов при TCP-соединении. Кроме IP-спуффинга в книге рассматриваются еще ARP- и DNS-спуффинг.

Вслед за «подделкой» адресов автор останавливает свое внимание на telnet-атаке, рассматривая ее с трех точек зрения: отличное место для размещения «троянца», ошибки в существующих реализациях и оружие взломщика. В первом случае справедливо указано, что через telnet проще всего узнать идентификаторы и пароли. Во втором случае рассматривается не только прямое использование приложения, но и та особенность telnet, что этот протокол используется и другими службами, например FTP (протокол канала управления). Третья ипостась telnet связана с тем, что атакующий всегда может его использовать как средство доступа к любой службе, открытой в системе.

Подводя итог, можно отметить, что более полного и систематизированного описания проблем защиты сетей, пожалуй, пока еще нет. Книга будет интересна самому широкому кругу читателей — от начинающих программистов до умудренных опытом системных администраторов.


Maximum Security: A Hacker`s Guide to Protecting Your Internet Site and Network, Second Edition, Sams Publishing, 1998, ISDN: 0-672-31341-3, 839 p.

Книгу можно заказать в компании «Фольком Холдинг-Центр», тел. (095) 251-4504, books@df.ru