Multiples erreur à l’exécution d'apparmor

Tags: #<Tag:0x00007f50b0673e70> #<Tag:0x00007f50b0673768>

Bonjour,
J’ai des erreur au boot, lors de l’exécuiton d’apparmor. Entre autre ceci:

profile /etc/apparmor.d/usr.sbin.named ? la ligne 3 : Impossible d'ouvrir << tunables/global >>

ou ça

in profile /etc/apparmor.d/sbin.klogd ? la ligne 12 : Could not open 'abi/3.0': Aucun fichier ou dossier de ce type

Et je n’arrive pas à m’en sortir.
Je ne trouve rien sur abi/3.0 ni sur tunables/globale

Quelqu’un à une idée, svp?
Merci

Bonjours,
Donne le contenu complet des deux fichiers

/etc/apparmor.d/usr.sbin.named

et

/etc/apparmor.d/sbin.klogd

Pour named :

Traitement des actions différées (« triggers ») pour man-db (2.11.2-
2) ...
cat /etc/apparmor.d/usr.sbin.named


  # Allow changing worker thread names
  owner @{PROC}/@{pid}/task/@{tid}/comm rw,

  @{PROC}/net/if_inet6 r,
  @{PROC}/*/net/if_inet6 r,
  @{PROC}/sys/net/ipv4/ip_local_port_range r,
  /usr/sbin/named mr,
  /{,var/}run/named/named.pid w,
  /{,var/}run/named/session.key w,
  # support for resolvconf
  /{,var/}run/named/named.options r,

  # some people like to put logs in /var/log/named/ instead of havin
g
  # syslog do the heavy lifting.
  /var/log/named/** rw,
  /var/log/named/ rw,
  /var/log/bind/** rw,
  /var/log/bind/ rw,

  # gssapi
  /var/lib/sss/pubconf/krb5.include.d/** r,
  /var/lib/sss/pubconf/krb5.include.d/ r,
  /var/lib/sss/mc/initgroups r,
  /etc/gss/mech.d/ r,

  # ldap
  /etc/ldap/ldap.conf r,
  /{,var/}run/slapd-*.socket rw,

  # dynamic updates
  /var/tmp/DNS_* rw,

  # dyndb backends
  /usr/lib/bind/*.so rm,

  # Samba DLZ
  /{usr/,}lib/@{multiarch}/samba/bind9/*.so rm,
  /{usr/,}lib/@{multiarch}/samba/gensec/*.so rm,
  /{usr/,}lib/@{multiarch}/samba/ldb/*.so rm,
  /{usr/,}lib/@{multiarch}/ldb/modules/ldb/*.so rm,
  /var/lib/samba/bind-dns/dns.keytab rk,
  /var/lib/samba/bind-dns/named.conf r,
  /var/lib/samba/bind-dns/dns/** rwk,
  /var/lib/samba/private/dns.keytab rk,
  /var/lib/samba/private/named.conf r,
  /var/lib/samba/private/dns/** rwk,
  /etc/samba/smb.conf r,
  /dev/urandom rwmk,
  owner /var/tmp/krb5_* rwk,

  # Site-specific additions and overrides. See local/README for deta
ils.
  #include <local/usr.sbin.named>
}

Pour klogd:

 cat /etc/apparmor.d/sbin.klogd

#    Copyright (C) 2002-2009 Novell/SUSE
#    Copyright (C) 2010 Canonical Ltd.
#
#    This program is free software; you can redistribute it and/or
#    modify it under the terms of version 2 of the GNU General Publi
c
#    License published by the Free Software Foundation.
#
# ------------------------------------------------------------------

abi <abi/3.0>,

include <tunables/global>

profile klogd /{usr/,}{bin,sbin}/klogd flags=(complain) {
  include <abstractions/base>

  capability sys_admin, # for backward compatibility with kernel <=
2.6.37
  capability syslog,

  network inet stream,

  /boot/System.map*     r,
  @{PROC}/kmsg          r,
  @{PROC}/kallsyms      r,
  /dev/tty              rw,

  /{usr/,}{bin,sbin}/klogd      rmix,
  /var/log/boot.msg     rwl,
  @{run}/klogd.pid    krwl,
  @{run}/klogd/klogd.pid krwl,
  @{run}/klogd/kmsg   r,

  # Site-specific additions and overrides. See local/README for deta
ils.
  include if exists <local/sbin.klogd>
}               

Pour named, il te faut le répertoire tunables dans /etc/apparmor.d,
Pour le second il te faut abi:

# ls /etc/apparmor.d/
abi           force-complain         php-fpm             samba-rpcd-spoolss  system_tor      usr.bin.pidgin            usr.lib.libreoffice.program.oosplash     usr.sbin.avahi-daemon  usr.sbin.mariadbd  usr.sbin.smbldap-useradd
abstractions  lightdm-guest-session  samba-bgqd          sbin.dhclient       tunables        usr.bin.tcpdump           usr.lib.libreoffice.program.senddoc      usr.sbin.cups-browsed  usr.sbin.mdnsd     usr.sbin.traceroute
apache2.d     local                  samba-dcerpcd       sbin.klogd          usr.bin.evince  usr.bin.thunderbird       usr.lib.libreoffice.program.soffice.bin  usr.sbin.cupsd         usr.sbin.nmbd
bin.ping      lsb_release            samba-rpcd          sbin.syslogd        usr.bin.irssi   usr.bin.totem             usr.lib.libreoffice.program.xpdfimport   usr.sbin.dnsmasq       usr.sbin.nscd
disable       nvidia_modprobe        samba-rpcd-classic  sbin.syslog-ng      usr.bin.man     usr.bin.totem-previewers  usr.sbin.apt-cacher-ng                   usr.sbin.identd        usr.sbin.smbd

# ls /etc/apparmor.d/tunables/
alias  apparmorfs  dovecot  etc  global  home  home.d  kernelvars  multiarch  multiarch.d  proc  run  securityfs  share  sys  xdg-user-dirs  xdg-user-dirs.d

# ls /etc/apparmor.d/abi
3.0  kernel-5.4-outoftree-network  kernel-5.4-vanilla

Ton apparmor est bien déclaré dans ton grub?:

# cat /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="video=1280x1024 quiet splash clearcpuid=514"
GRUB_CMDLINE_LINUX="apparmor=1 security=apparmor audit=1 audit_backlog_limit=8192"

Merci pour ta réponse rapide.
Déjà, grub n’est pas configuré! Boulette.
Sinon, dans /etc/apparmor.d/ il y a bien les deux répertoires : abi et tunables.
tunable:

$ ls tunables/
$ home.d  multiarch.d  xdg-user-dirs.d
$ ls abi
$

Bon, j’ai redémarré après modification de mon /etc/default/grub.
Mais ça n’a en aucun cas résolu le problème.
Toujours les mêmes erreurs.
Le répertoire abi est vide, le répertoire tunables est identique au contenu ci dessous.

Y a t il un paquet pour abi? Peut être une réinstallation à faire?

Je viens de regarder par apport à mon portable (en testing) .
Lui aussi contient apparmor, mais le répertoire /etc/apparmor.d/abi n’est pas vide!
Si je cherche d’ou vient ce répertoire, c’est bien apparmor qui l’installe.

$ dpkg -S /etc/apparmor.d/abi/3.0 
  apparmor: /etc/apparmor.d/abi/3.0

Je soupçonne donc une mauvaise installation.
Qu’en pensez vous?

As-tu fait un update-grub après avoir modifié /etc/default/grub ?

non ça ne marcha pas comme ça.
J’ai ces paquets d’installés:

ii  apparmor                                                    3.0.8-3                                amd64        user-space parser utility for AppArmor
ii  apparmor-profiles                                           3.0.8-3                                all          experimental profiles for AppArmor security policies
ii  apparmor-profiles-extra                                     1.35                                   all          Extra profiles for AppArmor Security policies
ii  apparmor-utils                                              3.0.8-3                                all          utilities for controlling AppArmor
ii  libapparmor1:amd64                                          3.0.8-3                                amd64        changehat AppArmor library
ii  python3-apparmor                                            3.0.8-3                                all          AppArmor Python3 utility library
ii  python3-libapparmor                                         3.0.8-3                                amd64        AppArmor library Python3 bindings

Je n’ai d’ailleurs pas fini de le configurer correctement.
Que donne aa-status (en root) ?

Bonjour,
Oui, j’ai bien bien fait un upgrade-grub. Et j’ai les même paquets. C’est pour ça que je m’orientais vers un problème d’installation de apparmor

$ cat /proc/cmdline 
 BOOT_IMAGE=/boot/vmlinuz-5.10.0-8-amd64 root=UUID=0fac411e-a7d9-43c8-8637-81ce3454f0ad ro quiet cgroup_enable=memory swapaccount=1 apparmor=1 security=apparmor audit=1 audit_backlog_limit=8192
 $ apt search apparmor | grep install
 apparmor/stable,stable,stable,now 3.0.8-3 amd64  [installé]
 apparmor-profiles/stable,stable,stable,now 3.0.8-3 all  [installé]
 apparmor-profiles-extra/stable,stable,stable,now 1.35 all  [installé]
 apparmor-utils/stable,stable,stable,now 3.0.8-3 all  [installé]
 libapparmor1/stable,stable,stable,now 3.0.8-3 amd64  [installé]
 python3-apparmor/stable,stable,stable,now 3.0.8-3 all  [installé, automatique]
 python3-libapparmor/stable,stable,stable,now 3.0.8-3 amd64  [installé, automatique]

c’est étonnant quand même!

N’empèche que sur le site de debian, je vois ca:

# Liste des fichiers du paquet *apparmor* dans *bookworm* pour l'architecture *amd64*

/etc/apparmor.d/abi/3.0 
/etc/apparmor.d/abi/kernel-5.4-outoftree-network 
/etc/apparmor.d/abi/kernel-5.4-vanilla
....

Et que je n’ai pas dans mon arborescence.

apt reinstall apparmor

mais ne ma rien réinstallé dans /etc/apparmo.d/abi/

pas besoin de changer quoi que ce soit concernant abi et tunable s’ils existent.

Du moins, si tu n’a pas été bidouiller les droits et permissions dues répertoires en question .

Et que donne aa-status?

aa-status                                      
apparmor module is loaded.                                            
1 profiles are loaded.                                                
1 profiles are in enforce mode.                                       
   docker-default                                                     
0 profiles are in complain mode.                                      
0 profiles are in kill mode.                                          
0 profiles are in unconfined mode.
40 processes have profiles defined.                   
40 processes are in enforce mode.
   /usr/bin/hbbs (2342) docker-default
   /usr/bin/busybox (2448) docker-default                                                                                                   
   /usr/bin/busybox (2547) docker-default
   /usr/bin/busybox (2581) docker-default
   /usr/bin/hbbr (2631) docker-default
   /usr/bin/busybox (2707) docker-default
   /usr/bin/python3.8 (2747) docker-default
   /usr/bin/busybox (2828) docker-default
   /usr/bin/python3.11 (2859) docker-default
   /usr/bin/busybox (2893) docker-default
   /usr/bin/sudo (2963) docker-default
   /usr/bin/python3.8 (2987) docker-default
   /usr/bin/sudo (2990) docker-default
   /usr/bin/python3.12 (2991) docker-default
   /usr/bin/python3.11 (2992) docker-default
   /usr/sbin/nginx (2993) docker-default
   /usr/bin/python3.12 (3019) docker-default
   /usr/sbin/nginx (3060) docker-default
   /usr/sbin/nginx (3061) docker-default
   /usr/sbin/nginx (3062) docker-default
   /usr/sbin/nginx (3063) docker-default
   /usr/bin/busybox (3792) docker-default
   /usr/sbin/lighttpd (3983) docker-default
   /usr/sbin/php-fpm82 (4022) docker-default
   /usr/bin/busybox (4025) docker-default
.....
   /usr/sbin/php-fpm8 (19179) docker-default
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.
0 processes are in mixed mode.
0 processes are in kill mode.

Pas d’erreur à priori

Je n’ai pas trouvé le pourquoi du problème.
Mais j’ai trouvé la solution:
J’ai décompacté apparmor_3.0.8-3_amd64.deb
récupéré le répertoire etc/apparmor.d
puis:

systemctl start apparmor
journalctl -u apparmor
août 06 14:23:47 master.suinot.org systemd[1]: Starting apparmor.service - Load AppArmor profiles...
août 06 14:23:47 master.suinot.org apparmor.systemd[36670]: Restarting AppArmor
août 06 14:23:47 master.suinot.org apparmor.systemd[36670]: Reloading AppArmor profiles
août 06 14:23:47 master.suinot.org systemd[1]: Finished apparmor.service - Load AppArmor profiles.

Et ça marche!
là ou c’est obscure pour moi, c’est pourquoi apt reinstall apparmor n’a pas fait la même chose.

Merci de ton aide, en tout cas