Предисловие
Современная вычислительная техника и компьютерные сети подвергаются огромному количе-ству различных угроз безопасности их работы. Хотя ко всем статистическим исследованиям стоит относиться с некоторой долей скептицизма, но существуют очевидные доказательства того, что на сегодняшний день услугами Internet пользуются более 300 млн. человек. Не-смотря на то, что большинство пользователей при работе в Internet ведут себя порядочно, но все же среди них есть такие, которые этого не делают. К сожалению, эта небольшая группа оказывает абсолютно непропорциональное влияние на деятельность всей всемирной сети. Эти беспринципные пользователи как будто открыли мифический ящик Пандоры с силами зла и теперь нарушают права частных граждан, отключают и вызывают отказы в работе раз-личных служб, изменяют данные и конфигурацию систем и даже занимаются шантажом и жуль-ничеством. Возможно, самое трагичное в этом, что они совершенно не считаются с правами остальных пользователей на конфиденциальность и на получение удовольствия от работы с компьютерами.
Люди пытаются создать безопасные системы и сети уже несколько десятилетий. Мы были свидетелями разработки различных формальных моделей безопасности и множества средств, целью которых было ее улучшение. Были созданы новые законы, заработали новые группы по обеспечению безопасности и законности. Проводятся конференции по проблемам безопасно-сти, организуются многочисленные курсы и аттестация специалистов, но количество сообще-ний о нарушениях систем безопасности продолжает стремительно увеличиваться. Что-то не-правильно.
Данная книга представляет собой новый подход к проблеме безопасности. Она относится к тому редкому типу книг, которые подробно объясняют, что именно происходит, когда зло-умышленники атакуют системы Linux. Целью авторов является помочь читателям понять суть опасности или, как говорится, "лучше один раз увидеть...". Если читатели смогут осоз-нать существующую опасность, то им будет значительно проще понять необходимость приня-тия мер противодействия, и они будут заинтересованы узнать, почему именно такие меры будут эффективны. В этой книге нет "пустых мест" - все представленные меры противодей-ствия настолько же реальны, как и атаки хакеров.
Начиная с момента создания Linux несколько лет назад, сообщество пользователей этой операционной системы остро нуждается в книге наподобие той, которую вы держите в руках. Сказать, что популярность Linux распространилась подобно лесному пожару, - совсем не будет поэтическим преувеличением. Тот факт, что пользовательский интерфейс Linux очень похож на интерфейс родственной Linux операционной системы Unix, одновременно является и благом, и бедою. Благо в том, что значительно повышается эффективность обучения принци-пам работы в Linux. Но сообщество пользователей Linux слишком часто оправдывало пробле-мы с безопасностью тем, что многие из них предполагали, что безопасность Linux должна быть подобной безопасности Unix, в последних версиях которой система безопасности зна-чительно улучшена по сравнению с версиями прошлого десятилетия. На сегодняшний день не-защищенные версии Linux представляют собой возможно одну из наиболее уязвимых и доступ-ных для атаки целей во всем киберпространстве. Данная книга - это настоятельный сигнал к пробуждению для всех, кто слишком беспечен по отношению к безопасности в Linux, она поможет поверившим в реальность угрозы в выборе правильного направления их действий.
И. Юджин Шульц, Ф.Д. (E. Eugene Shultz, Ph.D.), CISSP
Лаборатория Беркли в Калифорнийском университете
Введение
200 000 читателей уже знают
Книга Секреты хакеров, написанная Стюартом МакКлуром (Stuart McClure), Джоэлом Скамбрэйем (Joel Scambray) и Джорджем Куртцем (George Kurtz), является всемирно признанным бестселлером и заслужила множество одобрительных отзывов. В этой не имеющей аналогов книге перечисляются практически все уязвимые места нескольких операционных систем и сетевых устройств. Проблема изложения такого огромного материала в ограниченном объеме одной книги привела к тому, что некоторые читатели могут не получить всей интересующей их информации. Поэтому мы написали собственную книгу из серии Секреты хакеров и посвятили ее безопасности Linux.
В этой книге рассматриваются проблемы хакинга в Linux более подробно, чем это было сделано когда-либо раньше. Здесь показано, чем Linux отличается от других Unix-подобных систем, и представлены готовые для применения средства противодействия атакам хакеров. В энергичном стиле издания Секреты хакеров раскрыты способы реальных атак противника. Этот источник информации предназначен для дисциплинированных пользователей, основываясь на том предположении, что у "плохих парней" все необходимое уже есть. В книге представлены различные методы действий нарушителей, которые используются ими для получения тайного незаконного доступа к системам Linux. Данная книга бросает луч света в мрачный мир хакинга и ухищрений, применяющихся взломщиками, чтобы получить права системного администратора в Linux.
Настало время для безопасности в Linux
В 1991 г. Линус Торвальд был студентом Хельсинского университета и тем, кого называют хакерами-самоучками. Молодому финну нравилось преодолевать ограничения существующих операционных систем того времени, но так как ни одна из них не удовлетворяла его требованиям, то таким образом появилась Linux. Линус был истинным "Хакером" и использовал свои способности для создания того, что положило начало целой революции в мире программного обеспечения и вызвало массовые примеры наследования.
К сожалению, значение термина "хакер" было искажено от своего первоначального значения, когда этот термин символизировал группу высокопрофессиональных программистов всего мира, похожих на Линуса, и теперь применяется по отношению к обществу подростков среднего возраста 13-ти лет, которые могут переслать и безнаказанно запустить код для взлома системы. Иронией этого декадентства в области безопасности явилось то, что, начиная с 1991 г., среди систем, атакованных этим новым поколением "злобных хакеров", особенно часто встречалось название Linux, и только отчасти из-за ее широкого распространения.
Операционная система Linux прошла долгий путь с того момента, как код ее ядра был предоставлен в общее пользование в USENET, и она совсем не долго оставалась популярной только среди нескольких увлеченных любителей. Ее установка в крупнейших университетах планеты привела к тому, что она попала в список 50 наиболее успешных проектов мира. Каждый день миллионы людей используют Linux для доступа к своим базам данных, для электронной коммерции и работы критически важных систем. Этим и объясняется, почему понадобилось написать целый фолиант, посвященный тому, как сохранить Linux в безопасности.
В данной книге рассмотрены многочисленные способы атак хакеров на системы Linux и дано логическое обоснование таких действий. В то время как злоумышленники уже имеют достаточный опыт в использовании этих методов, данная книга предназначена для помощи пользователям домашних компьютеров, а также переутомляющимся и низкооплачиваемым системным администраторам, которые не только ответственны за безотказную работу серверов Linux, но должны ежедневно сохранять бдительность по отношению к безопасности. Если вы держите эту книгу в руках, это значит, что вы уже поняли важность безопасности. Не откладывайте ее в сторону. Продолжайте самостоятельно изучать средства и методы, которые используются киберграбителями для получения доступа к системам, и меры противодействия, применяющиеся для сохранения безопасности.
Когда мы набивали данное вступление на своих компьютерах, работая в операционной системе Linux, мы вспомнили об истинных возможностях и отточенности первоначальной Linux. Эволюция Linux теперь стала почти легендой. На самом деле это настолько небольшая ОС, насколько это вообще возможно. Теперь, когда Linux превратилась в невероятно мощную операционную систему, ее сложность послужила причиной появления чрезвычайно опасных ошибок в системе безопасности.
Все сильные стороны Секретов хакеров
Авторы этой книги постарались перенять все самое лучшее, что сделало книгу Секреты хакеров настолько успешной. Будет рассмотрен каждый этап, который хакеры проходят в процессе компрометации чужих компьютеров.
- Выбор цели атаки и предварительный сбор данных.
- Получение начального доступа.
- Расширение прав доступа.
- Скрытие следов атаки.
Особое деление информации книги по блокам дает возможность читать ее по легко понятным частям. Каждая атака и мера противодействия могут быть изучены независимо от других, и совсем не обязательно прочесть всю книгу, чтобы устранить одну проблему.
Многие атаки могут быть заблокированы с помощью одних и тех же способов противодействия. Поэтому, вместо того, чтобы описывать их снова и снова или заставлять читателей искать предыдущее описание, многие из общих методов вынесены в начало книги. Это дает возможность изучить их заранее и просто указывать на их применение по ходу изложения материала. Некоторые разделы описания методов противодействий вставлены в соответствующие главы для того, чтобы привлечь к ним особое внимание.
Замечание относительно имен компьютеров и IP-адресов
При использовании в примерах IP-адресов было решено применять номера, которые относятся к классам 192.168.x.y или l0.x.y.z, или 172.[16-32].x.y. Сети таких классов запрещены для использования в Internet (согласно документу RFC 1918) и применяются только для локальных intranet-сетей. Таким образом, все IP-адреса примеров книги будут недействительными для Internet. Применение этих классов IP-адресов в данной книге похоже на использование телефонных номеров, начинающихся с 555 в американских фильмах. Иногда в книге даны просто несуществующие IP-адреса, например 123.267.78.9. Очевидно, что число 267 является неправильным, так как действительные значения любого байта в IP-адресе изменяются в пределах 0-255.
Компьютеры с IP-адресами, выбранными согласно RFC 1918, могут присутствовать в вашей локальной сети, поэтому будьте осторожны и не проверяйте действие программ с указанными IP-адресами, иначе можно выполнить атаку на свои собственные машины!
Такими же неправильными в наших примерах являются и доменные имена, например, очевидно, что имя machine1.example.org не существует (все имена со словом example для доменов .com, .net, .org, .edu используются только для примеров - в мире не существует ни одного хоста, установленного в домене .example.xxx). Кроме того, в книге есть доменные имена с символом подчеркивания, например www.illegal_name.net - символ подчеркивания не допустим в доменных именах.
Все это сделано по одной простой причине: мы не хотим привлекать внимание к какой-либо определенной машине в Internet. При создании или обнародовании потенциальных программ взлома авторы часто предполагают, что читатели заменят использованное имя машины на имя нужного им компьютера, который те хотят атаковать. Но часто случается, что многие люди (особенно те, которые привыкли копировать чужие мысли) запускают программы взлома без всяких изменений, и тогда будут атакованы ни в чем не повинные сайты. Мы устранили такую возможность, сделав все IP-адреса и доменные имена недействительными.
Структура книги
Часть I. "Мир Linux"
Популярность Linux возрастает с каждым днем. Те несчастные, которые работали с операционными системами, как с "черными ящиками", начинают понимать радость участия в движении людей, поддерживающих идею программного обеспечения с открытым кодом, освобождают свои жесткие диски и инсталлируют Linux.
Глава 1. "Обзор безопасности в Linux" . Книга начинается с краткого обзора Linux и представления существующих средств безопасности, которые встроены в эту операционную систему. Возможно, что для опытных администраторов Linux это будет уже пройденным этапом, но этот материал будет очень полезным для начинающих администраторов и поможет им преодолеть этот путь значительно быстрее. Будут продемонстрированы различия между Linux и другими UNIX-подобными системами, а также будут обсуждены проблемы, характерные только для истинно многопользовательских систем.
Глава 2. "Профилактика атак и восстановление после взлома". Вся эта глава посвящена подробному рассмотрению различных мер противодействия хакерам. На рассмотренные здесь методики и стратегии будут даваться ссылки из других частей книги. Ознакомление с этими контрмерами в начале книги дает возможность читателям держать их в уме при дальнейшем обсуждении атак. Читатели даже могут спрогнозировать, какие именно действия будут полезными для блокирования рассматриваемой атаки.
Глава 3. "Предварительный сбор информации о компьютере и сети". Здесь рассмотрены уже настоящие проблемы: как нарушители находят цель и получают доступ к конкретной системе. Читатели изучат причины и признаки, по которым хакеры выбирают свои цели среди миллионов компьютеров, подключенных к Internet, как они определяют запущенное на них программное обеспечение и исследуют их работу еще до попытки взлома системы защиты.
Часть II. "Атаки извне"
До того, как нарушитель может начать вредоносные действия по отношению к определенному компьютеру, он должен получить к нему доступ. Для этого можно применить огромное количество различных способов.
Глава 4. "Социальная инженерия, "троянские кони" и другие хитрости хакеров". Вначале будут рассмотрены несколько хитростей хакеров, которые могут применяться непосредственно ими или с помощью других лиц. Будет изучен процесс так называемой социальной инженерии - формы атаки хакера, при которой он действует через сотрудников атакуемой фирмы. Читателям будет продемонстрировано, каким образом хакер старается обмануть владельца компьютера и заставить его запустить доставленную программу атаки.
Глава 5. "Физические атаки". Хакер может попробовать взломать компьютер непосредственно с консоли. Вся защита компьютера от атак по сети будет бесполезной, если хакер имеет возможность физического доступа к машине, что откроет ему широкие возможности для реализации атаки начиная от загрузки его собственной операционной системы с дискеты и заканчивая кражей жесткого диска.
Глава 6. "Атаки по сети". В настоящее время большая часть атак хакеров осуществляется с помощью доступа к компьютеру по сети. В этой главе рассмотрены разнообразные способы атак, которые могут выполняться непосредственно на атакуемом компьютере для получения несанкционированного доступа, например использование ошибок переполнения буфера, недостатков работы сетевых демонов или атаки автопрозвона незащищенных модемов, а также запуск по сети программ для подбора пароля и прослушивание сетевых соединений для перехвата ценных данных.
Глава 7. "Сеть под прицелом". Здесь будут изучены способы атаки, основанные на использовании неправильной настройки сети или недостатков сетевых протоколов. Среди них создание ложного DNSсервера, который изменяет маршрут передачи сообщений в сети, атаки, связанные с установкой доверительных отношений по протоколу IP, атаки с подставкой (или атаки "посредника") и очень неприятные атаки отказа в обслуживании, которые предназначены для дискредитации известных Web-сайтов. Целью этих атак не всегда является получение доступа к компьютеру, но они могут приводить к разрушительным последствиям по отношению к работе сетевых служб, хранения данных и надежности системы.
Часть III. "Атаки локальных пользователей"
Использовать уязвимое место в системе защиты при доступе извне намного сложнее, чем выполнить то же самое при наличии пользовательского доступа к цели атаки. Если хакеру удастся взломать систему, то он сделает все возможное, чтобы закрепиться на завоеванном плацдарме.
Глава 8. "Расширение привилегий". Если хакеру удалось получить начальный доступ к атакуемому компьютеру, то это еще не означает, что он мгновенно обеспечит себе права суперпользователя. Но пользовательский доступ дает ему возможность обнаружить недостатки в системе защиты, недоступные при атаке по сети. Нарушитель надеется взломать "призовой" бюджет root, после чего вся система перейдет под его контроль.
Глава 9. "Взлом паролей". Пароли - это ключи доступа к компьютеру. Используя уязвимое место в системе защиты, хакер может получить доступ к зашифрованным паролям и попытаться взломать их. Эти пароли помогут нарушителю получить доступ к другим компьютерам и сетям (так как многие люди владеют паролями на доступ более чем к одной машине), а также для восстановления утраченного доступа, если взлом будет обнаружен. Среди таких паролей могут присутствовать и пароли с привилегиями root. В главе будут подробно обсуждены несколько средств, которые могут применяться хакерами, и профилактические программы, позволяющие сохранить систему в безопасности.
Глава 10. "Как хакеры сохраняют доступ к компьютеру". Эта глава расскажет о методах, которые используют хакеры для безопасной (для хакера) работы во взломанной системе. Опытный хакер для сокрытия своих действий отредактирует файлы системного журнала, запустит программы "троянских коней", создаст потайные ходы для возможности дальнейшего доступа к компьютеру и даже постарается изменить само ядро операционной системы, что сделает практически невозможным определение его присутствия.
Часть IV. "Безопасность серверов"
На современном этапе компьютеры на базе Linux, как никогда раньше, зависят от надежной работы служб Internet. Эти службы очень важны и для отдельных людей, и для деятельности коммерческих организаций. В этой части детально исследовано использование наиболее распространенных служб всемирной сети.
Глава 11. "Безопасность сервера". Будут рассмотрены история обеспечения безопасности и наиболее частые проблемы настройки почтовых серверов sendmail, postfix и qmail. Этими программными пакетами практически ограничиваются все почтовые серверы, установленные на UNIX-подобных хостах всей сети Internet.
Кроме того, будут изучены проблемы FTP-серверов, пользователей этого протокола, и проблемы использования самого протокола FTP. Несмотря на широкое распространение HTTP для получения файлов по сети, FTP по-прежнему остается очень популярным, так как он позволяет не только выкачивать, но и загружать файлы на удаленный компьютер. При работе большинства FTP-серверов возникали серьезные проблемы безопасности. В главе обсуждаются способы для повышения защиты FTP-сервера и альтернативные варианты удовлетворения потребностей пользователей с меньшим риском для безопасности.
Глава 12. "Web-серверы". Стремительное развитие Internet стало основной причиной для возникновения многочисленных HTTP- и Web-серверов. Создается впечатление, что уже каждый человек в мире имеет свою собственную Web-страничку, если не собственное доменное имя. Осталось немного компаний, которые бы не имели Web-страницы в Internet или хотя бы не планировали ее создание. И создатели большинства Web-страниц хотят предложить пользователям не только статическую информацию. Динамическое содержание Web-страницы становится основным стимулом для привлечения пользователей Internet.
Многие из проблем безопасности связаны с неправильной настройкой Web-серверов или применением незащищенных программ просто потому, что они хорошо знакомы пользователям. В Internet можно встретить CGI-программы, изобилующие различными ошибками, причем они распространяются с помощью нескольких Web-серверов. Так как очевидно, что выключение Web-сервера не является решением проблемы, то в этой главе будут рассмотрены различные ошибки программирования и настройки Web-серверов, которых нужно избегать при обслуживании Web-страниц.
Глава 13. "Управление доступом и брандмауэры". Здесь будут рассмотрены методы, позволяющие ограничить использование служб предоставляемых посредством Internet. Данная информация позволяет изучить как управление службами на пользовательском уровне с помощью упаковщиков TCP, так и контроль на уровне ядра с помощью ipchains и iptables. Ограничение количества компьютеров, которые могут подключаться к сетевым службам, значительно снижает шансы проведения атаки по Internet.
Часть V. "Приложения"
В приложениях читателям будут даны простые пошаговые указания, которые помогут им защитить свои компьютеры.
Приложение А. "Обновление программ". Здесь будут детально рассмотрены методы обновления установленного программного обеспечения, а также специальная информация о программах управления пакетами (диспетчерах пакетов), созданными компаниями Red Hat, Debian и Slackware.
Приложение Б. "Отключение ненужных служб". В этом приложении продемонстрировано, как можно отключать ненужные службы, которые предоставляют нарушителям лишнюю возможность для проведения атаки. В общем описан процесс запуска процесса init и даны специальные указания о различиях, существующих в версиях Red Hat и SuSE.
Приложение В. "Источники оперативной информации". Существует большое количество сетевых оперативных источников информации, которые можно использовать для проверки надежности защиты своей системы от всех ошибок программного обеспечения, обнаруженных в последнее время. В приложении даны ссылки и перечислены наиболее значительные поставщики систем безопасности, адреса сайтов, посвященных хакингу и безопасности, а также сетевых конференций, позволяющих быть в курсе последних событий в мире компьютерной безопасности.
Приложение Г. "Примеры реальных атак". В этой книге рассказано о различных типах атак, которые могут привести к различным последствиям. Авторы посчитали важным показать читателям способы применения этих теоретически возможных атак на реальных примерах. В этом приложении будут представлены описания действительных атак, выполненных по Internet от начала до конца, шаг за шагом, команда за командой. Подробно рассмотренные примеры затрагивают материалы разных частей книги и помогут облегчить понимание общих идей и концепций информационной безопасности.
Приложение Д. "Русскоязычные ресурсы". В этом приложении дополнительно к оригинальному материалу книги даны ссылки на русскоязычные сайты в Internet, посвященные безопасности в Linux и других операционных системах.
Об основных авторах
Брайан Хатч (Brian Hatch), изображенный на фотографии справа, - ведущий хакер в компании Onsight, Inc. (http://www.onsight.com), в которой он является консультантом по безопасности в системах Unix/Linux и по безопасности в компьютерных сетях. Среди его клиентов крупные банки, фармацевтические компании, образовательные учреждения и даже основные разработчики Web-броузеров и провайдеры Калифорнии, малейшие ошибки при настройке систем которых вообще недопустимы. Мистер Хатч прошел хорошую школу изучения различных аспектов безопасности, Unix и программирования, а также был помощником преподавателя в Северо-западном университете. Он начал заниматься безопасностью и взломом систем с того времени, как установил на своем Apple II+ систему Unix. Он также является участником создания программы Stunnel - свободно распространяемого SSL-упаковщика, созданного с целью повышения безопасности сетей, который в данное время используется по всему миру для шифрования сообщений протоколов открытого текста.
Адрес электронной почты мистера Хатча [email protected].
Джеймс Ли (James Lee), изображенный слева, является генеральным директором компании Onsight, Inc. (http://www.onsight.com) - фирмы, которая специализируется на повышении квалификации и консультациях в области технологий, использующих открытый программный код. Джеймс более 13 лет занимается разработкой программного обеспечения, обучением, безопасностью систем Linux и Web-программированием. Являясь сторонником программного обеспечения с открытым кодом, он утверждает, что операционная система Linux является надежной, безопасной и удобной именно потому, что ее исходный код открыт, и она распространяется бесплатно. Спросите его студентов - Джеймс Ли может бесконечно говорить о преимуществах Linux, Perl, Apatche и других подобных программ. Несколько его статей о сетевом программировании и языке Perl опубликованы в журнале The Linux Journal.
Написать письмо Джеймсу Ли можно по адресу [email protected].
Джордж Куртц (George Kurtz) - генеральный директор организации Foundstone (http://www.foundstone.com), которая находится на передовых позициях по обучению и консалтингу в области компьютерной безопасности. Куртц является признанным в мире экспертом по безопасности и за время карьеры консультанта провел сотни оценок безопасности компьютерных сетей, брандмауэров и средств электронной коммерции. Имеет значительный опыт по обнаружению несанкционированных вторжений в системы, создания технологий разработки брандмауэров, а также по разработке методов действий в ответ на различные происшествия и решений для удаленного доступа к системам. Джордж регулярно выступает на конференциях, посвященных безопасности компьютерных систем, и является широко цитируемым специалистом во многих изданиях, включая The Wall Street Jornal, InfoWorld, USA Today и Associated Press. Его очень часто приглашают прокомментировать случаи взлома систем безопасности, и он был гостем многих телевизионных программ на CNN, CNBC, NBC и ABC.
Связаться с Джорждем Куртцем можно по адресу [email protected].
Об авторах, оказавших помощь
Николас Эсборн (Nicholas Esborn) является главным системным администратором в компании Swan Systems. Эсборн работал в основном с системами Unix в течение шести лет, помогая небольшим компаниям - провайдерам услуг Internet избежать связанных с безопасностью проблем с помощью установки FreeBSD. Более близко с проблемами безопасности компьютерных сетей всемирного масштаба ему пришлось столкнуться, работая в StarNet - крупном региональном провайдере в Тусоне, штат Аризона. Сейчас Николас Эсборн занимается обеспечением безопасности в компьютерных сетях промышленных предприятий в Сан-Франциско.
Эрик Мэйвалд (Eric Maiwald), имеет сертификат CISSP (сертифицированный профессионал в области безопасности информационных систем) и является руководителем служб безопасности в компании Fortrex Technologies. Мэйвалд осуществляет контроль за безопасностью по всем устанавливаемым и рекомендуемым продуктам для клиентов своей компании. В его обязанности входит выполнение оценки безопасности системы, разработка определенной политики и реализация выбранных решений для больших финансовых учреждений, фирм по предоставлению услуг и фирм-производителей. Эрик также является основным преподавателем на курсах безопасности Fortrex, включающих обучение по классу сертифицированных инженеров ISS (ISE). Международным консорциумом сертификации в области безопасности информационных систем Эрику Мэйвалду был выдан сертификат, удостоверяющий, что он является профессионалом в области безопасности информационных систем. Для действующих конференций им было написано несколько официальных документов по методам обнаружения взлома.
Крэйг Озанкин (Craig Ozancin) - главный аналитик по вопросам безопасности корпорации Symantec. На протяжении 21 года занимается программным обеспечением компьютеров и последние шесть из них он посвятил проблемам безопасности. Один из основателей группы информационной безопасности SWAT компании AXENT Technologies, Inc. мистер Озанкин тесно сотрудничает с сообществом "Хакер/Крэкер" и определяет новые направления деятельности хакеров и уязвимые места программного обеспечения. Он является участником голосования в проекте "Общие уязвимые места и дефекты" (CVE); очень часто публикуется и выступает с презентациями, на которых демонстрирует методы, применяющиеся нарушителями для взлома компьютерных систем. Основное внимание он уделяет безопасности систем Unix и Linux.
Майк Ворфилд (Mike Warfield) является членом и главным разработчиком проекта X-Force организации Internet Security System (ISS). Его сотрудничество с ISS началось в 1995 г., и все это время он проводил исследования и разрабатывал методы защиты систем Unix. Ворфилд работает с компьютерами и в сфере компьютерной безопасности начиная с начала 70-х гг. С начала 80-х успел побывать инженером и консультантом систем Unix, консультантом по безопасности и сетевым администратором в сетях Internet. Он рассказывает о безопасности на выставках LinuxWorld Expo и проводит регулярные лекции по криптографии и безопасности в системах Linux. Майка Ворфилда можно назвать одним из ныне живущих "гуру" по Unix, он является одним из постоянных участников группы Atlanta UNIX Users Group и одним из основателей Atlanta Linux Enthusiasts, а также сделал значительный вклад в разработку большого количества программ с открытым кодом и проектов криптографии в Internet, например Samba, SSH и криптографических заплат SSL для fetchmail.
О техническом рецензенте
Филипп Кокс (Philip Cox) является консультантом в корпорации SystemsExperts - консалтинговой фирме, специализирующейся на управлении и безопасности компьютерных систем. Он - признанный авторитет в области безопасности систем и, особенно, безопасности в Windows и в смешанных операционных средах Windows-Unix. В его обычные обязанности входит выполнение полной проверки безопасности и архитектуры систем, проверка наличия несанкционированного доступа и проектирование систем обнаружения вторжений масштаба предприятия для многих крупнейших компаний мира, занимающихся электронной коммерцией. Филипп Кокс - автор книги Руководство по безопасности Windows 2000. Он работает ведущим обозревателем рубрики "login:" в журнале USENIX Association Magazine, а также в редакционной коллегии SANS NT Digest. Является одним из наиболее часто выступающих и хорошо осведомленных лекторов по проблемам безопасности в системах Unix и Windows на основных конференциях, проходящих по всей планете, таких как USENIX, SANS, NetWorld-Interop и конференции по информационной безопасности. Филипп получил степень бакалавра наук в области компьютерных технологий и является сертифицированным системным инженером по продуктам Microsoft (MCSE). Адрес его электронной почты [email protected].
Благодарности
Невозможно написать книгу без помощи и работы многих людей. Чтобы успешно завершить эту книгу, мы, ее авторы, во многом зависели друг от друга, наших редакторов и всех приверженцев безопасности, работавших до и во время стремительного роста популярности Internet.
Очень важно поблагодарить членов всех наших семей за поддержку в течение этих кажущихся бесконечными месяцев исследований и написания, а также постоянного добавления "только еще одной вещи", когда мы думали, что книга уже окончена. Мы гарантируем всем вам, что, так как книга уже в печати, мы прекращаем работу над ней.
Хочется высказать особую благодарность нашему техническому редактору Филу Коксу за его быстрый анализ, исправления, способность проникновения в суть проблемы и блестящие догадки. Его советы часто заводили нас гораздо дальше, чем к простой формальной проверке правильности материала, и выпуском книги мы в значительной степени обязаны вкладу этого человека.
Спасибо всем авторам, принявшим участие в нашей работе, и тем из них, кто заполнил некоторые пробелы в материале буквально в последнюю минуту. Без вашей помощи мы все еще бы писали эту книгу до тех пор, пока не была бы выпущена надежная версия ядра 2.6.
Мы очень признательны всем редакторам и сотрудникам производственной бригады компании - Osborne/McGraw-Hill, которые помогли сделать эту книгу лучше, чем мы ее себе представляли. Нам особенно приятно отметить ЛиЭнн Пикрелл (LeeAnn Pickrell), Джудит Браун (Judith Brown), Джуди Зайка (Judy Ziajka) и Марка Кирзниака (Mark Cierzniak) за их прекрасные редакторские правки и санитарные проверки программ на отсутствие тривиальных ошибок; Росса Долла (Ross Doll) за поддержание всего процесса в необходимом порядке и Джейн Браунлоу (Jane Brownlow) за ее терпение, такт и поддержку при выполнении этого сложного проекта.
Мы должны поблагодарить всех людей, создавших средства и программы атаки, использовавшиеся нами для доказательства определенных идей, и которые были обсуждены и детально рассмотрены в данной книге. Уязвимое место, которое нельзя проверить, нельзя и исправить, а без этих средств вопрос безопасности теряет смысл. И если бы не было Линуса Торвальда (Linus Torvald), нашего великодушного диктатора, то мы бы никогда не играли в эту игру под названием Linux.
И, конечно, хочется высказать огромную признательность и уважение авторам оригинальной книги Секреты хакеров. Безопасности сетей - готовые решения, 2-е изд. (Hacking Exposed), которые обеспечили нам такое огромное поле деятельности.
Авторы
Я хотел бы поблагодарить Анну Карасик (Anne Carasik) за привлечение меня к работе над этой книгой и Джеймса Ли за чрезвычайно интенсивное участие в проекте и за то, что он написал намного больше, чем намеревался. Особая благодарность моей дочери за то, что она постоянно отвлекала меня от работы, и моей любимой за то, что она простила мне долгие вечера и ранние утра, которые я провел перед монитором. Я с радостью предвкушаю, что мне удастся должным образом компенсировать вам каждую из этих 600 страниц.
Брайан Хатч
Я бы хотел выразить благодарность Брайану Хатчу за возможность соавторства при создании этой книги и за помощь в преодолении моей нерешительности в критические моменты. Большое спасибо Брэнту Веа (Brent Ware) за помощь в написании и редактировании, оказанную на завершающем этапе. Спасибо Дэйву Пистолу (Dave Pistole) за то, что он послужил мне живым примером - я выбрал эту карьеру, глядя, как он любит свою работу. И еще хочу поблагодарить Фрэнка Ханниката (Frank Hunnicutt) и всех моих друзей из The Locker Room - вы просили меня не терять веру в собственные силы и посмотрите, что получилось.
Джеймс Ли