Internetworking V anno La sicurezza nei sistemi informatici Sicurezza Con la diffusione dei computer e della rete Internet, il problema della sicurezza nei sistemi informatici è diventato fondamentale. Le reti, per loro natura, non sono sicure: la grande quantità di informazioni che transita in rete può essere intercettata e dati sensibili usati per scopi illegali. Per questi motivi, i sistemi attuali offrono sempre maggiori funzionalità per garantire la sicurezza dei dati. Dati al sicuro Si deve garantire che i dati siano “sicuri” e “al sicuro”, il che significa che devono essere: • disponibili: le politiche di sicurezza devono garantire l’accesso ai dati in qualunque momento; • riservati: le politiche di sicurezza devono proteggere l’accesso alle informazioni da parte di utenti non autorizzati; • integri: le politiche di sicurezza devono proteggere i dati da modifiche non autorizzate. Prevenzione del problema Molti problemi legati alla sicurezza possono essere prevenuti, soprattutto quelli causati accidentalmente e non per scopi fraudolenti. Alcune tecniche utilizzate riguardano: • l’implementazione di politiche di backup dei dati in modo da poterli ripristinare; • l’attivazione di misure di prevenzione dei virus; • l’uso di tecniche di fault-tolerance che consentono di offrire il servizio in modo continuativo anche a fronte di eventuali guasti; • l’implementazione di meccanismi di autenticazione e controllo degli accessi. Se i sistemi sono in rete è necessario proteggersi tramite firewall ed effettuare un monitoraggio continuo per individuare eventuali attacchi. Categorie di sicurezza Per poter adottare delle misure adeguate di prevenzione è importante stimare e valutare la probabilità del verificarsi di un pericolo, il costo della sua prevenzione e il costo dei danni che potrebbe procurare. Bisogna riuscire a formulare un piano che riduca tali costi e tali rischi. È importante quindi classificare i tipi di rischi a cui i sistemi possono essere soggetti e definire le misure da adottare. Possiamo definire due categorie legate alla sicurezza: • sicurezza fisica del sistema basata sul controllo dell’ambiente; • sicurezza dei dati e dei programmi. Sicurezza fisica I primi tipi di rischio sono quelli accidentali, come per esempio eventi non prevedibili come incendi, alluvioni, terremoti ecc. Il rischio di incendio è sicuramente il più diffuso e quindi tutti gli ambienti devono essere dotati di sistemi per la rilevazione degli incendi e di sistemi antincendio. Più complesso il problema delle manomissioni e dei sabotaggi. In questo caso l’unico modo è controllare l’accesso alle aree. I sistemi più diffusi sono quelli con porte dotate di badge. Tra i più sicuri troviamo i sistemi con accesso tramite controllo delle impronte digitali. Sicurezza dati e programmi Anche per quanto riguarda la sicurezza dei dati si può fare una suddivisione tra danni accidentali e danni dolosi. Tra i primi, oltre a quelli dovuti a problemi sugli ambienti, vi sono i danni alle apparecchiature, con particolare riferimento ai dischi in cui sono memorizzati dati e programmi. Tra questi il problema più frequente è la cosiddetta “aratura” del disco. Un altro problema frequente è la caduta di tensione della corrente dovuta al malfunzionamento dell’alimentazione (fulmini, blackout). Per evitare l’uso fraudolento dei dati bisogna invece provvedere a fornire il sistema di protezioni all’accesso. Il metodo meno oneroso è quello di dotare il sistema di una password. Controllo degli accessi La protezione contro gli accessi non autorizzati ai dati deve tenere conto della diversificazione degli utenti interessati alle informazioni. La telematica ha reso insufficiente la protezione garantita dalle barriere fisiche adottate nei sistemi tradizionali. Oltre a questi mezzi, è necessario prevedere delle barriere logiche, cioè procedure di controllo dell’accesso ai dati e di identificazione dell’utente, anche in remoto. Password La password è una parola d’ordine elettronica. È una delle più semplici e diffuse barriere logiche. Purtroppo è anche un sistema di controllo molto vulnerabile. Come andrebbe creata una password: • Usare almeno 8 caratteri. • Usare lettere maiuscole, minuscole, cifre numeriche e segni di interpunzione (?,!). • Combinare a qualche numero o carattere speciale le lettere iniziali o finali di una frase celebre o pensiero ricorrente: “Quel ramo del lago di Como” può diventare 6QrDLdC3. Sicurezza in rete Gli sforzi maggiori per rendere le comunicazioni sicure vengono fatti nell’ambito della criptografia per evitare che un messaggio intercettato possa essere letto. La criptografia è alla base dei meccanismi per: • la firma digitale: garantisce l’attendibilità dei documenti e garantisce che il documento non possa essere modificato da altri; • i certificati digitali: sono dichiarazioni di un’autorità che garantisce l’identità di una persona o di un sito web. Scambio di certificati client/server Per poter scambiare i certificati digitali per l’accertamento dell’identità dei soggetti coinvolti nella comunicazione sono stati definiti dei protocolli di protezione che consentono di effettuare scambi di informazioni in modo protetto. La figura mostra un esempio di scambio di certificati tra Client e Server. Criptografare messaggi e documenti Con lo sviluppo del commercio elettronico, l’aumento dello scambio di dati e la necessità di effettuare pagamenti in formato elettronico, il problema della sicurezza nella circolazione delle informazioni in rete è diventato di notevole importanza. La soluzione è la criptografia; particolari tecniche che permettono di trasformare il messaggio da trasmettere in un testo cifrato, leggibile solo al reale destinatario. Criptografia: algoritmo e chiave Il processo di trasformazione del testo in chiaro in un testo cifrato viene chiamato criptazione (crittazione), il processo inverso decriptazione (o decifrazione). Entrambe i processi si basano su un codice particolare, detto chiave. Un sistema criptografico si compone di due elementi: • L’algoritmo che è l’insieme dei passi da seguire per modificare il messaggio secondo regole definite e una specifica chiave. • La chiave che è una sequenza di cifre (o caratteri). Più la chiave è lunga e complessa più è robusta. Criptatura a chiave simmetrica Il metodo più semplice di criptazione per sostituzione è quello a chiave simmetrica perché utilizza una sola chiave tanto nella fase di codifica quanto in quella di decodifica. Questo modello di criptografia presenta alcuni notevoli inconvenienti: • sia chi invia sia chi riceve conosce la chiave che diventa fissa e individuabile a scapito della sicurezza; • la chiave potrebbe cambiare a ogni messaggio; • è necessario generare un numero elevato di chiavi quando il numero dei possibili trasmettitori aumenta, come nel caso di Internet. Dato un sistema di N utenti, sono necessarie N(N–1)/2. Criptografia a chiave pubblica La criptografia a chiave pubblica permette di comunicare senza dover ricercare percorsi segreti per trasmettere le chiavi. In questo tipo di criptografia a ogni utente vengono assegnate due chiavi, diverse ma complementari: una chiave pubblica e una privata. Ogni chiave mette in chiaro il messaggio che l’altra chiave ha codificato, ma il processo non è reversibile: la chiave usata per criptare un messaggio non può essere utilizzata per decriptarlo (ecco perché questo sistema si chiama asimmetrico). In questo modo, la chiave pubblica è disponibile all’interno di un apposito archivio online, mentre la chiave privata è conservata solo dal suo proprietario. Come funziona la Criptografia a chiave pubblica Per spedire un messaggio a un soggetto, è necessario procurarsi la sua chiave pubblica e criptare il messaggio con essa; il destinatario potrà decifrare il messaggio con la propria chiave privata. In questo modo viene meno il problema della comunicazione della chiave e il numero delle chiavi necessarie nel sistema diminuisce notevolmente: con N utenti, basteranno 2*N chiavi. Doppia criptazione Per migliorare la sicurezza è possibile applicare un meccanismo di doppia criptazione, che garantisce riservatezza e sicurezza del mittente. Con questo sistema è anche possibile autenticare i propri messaggi permettendo al destinatario di verificare l’identità del mittente. Le chiavi sono intercambiabili, per cui se si cripta con la chiave A, si può decriptare con la chiave B collegata, e viceversa. Funzionalità dei gateway Spesso i gateway non si limitano a fornire funzionalità di base di routing a livello Network, ma integrano altri servizi collocati a livello Application. Tra questi servizi, quelli fondamentali per garantire l’efficienza della rete e la sua sicurezza sono: - Proxy Server - Firewall - NAT (Network Address translation) - DMZ (DeMilitarizes Zone) Proxy Server Un proxy è un programma che si interpone tra un client e un server facendo da tramite. Il client si collega al proxy, invece che al server, e gli invia la richiesta. Il proxy, a sua volta, si collega al server a cui inoltra la richiesta del client. Infine il proxy, ricevuta la risposta, la inoltra al client. I proxy, nella maggior parte dei casi lavorano a livello Application. Il loro compito principale è garantire la connettività e il caching ai client a loro collegati ai fini dell’efficienza della rete. La collocazione del (o dei) Proxy Server alla frontiera tra la rete privata aziendale e la rete pubblica (Internet) consente le operazioni di filtraggio e in particolare di mettere in atto servizi di firewall, NAT e DMZ. Proxy Server e firewall Il firewall è una linea indispensabile di difesa contro le intrusioni di rete poiché agisce come sentinella alla porta di collegamento del computer con una rete esterna come Internet. Separa la LAN aziendale dalla WAN pubblica. Il firewall filtra tutti i pacchetti entranti e uscenti, da e verso una rete o un computer, secondo regole prestabilite che contribuiscono alla sicurezza della rete stessa. Distinzione firewall in base a stack TCP/IP I firewall si possono distinguere sostanzialmente in tre categorie in base al livello dello stack TCP/IP cui operano: - Application Level Firewall - Packet Filter Firewall - Stateful Packet Inspection Firewall Distinzione firewall in base alla collocazione I firewall possono essere collocati diversamente in base alle esigenze dell’azienda. Si possono individuare tre topologie prevalenti: - Single Proxy Topology - Multiple Proxy Vertically Topology - Multiple Proxy Orizontally Topology Single Proxy Topology Multiple Proxy Vertically Topology Multiple Proxy Orizontally Topology Network Address Translation NAT è una tecnica, attuata dal router, che lavora a livello Transport per sostituire nell’intestazione di un pacchetto IP, un indirizzo, sorgente o destinazione, con un altro indirizzo. NAT viene usato per permettere a una rete locale, che usa una classe di indirizzi privata, di accedere a Internet usando un solo indirizzo pubblico fornito dall’ISP. Si tratta dunque di condividere Internet su una LAN usando un solo punto di accesso (un solo IP pubblico). Dal punto di vista della sicurezza un NAT offre buone garanzie, perché nasconde gli host interni e non indirizza loro il traffico “generico” proveniente dall’esterno. NAT usa una tabella contenente la corrispondenza tra i socket interni ed esterni in uso. Tutte le comunicazioni provenienti dall’esterno che non sono state registrate nella tabella vengono eliminate. DeMilitarized Zone Dividere la Rete in zone è una tecnica che aumenta notevolmente la sicurezza. Nei casi più semplici, le uniche due zone, LAN e WAN, sono attestate sui due lati del firewall. In molti casi si rende necessaria la creazione di una terza zona: la DMZ. Si tratta di un’area in cui sia il traffico WAN che quello LAN sono fortemente limitati e controllati. Una DMZ, per esporre all’esterno i servizi di un’azienda, può essere realizzata in due modi: • vicolo cieco; • zona cuscinetto. DeMilitarized Zone, vicolo cieco Il vicolo cieco è un segmento della LAN adibito a DMZ, di solito quello che ospita i server. Viene realizzato mediante un firewall con due porte, una verso la LAN e una verso la DMZ, oltre naturalmente alla porta verso la WAN. L’idea è quella di consentire l’accesso esterno e interno alla DMZ, garantendo che, raggiunta la DMZ, non si possa accedere alla LAN; cioè agli uffici. Dunque un utente potrà accedere ai servizi che l’azienda rende accessibili dall’esterno nella DMZ senza mettere in pericolo la sicurezza dei dati presenti nella zona LAN. DeMilitarized Zone, zona cuscinetto La zona cuscinetto tra interno ed esterno viene creata aggiungendo un secondo firewall: - l’external firewall separa la rete pubblica dalla DMZ; - l’internal firewall separa la DMZ dalla zona LAN vera e propria. Questo garantisce una sicurezza ancora maggiore dei database presenti in LAN. Chi dall’esterno approda alla DMZ dovrà superare un altro firewall dedicato per attaccare i dati in LAN. Laddove la sicurezza è vitale, la DMZ è stratificata, cioè sono presenti più di due firewall.