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. 2. 3. 4. 5. 6. 7.
accesso fisico autenticazione e autorizzazione server e client servizi e applicazioni reti confidenzialità e integrità 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