Confinement d’un utilisateur avec SELinux

Ce TD est à réaliser dans une machine virtulle Fedora. Avec les machines vagrant :

$ vagrant up selinux
$ vagrant ssh selinux

Objectifs

  • Confinement des utilisateurs non privilégiés

Confinement d’un utilisateur

Nous allons ajouter un utilisateur non privilégié et lui associer un utilisateur et un rôle SELinux non privilégié et confiné.

Ajoutez un utilisateur toto :

$ sudo adduser toto
$ sudo passwd toto

Listez les associations nom de login -> utilisateur SELinux :

$ sudo semanage login --list

Listez les associations utilisateurs SELinux -> Rôles :

$ sudo semanage user --list

Autoriser plus de catégories pour l’utilisateur user_u:

$ sudo semanage user --modify --range s0-s0:c0.c1023 user_u

Ajoutez une association login -> utilisateur SELinux confiné pour toto :

$ sudo semanage login --add -s user_u -r s0-s0:c0.c1023 toto

Vérifiez l’ajout de l’association :

$ sudo semanage login --list

Se loguer sous cet utilisateur à distance avec SSH, pas avec su.

  • Question 1 : Sous quel contexte tourne le shell obtenu ?
  • Question 2 : Essayez de passer root. Que se passe-t-il ?

Références