GNU/Linux >> Linux Esercitazione >  >> Linux

Apparmor:come si fa a "consentire tutto" e poi irrigidirsi?

Questo non è l'approccio giusto.

In generale, l'inserimento nella lista nera è una base scadente per una politica di sicurezza - dovrebbe essere basata sull'inserimento nella lista bianca - e la sintassi di AppArmor si basa su questo. A tal fine, dovresti iniziare senza specifiche nel profilo, ma impostare l'azione del profilo su reclamo anziché imporre. Puoi impostarlo nel profilo (flags=(complain) ) o utilizzando il comando aa-complain. Quindi le direttive specifiche per consentire un'operazione diventano ridondanti.

Credo che la documentazione autorevole sia quella pubblicata da SuSE. Ma, brevemente, per l'accesso ai file il formato di configurazione è:

<object> <permissions>,

Nota che il globbing nell'oggetto (se è un percorso) è leggermente diverso da quello che potresti avere familiarità con la riga di comando. Ci sono altre cose specifiche per dbus qui.


Ma è il allow *, una sintassi corretta per 'consenti tutto'

Sintassi corretta per consentire tutto sembra:

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

In realtà, ci sono altre due regole:

  1. rlimit (AppArmor può impostare e controllare i limiti delle risorse associate a un profilo)
  2. change_profile (controlla a quali autorizzazioni per quali profili può passare un'attività confinata)

Ma non ha alcun significato in questo caso particolare.


Linux
  1. Come consentire SFTP e non consentire SSH?

  2. Come controllare la sintassi di sudoers

  3. Come visualizzare l'evidenziazione della sintassi su un file?

  4. Come consentire la connessione remota al server di database MySQL

  5. Come posso registrare i comandi di Linux?

Come ho costruito un Homelab sul budget

Procedura:Risoluzione dei problemi di base di IPtables

Come configurare un Firewall su Jelastic Cloud

Come posso controllare la sintassi di uno script Bash senza eseguirlo?

Come posso profilare il codice C++ in esecuzione su Linux?

Come profilare l'utilizzo della memoria?