Sei sulla pagina 1di 19

Open security

La sicurezza informatica con

programmi open source

Francesco M. Taurino

LinuxDAY 2006 - Caserta


Sicurezza informatica

- La sicurezza NON è installare un firewall

- La sicurezza NON è un prodotto o un


servizio

- Un controllo di sicurezza NON è “fai uno


scan della rete e spegni qualche servizio...”

La sicurezza è un processo
La sicurezza informatica è

- “Posso ancora lavorare produttivamente senza


pensare ai problemi di sicurezza”?
- efficace come “l'annello più debole” della catena
- la gestione del rischio per computer e personale
- “Chi può avere accesso fisicamente ai server,
ai backup o ai pc?”
- 24x7x365... sempre
- fare tutto quello quello che si può, senza incidere
(troppo...) su produttività e budget

La sicurezza è un processo
Alcune considerazioni

La sicurezza informatica si deve occupare


di:

1. accesso fisico
2. autenticazione e autorizzazione
3. server e client
4. servizi e applicazioni
5. reti
6. confidenzialità e integrità
7. disponibilità
1. Accesso fisico

Fa parte della sicurezza passiva.

Esempi:

- protezione dei locali

- porte blindate

- identificazione del personale


2. Autenticazione e autorizzazione

Consistono nella verifica dell'identità e


delle credenziali di un utente (un
programma o un computer) e nell'esame
dei privilegi di accesso a determinate
risorse che gli sono stati concessi.
2. Autenticazione e autorizzazione

Alcuni tool:

- OpenLDAP, Fedora Directory Server

- FreeRadius, GNU Radius


3. Server e client

Nella scelta e nell'implementazione di una


struttura informatica è vitale la corretta
selezione dei sistemi operativi di server e
client.

Il mercato client è per oltre il 90%


rappresentato da Windows, mentre in
ambito server questo sistema è presente
sul 52% delle macchine.
3. Server e client

I virus, i worm e gli spyware “in the wild”


sono quindi studiati per attaccare questo
tipo di sistemi.

Linux sui desktop e sui server è quindi una


scelta fattibile sia per le funzionalità che
per il positivo impatto sulla sicurezza, visto
che non è in grado di eseguire questi
“codici maligni”.
4. Servizi e applicazioni

Come per i sistemi operativi, è importante


selezionare accuratamente i software
applicativi o utilizzati per erogare servizi.

Sono inoltre necessari continui update,


verifiche della presenza di vulnerabilità
nei server “esposti”, controlli sulla bontà
delle password, etc etc
4. Servizi e applicazioni

Alcuni tool:

- chroot (creazione di “gabbie” per servizi)


- servizi senza privilegi elevati
- apt, yum, urpmi (aggiornamenti s.o.)
- Nessus (ricerca vulnerabilità)
- Snort (rilevazione tentativi di intrusione)
- John the Ripper (password cracker)
5. Reti

Messi in sicurezza locali, server e servizi,


dobbiamo assicurarci che le nostre reti
(anche a basso livello) offrano lo stesso
livello di sicurezza dei livelli più elevati.

Alcuni tool:

- Wireshark, tcpdump (sniffing)


- Kismet (wireless sniffer)
- Nmap (lista servizi, identificazione s.o.)
- Nedi (discovery apparati)
6. Confidenzialità e integrità

Tutta la struttura è in sicurezza.


Ma i dati, le mail, l'accesso ai server come
vengono protetti?

Dobbiamo avere un sistema la che


garantisca la confidenzialità (una terza
parte che entri in possesso delle
informazioni scambiate tra mittente e
destinatario non è in grado di ricavarne
alcun contenuto informativo intelligibile).
6. Confidenzialità e integrità

Il sistema deve garantire l'integrità, cioè


protezione dei dati e delle informazioni nei
confronti delle modifiche del contenuto
effettuate da una terza parte, essendo
compreso nell'alterazione anche il caso
limite della generazione ex novo di dati ed
informazioni.
6. Confidenzialità e integrità

La confidenzialità e l'integrità di dati e


programmi si ottengono in fasi e modi
differenti, dalla protezione delle
comunicazioni alla criptazione dei dati in
transito su canali intrinsecamente insicuri
(come Internet).
6. Confidenzialità e integrità

Alcuni tool:

- SSL/TLS e ssh (connessioni sicure)


- VPN (tunnel criptati su canali insicuri)
- GnuPG (criptazione dati e mail)
- Tripwire (verifica integrità programmi)
7. Disponibilità

Con il termine disponibilità si intende la


prevenzione della non accessibilità, ai legittimi
utilizzatori, sia delle informazioni che delle
risorse, quando informazioni e risorse servono.
Il concetto quindi, oltre che riguardare dati ed
informazioni, è esteso a tutte le possibili risorse
che costituiscono un sistema informatico, come,
ad esempio, la banda di trasmissione di un
collegamento, la capacità di calcolo di un
elaboratore, lo spazio utile di memorizzazione
dati, ecc.
7. Disponibilità

Anche la disponibilità dei dati e della


banda si ottiene in fasi e modi differenti,
dalla protezione fisica dei locali, alla
corretta gestione di server, supporti e
strategie di backup fino alla realizzazione
di sistemi di cluster e sistemi
completamente ridondati.
7. Disponibilità

Alcuni tool:

- RAID (per la protezione dello storage)


- LinuxHA (alta disponibilità)
- LVS (Linux Virtual Server)
- RedHat Cluster Suite