Instalacja Grsecurity

Grsecurity jest popularną łatą nakładaną na kod źródłowy jądra Linux, zwiększającą jego bezpieczeństwo, dzięki czemu możemy uniknąć wielu ataków zdalnych i lokalnych. Na wstępnie chciałbym zaznaczyć, że nie polecam instalowania grsec na desktopach, a jedynie serwerach, ponieważ wynika z tego powodu wiele problemów, m.in. z odpaleniem środowiska graficznego. Instalacja nie jest zbytnio skomplikowana, opiszę ją tradycyjnie na przykładzie dystrybucji Debian GNU/Linux oraz wersji kernel 2.6.31.5, w przypadku instalacji nowszej wersji potrzeba tylko zwrócić uwagę żeby zmienić numer wersji w komendach.

 

Mała uwaga, przykładowy plik z patchem grsec ma nazwę

grsecurity-2.1.14-2.4.37.7-200911101931.patch

oznacza to, że łatka jest w wersji 2.1.14 dla kernela 2.4.37.7 (wiec trzeba korzystać dokładnie z tych źródeł kernela) oraz data jej wydania. Na początek instalujemy wymagane pakiety

apt-get update;apt-get install kernel-package libncurses5-dev build-essential

następnie ściągamy kernela oraz łatkę

cd /usr/src
wget http://grsecurity.net/test/grsecurity-2.1.14-2.6.31.5-200910312135.patch
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.5.tar.bz2

rozpakowujemy kernela oraz patchujemy go

tar -xjf linux-2.6.31.5.tar.bz2
patch -p0 < grsecurity-2.1.14-2.6.31.5-200910312135.patch

następnie wybór polityki grsec

cd linux-2.6.31.5
make menuconfig

w menu wybieramy

Security options > Grsecurity > Security Level > High
Security options > Grsecurity > Sysctl support > Sysctl support 
Security options > Grsecurity > Sysctl support > Turn on features by default

w tym wypadku wybraliśmy najwyższą politykę bezpieczeństwa grsec, ich dokładny opis można przeczytać pod tym adresem, następnie przechodzimy do kompilacji kernela

make-kpkg clean
make-kpkg –initrd kernel_image kernel_headers

po kompilacji instalujemy gotowe paczki

cd /usr/src
dpkg -i linux-headers-2.6.31.5.10112009-grsec_2.6.31.5.10112009-grsec-10.00.Custom_i386.deb
dpkg -i linux-image-2.6.31.5.10112009-grsec_2.6.31.5.10112009-grsec-10.00.Custom_i386.deb

tworzymy plik initrd

update-initramfs -k 2.6.31.5.10112009-grsec -c

na koniec trzeba jeszcze tylko edytować menu gruba

/boot/grub/menu.lst

i upewnić się czy wszystko jest dobrze dopisane analogicznie do standardowego wpisu z pierwotnie zainstalowanym kernelem

title Debian GNU/Linux, kernel 2.6.31.5-grsec
root (hd0,0)
kernel /boot/vmlinuz-2.6.31.5-grsec root=/dev/sda1 ro
initrd /boot/initrd.img-2.6.31.5-grsec

prawdopodobnie będzie brakowało linijki

initrd /boot/initrd.img-2.6.31.5-grsec

która trzeba będzie dopisać ręcznie, następnie restartujemy system i przy starcie w menu gruba wybieramy nowy kernel :-).

Poprzedni post

Start z Javą i Eclipse, część druga.

Następny post
Lokalizacja pliku ikony w katalogu projektu

Start z Javą i Eclipse. Część trzecia

Powiązane posty

Limity deskryptora pliku i Dovecot (Debian)

Jeden z moich serwerów poczty osiągnął ostatnio maksymalny limit połączeń IMAP i byłem zmuszony zwiększyć wartość login_max_processes_count. Jednakże po restarcie usługi pojawił się poniższy błąd:

IMAP/POP3 mail server: dovecotWarning: fd limit 1024 is lower than what Dovecot can use under full load (more than 1512). Either grow the limit or change login_max_processes_count and max_mail_processes settings

Po dłuższym zastanowieniu doszedłem do wniosku, że mowa chodzi o limit deskryptora pliku.

Więcej...