1. Open security
La sicurezza informatica con
programmi open source
Francesco M. Taurino
LinuxDAY 2006 - Caserta
2. 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
3. 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
4. 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à
5. 1. Accesso fisico
Fa parte della sicurezza passiva.
Esempi:
- protezione dei locali
- porte blindate
- identificazione del personale
6. 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.
7. 2. Autenticazione e autorizzazione
Alcuni tool:
- OpenLDAP, Fedora Directory Server
- FreeRadius, GNU Radius
8. 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.
9. 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”.
10. 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
11. 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)
12. 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)
13. 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).
14. 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.
15. 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).
16. 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)
17. 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.
18. 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.
19. 7. Disponibilità
Alcuni tool:
- RAID (per la protezione dello storage)
- LinuxHA (alta disponibilità)
- LVS (Linux Virtual Server)
- RedHat Cluster Suite