IndiceBRTableOfContents(2) |
Nota
La traduzione di questo documento non è ancora completa. Consultare la sezione Ulteriori risorse per collegamento al documento originale.
L'ultima modifica dell'originale è del 2007-10-16 01:07:34, fatta da MathiasGug
Introduzione
AppArmor è una implementazione Linux Security Module di controlli d'accesso basato sul nome. AppArmor confina i singoli programmi a un gruppo di file elencati e "draft capabilities posix 1003.1e" -- se non ci capite nulla, beh, non siete i soli --Luca
AppArmor è stato reso disponibile su Ubuntu per la prima volta in Ubuntu 7.04 nel repository Universe.
Installazione
Ubuntu 7.10 (Gutsy)
In Gutsy, AppArmor è installato e caricato in modo predefinito. Alcuni pacchetti installano dei profili propri. Profili aggiuntivi possono essere trovati nel pacchetto apparmor-profiles nel repository Universe.
Installare profili AppArmor addizionali
- Abilitare il repository Universe.
Installare il pacchetto apparmor-profiles. Consultare InstallareProgrammi.
Ubuntu 7.04 (Feisty)
AppArmor non è incluso in modo predefinito nel kernel fornito con Feisty. È necessario compilarlo manualmente.
- Abilitare il repository Universe.
Installare i pacchetto apparmor-modules-sources e module-assistant. Consultare InstallareProgrammi.
- Compilare il modulo kernel apparmor:
{{{sudo m-a -v -t prepare sudo m-a -v -t -f build apparmor-modules sudo m-a -v -t install apparmor-modules }}}
Installare i pacchetti apparmor-profiles, apparmor-utils e apparmor packages. Consultare InstallareProgrammi.
Installare la versione più recente
Per installare i pacchetti apparmor per Feisty più recenti, è necessario effettuare il rebuild dei pacchetti. Consultare [https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/116627 le ultime utilità apparmor per feisty (LP 116627)
Aggiornamento kernel/apparmor-module-source
Quando viene installato un nuovo kernel o una nuova versione di apparmor-module-source, è necessario ricompilare il modulo apparmor: {{{sudo m-a -v -t -f build apparmor-modules sudo m-a -v -t install apparmor-modules }}} Per essere sicuri che tutti i processi in esecuzione siano protetti, è necessario riavviare il sistema.
Utilizzo
Tutti i comandi debbono essere eseguiti in un terminale.
Elencare lo stato corrente di apparmor
sudo apparmor_status
Mettere un profilo in modalità apprendimento
sudo aa-complain /percorso/al/binario
Esempio:
sudo aa-complain /bin/ping
NdT: nella modalità apprendimento (in originale complain) vengono rilevate le violazioni alle regole dei profili di AppArmor (ad esempio il programma profilato accede a file non permessi dal profilo). Tali violazioni sono permesse, ma anche registrate. Questa modalità è conveniente per lo sviluppo di profili ed è usata dagli strumenti di AppArmor per la generazione dei profili. (dalla documentazione su novell.com)
Mettere tutti i profili in modalità apprendimento
sudo aa-complain /etc/apparmor.d/*
Mettere un profilo in modalità esecutiva
sudo aa-enforce /percorso/al/binario
Esempio:
sudo aa-enforce /bin/ping
NdT: il caricamento di un profilo nella modalità di esecuzione (enforcment) fa sì che sia rispettata la politica definita nel profilo e allo stesso tempo segnalata a syslogd ogni tentata violazione. (dalla documentazione su novell.com)
Esempio:
Esempio:
In modo predefinito, i profili sono abilitati (cioè caricati all'interno del kernel e applicati ai processi). Esempio:
I profili possono essere trovati in /etc/apparmor.d/. Alcune personalizzazioni possono essere compiute in /etc/apparmor.d/tunables/.
La posizione delle directory home può essere regolata in /etc/apparmor.d/tunables/home.
Riavviare i processi elencati. Anche eseguire un riavvio di sistema corregge il problema. AppArmor può tenere traccia e proteggere solo i processi che sono avviato dopo che il modulo kernel è stato caricato. Dopo l'installazione dei pacchetti apparmor, apparmor viene avviato. I processi già in esecuzione però non vengono protetti da AppArmor. Sia riavviare il processo che l'intero sistema corregge il problema. È anche possibile applicare un profilo a un processo già in esecuzione attraverso il seguente comando:
Provare a pensare a come è possibile mettere sotto tortura l'applicazione. Il piano di test dovrebbe essere diviso in casi di test più piccoli. Ciascun caso di test dovrebbe avere una piccola descrizione ed elencare i passi da seguire. Alcuni casi di test standard sono:
Usare Da un terminale, usare il comando Esempio: Maggiori informazioni sono disponibili nella pagina di manuale: man aa-genprof.
Per fare in modo che il proprio nuovo profilo sia incluso nel pacchetto Quando il programma non si comporta in modo corretto, vengono inviati dei messaggi di audit ai file di registro. È possibile usare il programma Maggiori informazioni sono disponibili nella pagina di manuale: man aa-logprof.
[https://help.ubuntu.com/community/AppArmor Documento originale su ubuntu.com] [http://en.opensuse.org/AppArmor_Geeks Intro to AppArmor for Geeks]: utilizzo dettagliato di apparmor [http://outflux.net/blog/archives/2007/04/02/apparmor-now-in-feisty/ AppArmor now in Feisty]: breve tutorial sulla generazione di un nuovo profilo per Evince. [http://www.novell.com/documentation/apparmor/index.html?page=/documentation/apparmor/apparmor_user/data/bktitleuser.html Guida rapida e Guida di Amministrazione su Novell Doc] Mettere tutti i profili in modalità esecutiva
sudo aa-enforce /etc/apparmor.d/*
Disabilitare l'infrastruttura AppArmor
sudo /etc/init.d/apparmor kill
sudo update-rc.d -f apparmor remove
Abilitare l'infrastruttura AppArmor
sudo /etc/init.d/apparmor start
sudo update-rc.d apparmor start 37 S .
Ricaricare tutti i profili
sudo /etc/init.d/apparmor reload
Ricaricare un profilo
cat /etc/apparmor.d/nome.profilo | sudo apparmor_parser -r
cat /etc/apparmor.d/bin.ping | sudo apparmor_parser -r
Disabilitare un profilo
ln -s /etc/apparmor.d/nome.profilo /etc/apparmor.d/disable/
apparmor_parser -R /etc/apparmor.d/nome.profilo
ln -s /etc/apparmor.d/bin.ping /etc/apparmor.d/disable/
apparmor_parser -R /etc/apparmor.d/bin.ping
Abilitare un profilo
rm /etc/apparmor.d/disable/nome.profilo
cat /etc/apparmor.d/nome.profilo | sudo apparmor_parser -a
rm /etc/apparmor.d/disable/bin.ping
cat /etc/apparmor.d/bin.ping | sudo apparmor_parser -a
Pesonalizzazione dei profili
Impostare la posizione delle directory home
Domande frequenti
apparmor_status riporta processi che sono non confinati ma che hanno definito un profilo
sudo sh -c "echo 'setprofile /percorso/al/binario' > /proc/pid/attr/current"
Creazione di un nuovo profilo
Progettare un piano di test
Generare il nuovo profilo
sudo aa-genprof eseguibile
sudo aa-genprof slapd
Includere il proprio nuovo profilo nel pacchetto apparmor-profiles
Aggiornamento dei profili
sudo aa-logprof
Ulteriori risorse