Рубрика:
Администрирование /
Продукты и решения
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
СЕРГЕЙ ЯРЕМЧУК, фрилансер. Автор более 800 статей и шести книг. С «СА» с первого номера. Интересы: сетевые технологии, защита информации, свободные ОС
Крепкий орешек
Really incredible
“... highly-secure but usable...”
Интернет сегодня не является дружеcтвенной средой и, кроме посетителей, желающих ознакомиться с ресурсом, к вам наверняка наведываются и те, кто считает своим долгом проверить узел на защищенность. В журнале уже много писалось о том, как собрать защищенную систему, но на самостоятельную сборку таких систем подчас уходит большое количество времени, особенно при использовании нестандартных приложений, параметры к которым приходится подбирать экспериментальным путем. Сегодня мы познакомимся с дистрибутивом, разработчики которого пытаются решить две противоречивые задачи: сделать максимально защищенную, но в то же время простую (я не сказал легкую) в использовании систему.
Проект Adamantix (http://www.adamantix.org) занимается разработкой одноименного дистрибутива, который по заверениям разработчиков способен противостоять большинству самых распространенных в Интернете атак и предохранить от некоторых возможных проблем с безопасностью в будущем. Началом проекта послужил другой проект Trusted Debian (http://www.trusteddebian.org), но т.к. Debian является зарегистрированной торговой маркой, было принято решение изменить название. В Adamantix стараются реализовать все достижения Linux: графический десктоп, в будущем, возможно, и графический инсталлятор, автоматическое определение железа, настройка звука, мультимедиа, но только с одним отличием – это будет более безопасная система. Для достижения этой цели применяются различные патчи к ядру и компилятору, более защищенные и специально протестированные версии программ и другие технологии, повышающие общую защищенность системы. Используется только свободное программное обеспечение, поэтому лицензионных отчислений не требуется, хотя в последнее время стал активно развиваться и коммерческий проект, расположенный по адресу http://www.adamantix.com.
Установка
В документации самими разработчиками установка названа как грязная, неудобная, недружественная, и сказано, что при неаккуратном обращении может привести к потери данных. Посмотрим, может, это действительно так. Поначалу ничего необычного: записываем скачанный образ размером 230 Мб на CD, загружаемся, жмем Enter и попадаем в консоль. Для ознакомления с особенностями следует прочесть файлы FAQ, INSTALL, README и WARNING в каталоге /root. Для установки запускаем скрипт аdamantix-install, после этого в сотый раз предупреждают об уничтожении данных, выбираем раскладку, программу, при помощи которой будем разбивать диск (fdisk, cfdisk, parted), после чего выбираем точку монтирования для корневого и остальных разделов, файловую систему для вновь созданных разделов (XFS, ReiserFS, ext2/3), прописываем параметры сетевых интерфейсов, которые нашла программа установки, IP-адреса шлюза и DNS-сервера, временной пояс и сервер для обновлений, место установки загрузчика. При этом для перехода к следующему пункту выбираем continue. И под конец вводим пароли для root и so (security officer). На этом все. Ничего страшного не произошло, человек, умеющий обращаться с указанными программами и знающий необходимые параметры, вопреки всем предупреждениям установить систему все-таки сможет. И, кстати, можно установить Adamantix поверх Debian 3.0 (Woody), установленного в минимальной инсталляции. При этом для возможности установки приложений при помощи apt-get советую занести один из выбранных на http://www.adamantix.org/mirrors.html серверов в файл /etc/apt/sources.list, т.к. пакеты из Debian не перекомпилированы и не могут противостоять атакам переполнения буфера подобно пакетам Adamantix. Перезагружаемся. Нас встречает GRUB, в котором на выбор предлагается несколько вариантов загрузки.
Сердца Adamantix
Сейчас для работы используется версия 2.4.22-3 ядра, взятая от Debian unstable. В результате наложения тех или иных патчей получилось три ядра (в более ранних версиях было и четвертое) в шести вариантах (подробнее смотрите http://www.adamantix.org/documentation/kernel.html/view): normal, softmode kernel (с префиксом -soft) и secure mode kernel (-sec). Все ядра скомпилированы с поддержкой SSP (Stack Smashing Protector), обеспечивающей некоторую защиту от переполнения буфера, включена поддержка XFS, AES-loop, добавлены патчи защиты RSBAC (http://www.rsbac.org) и PaX (http://pageexec.virtualave.net), модуль MS (Malware Scan) с поддержкой ClamAV, включены transparent proxy и модуль MPPE (encrypted PPP) и некоторые другие опции. В normal kernel отключен RSBAC, хотя здесь небольшая путаница в документации, так, в FAQ сказано, что он отключен, а в документе «Adamantix Kernel Information» сказано, что включен, но, судя по надписям при загрузке, поддержки RSBAC все-таки нет. Ядро soft предназначено в основном для первоначальной отладки или обкатки технологии RSBAC, т.к. оно не обеспечивает защиту, а лишь заносит все нарушения политик в журнал. Для возможности отключения режима управления доступом оставлена возможность работы в режиме rsbac_ softmode, для перехода в защищенный режим достаточно убрать строку в загрузчике. Также оставлена включенной опция ядра CONFIG_MAGIC_SYSRQ, позволяющая комбинацией + производить некоторые операции, к которым, правда, не всегда полезно иметь доступ пользователю (подробнее см. в /usr/src/linux/Documentation/sysrq.txt). В ядре sec, предназначенном для максимальной защиты, изначально отключено и запрещено все, что есть в soft, поэтому перейти в режим soft изменением параметров, передаваемых ядру, не удастся. Если не хотите возиться с настройками RSBAC, то можно использовать ядро без префикса, все равно защищенность будет выше благодаря применению PaX, который обеспечивает защиту памяти. Разработчики PaX, в отличие от других подобных проектов вроде OpenWall, в которых реализована защита от конкретных атак, сосредоточивают свои усилия на защите от целых классов атак и, вероятно, этот проект может стать единственным, о котором будeм говорить в будущем. Для сомневающихся в эффективности этой технологии на странице http://www.adamantix.org/demo.html приведены некоторые примеры и, главное, имеются инструменты, позволяющие проверить правдивость этих доводов.
Загрузка
При первой загрузке выскочило сообщение: «Error 15: File not found». Диск был разбит на такие разделы: hda1 swap hda2 /boot hda3 /var hda4 /. Все решилось изменением строки root hd(0,1) в конфигурации GRUB, для этого, выбрав нужный пункт, нажимаем «e», и после внесения изменений для загрузки «b», затем, чтобы не нажимать это каждый раз, редактируем конфигурационный файл загрузчика /boot/grub/menu.lst, используя vi или GNU/nano. В случае применения RSBAC первоначально необходимо загрузиться в soft mode и выполнить команду rsbac_fd_menu /bin/login и далее в появившемся меню устанавливаем AUTH May Setuid в On, иначе система вас попросту не пустит, т.к. процесс не сможет сменить uid, примерно такие действия придется проделать затем и для остальных команд, которым необходимо изменение uid.
Работа
Конечно же, в объем 230 Мб вошло только то, что нужно для установки и первоначальных настроек, все остальное, необходимое для работы, придется доустанавливать и настраивать самому. Это сделано специально для того, чтобы администратор сам мог выбрать только то, что ему действительно необходимо, лишние приложения в защищенной системе обычно не приветствуются. Да и, как мне кажется, установить требуемое все-таки легче, чем убрать лишнее. Для установки и обновления приложений используется знакомая пользователям Debian утилита apt-get с указанием нужного пакета. Если вы устанавливаете Adamantix поверх Debian, то в первую очередь установите необходимые для настройки RSBAC пакеты: rsbac-adamantix, rsbac-admin, rsbac-klogd и rsbac-secpolic. Если с установкой новых приложений проблем быть не должно, apt-get уже давно заслужил похвалу у пользователей, то вот с его настройкой под RSBAC придется повозиться. Что поделаешь, Adamantix не относится к тем дистрибутивам, которые настраиваются за пол-дня, здесь в каждом конкретном случае требуется индивидуальный подход, да и построение защищенной системы не любит спешки. Кстати, за логи отвечает пакет rsbac-klogd, который пишет все данные по защите в /so/log/security-log, находящийся в домашнем каталоге пользователя so (uid=400), куда имеет доступ только пользователь so, root при полной защите в него не допускается. Так что ответы на вопросы, почему не запускаются те или иные сервисы, смотрите там.
Далее для информации по применению RSBAC почитайте документы «RSBAC on Adamantix HOWTO» (http://www.adamantix.org/documentation/rsbac.html/view) и «Apache with RSBAC Role Compatibility» (http://www.adamantix.org/documentation/rsbac.html/view), информацию на сайте проекта RSBAC, где найдете много готовых примеров, а также мою статью «RSBAC для Linux» в январском номере журнала за 2004 год и статью Станислава Иевлева «RSBAC для начинающих» (http://linux.ru.net/~inger/RSBAC-DOC.html). И остается открытым вопрос цены такой защиты. Конечно же, она имеется. Так, за PaX, который используется во всех ядрах, придется отдать 1-2% производительности, Stack Smashing Protector (SSP) забирает в зависимости от кода до 8%, и на долю RSBAC приходится 4-5%. Последняя зависит от количества и состава запущенных модулей (подробнее о модулях в документации).
Единственный недостаток Adamantix – это молодость и, как следствие, отсутствие документации, в которой можно найти готовые на все случаи рецепты, но остается только надеяться, что это ненадолго. И конечно же, Adamantix – дистрибутив не для всех (по крайней мере пока), но если необходима максимальная защищенность будущей системы и одновременно легкость в обновлении и совместимость, то, наверное, стоит обратить на него внимание.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|