Archivio

Archive for the ‘Sicurezza e GNU/Linux’ Category

Sicurezza e GNU/Linux (11): l’hardening, ovvero come a livello di sistema si prevengono le vulnerabilità – 1

6 dicembre 2011 4 commenti

Riprendo il discorso Sicurezza e GNU/Linux con un post riassuntivo sulle misure che permettono di prevenire le vulnerabilità dei programmi. Per capire di che parliamo, prima è necessario rileggere i primi post di questa categoria: 1 e 2 .

Riassumendo: un programma vulnerabile è un software che, a causa di un mancato controllo sui dati in ingresso, permette ad un malintenzionato di confezionare un insieme di dati (ad esempio in un file oppure in un pacchetto spedito via rete) che inducono il programma a comportamenti non previsti. Leggi tutto…

Sicurezza e GNU/Linux (10): Configurare il firewall

21 luglio 2011 12 commenti

Abbiamo visto nella precedente puntata come funziona a grandi linee netfilter, il firewall del kernel Linux. La configurazione di netfilter è in genere associata al programma iptables. Poiché la sua sintassi non è delle più semplici e il suo utilizzo è indirizzato soprattutto agli amministratori di sistema, quasi tutte le distribuzioni hanno sviluppato metodi semplificati ed interfacce grafiche.

Ubuntu ha preinstallato ufw (uncomplicated firewall) un programma a linea di comando dalla sintassi estremamente più semplice di iptables, anche se non ne riproduce tutte le funzionalità. Ma solo quelle più comuni. Ufw ha anche il vantaggio che, una volta configurato, parte automaticamente all’avvio con le regole impostate. Leggi tutto…

Sicurezza e GNU/Linux (9): il firewall (seconda parte)

26 giugno 2011 19 commenti

Il firewall, nei sistemi GNU/Linux, è un componente del kernel chiamato Netfilter.
Netfilter è un firewall molto complesso, non tanto nel senso che è difficile da configurare (ci sono interfacce grafiche anche piuttosto semplici), quanto invece nelle sue molteplici capacità. Grazie al suo sistema modulare, infatti, è possibile fargli fare quasi di tutto. Qui vedremo solo il suo funzionamento di base. Leggi tutto…

Sicurezza e GNU/Linux (8): il firewall (prima parte)

18 giugno 2011 54 commenti

Questa immagine esemplifica l'idea comune (ma totalmente errata) della funzione del firewall

L’utente Windows è generalmente convinto che il firewall sia una specie di scudo che impedisce ai “cattivi” di entrare nel suo computer. Quando migra a GNU/Linux, forte di tale convinzione, cerca in tutti i modi di installare il firewall, persuaso del fatto che il suo computer sarà sicuramente attaccato da frotte di hacker desiderosi di prenderne il controllo.

Dopo essere riuscito ad installare Firestarter e aver faticato a fare in modo che parta all’avvio con tanto di icona nella traybar (senza soffermarsi a cercare di capire perché Firestarter richiede i permessi di root), scrive spaventatissimo sul forum che qualcuno cerca di entrare nel suo computer. Il panico lo attanaglia e a volte non è sufficiente l’assicurazione di decine di utenti che gli spiegano che loro non hanno il firewall e vivono tranquilli lo stesso. Tanto meno si rassicura sentendo che è perfettamente ovvio che il firewall gli segnali che qualcuno cerca di collegarsi al suo pc. Se nessuno lo facesse, perché avrebbe dovuto installare il firewall?

Leggi tutto…

Sicurezza e GNU/Linux (7): AppArmor, il framework di sicurezza di Ubuntu e Suse

21 Maggio 2011 26 commenti

Se avete seguito anche sommariamente le scorse puntate, avrete ormai capito che limitare i poteri di root è uno degli imperativi per rinforzare la sicurezza in un sistema di tipo Unix. Oggi vedremo con un esempio concreto come funziona AppArmor, un sistema di sicurezza presente di default in Ubuntu e Suse Linux. Leggi tutto…

Sicurezza e GNU/Linux (6): SetUID e le Capabilities

18 Maggio 2011 10 commenti

Abbiamo visto nelle puntate precedenti come si possano concedere privilegi ad un utente (o a un software) in modo che possa compiere azioni normalmente riservate all’utente root. Vedremo ora come fare qualcosa di simile ma senza usare i permessi di utenti e gruppi, cioè non sfruttando il modello di sicurezza tradizionale di Unix.

Le capabilities sono, come si intuisce dal nome, delle “capacità” che il sistema operativo può concedere ad un processo in esecuzione o anche ad un file eseguibile (che una volta caricato diventerà un processo). Leggi tutto…

Sicurezza e GNU/Linux (5): Dividere i processi per renderli più sicuri

23 aprile 2011 3 commenti
Il fork in linguaggio C

Il fork in linguaggio C

Se avete mai visto film a tema militare, probabilmente ricorderete almeno una scena in cui il capo del plotone che deve infiltrarsi tra le linee nemiche ordina ai suoi: “Dividiamoci”. Se è vero che l’unione fa la forza, è altrettanto vero che dividersi può evitare che tutti i membri di un gruppo vengano catturati e uccisi. Leggi tutto…

Sicurezza e GNU/Linux (parte 4): Dividere i poteri di root tramite i gruppi

10 aprile 2011 11 commenti

Il problema di essere root

Forse qualcuno dei lettori ha visto il film “Essere John Malkovich”. Il protagonista del film scopre un tunnel molto particolare che gli permette di entrare nella testa dell’attore John Malkovich e prenderne il controllo, fino la punto di fondare una società che vende “l’esperienza di essere John Malkovich” per 15 minuti, al modico prezzo di 200 dollari.

Unix dà più o meno la stessa esperienza agli utenti, attraverso SUDO e SU, che permettono di diventare utente root.
L’utente root, quello cioè che possiede l’identificativo (UID) zero, ha pieno controllo sul sistema: può leggere e scrivere su tutti i file, può montare i dischi, può persino cancellare l’intero sistema.
Come nel film, questa esperienza non è solo appagante: a volte può essere pericolosa. Leggi tutto…

Sicurezza e GNU/Linux (parte 3): vulnerabilità/2

8 aprile 2011 17 commenti

"Non sono cattiva, è che mi disegnano così"

Vulnerabilità “by design”

E’ piuttosto difficile definire una vulnerabilità “by design”, cioè un “errore di progettazione”. Prendendo alla lettera l’espressione, praticamente tutti i programmi e i sistemi operativi, se considerati dal punto di vista della sicurezza, contengono svariati “errori” di progettazione. In realtà questo dipende molto da due principi della sicurezza informatica: a) la sicurezza è inversamente proporzionale alla facilità d’uso; b) la sicurezza è un concetto relativo. Leggi tutto…

Sicurezza e GNU/Linux (parte 2): Vulnerabilità/1

2 aprile 2011 12 commenti

I programmi non sono invulnerabili come lui

Una vulnerabilità è tutto ciò che permette, almeno potenzialmente, ad un attaccante di indurre un comportamento non previsto e non desiderabile in un software (o un insieme di software).

Leggi tutto…