GNU/Linux >> Tutoriels Linux >  >> Linux

Apparmor - comment 'tout autoriser' règle, puis resserrer?

Ce n'est pas la bonne approche.

En général, la liste noire est une mauvaise base pour une politique de sécurité - elle devrait être basée sur la liste blanche - et la syntaxe d'AppArmor est basée sur cela. À cette fin, vous devez commencer sans détails dans le profil, mais définir l'action de profil pour se plaindre au lieu d'appliquer. Vous pouvez le définir dans le profil (flags=(complain) ) ou en utilisant la commande aa-complain. Ensuite, les directives spécifiques pour autoriser une opération deviennent redondantes.

Je crois que la documentation faisant autorité est celle publiée par SuSE. Mais, brièvement, pour l'accès aux fichiers, le format de configuration est :

<object> <permissions>,

Notez que le globbing dans l'objet (s'il s'agit d'un chemin) est légèrement différent de ce que vous connaissez peut-être sur la ligne de commande. Il y a plus de choses spécifiques à dbus ici.


Mais est-ce que le allow *, une syntaxe correcte pour 'tout autoriser'

La syntaxe correcte pour tout autoriser ressemble à :

profile DAC /path/to/exec {
  # Allow all rules
  capability,
  network,
  mount,
  remount,
  umount,
  pivot_root,
  ptrace,
  signal,
  dbus,
  unix,
  file,
}

En fait, il y a deux règles de plus :

  1. rlimit (AppArmor peut définir et contrôler les limites de ressources associées à un profil)
  2. change_profile (contrôlez les autorisations pour quels profils une tâche confinée peut passer)

Mais cela n'a aucun sens dans ce cas particulier.


Linux
  1. Comment autoriser SFTP et interdire SSH ?

  2. Comment vérifier la syntaxe sudoers

  3. Comment afficher la coloration syntaxique sur un fichier ?

  4. Comment :Linux général - IPTables en général

  5. Linux IPTables :comment ajouter des règles de pare-feu (avec l'exemple Autoriser SSH)

Comment j'ai construit un Homelab sur le budget

Procédure :Dépannage de base d'IPTables

Comment configurer un pare-feu sur Jelastic Cloud

Comment vérifier la syntaxe d'un script Bash sans l'exécuter ?

Comment puis-je profiler du code C++ exécuté sous Linux ?

Comment profiler l'utilisation de la mémoire ?