Réserver le journal du noyau aux administrateurs
Le journal du noyau peut révéler des adresses et des détails sur le matériel. Seul un administrateur peut le lire.
Pourquoi il compte
Le journal du noyau contient des messages de pilotes, des détails matériels et parfois des adresses mémoire. N’importe quel utilisateur ou programme local peut normalement le lire avec dmesg, donc une application compromise peut apprendre des choses qui aident à attaquer le noyau. Le restreindre garde ces détails pour les administrateurs.
Comment il fonctionne
Met kernel.dmesg_restrict à 1. Lire le tampon circulaire du noyau avec dmesg exige alors la capacité CAP_SYSLOG, que root possède. Les mêmes messages restent accessibles à ceux qui peuvent lire le journal système, par exemple les membres du groupe adm.
À qui il s'adresse
Utile pour les machines partagées et pour quiconque veut limiter ce qu’un programme détourné peut apprendre. Laissez désactivé si des utilisateurs ordinaires d’une machine de développement ont besoin de lancer dmesg sans sudo.
Ce que vous pouvez remarquer
Lancer dmesg comme utilisateur normal échoue avec Operation not permitted. Utilisez sudo dmesg, ou journalctl -k si votre compte peut lire le journal.
Le vérifier sur votre ordinateur
Lire la valeur actuelle :
sysctl kernel.dmesg_restrict L'appliquer à la main
La définir maintenant (jusqu'au prochain redémarrage) :
sudo sysctl -w kernel.dmesg_restrict=1 La conserver après les redémarrages, dans un fichier qui vous appartient :
sudo tee /etc/sysctl.d/90-kernel-dmesg-restrict.conf <<'EOF'
kernel.dmesg_restrict = 1
EOF
sudo sysctl --system L'annuler
Supprimez le fichier et redémarrez, ou remettez l'ancienne valeur avec sysctl -w.
Réglages liés
Sources
- Linux Hardening Guide (madaidans)
- 2.2.1
- Linux kernel documentation
- kernel.dmesg_restrict