Hardened Gentoo/ru

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

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

Gentoo Hardened включает в себя несколько активных проектов, которые помогут вам дополнительно защитить вашу систему Gentoo с помощью:


 * Enabling specific options in the toolchain (compiler, linker ...) such as forcing position-independent executables (PIE), stack smashing protection and compile-time buffer checks.
 * Enabling PaX extensions in the Linux kernel, which offer additional protection measures like address space layout randomization and non-executable memory.
 * Enabling grSecurity extensions in the Linux kernel, including additional chroot restrictions, additional auditing, process restrictions, etc..
 * Enabling SELinux extensions in the Linux kernel, which offers a Mandatory Access Control system enhancing the standard Linux permission restrictions.
 * Enabling Integrity related technologies, such as Integrity Measurement Architecture, for making systems resilient against tampering

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

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

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

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

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

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

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

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

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

Chroot в защищенной Gentoo/Grsecurity
If you want to chroot to a copied environment where the CONFIG_GRKERNSEC_CHROOT is enabled you must use the cd grub and change the root(cd) kernel(cd) initrd(cd) setting to from (cd) to (hdx,y).

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

Per package hardening settings
Настройка профиля GCC для каждого отдельного пакета может быть мучительной. Можно избежать этого, установив флаги C(XX)FLAGS для каждого пакета в package.env. Создайте файл, и добавьте в него:

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

Наконец, добавьте пакет, для которого вы хотите запретить либо PIE, либо SSP в и. В данном примере используется.

Смотри также
For more information, check out the following resources:


 * Gentoo Hardened SELinux Project
 * Project:Hardened/Grsecurity2_Quickstart
 * Project:Hardened/PaX_Quickstart

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

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