• Aucun résultat trouvé

Utilizzare AppArmor

Dans le document Guida a Ubuntu Server (Page 174-178)

Tabella 5.5. Useful multipath Command Options

2. Sicurezza della console

4.1. Utilizzare AppArmor

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 ricaricare tutti i profili:

sudo /etc/init.d/apparmor reload

• La directory /etc/apparmor.d/disable può essere usata con l'opzione apparmor_parser -R per disabilitare un profilo.

sudo ln -s /etc/apparmor.d/profile.name /etc/apparmor.d/disable/

sudo apparmor_parser -R /etc/apparmor.d/profile.name

Per riabilitare un profilo disabilitato, rimuovere il collegamento simbolico al profilo in /etc/

apparmor.d/disable/, quindi caricare il profilo usando l'opzione -a.

sudo rm /etc/apparmor.d/disable/profile.name

cat /etc/apparmor.d/profile.name | sudo apparmor_parser -a

• È possibile disabilitare AppArmor e 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

Sostituire profile.name con il nome del profilo da modificare e sostituire anche /percorso/

eseguibile/ con il percorso all'eseguibile. Per esempio, per il comando ping, usare /bin/

ping

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

Esistono due principali tipologie di regole usate nei profili:

• Voci di percorso: specificano a quali file nel file system un'applicazione può accedere.

• Voci di capacità: determinano quali privilegi un processo può utilizzare.

Per un esempio, consultare /etc/apparmor.d/bin.ping:

#include <tunables/global>

• #include <tunables/global>: asserzioni di inclusione da altri file. Consente di usare un file comune con le asserzioni di inclusione per molteplici applicazioni.

• /bin/ping flags=(complain): percorso al programma con profilo, impostandone la modalità ad apprendimento.

• capability net_raw,: consente all'applicazione di accedere alla capacità CAP_NET_RAW Posix.1e.

• /bin/ping mixr,: consente all'applicazione accesso in lettura e in esecuzione al file.

Dopo aver modificato un profilo, è necessario ricaricarlo. Per maggiori informazioni, consultare Sezione 4.1, «Utilizzare AppArmor» [168].

4.2.1. Creare un profilo

• Progettare un piano di verifica: cercare di pensare a come l'applicazione dovrebbe essere eseguita.

Il piano di verifica dovrebbe essere diviso in tanti piccoli casi d'uso, ognuno dei quali dovrebbe avere una breve descrizione e un elenco dei passi da compiere.

Alcuni casi standard da verificare sono:

• Avvio del programma.

• Arresto del programma.

• Ricaricamento del programma.

• Verifica di tutti i comandi supportati dallo script init.

• Generare il nuovo profilo: usare aa-genprof per generare un nuovo profilo. Da un terminale:

sudo aa-genprof eseguibile

Per esempio:

sudo aa-genprof slapd

• Affinché il proprio nuovo profilo venga incluso nel pacchetto apparmor-profiles, segnalare un bug su Launchpad riguardo il pacchetto AppArmor7:

• Includere la pianificazione e le casistiche del test.

• Allegare il nuovo profilo al bug.

4.2.2. Aggiornare i profili

Quando il programma si comporta stranamente, messaggi di audit vengono inviati ai file di registro.

Il programma aa-logprof può essere usato per analizzare i file di registro per i messaggi di audit di AppArmor, per controllarli e per aggiornare i profili. Da un terminale:

sudo aa-logprof

4.3. Riferimenti

• Per le opzioni avanzate di configurazione, consultare la AppArmor Administration Guide8

• Per maggiori informazioni su come usare AppArmor con altri rilasci di Ubuntu, consultare la documentazione della comunità italiana9.

• The OpenSUSE AppArmor10 page is another introduction to AppArmor.

• Un buon posto per chiedere assistenza riguardo AppArmor, e per partecipare nella comunità di Ubuntu Server, è il canale IRC #ubuntu-server su freenode11.

7 https://bugs.launchpad.net/ubuntu/+source/apparmor/+filebug

8 http://www.novell.com/documentation/apparmor/apparmor201_sp10_admin/index.html?page=/documentation/apparmor/

apparmor201_sp10_admin/data/book_apparmor_admin.html 9 http://wiki.ubuntu-it.org/Sicurezza/AppArmor

10 http://en.opensuse.org/SDB:AppArmor_geeks 11 http://freenode.net

5. Certificati

Una delle più comuni forme di crittografia odierna è la crittografia a chiave pubblica. Questo tipo di crittografia utilizza una chiave pubblica e una chiave privata. Il sistema funziona cifrando le informazioni usando la chiave pubblica che possono solo essere decifrate con la chiave privata.

L'utilizzo più comune della crittografia a chiave pubblica è nella cifratura del traffico delle applicazioni attraverso una connessione SSL (Secure Socket Layer) o TLS (Transport Layer Security), per esempio configurando Apache affinché fornisca HTTPS, il protocollo HTTP via SSL.

Questo consente di cifrare il traffico utilizzando un protocollo che non fornisce nativamente una cifratura.

Un certificato è un metodo di distribuzione di una chiave pubblica e di altre informazioni riguardo un server e l'organizzazione che ne è responsabile. I certificati possono essere firmati digitalmente a un'Autorità di Certificazione o CA. Una CA è un'entità fidata che conferma la veridicità delle informazioni contenute nel certificato.

Dans le document Guida a Ubuntu Server (Page 174-178)