Grsecurity: cборка и установка защищенного ядра Debian


Навожу инструкцию по сборке и установке ядра linux-3.2.2 под дистрибутивом Debian, пропатченный с помощью Grsecurity 2.2.2.

Сначала обновляем систему и устанавливаем пакеты нужные для сборки:

apt-get update
apt-get install patch vim linux-source-2.6.18 build-essential kernel-package fakeroot msort-gui initrd-tools pkg-config qt3-dev-tools libqt3-mt-dev libncurses5-dev

Все действия будут делаться с привилегиями обычного пользователя!!!

su alex
$ cd /home/alex

Качаем ядро и патч grsecurity с официальных сайтов.

$ wget ftp://ftp.kernel.org/pub/linux/kernel/v3.x/linux-3.2.2.tar.bz2
$ wget http://grsecurity.net/test/grsecurity-2.2.2-3.2.2-201201302345.patch

Распакуем скачанное ядро и сделаем некоторые действия, которые будут обсуждаться позже.

$ tar xjvf linux-3.2.2.tar.bz2
$ cd linux-3.2.2
$ ln –s Documentation/virtual/lguest/ lguest
$ mv lguest Documentation/

Патчим ядро, чистим от нежеланных файлов и делаем сборку:

$ patch –p1 < ../ grsecurity-2.2.2-3.2.2-201201302345.patch
$ make-kpkg clean (make clean && make mrproper)
$ make menuconfig (cp /boot/config- .config && make oldconfig)
$ fakeroot make-kpkg --initrd kernel_image kernel_headers (make-kpkg --append-to-version "-своя" --revision "111" --us --uc --initrd kernel_image kernel_headers)

Сборка займет от 1 до 5 часов, следовательно, можете пойти отдохнуть или почитать умную книгу!) После сборки, в родительском каталоге у вас появятся два deb пакетика, которые нужно установить. Это установочные пакеты с пропатченым grsecurity ядром и заголовками.

$ cd ..
$ exit
dpkg -i linux-headers-3.2.2-своя_111_i386.deb linux-image-3.2.2-своя_111_i386.deb

Ну вот и вся петрушка! Теперь перезапустите систему и загружайтесь под новым ядром.

reboot

Тест безопасности:

После того, как вы убедились, что ядро рабочее (т.е. оно запустилось) можно начать тест безопасности grsecurity. Для этого качаем исходник программы для теста или просто устанавливаем менеджером пакетов и тестим!

wget http://www.grsecurity.net/%7Epaxguy1/paxtest-0.9.7-pre5.tar.gz
tar xzvf paxtest-0.9.7-pre5.tar.gz
cd paxtest-0.9.7-pre5
make generic
./paxtest kiddie
*** or ***
apt-get install paxtest

Чистка лишних ядер:

Если вы экспериментировали на множестве ядрах и уровнях безопасности, у вас будет много ядер в Grub-е. Если они все рабочие и вам нужны, можете их оставить. Если нужны не все навожу пример чистки.

dpkg --list | grep linux-
apt-get remove linux-headers-3.2.2-своя_111 linux-image-3.2.2-своя
aptitude purge `dpkg -l | grep ^rc | awk '{print $2}'`

Bugs:

Я должен был рассказать о тех непонятных действиях, так вот, при переходе ядер с версии 2.х.х на 3.х.х поменялось расположение папки с документацией по lguest, что приводит к ошибке при компиляции ядра.

Ошибка:

make: *** Documentation/lguest: No such file or directory. Stop.
make: *** [debian/stamp/build/kernel] Error 2

Для того чтобы исправить данную ошибку нужно сделать следующие действия.

Решение:
*** Первый вариант ***

$ vim .config
- Set #CONFIG_LGUEST_GUEST=n
- Set #CONFIG_LGUEST=n

*** Второй вариант ***

$ cd linux-3.2.1/Documentation
$ ln –s virtual/lguest/ lguest

*** Третий вариант ***

$ cd linux-3.2.2
$ wget ftp://ftp.kernel.org/pub/linux/kernel/v3.x/patch-3.2.2.bz2
$ tar xjvf patch-3.2.2.bz2
$ patch –Np1 –i patch-3.2.2

Вот и все.

Автор: admin, 16 февраля 2012
Рубрики: Linux, Безопасность
Метки: , ,

Написать комментарий

Последние статьи

Яндекс.Метрика
?>