« LINUX:SELinux » : différence entre les versions

Aucun résumé des modifications
Aucun résumé des modifications
 
(5 versions intermédiaires par le même utilisateur non affichées)
Ligne 81 : Ligne 81 :
  systemctl start rsyslog.service
  systemctl start rsyslog.service
  systemctl status rsyslog.service
  systemctl status rsyslog.service
Ces services sont cruciaux, ce sont eux qui vont recueillir les messages et alertes.




Ligne 89 : Ligne 90 :




On redémarre la machine. Ce n'est qu'à cette condition que l'on pourra effectuer les commandes suivantes. C'est pour cette raison que nous n'avons pas commencé par une explication succincte de quelques base de SELinux car nous n'aurions pu les montrer par l'exemple.
On doit redémarrer la machine. Ce n'est qu'à cette condition que l'on pourra effectuer les commandes suivantes. C'est pour cette raison que nous n'avons pas commencé par une explication succincte de quelques base de SELinux car nous n'aurions pu les montrer par l'exemple.




Ligne 145 : Ligne 146 :
Je ne conseille pas de suivre aveuglément les conseils données par Cockpit ou les messages du service setroubleshootd.service. Je présente ici l'approche que j'ai utilisée.
Je ne conseille pas de suivre aveuglément les conseils données par Cockpit ou les messages du service setroubleshootd.service. Je présente ici l'approche que j'ai utilisée.


=[[LINUX:SELinux-Exercice de création d'un module personnel|Exercice de création d'un module personnel]]=
J'ai voulu essayer de créer un module pour une application personnelle élémentaire.
=Problème=
Suite à une mise à jour classique sous Fedora 41, Selinux était en erreur. Plusieurs problèmes apparaissent de façon répétitives dont voici quelques cas:
* Lors d'un redémarrage, nombre de services ne démarrent plus comme SSHD, Fail2Ban,...
* Plusieurs accès sont refusés
* L'ajout et l'élimination de modules personnels sont impossibles avec des messages d'erreurs liés à la base des modules
* La recompilation de la base de modules s'avère impossible. Voici un extrait des messages d'erreur.
----
Found conflicting filecon rules
Problems processing filecon rules
Failed post db handling
Post process failed
semodule:  Failed!
----
On remarque que parmi les modules, celui nommé "extra_binsbin" (classe 400) pose problème et est nouveau mais il est impossible de le retirer.
Une solution proposée est d'éliminer Selinux du système et toutes ses traces et ensuite de recommencer la réinstallation et la configuration à partir de rien. Mais ceci s'avère impossible car il est protégé.
dnf remove selinux-policy-targeted
La solution trouvée est de réinstaller Selinux:
* On se met en mode permissif ou on le désactive.
* On le réinstalle.
dnf reinstall selinux-policy-targeted
* Eventuellement on recompile la base des modules
semodule -B -v
* Par sécurité, on active la labellisation à nouveau des fichiers.
touch /.autorelabel
* On réactive Selinux ou au moins on le met en mode permissif pour tester en modifiant le fichier "/etc/selinux/config".
* On redémarre la machine.