[Kernel] + grsecurity : mise-à-dispo

Relativement à mon post à-propos de grsecurity, dans le topic “Sécuriser un système Linux” …
Suite à la lecture de la documentation “Noyaux Linux durcis” d’Yves-Alexis Perez …


Veuillez plutôt suivre la méthode d’installation par le biais des dépôts Debian officiels pour Jessie Backports, ou Sid sur ce post en T&A !


Version 4.4.7 (stable) + grsecurity - Jessie amd64
J’ai compilé ce soir le dernier noyau 4.4.7 - stable - pour Jessie, architecture amd64, avec le patch grsecurity !
(C’est ce que j’ai sous la main - ne me demandez pas pour Jessie 32 bits, je ne le ferais pas …)


Les fichiers :

  • Les deux fichiers principaux sont : le fichier linux-header, et le fichier linux-imagene pas confondre ce dernier avec le fichier linux-image-4.7.7-dbg_4.7.7-1_amd64.deb !
  • les fichiers linux-firmware-image et linux-libc-dev - je me doute à quoi ils servent, mais n’en suis pas pleinement sûr - si d’autres pouvaient m’affirmer de leurs usages, faites-le svp !
  • les fichiers .dsc et .changes fournissent les sommes de contrôle sha1, sha256, md5 de tous ces fichiers - ‘.dsc’ pour les .tar.gz, ‘.changes’ pour les .deb
  • le fichier grsec.conf créé lors du processus, que je mets à disposition - à mettre dans le répertoire /etc/sysctl.d/ !

Le mode opératoire de création est celui du fichier README des nouveaux outils pour faciliter la prise-en-charge de grsecurity, à un détail près !
C’est la raison pour laquelle je redétaille le processus ici :

[code] mkdir linux-grsec && cd linux-grsec

git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
git clone git://anonscm.debian.org/users/corsac/grsec/debian-grsec-config.git

mkdir build
cp /boot/config-$(uname -r) build/.config

cd linux-stable
…/debian-grsec-config/bin/get-grsec.sh test
…/debian-grsec-config/bin/kconfig.py …/build/.config …/debian-grsec-config/configs/config-4.4.0-1-amd64 …/debian-grsec-config/configs/hardening …/debian-grsec-config/configs/grsec

make KBUILD_OUTPUT=…/build -j4 oldconfig
make KBUILD_OUTPUT=…/build -j4 deb-pkg[/code]

Si l’on veut juste les binaires .deb prêts à être installés, changez la dernière ligne de code par celle-ci :

La première phase de clone de git est longue car elle récupère le dernier kernel stable …


Pour l’exemple avec le kernel stable 4.7.7 :

# dpkg -i linux-headers-*4.7.7-1_amd64.deb linux-image-*4.7.7-1_amd64.deb
# chmod 0400 /boot/System.map*
# reboot
# uname -a
Linux ptb-dm1330 4.7.7 #1 SMP Tue Oct 11 19:24:03 CEST 2016 x86_64 GNU/Linux

Il est ainsi possible, malgré craintes, de surfer, lire mes mails, utiliser mes clés USB, un CD-ROM audio …

Il peut être parfois nécessaire de modifier certaines configurations ‘sysctl’, dans le fichier /etc/sysctl.d/grsec.conf


PS : Je suis preneur de toutes remarques constructives et de toutes réponses aux questions que je me lève et écrites dans ce post …

Donc tu récupères le noyau “brut”, non-patché par Debian, ou me trompe-je ? Ça ne serait pas une meilleure idée de récupérer le noyau “Debian” dans les dépôts source et de compiler à partir de ça ?

Alors, le script est écrit par un des membres de l’équipe Debian - si je ne me trompe pas - donc s’il le fait comme ça, c’est que c’est la meilleure façon de le faire.

Ensuite, il applique le fichier kernel .config du kernel debian en cours, ainsi que d’autres fichiers .config liés à Debian, puis applique les scripts de durcissements !

Je pense qu’il est mieux placé que toi et moi pour savoir comment ces outils doivent fonctionner :stuck_out_tongue:

@seb-ksl: lis la documentation “Noyaux Linux durcis” … mis en link :wink:

Lu. Ça a l’air d’une bonne initiative, pour ce que j’en comprends, même si les barrières à l’adoption de grsecurity qu’il relève lui-même me semblent bien réelles. Pour moi ça fait autant de bonnes raisons de garder le noyau patché grsecurity dans SID ;-).[quote=“PengouinPdt, post:3, topic:71298”]
Ensuite, il applique le fichier kernel .config du kernel debian en cours, ainsi que d’autres fichiers .config liés à Debian, puis applique les scripts de durcissements !
[/quote]

Effectivement j’avais lu en diagonale : la config du noyau en cours semble appliquée avant le patch donc ça passe.

De ma correspondance avec Yves-Alexis, oui, c’est même envisageable, voire préférable, pour lui … la différence étant que là, je l’ai fait pour la dernière version du kernel stable, que tu n’auras pas dans les dépôts :wink:

Effectivement, mais je suis toujours réticent à sortir des dépôts. Je me dis qu’ils sont là pour mon propre bien :smile:. Et dès qu’on fait un peu de pinning, hop :

$ aptitude search linux-image | grep "grsec"
p  linux-image-4.6.0-1-grsec-amd64 - Linux 4.6 for 64-bit PCs, Grsecurity protection
p  linux-image-4.7.0-1-grsec-amd64 - Linux 4.7 for 64-bit PCs, Grsecurity protection
p  linux-image-grsec-amd64 - Linux image meta-package, grsec featureset

C’est quand même plus simple que de compiler ;-). J’ai eu fait, pour optimiser mon noyau, mais honnêtement le temps passé à maintenir son système stable à chaque mise à jour n’était pas rentable.

Oui … de ma discussion avec Yves-Alexis … il m’a aussi (r?)éveillé quant à la responsabilité de mettre à disposition de tels paquets - c’est certainement un peu trop “sensible” pour mes “petites épaules” :stuck_out_tongue:

Ce qui est sûr, c’est que je vais ouvrir un T&A pour inciter à l’install dans Jessie, rien qu’avec les dépôts, puisque c’est tout autant facile, même si plus lent dans la màj des kernels récents.


De fait, je vais fermer ce sujet pour attirer l’attention sur le post en T&A !

1 J'aime