Спецвыпуск журнала «Хакер» #47, октябрь 2004 г. - Хакер
Шрифт:
Интервал:
Закладка:
Взглянем на рынок ОС сегодняшнего дня. Мой выбор пал на следующие дистрибутивы: Mandrake 10 Official, Gentoo Linux 2004.2, FreeBSD 5.1, OpenBSD 3.5, QNX 6.2.1.
InTrOНам нужен максимально безопасный и стабильный дистрибутив. Самые популярные дистрибутивы Linux базируются на RPM-пакетах. Представителем мира RPM-base стал последний релиз Mandrake. Я выбрал его по нескольким причинам: все компоненты дистрибутива проходят тщательное тестирование на совместимость, используется собственная модель взаимодействия с пользователями, высокая стабильность, проверенная годами. Можно было использовать канонический Red Hat, но политика, направленная на зарабатывание денег, отходит от классической UNIX-модели, что явно не в пользу всей Федоры. В обзоре есть еще один вариант Linux-систем – Gentoo 2004.2. Это классический source-base дистрибутив. При установке такой системы ты полностью сам закладываешь всю безопасность хоста. Кроме этого, в Gentoo очень хорошо продумана схема обновления ПО через интернет, что позволяет всегда использовать самые безопасные и защищенные версии софта.
Самым ярким и известным представителем линейки BSD является FreeBSD. Очень многие сервера крупных организаций используют именно этот клон UNIX. Из основных плюсов можно выделить проверяемую годами архитектуру, отлаженную схему взаимодействия компонентов, минимальное наличие известных уязвимостей. Еще очень сильно привлекает развитая система портов, которая позволяет обновлять всю систему, используя всего одну команду. Второй перспективной реализацией BSD-модели стала OpenBSD. Мой выбор пал именно на эту систему, потому что ее создатели изначально готовят свое детище к работе в сложнейших сетевых условиях: «Вот уже несколько лет, как не было зарегистрировано ни одного удаленного взлома машин, работающих под управлением OpenBSD в конфигурации по умолчанию». И последняя система, о которой пойдет речь в нашем обзоре, – QNX. Это даже не UNIX в том понимании, которое близко нам. QNX – коммерческая ОС жесткого реального времени, совместимая со стандартом POSIX. То есть она может работать с очень многим ПО, написанным для UNIX. Основное отличие QNX от всех остальных операционок в том, что это система реального времени, взломов которой зарегистрировано не было вообще. После небольшого знакомства с нашими кандидатами предлагаю перейти к исследованию безопасности данных систем.
LINUX Mandrakehttp://www.mandrakelinux.com
Популярный дистрибутив Linux на рабочем столе. О дружественности продуктов этой компании говорит весь интернет. А что же с безопасностью? Уже в начале установки можно сделать выбор: тип expert или обычный. Следует отдать предпочтение первому варианту: чуть больше возможностей для тонкой настройки ОС при инсталляции. Пожалуй, самым главным этапом во всей установке для нас станет выбор уровня безопасности. Именно так MandrakeSoft подготовила свой дистрибутив к серверному рынку. Первый и самый простой уровень – стандартный. Этот вариант практически не предусматривает никакого контроля над безопасностью системы. Так, любой пользователь сможет читать произвольные каталоги, кроме домашних директорий других юзеров. Кроме этого, некоторые пользователи смогут просмотреть содержимое конфигурационных файлов /etc. Полностью отсутствуют проверки на новые/изменившиеся файлы в системе: разработчики считают, что за день столько софта наставишь/наудаляешь, что читать мегабайтные логи своих действий не возникнет никакого желания. Также возможен непосредственный вход пользователя root прямо по SSH или с терминала, что кому-то удобно, но на самом деле очень опасно. Как видишь, первый уровень ориентирован на домашнее использование и на звание секьюрного варианта даже не претендует. Следующий уровень – высокий – также рассчитан на домашнее использование и поэтому нас тоже не интересует. Пожалуй, единственным приемлемым вариантом станет параноидальный уровень. Для серверов следует использовать только его. Вот что он дает: невозможен непосредственный вход пользователем root, никто не может читать корневую файловую систему – у всех файлов и каталогов выставлены права на чтение только для root. Кроме этого, производители значительно проработали механизм демонов – на этом уровне полностью реализована модель безопасности каждому демону «по потребностям», то есть любой сервис будет запускаться от своей учетной записи. Еще каждую ночь будут проводиться автоматические проверки на бэкдоры и руткиты – при любых изменениях файловой системы составляется протокол, который отправляется администратору. Защита от внешних атак реализуется с помощью обязательной установки пакета iptables – системы Firewall. Mandrake постарается автоматически выбрать необходимые правила и применить их для данного хоста. Причем у фаервола будет активирована опция, отвечающая за отражения попыток сканирования портов – практически ни один порт-сканер не сможет определить наличие работающих сервисов. Таким образом, параноидальный уровень старается создать действительно защищенную крепость как для атак извне, так и для локальных взломов ;).
LINUX Gentoohttp://www.gentoo.org
Это, ИМХО, один из лучших дистрибутивов Linux по всем параметрам. Достать систему очень просто: ее можно скачать из интернета (www.gentoo.org) либо заказать 2 CD в Linux-центре (www.linuxcenter.ru). Установка Дженту радикально отличается от аналогичной процедуры в Mandrake-like-дистрибутивах. В этой сборке тебе придется все делать руками и консолью. Именно поэтому не имеет смысла говорить о заранее предустановленных уровнях безопасности – их просто нет. Весь процесс инсталляции ты проводишь сам, и если твои знания Linux ограничиваются уровнем KDE, то ни о какой безопасной системе даже не мечтай. Это я не к тому, что установить Gentoo трудно, а к тому, что создать защищенный хост на его базе новичку сложнее. Но, если ты владеешь секретами Linux в достаточной степени, то Дженту – для тебя. Вот почему я выбираю его: после установки на моем сервере есть только то, что я сам выбрал из исходников. То есть никаких левых и бажных сервисов не будет. Например, если это почтовый сервер, то на нем и будет установлен самый свежий postfix, собранный из сорцов, с оптимизацией и повышенной защитой. Всяких апачей и джабберов не будет даже в проекте. Такой подход к безопасности ОС позволяет держать на сервере минимальный набор самых необходимых демонов. Но создать Linux исключительно под свои нужды – это только часть возможностей Gentoo. Однажды установив и настроив систему, можно надолго забыть о поддержании сервера в боеспособном состоянии. У нашего пингвина есть встроенные средства обновления и установки ПО прямо из интернета, без участия администратора! Именно поэтому я считаю Gentoo самым секьюрным дистрибутивом Linux на сегодняшний день. Докажу тебе это, раскрыв сущность процесса обновления ОС. Установка нового ПО на машину с Gentoo происходит с помощью утилиты emerge. Принцип работы этой программы очень прост: когда root (или сrond) отдает команду «emerge Имя_Программы», система идет в интернет, скачивает сорцы этой программы с сайта поддержки Gentoo, компилирует и устанавливает бинарники. Все происходит в полностью автоматическом режиме. А если учесть, что софт для Дженту обновляется практически каждый день, то ты поймешь, что грамотный админ и Gentoo Linux создадут суперсекьюрный сервер. Достаточно один раз разобраться во всем и настроить, к примеру, тот же Apache, а потом записать в Crontab команду «emerge Apache» на ежедневное выполнение, и все! Взломать систему через уязвимость в Apache станет практически невозможно (на каждый неуязкимый Апач найдется свой приватный эксплоит :) – прим. AvaLANche'а)!
FreeBSDhttp://www.freebsd.org
Вот добрались и до прямых потомков UNIX. Пожалуй, FreeBSD – это самый известный клон UNIX на сегодня. Разработчики этой системы стараются выпускать только стабильные и хорошо отлаженные продукты. Именно поэтому, хотя вся система доступна в исходных кодах, добавлять патчи и новые возможности в ядро могут только разработчики, входящие в официальную группу поддержки проекта. Это отличает FreeBSD от всех остальных систем Open Source. Создатели нацеливают свой продукт на серверный рынок: во время установки у тебя будут спрошены не только сетевые параметры, но и то, какие сервисы тебе необходимы, и даже будет предложено организовать FTP-доступ сразу после инсталла. При первом запуске необходимо начать обустраивать защиту сервера. Система позволит провести кое-какие настройки и с помощью утилиты /stand/sysinstall. Но там представлен очень и очень скудный набор инструментов. Всю настройку ОС нужно проводить ручной правкой конфигов. И хотя разработчики постарались снабдить FreeBSD подробной документацией на английском языке, они не учли того, что для создания защищенного хоста необходимо затратить огромное количество времени на перелопачивание конфигурационных файлов. А если ты не профессионал, то и на чтение огромной кучи документации. Использование ее на сервере оправданно только в том случае, если твои знания именно этой системы тебе это позволяют. Стабильность хоста под FreeBSD будет определяться не безглючностью софта, а грамотностью админа. Практически все взломы этой ОС имели в своей основе не ошибки в демонах, а неправильное администрирование. Я бы не рекомендовал ставить Фряху админам средней руки – может не хватить времени на реализацию мечты о защищенном сервере. Злые негодники поломают систему, прежде чем админ успеет разобраться со всеми тонкостями настройки.