Hardened Gentoo/ru

Gentoo Hardened это проект Gentoo, который предоставляет вам несколько дополнительных сервисов безопасности, по сравнению с обычной установкой Gentoo Linux. Хотя каждый из таких сервисов может быть выбран по отдельности, Gentoo Hardened позволяет использовать несколько таких опций в комплексе и поддерживает PaX, grSecurity, SELinux, TPE, и многое другое.

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

Gentoo Hardened включает в себя несколько активных проектов, которые помогут вам дополнительно защитить вашу систему Gentoo с помощью
 * Включения специфических опций в наборе утилит для сборки (то есть, компиляторе, линковщике, и т.д.), например, заставив компьютер выдавать только исполняемые файлы, которые работают независимо от адреса загрузки (PIE), включив защиту от разрушения стека, а также проверку буферов во время компиляции.
 * Включения расширений PaX для ядра Linux, что дает дополнительные меры защиты, например, случайное распределение адресного пространства и неисполняемую память.
 * Включения расширений grSecurity для ядра Linux, например, дополнительные ограничения chroot, дополнительный аудит, ограничения процессов, и т.д.
 * Включения расширений SELinux в ядре Linux, что позволяет вам использовать систему мандатного управления доступом, что улучшает стандартную систему прав Linux.
 * Включения технологий, относящихся к целостности, например, архитектуры измерения целостности, для того, чтобы сделать систему невосприимчивой к несанкционированному изменению.

Естественно, существуют и необходимые утилиты для управления всеми этими расширениями.

Переключение на защищенный профиль
Выберите защищенный (hardened) профиль, чтобы работа с пакетами проводилась защищенным способом:

Выбрав определенный профиль, вы, тем самым, выполнили некоторые настройки по умолчанию для вашей системы (маски, USE флаги, и так далее). Это применяется для многих пакетов, включая и набор утилит для сборки. Этот набор утилит используется для сборки и компиляции ваших программ, и включает: набор компиляторов GNU (GCC), binutils (компоновщик, и т.д.), а также библиотеку С GNU (glibc). Пересобрав этот набор, эти новые настройки применятся к нему, что позволит все будущие "компиляции пакетов" проводить в защищенном режиме.

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

В примере выше, защищенный профиль GCC был без суффикса. Если вы хотите отключить PIE или SSP, выберите нужный (hardenedno(pie|ssp), либо оба hardenednopiessp). Профиль vanilla, естественно, содержит выключенную защиту. В конце концов, примените настройки вашего нового профиля:

Если вы используете пакет "prelink", удалите его, так как он несовместим с защищенным профилем:

Теперь вы можете переустановить все пакеты с помощью ваших новых защищенных утилит для сборки:

Установите защищенные исходные коды ядра, чтобы ядро *работало с вашей текущей системой* защищенным образом (особенно, с использованием PaX):

Теперь сконфигурируйте/скомпилируйте исходники, и добавьте новое ядро к вашему менеджеру загрузки (например, GRUB).

Chroot в защищенной Gentoo/Grsecurity
Если вы хотите выполнить chroot в скопированное окружение, при включенном CONFIG_GRKERNSEC_CHROOT, вы должны перейти в каталог grub, и изменить root(cd) kernel(cd) initrd(cd) с (cd) на (hdx,y).

Теперь вы можете установить окружение grub.

Настройки безопасности для каждого пакета
Changing the GCC profile to deal with specific packages can be a pain. A way to avoid this is to set per-package C(XX)FLAGS using package.env. Create the file and add to that:

Чтобы отключить PIE, создайте и добавьте в :

Finally add the package you want to disable either PIE or SSP for to and the relevant, for this example  is used here:

Смотри также
For more information, check out the following resources:
 * Gentoo Hardened Project
 * Gentoo Hardened SELinux Project
 * Project:Hardened/Grsecurity2_Quickstart
 * Project:Hardened/PaX_Quickstart

Внешние ресурсы

 * http://www.rockfloat.com/howto/gentoo-hardened.html#kernel