« AppArmor » et « Bind/named »

Dans les logs, tout plein de:

[mer. jan 10 22:49:11 2019] audit: type=1400 audit(1548884940.162:98): apparmor="DENIED" operation="mknod" profile="/usr/sbin/named" name="/etc/bind/SLAVE/tmp-8tAieH8oKP" pid=716 comm="isc-worker0000" requested_mask="c" denied_mask="c" fsuid=113 ouid=113

Solution 1 : modifier « AppArmor »

Sources:

Voyons l’état des applications:

# aa-status 
apparmor module is loaded.
7 profiles are loaded.
7 profiles are in enforce mode.
   /usr/bin/man
   /usr/sbin/named
   /usr/sbin/ntpd
   man_filter
   man_groff
   nvidia_modprobe
   nvidia_modprobe//kmod
0 profiles are in complain mode.
2 processes have profiles defined.
2 processes are in enforce mode.
   /usr/sbin/named (716) 
   /usr/sbin/ntpd (722) 
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.

Pour éliminer ce message, et certainement mieux faire fonctionner Bind/Named dans un environnement sécurisé, j’ai modifié le fichier /etc/apparmor.d/usr.sbin.named en ajoutant (extrait):

...
  /etc/bind/** r,
  # --- TJ -----------
  /etc/bind/SLAVE/* rw,
  # ------------------
  /var/lib/bind/** rw,
...

… ce qui autorise les écritures dans le dossier /etc/bind/SLAVE/.
Il faut appliquer les modifications comme ceci

# apparmor_parser -r /etc/apparmor.d/usr.sbin.named

Solution 2: changer de répertoire

Finalement, le mieux est peut être simplement de s’inspirer de la configuration apparmor et d’utiliser les répertoires laisser en mode rw
Dans ce cas, il suffit de déplacer le dossier /etc/bind/SLAVE dans le dossier /var/lib/bind/SLAVE . Évidement , cela implique d’adapter aussi la configuration de bind partout où c’est nécessaire.

Voila.