210 likes | 342 Views
Firewall Sicurezza nel Sistema Informativo della PA. Prof. Daniele Pulcini Università degli Studi di Roma “La Sapienza” Genova, 22 Febbraio 2005. Introduzione.
E N D
FirewallSicurezzanelSistemaInformativodella PA Prof. Daniele PulciniUniversità degli Studi di Roma “La Sapienza”Genova, 22 Febbraio 2005
Introduzione Non ci interesseremo solo di come installare un firewall ma anche di come migliorare la sicurezza del nostro sistema ed eventualmente dei consigli su come Improvare :-) ossia migliorare la sicurezza del proprio sito e creare ( nel nostro piccolo ) una vera e propria "ETICA DELLA SICUREZZA DIGITALE" cosa che in Italia in questo periodo manca e mancherà per un bel po' di tempo.
Che cosa è un firewall Noi intenderemo un firewall come una collezione di componenti che si collocano in mezzo a 2 reti (e noi assumeremo Internet e la una piccola rete) che possiedono le seguenti proprietà A) Tutto il traffico di dati entrante ed uscente dalla rete interna viceversa deve passare attraverso il firewall. B) Solo il traffico autorizzato puo' passare impunemente attraverso il firewall C) Il firewall e' immune ( o almeno si spera ) alle penetrazioni illegali
Che cosa è un firewall 2 Non male vero? Ora passiamo ad analizzare i vari svantaggi e vantaggi ad usare una macchina ( e quindi investimenti ) configurata come firewall. Una ottima ragione per montare dei firewalls e' che dedicare e concentrarsi su una macchina sola e interessarsi in buona parte della SUA sicurezza è molto meglio che seguire tutta la sicurezza di una rete intera , magari costituita da computers di marche differenti .....quindi dedicare una macchina SOLO a questo scopo e' ben piu' vantaggioso che usarne una “general purpose” e dirsi SONO TRANQUILLO. Tutta la mia attenzione dopo sarà dedicata a curarmi della mia rete e non della sua " sicurezza". La seconda ( che è anche lo scopo di questo testo e' che comunque una persona che si occupa di firewall DEVE AVERE una coscienza di sicurezza, cosa che alcuni sistemisti molto spesso non hanno.
Filosofia dei firewall Siamo quindi ben piu' precisi ...... lo schema di un firewall e' il seguente : |-------------|------------|------------| | | | | | | GATEWAY | | | | | | |-------------|------------|------------| Rete Filtro Filtro Rete Interna Esterna Filtro : blocca le trasmissioni di certe classi di dati Gateway: macchina/e che provvede ai servizi per compensare l'effetto del filtro
Ingegneria di un firewall e zona demilitarizzata Generalmente si dice che la zona protetta o rete interna si chiama ZONA DEMILITARIZZATA (nota che un gateway possono essere piu' macchine e quindi essere divise in esterne od interne, le esterne sono detti BASTIONI). Anche il piazzamento di questi firewalls e' una cosa molto importante , e' facile dire da un mondo interno ad uno esterno, ma in grosse aziende e' utile tante volte ISOLARE I DOMINI in termini di sicurezza e quindi di MODULARIZZARE a livello ingegneristico la rete individuando le varie aree di impiego . Le ragioni di questo fatto sono che gli impiegati stessi possono essere abilitati o meno a certi dati . Noi potremo quindi vedere i nostri firewalls come grossi DIODI o DIGHE che isolano i dati come più lo preferiamo.
Suddivisioni di un firewall Andiamo con le prime classificazioni: Un firewall e' suddiviso come
Packet filtering Poco costoso e facile da reperire e' semplicemente il NOSTRO ROUTER e il suo software .....(NB le aziende pubbliche dovrebbero averne uno). Il nostro installatore dovrà quindi per esempio avere una lista dei siti autorizzati o meno, ma non solo: ...saremo in grado di definire se dal sito pippo.pluto.it vogliamo ricevere soltanto mail. Configurare un Packet Filtering è una operazione che richiede 3 passi 1) prendere DECISIONI su cio' e non cio' che e' permesso . 2) definire tipi ammessi di dati in termini di operazioni logiche 3) Riscrivere queste regole nel proprio sistema.
Esempio di Packet filtering esempio ....porta 25 SENDMAIL dalla rete a SOLO il tuo Gateway Azione NostroHost porta lorohost porta commento ----------------------------------------------- block - - CATTIVI - Non li vogliamo allow Nostro-gw 25 - - connessione al SMTP Pacchetti non esplicitamente espressi da una regola precedente sono bloccati automaticamente ( KOOL!!!!! :-) )
La regola La filosofia di base e' questa : QUELLO CHE NON E' ESPRESSO NON E' PERMESSO. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
La regola ancora meglio sarebbe permettere chiamate uscenti alla porta 25 action source port dest port flags commento -------------------------------------------------------- allow Noi - - 25 collegamento noi-loro SMTP allow - 25 - - ACK loro risposta
La regola Supponiamo l'FTP action source port dest port flags commento -------------------------------------------------------- allow noi per uscire allow ack per risposta allow >1024 traffico non FTP
Filtrare sessioni X11 Supponiamo ora di filtrare sessioni X11 Dovremo sapere tutti che per x abbiamo bisogno di un server al quale x11 si connette via TCP , e che inoltre certe applicazioni devono poter essere pilotate dall' esterno. In questo caso consigliamo di bloccare tutte le chiamate in ingresso sulle porte 6000-6100 almeno (dipende dal numero di utenti ) .
Application level gateways Usato in unione agli altri 2 come protezione aggiuntiva minimale per esempio nel caso dell' X11 visto sopra ..... Svantaggio / Vantaggio e' che e' molto generale e che quindi se noi useremo programmi molto particolari non serve a molto. E' come se avesse gia' un DB di liste come le precedenti a seconda di ciò che ho lanciato nel mio sistema.
Circuit level gateways (Il migliore per chiamate in uscita) controlla solamente connessioni TCP . Il chiamante chiama una porta del gateway con TCP che lo connette con qualche cosa all' infuori della rete . Durante la connessione il GW registra tutte le azioni commesse dal malcapitato ( caso mia univ.). Funziona come se fosse un filo . La connessione può essere automatica e espressa direttamente dall' utente (In questo caso il GW si chiama PROXY). Non e' necessario loggare tutto cio ' che esce ...ma basterebbe gia'il numero di bytes e la destinazione per una ottima loggatura . Greppando su un utente o su siti si scopre che cosa ha combinato il CONTROLLATO .:-) Naturalmente potremo dire il tempo di connessione ( cosa che da noi non fanno) e una lista di utenti abilitati all' accesso dall' esterno .
Cosa non possono fare i firewall Anche loro hanno delle limitazioni ...come tutti gli apparati del resto . Per esempio sono completamente indifesi agli attacchi su porta alta come può essere il peeking ....ma se il GW rifiuta connesioni X11 siamo a posto . Anche una corretta manutenzione del nostro gateway e' importante ....se non badiamo alla sicurezza dei nostri programmi tipo Sendmail Telnetd etc etc non montiamoci un firewall ...e' un aiuto ma non e' la soluzione; e' un programma anch'esso come tutti gli altri e quindi può essere fallato come tutti gli altri. Comunque per un attacco medio della stragrande maggioranza degli hacker e' piu' che sufficiente .....
COSTRUIRE UN APPLICATION LEVEL GATEWAY 5) ed ora quel che tutti aspettavano .......... COSTRUIRE UN APPLICATION LEVEL GATEWAY Tratteremo l'analisi di costruzione di un Application level gateway con sicurezza ad alto livello . Nota che il seguente viene usato dall' At & T . Considereremo basilari : 1) Un computer unix (LINUX RULEZZ) :-) 2) Routers 3) Software tools descritti 4) Demoni di network trovabili su Internet ...( solo versioni recenti) La costruzione descritta necessita adattamenti per il proprio computer .
Assunzioni • Assumeremo che : • Gli utenti si sappiano tenere i dati di sistema tipo passwd e altro per loro conto senza spedirli in giro per il mondo • -Le password non saranno troppo semplici • -Gli hacker che ci attaccano sono hacker " normali "... non dei geni !. • -I dati interni siano di media importanza. • Abbiamo 3 sottotipi • corrispondenti a 3 livelli di sicurezza crescenti :
Software utili Dunque.... un hacker trova la maggior parte delle sue info su internet ....bene anche noi andremo a prendere le nostre proprio la' . TCP WRAPPER ftp.win.tue.nl /pub/security/tcp_wrapper SECURELIB ( addon per SunOs per eliminazione inetd) eecs.nwu.edu /pub/securelib.tar TIS FIREWALL TOOLKIT ftp.tis.com /pub/firewalls/toolkit PROXY X11 crl.dec.com /pub/DEC/xforward.tar.Z IDENTD DAEMON ftp.uu.net /networking/ident SWATCH ( associazione azioni con logfiles) sierra.stanford.edu /pub/sources/swatch.tar.Z SCREEND ( converte il nostro sistema in un filtratore di pacchetti) gatekeeper.dec.com /pub/DEC/screend/screend.tar.Z TRIPWIRE (controllo pacchetti alterati) ftp.cs.purdue.edu /pub/spaf/COAST/Tripwire
COSTRUIRE UN APPLICATION LEVEL GATEWAY -------------Inside-------GW----------Router--------------INTERNET (A) -Inside----GW-Inside----Privatenet----GW-Outside--Router--INTERNET (B) -GW-Inside-----Inside-----Router------GW-Outside--Router--INTERNET (C) (choke)