Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Sicurezza/AppArmor"
Differenze tra le versioni 26 e 33 (in 7 versioni)
Versione 26 del 19/04/2009 11.28.57
Dimensione: 6708
Autore: NaldiniPaolo
Commento:
Versione 33 del 22/07/2024 13.44.11
Dimensione: 6413
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 4: Linea 4:
[[BR]]
[[Indice(depth=1)]]
[[VersioniSupportate(hardy gutsy)]]
<<BR>>
<<Indice(depth=1)>>
<<Informazioni(rilasci="8.04")>>
Linea 10: Linea 10:
'''App``Armor''' è una implementazione del '''Linux Security Module''' di controlli d'accesso basati sul nome. '''App``Armor''' confina i singoli programmi a un gruppo di file selezionati e capacità POSIX 1003.1e draft. '''!AppArmor''' è una implementazione del '''Linux Security Module''' di controlli d'accesso basati sul nome. '''!AppArmor''' confina i singoli programmi a un gruppo di file selezionati e capacità POSIX 1003.1e draft.
Linea 14: Linea 14:
In '''Ubuntu 8.04''' «'''Hardy Heron'''» e successive, '''App``Armor''' è installato e caricato in modo predefinito. Alcuni pacchetti installano dei profili propri, ma profili aggiuntivi possono essere trovati nel pacchetto ''apparmor-profiles'' presente nel [:Repository/Componenti:componente] '''universe'''. In '''Ubuntu 8.04''' «'''Hardy Heron'''» e successive, '''!AppArmor''' è installato e caricato in modo predefinito. Alcuni pacchetti installano dei profili propri, ma profili aggiuntivi possono essere trovati nel pacchetto ''apparmor-profiles'' presente nel [[Repository/Componenti|componente]] '''universe'''.
Linea 33: Linea 33:
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Nella modalità apprendimento (in originale complain) vengono rilevate le violazioni alle regole dei profili di App``Armor (per 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 App``Armor per la generazione dei profili (dalla documentazione su novell.com).'' || {{{#!wiki note
Nella modalità apprendimento
(in originale complain) vengono rilevate le violazioni alle regole dei profili di !AppArmor (per 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).}}}
Linea 48: Linea 49:
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''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).''|| {{{#!wiki note
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).}}}
Linea 115: Linea 117:
'''App``Armor''' può tenere traccia e proteggere solo i processi che sono avviato dopo che il modulo kernel è stato caricato. Dopo l'installazione dei pacchetti ''apparmor'', '''App``Armor''' viene avviato. I processi già in esecuzione però non vengono protetti da '''App``Armor'''. Sia riavviare il processo che l'intero 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.
Linea 121: Linea 123:
[[Anchor(newprofile)]] <<Anchor(newprofile)>>
Linea 151: Linea 153:
Per fare in modo che il proprio nuovo profilo sia incluso nel pacchetto ''apparmor-profiles'', aprire in Launchpad un bug per il [https://bugs.launchpad.net/ubuntu/+source/apparmor/+filebug pacchetto AppArmor]: Per fare in modo che il proprio nuovo profilo sia incluso nel pacchetto ''apparmor-profiles'', aprire in Launchpad un bug per il [[https://bugs.launchpad.net/ubuntu/+source/apparmor/+filebug|pacchetto AppArmor]]:
Linea 156: Linea 158:
[[Anchor(updateprofile)]] <<Anchor(updateprofile)>>
Linea 159: Linea 161:
Quando il programma non si comporta in modo corretto, vengono inviati dei messaggi di audit ai file di registro. È possibile usare il programma ''aa-logprof'' per scansionare i file di registro in cerca dei messaggi di '''App``Armor''', revisionare tali messaggi e aggiornare i profili: {{{ Quando il programma non si comporta in modo corretto, vengono inviati dei messaggi di audit ai file di registro. È possibile usare il programma ''aa-logprof'' per scansionare i file di registro in cerca dei messaggi di '''!AppArmor''', revisionare tali messaggi e aggiornare i profili: {{{
Linea 169: Linea 171:
 * [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://www.novell.com/documentation/apparmor/index.html?page=/documentation/apparmor/apparmor_user/data/bktitleuser.html Guida rapida e Guida di Amministrazione su Novell Doc]
 * [[https://help.ubuntu.com/community/AppArmor|Documento originale su ubuntu.com]]
 * [[http://en.opensuse.org/SDB:AppArmor_geeks]]: utilizzo dettagliato di apparmor
 * [[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]]
Linea 174: Linea 176:
CategorySicurezza CategorySicurezza CategoryDaRevisionare


Introduzione

AppArmor è una implementazione del Linux Security Module di controlli d'accesso basati sul nome. AppArmor confina i singoli programmi a un gruppo di file selezionati e capacità POSIX 1003.1e draft.

Installazione

In Ubuntu 8.04 «Hardy Heron» e successive, AppArmor è installato e caricato in modo predefinito. Alcuni pacchetti installano dei profili propri, ma profili aggiuntivi possono essere trovati nel pacchetto apparmor-profiles presente nel componente universe.

Utilizzo di base

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

Nella modalità apprendimento (in originale complain) vengono rilevate le violazioni alle regole dei profili di AppArmor (per 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

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).

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

Esempio:

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

Esempio:

ln -s /etc/apparmor.d/bin.ping /etc/apparmor.d/disable/
apparmor_parser -R /etc/apparmor.d/bin.ping

Abilitare un profilo

In modo predefinito, i profili sono abilitati (cioè caricati all'interno del kernel e applicati ai processi).

rm /etc/apparmor.d/disable/nome.profilo
cat /etc/apparmor.d/nome.profilo | sudo apparmor_parser -a

Esempio:

rm /etc/apparmor.d/disable/bin.ping
cat /etc/apparmor.d/bin.ping | sudo apparmor_parser -a

Personalizzazione dei profili

I profili possono essere trovati in /etc/apparmor.d/.

Alcune personalizzazioni possono essere compiute in /etc/apparmor.d/tunables/.

Impostare la posizione delle directory home

La posizione delle directory home può essere regolata in /etc/apparmor.d/tunables/home.

Domande frequenti

apparmor_status riporta processi che sono non confinati ma che hanno definito un profilo

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:

sudo sh -c "echo 'setprofile /percorso/al/binario' > /proc/pid/attr/current"

Creazione di un nuovo profilo

Progettare un piano di test

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:

  • avviare il programma
  • arrestare il programma
  • ricaricare il programma
  • controllare tutti i comandi supportati dallo script di init

Generare il nuovo profilo

Usare aa-genprof per generare un nuovo profilo.

Da un terminale, usare il comando aa-genprof:

sudo aa-genprof eseguibile

Esempio:

sudo aa-genprof slapd

Maggiori informazioni sono disponibili nella pagina di manuale:

man aa-genprof

Includere il proprio nuovo profilo nel pacchetto apparmor-profiles

Per fare in modo che il proprio nuovo profilo sia incluso nel pacchetto apparmor-profiles, aprire in Launchpad un bug per il pacchetto AppArmor:

  • includere il proprio piano di test e i casi di test
  • allegare il proprio profilo al bug

Aggiornamento dei profili

Quando il programma non si comporta in modo corretto, vengono inviati dei messaggi di audit ai file di registro. È possibile usare il programma aa-logprof per scansionare i file di registro in cerca dei messaggi di AppArmor, revisionare tali messaggi e aggiornare i profili:

sudo aa-logprof

Maggiori informazioni sono disponibili nella pagina di manuale:

man aa-logprof

Ulteriori risorse


CategorySicurezza CategoryDaRevisionare