Dimensione: 8687
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 1: | Linea 1: |
##docs intrepid | |
Linea 3: | Linea 4: |
[[BR]] ||<tablestyle="float:right; font-size: 0.9em; width:35%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice'''[[BR]][[TableOfContents(2)]]|| |
<<BR>> <<Indice(depth=1)>> <<Informazioni(rilasci="8.04")>> |
Linea 7: | Linea 9: |
'''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. | |
Linea 9: | Linea 10: |
'''App``Armor''' è stato reso disponibile su Ubuntu per la prima volta in '''Ubuntu 7.04''' «'''Feisty Fawn'''» nel [:Repository:repository] '''universe'''. | '''!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 13: | Linea 14: |
== Ubuntu 7.10 (Gutsy) == In '''Ubuntu 7.10''' «'''Gutsy Gibbon'''», '''App``Armor''' è installato e caricato in modo predefinito. Alcuni pacchetti installano dei profili propri, ma profili aggiuntivi possono essere trovati nel pacchetto ''apparmor-profiles'' nel [:Repository:repository] '''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 16: | Linea 16: |
=== Installare profili AppArmor addizionali === * Abilitare il [:Repository:repository] '''universe'''. * [:AmministrazioneSistema/InstallareProgrammi:Installare] il pacchetto ''apparmor-profiles''. |
= Utilizzo di base = |
Linea 20: | Linea 18: |
== Ubuntu 7.04 (Feisty) == '''App``Armor''' non è incluso in modo predefinito nel kernel fornito con '''Ubuntu 7.04''' «'''Feisty Fawn'''». È necessario compilarlo manualmente. * Abilitare il [:Repository:repository] '''universe'''. * [:AmministrazioneSistema/InstallareProgrammi:Installare] i pacchetti ''apparmor-modules-sources'' e ''module-assistant''. * 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 }}} * [:AmministrazioneSistema/InstallareProgrammi:Installare] i pacchetti ''apparmor-profiles'', ''apparmor-utils'' e ''apparmor''. === Installare la versione più recente === Per installare i pacchetti di '''App``Armor''' più recenti per '''Ubuntu 7.04''' «'''Feisty Fawn'''», è necessario rigenerare i pacchetti. Per maggiori informazioni, consultare il [https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/116627 bug #116627] su Launchpad. === 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. = Uso = |
|
Linea 58: | 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 73: | 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 140: | 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 146: | Linea 123: |
[[Anchor(newprofile)]] | <<Anchor(newprofile)>> |
Linea 176: | 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 181: | Linea 158: |
[[Anchor(updateprofile)]] | <<Anchor(updateprofile)>> |
Linea 184: | 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 194: | 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://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] |
* [[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 200: | 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
http://en.opensuse.org/SDB:AppArmor_geeks: utilizzo dettagliato di apparmor