GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi protéger le noyau Linux de l'utilisateur root ?

Si un attaquant devient root, ne possède-t-il pas à peu près la machine même sans accès au noyau, en faisant des choses comme modifier des binaires ?

Peut-être peut-être pas. Avec SELinux, vous pouvez restreindre l'accès aux périphériques de blocage, même pour l'utilisateur root. Ainsi, si votre partition racine est en lecture seule (et que le système s'exécute avec OverlayFS pour fournir des modifications non persistantes), la protection du noyau de la racine peut garantir un état cohérent au redémarrage, même si la machine a été compromise au niveau racine.

Alors que si le noyau n'est pas protégé de l'utilisateur root, vous ne pouvez pas avoir de telles garanties.


Sans démarrage vérifié, avec modules vérifiés et kexec vous donnerez au noyau une meilleure chance de se défendre contre une attaque face à une élévation de privilèges. Par défaut, les deux fonctionnalités sont désactivées :

kexec_load_disabled :

Une bascule indiquant si l'appel système kexec_load a été désactivé. Cette valeur par défaut est 0 (false :kexec_load activé), mais peut être définie sur 1 (true :kexec_load désactivé). Une fois vrai, kexec ne peut plus être utilisé et la bascule ne peut pas être remise à faux. Cela permet à une image kexec d'être chargée avant de désactiver l'appel système, permettant à un système de configurer (et d'utiliser ultérieurement) une image sans qu'elle soit modifiée. Généralement utilisé avec le sysctl "modules_disabled".

modules_disabled :

Une valeur de bascule indiquant si les modules sont autorisés à être chargés dans un noyau autrement modulaire. Cette bascule est désactivée par défaut (0), mais peut être définie sur vrai (1). Une fois true, les modules ne peuvent être ni chargés ni déchargés, et la bascule ne peut pas être remise à false. Généralement utilisé avec la bascule "kexec_load_disabled".


Linux
  1. Analyser le noyau Linux avec ftrace

  2. Pourquoi j'ai fait le passage de Mac à Linux

  3. Supprimer tous les e-mails des utilisateurs root d'un shell sous Linux

  4. Pourquoi l'utilisateur racine a-t-il besoin d'une autorisation Sudo ?

  5. Linux - Pourquoi le répertoire racine est-il désigné par un signe / ?

Mon histoire Linux :d'utilisateur Linux à contributeur

Linux - Pourquoi le noyau ne peut-il pas exécuter Init ?

Comment désactiver la connexion SSH pour l'utilisateur root sous Linux ?

Pourquoi pr_debug du noyau Linux ne donne-t-il aucune sortie ?

Comment puis-je réserver un bloc de mémoire à partir du noyau Linux ?

Pourquoi le serveur Linux NFS est-il implémenté dans le noyau plutôt que dans l'espace utilisateur ?