Compilazione kernel con grsecurity —
A volte come in questo caso specifico si rende necessario ricompilare un kernel da zero per poter ottenere delle features che non sono standard.
Senza addentrarmi in una spiegazione che non solo esula dalla natura di questo articolo ma che non sarei neanche in grado di scrivere decentemente, di seguito passo passo la configurazione di un kernel 3.10 con patch grsecurity, da tenersi presente i seguenti fatti:
a) essendo un kernel che va su un bastion host viene compilato staticamente per evitare exploit sui moduli
b) la scelta del kernel e della patch sono vincolati alla necessità di usare DRBD 8.4.3
c) diamo per scontato che ci siano a bordo macchina tutti i tools necessari per la compilazione e in special modo gcc-*-plugin-dev (dove * è la versione installata)
clark@ardito:~$ cd /usr/src
clark@ardito:/usr/src$ wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.10.tar.bz2
clark@ardito:/usr/src$ tar xvfj linux-3.10.tar.bz2
clark@ardito:/usr/src$ wget http://deb.digdeo.fr/grsecurity-archives/kernel-3.10/grsecurity-2.9.1-3.10.0-201307122308.patch
clark@ardito:/usr/src$ cd linux-3.10
clark@ardito:/usr/src$ patch -p1 < ../grsecurity-2.9.1-3.10.0-201307122308.patch
clark@ardito:/usr/src/linux-3.10$ make menuconfig e qui configuriamo il kernel secondo le nostre esigenze, di seguito allego gli screenshot relativi ai settaggi di grsecurity e pax
Una volta finita la configurazione compilo con:
fakeroot make KDEB_PKGVERSION=1 deb-pkg -j5
N.B.
questo è il nuovo metodo di compilazione per i kernel Debian, il vecchio make-kpkg che era una favola è deprecato, e c’è un bug in kernel-package dal 2012 (al momento siamo a febbraio 2014) che da errori se si compila con make-kpkg e si disabilita il supporto moduli, secondo me un elegante modo per costringere ad usare il nuovo metodo, ma è opinione personale.
nella directory immediatamente superiore si creano i pacchetti:
linux-headers-3.10.0-grsec_1_amd64.deb
linux-image-3.10.0-grsec_1_amd64.deb
linux-libc-dev_1_amd64.deb
A me interessa solo l’image e installo solo quello col solito dpkg -i una volta rebootato il server e’ pronto con il kernel grsecurity.
Comments are disabled on this post