RSS

Ręczna kompilacja kernela pod Ubuntu +instalacja łatki GRSecurity

17 Paźdź

Dawno temu pisywałem sposób jak łatwo zainstalować kernel z łatką GRSecurity przy pomocy apt-get. Było to rozwiązanie raczej dla leniwych lub mniej doświadczonych i miało pewne wady :
* brak możliwości dostosowania kernela do własnych potrzeb
* repozytoria z których był ściągany kernel nie były oficjalnymi repozytoriami
* rzadko pojawiały się tam najnowsze wersje kerneli
Dlatego teraz postanowiłem opisać sposób samodzielnej instalacji najnowszego jajka z łątką GRSec. Zależnie od mocy obliczeniowych maszyny na której będziemy to robić może to potrwać od pół do nawet kilkunastu godzin jednak da nam to wymierne korzyści. Począwszy na wyeliminowaniu minusów opisanych wyżej a skończywszy na wiedzy jaką zdobędziemy.
Zanim przejdziemy do kompilacji sprawdźmy czy mamy na dysku kilka giga wolnej przestrzeni.

Zaczynamy :
Do poprawnej kompilacji jajka będzie potrzebne nam parę paczek :
# apt-get update
# apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential bin86 libqt3-headers libqt3-mt-dev

Domyślnie w Ubuntu /bin/sh jest dowiązane do /bin/dash. /bin/dash może powodować problemy podczas kompilacji ze źródeł, dlatego też zamienimy je na /bin/bash. Tak aby /bin/sh wskazywał /bin/bash.
# rm -f /bin/sh
# ln -s /bin/bash /bin/sh

Przechodzimy do katalogu /usr/src i zaczynamy ściąganie źródeł kernela i patch GRSec :
# cd /usr/src/
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.4.tar.bz2

Inne wersji kerneli i GRSec można pobrać z oficjalnych stron które zamieściłem na końcu wpisu w dziale Linki.

Rozpakowujemy źródła :
# tar -xvjf linux-2.6.31.4.tar.bz2
# cd linux-2.6.31.4
# wget http://www.grsecurity.net/test/grsecurity-2.1.14-2.6.31.4-200910141729.patch

Patchujemy źródła :
# patch -p1 < grsecurity-2.1.14-2.6.31.4-200910141729.patch
Jeżeli nie zależy nam na łatce GRSecurity to możemy pominąć ten krok i przejść dalej.

Kopiujemy configa kernela z aktualnie działającego systemu :
# cp /boot/config-`uname -r` .config

I teraz zaczyna się najciekawsze.. Nie ukrywam, że ten etap jest najtrudniejszy i wymaga sporej wiedzy o systemie od użytkownika lub cierpliwości i chęci szukania informacji o modułach które są dostępne w samym kernelu. Z biegiem czasu kernel się rozrasta, dzięki temu zyskujemy możliwość obsługi dużej ilości sprzętu jednak sytuacja się komplikuje gdy mamy sami wybrać jakie moduły mają być ładowane przy starcie systemu. Pozostawienie domyślnie zaznaczonych prawie wszystkich sprawi że kernel będzie kompilował się godzinami i będzie bardzo „ociężały”. Jest to dobra opcja dla mniej doświadczonych, jednak dla bardziej wtajemniczonych polecam poświęcenie trochę czasu na poszperanie w modułach. Pozwoli to nam dostosować kernel do własnych potrzeb a wyeliminowanie zbędnych modułów dodatkowo zwiększa bezpieczeństwo systemu. Inną sprawą są dodatkowe opcje konfiguracji które pokażą nam się po spaczowaniu źródeł łatką GRSec. Oczywiście można wybrać jeden z trybów bezpieczeństwa (słaby, średni, mocny) lub poczytać tutaj -> http://newbie.linux.pl/wydruk.php?wydruk=108&show=artykul i samemu dostosować GRSec pod siebie. Jednak nawet tryb słaby daje nam większe bezpieczeństwo niż czysty kernel.
Odpalamy menu konfiguracji jajka:
# make menuconfig

Zaczynamy kompilować i tworzyć paczki *.deb naszego kernela :
# make-kpkg clean
# make-kpkg --initrd kernel_image kernel_headers modules_image

Na koniec możemy zabrać się za czyszczenie systemu :
# cd ../
# rm -rf linux-2.6.31.4/

I instalację nowego kernela :
# dpkg -i *.deb

Nowy kernel powinien się nam dodać automatycznie do menu wyboru w grubie. Jeżeli wszystko poszło dobrze to po restarcie komputera powinniśmy zobaczyć coś takiego :

Linki:
http://newbie.linux.pl/wydruk.php?wydruk=108&show=artykul
http://kernel.org/
http://www.grsecurity.net/

Reklamy
 
Dodaj komentarz

Opublikował/a w dniu Październik 17, 2009 w linuks, Linux, ubuntu

 

Tagi:

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Zdjęcie na Google+

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s

 
%d blogerów lubi to: