GNU/Linux >> Znalost Linux >  >> Linux

Apparmor – jak vládnout ‚všechno‘ a pak utáhnout?

Toto není správný přístup.

Obecně platí, že blacklisting je špatný základ pro bezpečnostní politiku – měl by být založen na whitelistingu – a syntaxe AppArmor je na tom založena. Za tímto účelem byste měli začít bez specifikací v profilu, ale nastavit akci profilu tak, aby si místo vynucování stěžovala. Můžete to nastavit v profilu (flags=(complain) ) nebo pomocí příkazu aa-complain. Poté se konkrétní příkazy povolující operaci stanou nadbytečnými.

Věřím, že směrodatná dokumentace je ta, kterou zveřejnila SuSE. Ale stručně, pro přístup k souboru je konfigurační formát:

<object> <permissions>,

Všimněte si, že globování v objektu (pokud se jedná o cestu) se mírně liší od toho, co možná znáte z příkazového řádku. Zde je více věcí specifických pro dbus.


Ale je allow *, správná syntaxe pro 'povolit vše'

Správná syntaxe pro povolit vše vypadá takto:

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

Ve skutečnosti existují ještě dvě pravidla:

  1. rlimit (AppArmor může nastavit a ovládat limity zdrojů spojené s profilem)
  2. change_profile (určete, jaká oprávnění pro které profily může omezená úloha přejít)

Ale v tomto konkrétním případě to nemá žádný význam.


Linux
  1. Jak povolit SFTP a zakázat SSH?

  2. Jak zkontrolovat syntaxi sudoers

  3. Linux IPTables:Jak přidat pravidla brány firewall (s příkladem Allow SSH)

  1. Jak omezit uživatele SSH, aby povolil pouze tunelování SSH?

  2. AppArmor:Je možné více profilů na aplikaci (Firefox, Thunderbird)? Syntax?

  3. Jak zakázat vše v crontab -l?

  1. Jak zobrazit zvýraznění syntaxe v souboru?

  2. Jak na to:Linux General – IPTtables obecně

  3. Jak povolit vzdálené připojení k databázovému serveru MySQL