Jan 212012
 

Se si utilizza Ubuntu o Suse probabilmente si ha già AppArmor installato sul proprio sistema, quindi prendetevi un attimo per vedere come questo software vi può aiutare.
E anche se non si utilizzano queste distribuzioni, questo articolo può essere interessante, se siete interessati alla sicurezza del vostro sistema Linux.

Application Armor in breve AppArmor è un modulo per la sicurezza del kernel Linux rilasciato sotto licenza GNU General Public License.
AppArmor permette all’amministratore di sistema di associare ad ogni programma un profilo di sicurezza che restringe le capacità del programma. Fa da supplemento al modello tradizionale DAC (discretionary access control) fornendo un controllo obbligatorio di accesso detto anche MAC (mandatory access control ).



E’ stato incluso dalla versione 2.6.36 del kernel ufficiale di Linux. Dal 2009, Canonical contribuisce allo sviluppo attivo di AppArmor.

Oltre a specificare manualmente i profili, AppArmor include una modalità di apprendimento, in cui vengono registrate le violazioni al profilo, ma non impedite. Questo log può essere trasformato in un profilo, in base al comportamento tipico del programma.

AppArmor è implementata utilizzando i Linux Security Modules (LSM) dell’interfaccia del kernel.

AppArmor è offerto in parte come alternativa a SELinux, un altro sistema che si basa su LSM per implementare un modello di sicurezza di tipo MAC.

Installazione

AppArmor è installato e caricato in modo predefinito nelle ultime versioni di Ubuntu e utilizza i profili di un’applicazione per determinare quali file e permessi siano necessari all’applicazione. Alcuni pacchetti installano i propri profili e ulteriori profili possono essere trovati nel pacchetto apparmor-profiles.

Per installare il pacchetto apparmor-profiles, in un terminale digitare:

sudo apt-get install apparmor-profiles

Basic usage

Il pacchetto apparmor-utils contiene utilità a riga di comando che è possibile usare per modificare la modalità di esecuzione di AppArmor, trovare lo stato di un profilo, creare nuovi profili, ecc…

  • apparmor_statusè utilizzata per visualizzare lo stato attuale dei profili AppArmor.
    sudo apparmor_status
  • aa-complain posiziona un profilo nella modalità apprendimento.
    sudo aa-complain /percorso/al/binario
  • aa-enforce posiziona un profilo nella modalità esecutiva.
    sudo aa-enforce /percorso/al/bianrio
  • Nella directory /etc/apparmor.d sono archiviati tutti i profili di AppArmor ed è possibile, da qui, modificare la modalitàdi tutti i profili.Usare il seguente comando per impostare tutti i profili nella modalità apprendimento:
    sudo aa-complain /etc/apparmor.d/*

    Per impostare tutti i profili nella modalità esecutiva:

    sudo aa-enforce /etc/apparmor.d/*
  • apparmor_parser è utilizzata per caricare un profilo all’interno del kernel. Può essere usata anche per ricaricare profili attraverso l’opzione -r. Per caricare un profilo:
    cat /etc/apparmor.d/profile.name | sudo apparmor_parser -a

    Per ricaricare un profilo:

    cat /etc/apparmor.d/profile.name | sudo apparmor_parser -r
  • /etc/init.d/apparmor può essere usato per ricaricaretutti i profili:
    sudo /etc/init.d/apparmor reload
  • È possibile disabilitare AppArmore scaricare il modulo del kernel attraverso i seguenti comandi:
    sudo /etc/init.d/apparmor stop
    sudo update-rc.d -f apparmor remove
  • Per riabilitare AppArmor:
    sudo /etc/init.d/apparmor start
    sudo update-rc.d apparmor defaults


Profili

I profili di AppArmor sono dei semplici file di testo posizionati in /etc/apparmor.d/. Questi file vengono nominati con il percorso completo all’eseguibile del profilo, sostituendo «/» con «.». Per esempio, /etc/apparmor.d/bin.ping è il profilo AppArmor del comando /bin/ping.

Riferimenti

Questa era solo una breve introduzione per riferimenti a come creare e modificare i profili guardare i riferimenti ufficiali:

Apparmor Wiki
Guida Ubuntu
Guida SuSE

Popular Posts:

Flattr this!

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

*