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 1 e 11 (in 10 versioni)
Versione 1 del 18/10/2007 14.55.37
Dimensione: 2949
Autore: LucaFerretti
Commento: Iniziata la traduzione. Per ora solo sezione 1
Versione 11 del 19/10/2007 13.19.39
Dimensione: 8353
Autore: LucaFerretti
Commento: tradotti complain e enforce, aggiunte NdT che spiega come funzionano
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 4: Linea 4:
||<tablestyle="float:right; font-size: 0.9em; width:35%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice'''[[BR]][[TableOfContents(2)]]|| ||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice'''[[BR]][[TableOfContents(2)]]||
Linea 7: Linea 7:
La traduzione di questo documento non è ancora completa. Consultare la sezione ''Ulteriori risorse'' per collegamento al documento originale 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
Linea 34: Linea 36:
 * Installare i pacchetti 'apparmor-profiles'', ''apparmor-utils'' e ''apparmor packages''. Consultare ???  * Installare i pacchetti ''apparmor-profiles'', ''apparmor-utils'' e ''apparmor packages''. Consultare ???
Linea 47: Linea 49:
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 App``Armor (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 App``Armor 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)

== 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
}}}
Linea 49: Linea 138:
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}}}.
Linea 52: Linea 147:
== 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.

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, apparmor 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.

È 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"
}}}

[[Anchor(newprofile)]]
Linea 54: Linea 160:
== 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 [https://bugs.launchpad.net/ubuntu/+source/apparmor/+filebug pacchetto AppArmor]:

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

[[Anchor(updateprofile)]]
Linea 55: Linea 194:

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.

{{{
sudo aa-logprof
}}}

Maggiori informazioni sono disponibili nella pagina di manuale: {{{man aa-logprof}}}.
Linea 61: Linea 208:
 * [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 63: Linea 211:
CategorySicurezza CategorySicurezza CategoryInTraduzione

BR

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

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 ???

  • 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 ???

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)

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

Pesonalizzazione 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"

Anchor(newprofile)

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 [https://bugs.launchpad.net/ubuntu/+source/apparmor/+filebug pacchetto AppArmor]:

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

Anchor(updateprofile)

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 CategoryInTraduzione