INTRODUZIONE Problemi affrontati dalle tecniche di portknocking

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "INTRODUZIONE Problemi affrontati dalle tecniche di portknocking"

Transcript

1 INTRODUZIONE Il portknocking é un metodo per comunicare con un computer in rete senza mantenere i corrispondenti servizi costantemente in ascolto e pronti a ricevere connessioni. Prima che una connessione ad uno specifico servizio possa essere stabilita viene usata una speciale sequenza di pacchetti di rete, ovvero una serie di tentativi di connessione verso delle porte di rete chiuse come meccanismo di autenticazione del richiedente del servizio. Il richiedente bussa alle porte e si fa riconoscere prima di poter accedere, da qui il nome portknocking. In base alle sequenze di knock riconosciute,ad esempio, l'accesso ad un servizio può essere ottenuto manipolando in maniera dinamica le regole di filtraggio del firewall, per aprire o chiudere una o più porte all'indirizzo IP del richiedente. Sulla base di questa idea innovativa di gestione delle autorizzazioni all'accesso di servizi di rete, sono state proposte diverse metodologie realizzative: dal monitoraggio dei log di sistema all'analisi real-time del traffico di rete al fine di individuare le sequenze di knock ed agire di conseguenza. Problemi affrontati dalle tecniche di portknocking I rischi associati ad una macchina connessa ad Internet sono aumentati considerevolmente: siamo ormai abituati a sentire notizie riguardo ad accessi non autorizzati o attacchi DoS su larga scala. Secondo il CSI/FBI Computer Crime and Security Survey del 2004 il 53% delle organizzazioni intervistate sono state vittime di un uso non autorizzato dei propri sistemi nel corso degli ultimi 12 mesi. Nonostante il dato sia migliore rispetto a quello del 2003, deve comunque fare riflettere il fatto che piu' della meta' delle organizzazioni interessate dal report abbiano avuto problemi in questo senso. Tutto ciò non fa che evidenziare ancora di più i rischi dei sistemi in rete, sia per piccole imprese, che per istituzioni, governi e altre grandi realtà imprenditoriali. Anche le utenze domestiche, tradizionalmente vittime di virus, sono sempre più spesso obbiettivo di intrusioni vere e proprie, e usate per la diffusione di worm, spam o attività di scanning a largo spettro. Le tecniche per proteggere le macchine connesse ad Internet tendono a basarsi sia sul filtraggio dei pacchetti sulla base di regole di accesso, che sulla sicurezza a livello di applicazione. Le politiche di filtraggio dei pacchetti sono tipicamente implementate attraverso l'utilizzo dei firewall. Esistono tuttavia attacchi contro i quali un firewall puo' non essere efficiente. Essi ad esempio non possono proteggere da tool e applicazioni malevole che si basino su vulnerabilità di qualche servizio applicativo accessibile da remoto. Vulnerabilità associate ai servizi sono sfruttabili poiche' l'architettura aperta di Internet presume che una macchina che fornisce un servizio, sia accessibile da macchine remote per mezzo dei vari protocolli, ad esempio FTP, SMTP, POP3, NNTP, HTTP, ecc. La seconda tecnica di protezione utilizzata e' quella di implementare meccanismi di sicurezza molto forti a livello di applicazione, come servizi d'autenticazione specifici di ogni applicazione. Affidarsi esclusivamente a questo livello di sicurezza esporrebbe al problema del costo computazionale di tali meccanismi. Per esempio degli schemi crittografici particolarmente elaborati potrebbero richiedere un costo computazionale eccessivo, facilitando eventuali attacchi DoS, che consistono nell'esaurimento delle risorse del sistema vittima, il quale di conseguenza sara' impossibilitato ad erogare regolarmente il suo servizio. 1

2 Inoltre i vari meccanismi per lo scambio delle chiavi rivelano l'esistenza della macchina e che quel servizio é in esecuzione; tutto cio' potrebbe permettere la raccolta di informazioni sul sistema vittima da parte di un utente malizioso, facilitando eventuali attacchi. L'ideale sarebbe avere un meccanismo semplice e leggero dal punto di vista computazionale, che permetta di fermare la maggior parte degli attacchi. Un beneficio significativo si potrebbe quindi conseguire per mezzo del cosiddetto approccio "defence-in-depth", che consiste nell'utilizzare layers di sicurezza multipli, piuttosto che avere un'unico livello perfetto o presunto tale. Come approcciare quindi il problema della network secuirty? Cosa potremmo fare per rendere il sistema il piu' sicuro possibile, mantenendo al contempo la possibilita' di accedervi in modo flessibile? Come si può immaginare i due obiettivi tendono ad essere divergenti ed a seconda dei casi l'equilibrio può tendere verso la sicurezza a tutti i costi, oppure verso una maggior flessibilità di utilizzo. Bisogna però ricordare che la sicurezza assoluta non esiste: l'unica certezza di evitare al 100% un attacco remoto ad un server è quella di disconnetterlo, soluzione decisamente poco pratica. Un sistema per la sicurezza quindi non puo' dare la certezza di rendere impossibile l'accesso al sistema, ma ha lo scopo di prevenire e ritardare le intrusioni il più a lungo possibile, rendendo difficile l'operato degli eventuali attacker. Entrando maggiormente nel dettaglio i punti più importanti da perseguire per la protezione di un particolare servizio, o in generale di un sistema sono: 1. Il servizio deve essere "nascosto" (nonostante questo una policy di sicurezza non può e non deve basarsi solamente sulla cosiddetta security through obscurity). In questo modo si permette agli host di cercare di essere invisibili ad altre macchine connesse ad internet, mentre continuano a fornire il servizio a quelle autorizzate. 2. Le credenziali dei client autorizzati devono essere semplici da validare, ed allo stesso tempo complicate da costruire. Ovviamente perche' il servizio resti nascosto, non devono essere date risposte nel caso le credenziali non siano valide. Quindi i client non autorizzati non solo non dovranno potere accedere al servizio, ma neppure ricevere alcuna risposta da parte del server. 3. Il sistema di protezione deve essere in grado di agire da deterrente agli attacchi, in modo da evitare tutti i problemi derivanti dalle forme aggressioni più semplici, come quelle realizzate da parte dei cosiddetti script-kiddies, individui che si limitano ad usare tool scritti da terze persone, per sfruttare qualche vulnerabilità nota. Se questi tool falliscono nel loro scopo lo script-kiddie normalmente non ha le competenze per portare avanti altri tipi di attacchi, che richiedano maggiori competenze. Un'altro semplice vantaggio potrebbe essere quello di limitare anche quegli attackers più preparati, ma comunque non sufficientemente motivati, che quindi preferiranno concentrarsi su obiettivi più semplici. 4. Il sistema deve rallentare l'azione dell'attacker. Se il esso é strutturato in modo da rendere sufficientemente complessa un'intrusione non autorizzata, un attacker, anche se competente e motivato necessitera' di un maggiore lasso di tempo per riuscire nel suo intento. 2

3 Durante questo intervallo, l'amministratore di sistema potrebbe riscontrare indizi del tentativo di intrusione, e quindi prendere tutte le misure necessarie per arginare l'attacco. 5. Il sistema deve rendere l'attacco particolarmente "rumoroso". Se può essere confuso con il normale traffico, sarà sicuramente molto più complicato riuscire a rintracciarlo. Se invece esso presenta pattern diversi dalla normale attività, le probabilità di accorgersi del problema diventano molto più elevate. 6. Il sistema deve comunque comprendere anche meccanismi di sicurezza specifici dell'applicazione. Sarebbe un controsenso cercare in tutti i modi di proteggere l'accesso ad un servizio od un applicazione del tutto insicura. Una tecnica in grado di soddisfare questi obiettivi e' appunto il portknocking. Il progetto sviluppato nell'ambito di questa tesi, svolto in collaborazione con Riccardo Bianchi consiste nell'implementazione di due differenti prototipi della tecnica di portknocking. In particolare verrà presentato nei dettagli servknock, la soluzione rappresentata da un processo demone che analizza il traffico di rete, basandosi sulle librerie LibPcap. In sintesi, la tesi é organizzata come segue : Capitolo 1: vengono richiamati i concetti di accesso ai servizi di rete, porta e le funzionalita' di un firewall, allo scopo di meglio comprendere ciò che verrà trattato successivamente. Capitolo 2: descrizione della tecnica del portknocking, spiegandone i concetti fondamentali ed illustrandone un esempio di funzionamento. Segue un'analisi dei benefici di questa tecnica, dei suoi limiti e dei possibili contesti d'applicazione. Capitolo 3: analisi dei sistemi attuali. Si discutono i principali sistemi di portknocking disponibili analizzando le soluzioni adottate e valutando tutti i pro ed i contro di ogni implementazione. Capitolo 4: analisi delle alternative e dei sistemi di rilevamento. Vengono introdotti alcuni schemi che soddisfano gli stessi requisiti del portknocking, ma basati su un approccio differente, come il tailgate TCP o l'option-keyed TCP. Segue una descrizione dei possibili meccanismi utilizzabili per rilevare le sequenze di knock, come il parsing dei syslog, analisi real-time del traffico di rete ed il riuso di meccanismi di intrusion detection. Capitolo 5: descrizione del sistema servknock, concentrandosi sulle soluzioni adottate, il funzionamento, e le librerie utilizzate. Capitolo 6: presentazione dettagliata dell'implementazione del prototipo, analizzandone la struttura ed i dettagli piu' importanti del codice sorgente. Capitolo 7: installazione, test ed esempi d'uso del prototipo. Conclusioni finali, e discussione delle possibili evoluzioni del sistema sviluppato. 3

4 CAPITOLO 1 : Fondamenti di networking Il software di rete e' costituito dai programmi di sistema che permettono alle applicazioni in esecuzione su dei computer in rete, di comunicare tra loro. Quando un'applicazione ha la necessita' di trasmettere dell'informazione, esso prende i dati da inviare e dopo opportune elaborazioni li passa alla scheda di rete. All'arrivo di un frame, e' sempre il software di rete a riceverlo dalla scheda ed a presentare i dati contenuti all'applicazione destinataria. Esistono diversi modi o protocolli per realizzare una comunicazione tra due macchine,ma lo standard attualmente piu' usato e' il TCP/IP (Transmission Control Protocol / Internet Protocol). Essi definiscono sulla carta le modalita' di comunicazione, mentre il software di rete ne costituisce l'implementazione. Altri protocolli particolarmente diffusi sono l'udp (User Datagram Protocol ) ed ICMP ( Internet Control Message Protocol ). Quando un'applicazione deve inviare dei dati verso un host, il software TCP/IP interviene suddividendo l'informazione da inviare in una sequenza di pacchetti IP, la cui dimensione puo' ammontare al massima a 64 Kb. Ogni datagramma IP creato, viene etichettato con un'intestazione o header come quello qui rappresentato : Struttura dell'header Ipv4 I primi quattro bit, il campo Version, specificano la versione del protocollo IP. Header Length indica la lunghezza dell'intestazione del pacchetto in multipli di 32 bit: il valore minimo ammesso e' 5 (20 bytes, ovvero il caso nel quale l'intestazione non abbia alcuna opzione), mentre il massimo e' 15 (60 bytes). Gli 8 bit individuati dal Type Of Service (TOS) settano le impostazioni del datagramma IP. Tali opzioni possono essere : minimize delay, maximize throughput, maximize reliability, minimize monetary cost. Il campo Total Length rappresenta la lunghezza totale del datagramma IP espressa in byte. Combinando questo dato con la lunghezza dell'intestazione e' possibile sapere dove iniziano esattamente i dati all'interno del pacchetto. Essendo il campo 16 bit, la lunghezza massima possibile e' bytes. Il campo Identification identifica univocamente ogni datagramma IP. Tutti i frammenti che vi appartengono sono caratterizzati dal medesimo numero di identificazione. Seguono 3 flag : il primo settato a 0 per default, DF (don't fragment) e' un bit che indica ai 4

5 sistemi di non frammentare il pacchetto, mentre MF ( more fragments ) serve a specificare che sono in arrivo ulteriori frammenti del datagramma. Fragment Offset contiene l'offset del frammento rispetto al datagramma originale. TTL ( Time To Live ), imposta un limite al massimo numero di instradamento effettuabili nel tragitto tra gli host mittente e destinatario. Questo valore viene inizializzato alla creazione del datagramma, e decrementato ad ogni passaggio attraverso un router. Al raggiungimento del valore 0, il pacchetto viene scartato. Un un datagramma IP puo' inoltre comprendere al suo interno pacchetti di altri protocolli. Questa procedura viene chiamata incapsulamento, ed e' molto utilizzata poiche' consente grande flessibilita' nella comunicazione. Il campo protocol e' presente appunto per consentire questa procedura, ed identifica il tipo di protocollo tramite un numero, secondo quanto definita nella RFC Header Checksum e' una somma di controllo, calcolata solamente sull'header e serve ad individuare eventuali errori generati dai router. Infine i campi Source Ip Address e Destination Ip Address identificano gli indirizzi IP di mittente e destinatario. E' necessario ricordare che esistono diversi protocolli, ed ognuno di essi e' studiato per applicazioni con requisiti specifici. Ad esempio il TCP e' un protocollo orientato alla connessione, dove il software di rete che lo implementa deve assicurare due condizioni fondamentali : Il programma applicativo destinatario deve essere attivo Tutti i pacchetti inviati dal mittente devono raggiungere la loro destinazione Per garantire tali condizioni, il protocollo TCP necessita di informazioni supplementari a quelle contenute nell'intestazione IP, e quindi aggiunge un'ulteriore header ad ogni pacchetto da inviare : Struttura dell'header TCP Source Port Number e Destination Port Number servono ad identificare le applicazioni che 5

6 stanno comunicando attraverso la connessione. Ogni porta di fatto rappresenta un punto di accesso ad un'applicazione nel sistema. Qualsiasi applicazione che accetti connessioni TCP deve quindi disporre di un proprio numero di porta, che deve essere specificato dai programmi applicativi che la debbano contattare. Il significato del campo Sequence Number e' strettamente legato alla caratteristica di un flusso di dati TCP di essere diviso in diversi pacchetti, inviati in un ordine sequenziale numerato, all'interno di altrettanti datagrammi IP. Questo campo stabilisce l'ordine che il computer di destinazione deve usare per riassemblare i segmenti nell'ordine corretto. Quando al computer destinatario arriva un pacchetto TCP, esso risponde al mittente con un pacchetto di conferma detto ACK ( ACKnowledgement ) o conferma di ricezione. Il numero di una conferma di ricezione corrisponde al Sequence Number del pacchetto ricevuto piu' uno. Il campo Header Length indica la dimensione dell'header TCP in parole di 32 bit. La massima dimensione per l'intestazione e' di 60 byte, quindi il piu' alto valore possibile per questo campo e' 15. Seguono un campo riservato di 6 bit, ed una serie di bit che definiscono i flag del protocollo TCP : URG : urgent mode, che consente ad uno dei due estremi della comunicazione di dire all'altro che sono stati inseriti dei dati urgenti all'interno del flusso. Questo flag indica quindi la necessita' di controllare l'urgent pointer per il ricevente. ACK : indica che il numero di riconoscimento e' valido PSH : Indica dei dati di tipo push, impostando questo bit ad 1 si evita che i dati siano salvati in un buffer di attesa, venendo inviati direttamente all'applicazione destinataria. RST : reimposta una connessione SYN : si utilizza per realizzare una nuova connessione. Una richiesta di connessione ha i flag SYN=1 e ACK=0, mentre la risposta è SYN=1 e ACK=1. FIN : utilizzato per chiudere una connessione, indica che il mittente ha concluso l'invio di dati. Window Size e' fondamentale per il controllo del flusso dei dati TCP, regolando dinamicamente il numero di pacchetti che possono essere spediti dal mittente prima che il destinatario faccia pervenire l'ack sul primo di essi. Questo numero di pacchetti e' anche detto finestra di scorrimento del protocollo. Durante una connessione la dimensione della finestra viene variata dal mittente, sulla base dal valore che il destinatario specifica in questo campo nell'intestazione degli acknowledgement. Checksum e' un somma di controllo calcolata sia sull'intestazione che i dati. Viene calcolata dal mittente e verificata dal destinatario. Se i due valori corrispondono significa che il pacchetto e' stato ricevuto correttamente. L' Urgent Pointer viene considerato valido solo se il flag URG e' impostato. Indica un offset da aggiungere al numero di sequenza, per capire quando terminano i dati importanti. Estremamente diffuso e' anche il protocollo UDP (User Datagram Protocol), un protocollo non orientato alla connessione. Diversamente dal TCP il mittente trasmette i suoi pacchetti alla cieca, senza sapere se il destinatario sia raggiungibile o meno. Non e' necessaria alcuna forma di sincronia per iniziare una trasmissione UDP, ed il compito del software di rete del destinatario si limita solamente a smistare i pacchetti in arrivo alle applicazioni che li attendono, senza inviare alcuna conferma della ricezione al mittente. 6

7 Come nel protocollo TCP, il flusso di dati viene diviso in pacchetti aggiungendo all'intestazione IP di ognuno di essi un'altra intestazione, per le informazioni aggiuntive necessarie : Struttura dell'header UDP Le applicazioni che devono comunicare sono identificate tramite i campi Source Port e Destination Port. E' bene pero' ricordare che i numeri di porta UDP non hanno nulla a che vedere con i numeri di porta TCP; e' quindi possibile avere in contemporanea un programma che comunica tramite TCP ed un secondo tramite UDP che utilizzino lo stesso numero di porta. Infine i campi Length e Checksum indicano la lunghezza dell'intero datagramma UDP, e la somma di controllo calcolata sia sull'header stesso che sui dati. Non fornendo garanzie sull'arrivo a destinazione dei dati, questo protocollo e' piu' indicato in situazioni dove e' auspicabile un overhead minimo nella comunicazione, anche se cio' potrebbe andare a discapito della robustezza. LE PORTE Come gia' esposto i numeri di porta hanno lo scopo di identificare le applicazioni coinvolte nella comunicazione, e vengono divisi in tre range : 1. Porte fino alla 1023, dette porte privilegiate o registrate, il cui utilizzo e' regolato dalla IANA (Internet Assigend Numbers Autority). Normalmente un processo deve essere lanciato con privilegi addizionali (p.e. root) per potere stare in ascolto su queste porte. 2. Porte dalla 1024 alle dette well-known ports, ed utilizzate da diverse applicazioni. Non sono richiesti privilegi particolari per eseguire applicazioni che stiano in ascolto in questo range. 3. Porte dalla alla sono le cosiddette porte dinamiche o private il cui utilizzo non e' legato ad alcuna regola specifica. Applicazioni "legittime" non dovrebbero utilizzare queste porte per accettare connessioni. 7

8 Lo stato nel quale una porta puo' trovarsi si riduce alle quattro situazioni seguenti: 1. Porta aperta senza nessuna applicazione in ascolto ( ). In questa situazione le macchine remote hanno lo possibilita' di tentare una connessione alla porta, senza che essa venga bloccata dal firewall. Non vi sara' pero' nessuna applicazione che possa rispondere alle richieste di connessione. 2. Porta aperta con un'applicazione in ascolto per una connessione ( ). In questo caso macchine remote possono connettersi con successo alla porta e comunicare con l'applicazione in ascolto (ad esempio richiedere una pagina web se l'applicazione e' un webserver). 3. Porta chiusa senza alcuna applicazione in ascolto ( ). In questo caso un firewall sulla macchina server e' stato configurato per impedire ad host remoti di tentare una connessione verso la porta in questione, anche se i pacchetti ad essa destinati non sarebbero stati utilizzati per nessuna applicazione. 4. Porta chiusa con un'applicazione in ascolto ( ). Le connessioni verso questa porta sono ancora bloccate dal firewall, e quindi non e' possibile per host remoti comunicare con l'applicazione in ascolto. Per chiudere una porta utilizzando iptables si hanno a disposizione due azioni: DROP e REJECT. In entrambi i casi i pacchetti ricevuti non vengono resi disponibili all'eventuale applicazione in ascolto, ma nel primo oltre a filtrare il pacchetto, viene inviato al client un pacchetto d'errore ICMP. In questo modo si rende noto il fatto che il firewall e' configurato per rifiutare le connessioni verso quella porta. Usando invece l'azione DROP ci si limita esclusivamente a scartare il pacchetto, senza inviare alcuna risposta, rendendo impossibile per il client distinguere tra l'assenza del server o appunto la presenza di un firewall cosi' configurato. La figure mostra un ipotetico server che fornisce i servizi FTP( associato alla porta 8

9 21), SMTP(porta 25), Http(porta 80) e POP (porta 110). L'immagine nella pagina precedente rappresenta un server, privo di firewall, dove di conseguenza tutte le porte risultano aperte. In questo caso quindi macchine remote possono connettersi ai servizi erogati dalle applicazioni in ascolto su queste porte (evidenziate dal colore verde). Le due applicazioni colorate in grigio invece, non indicano alcun servizio di rete, e quindi non sono in ascolto su alcuna porta. Quando da un computer ci si connette ad un server (ad es. un webserver per visualizzare un sito), il sistema operativo del client sceglie una delle porte dinamiche per creare un socket, ed utilizzarlo per connettersi alla porta del servizio richiesto sul server (nel caso ipotizzato alla porta 80). Quindi, durante la comunicazione tra client e server le coppie IP - porte del server e client identificano univocamente il canale di comunicazione attraverso il quale verranno scambiati i dati. I servizi offerti da un server corrispondono quindi ad applicazioni in ascolto su alcune porte in grado di accettare connessioni da remoto, permettendo ai client di svolgere azioni particolari, come scaricare i propri messaggi di posta, inviare un' , visualizzare una pagina web ecc. Come gia' esposto nel box precedente le porte possono essere mantenute aperte o chiuse in base alle regole di filtraggio del firewall, il cui scopo primario e' definire e limitare la varieta' di comunicazioni possibili entro una rete. Comunemente le regole di filtraggio vengono fatte in base agli indirizzi IP od alle porte utilizzate; e' quindi possibile discriminare il traffico in modo da lasciare che delle porte siano aperte solo ad indirizzi IP specifici. Nel caso di Linux il la funzione di firewall viene svolto da netfilter, ed avviene direttamente in kernel-space (iptables ed ipchains non sono il firewall vero e proprio, ma solamente delle interfacce per la configurazione le regole usate di netfilter). Altri firewall piuttosto noti in ambiente *nix sono pf, utilizzato ad esempio dal sistema operativo OpenBSD, IPfilter sotto NetBSD, e ipfirewall per FreeBSD. Filtrare il traffico in entrata in base all'indirizzo IP puo' rivelarsi decisamente importante per minimizzare l'esposizione del server agli indirizzi IP di una rete o di macchine compromesse ed usate come testa di ponte per un attacco. Ad esempio Range di indirizzi IP poco affidabili come quelli di un Internet-cafe' potrebbero essere filtrati, mentre, quelli di un partner commerciale avere il permesso di connettersi ad alcune porte specifiche. 9

10 Un ulteriore esempio dell'utilita' del firewall e' la possibilita' di loggare il traffico in base alle regole da specificate. Semplicemente registrando i tentativi di connessione, si possono avere informazioni particolarmente utili per capire se si e' sottoposti ad un portscan ad esempio, e quindi agire di conseguenza. Esistono comunque altri software sicuramente piu' indicati per fornire tali funzionalita', come gli Intrusion Detection System. La figura mostra un server con un firewall configurato per filtrare le connessioni in base agli indirizzi IP ed alle porte di destinazione. Tutte le porte risultano chiuse ad eccezione della 21, 25, 80, 110 e di quelle dinamiche. L'accesso alla porta 110 (servizio pop, per accedere alla posta elettronica ) inoltre e' consentito solo a specifici host. Si puo' infine notare che vengono loggati i tentativi di connessione alle porte 3306 (mysql) e 110. L'utilita' dei firewall e' ulteriormente accresciuta dalla loro capacita' di limitare diversi problemi riscontrabili, in un ambiente dove gli utenti abbiano la cattiva abitudine di scaricare software da fonti non certificate (circuiti peer to peer, amici, amici degli amici, ecc.). In una simile situazione le probabilita' di contrarre un virus o di ritrovare a propria insaputa una backdoor installata sui propri sistemi, sono sicuramente elevate. MALWARE Si definisce malware un qualsiasi software creato con lo scopo di causare danni piu' o meno estesi al computer sul quale viene eseguito. Il termine deriva dalla contrazione delle parole inglesi Malicious Software. Si distinguono diverse categorie di malware, anche se spesso questi programmi sono composti di più parti interdipendenti e rientrano pertanto in più di una classe, come ad esempio il recente worm MyDoom, che apriva una backdoor da utilizzare per un distrbuted Denial of Service contro il sito web di SCOGroup. La classificazione presentata di seguito, pertanto, vuole solo introdurre questi concetti e non è assolutamente da ritenersi esaustiva : 10

11 VIRUS : sono parti di codice che dopo essere stato caricate involontariamente si diffondono copiandosi all'interno di altri programmi, o in una particolare sezione del disco fisso, in modo da essere eseguiti ogni volta che il file infetto viene aperto. Si trasmettono da un computer a un altro tramite lo spostamento di file infetti ad opera degli utenti, ed eseguono operazioni definite dal proprio creatore, solitamente dannose. TROJAN HORSE : software che oltre ad avere delle funzionalità "lecite", utili per indurre l'utente ad utilizzarli, contengono istruzioni dannose che vengono eseguite all'insaputa dell'utilizzatore. Normalmente non possiedono funzioni di autoreplicazione, quindi per diffondersi devono essere consapevolmente inviati alla vittima. Il nome deriva dal famoso cavallo di Troia. WORM : questi malware non hanno bisogno di infettare altri file per diffondersi, perché modificano il sistema operativo della macchina ospite in modo da essere eseguiti automaticamente e tentare di replicarsi sfruttando per lo più Internet. Normalmente vengono eseguiti erroneamente dagli utenti, ad esempio aprendo un eseguibile allegato ad un messaggio di posta elettronica, oppure sfruttano dei difetti di alcuni programmi per diffondersi automaticamente. BACKDOOR : letteralmente "porta sul retro". Sono dei programmi che consentono un accesso non autorizzato al sistema su cui sono in esecuzione. Tipicamente si diffondono in abbinamento ad un trojan o ad un worm, oppure essere installate con lo specifico scopo di avere accesso a quel sistema. Un esempio classico sono le backdoor incluse nei rootkit installate dopo avere compromesso una macchina, ed utilizzate per potere tornare ad accedervi in futuro in maniera piu' semplice. Strettamente legato ai diversi Malware e' il concetto di Denial of Service (DoS), un tipo di attacco verso una rete od un server che mira a sospenderne il servizio tramite l'esaustione delle risorse computazionali o della banda. E' sufficiente immaginare un processo che continui a eseguire una fork all'infinito, finendo con l'esaurire in breve tempo la memoria disponibile del sistema, oppure la saturazione della banda con una grande mole di traffico. Una variante di tale approccio è il DDoS (Distributed Denial of Service), caratterizzato dal funzionamento identico, ma realizzato utilizzando numerose macchine attaccanti, come ad esempio i recenti attacchi al sito web di SCOgroup, oppure qualche anno fa al motore di ricerca Yahoo. Un firewall che blocchi i pacchetti diretti alle porte usate da servizi illegittimi puo' pero' rendere molti di questi sistemi inefficaci, anche se purtroppo non e' in grado di risolvere definitivamente il problema. Ad esempio e' sufficiente una backdoor che non crei alcun socket e analizzi il traffico di rete ad un livello inferiore a quello in cui opera il firewall, per superare l'ostacolo. In questo caso un packet filter sarebbe di scarsa utilita', poiche' un simile backdoor avrebbe modo di accedere ai pacchetti a lei destinati prima che il firewall abbia modo di scartarli. 11

12 Un firewall quindi non e' certamente la soluzione a tutti i problemi di network security, ma solamente uno degli elementi da prevedere in una seria politica di sicurezza. Altro esempio dei limiti del filtraggio basato sull'indirizzo di provenienza e' quello di un attacker che riesca ad accedere ad un server protetto, violando una macchina abilitata ad accedervi ed utilizzandola come tramite per l'attacco, oppure mascheri il proprio indirizzo IP tramite tecniche di spoofing. Bisogna inoltre considerare anche le complicazioni che potrebbero insorgere in un ambiente dalle politiche di filtraggio particolarmente restrittive, come nel caso di un utente legittimo, ad esempio un commerciale dell'azienda, che abbia la necessita' di connettersi con un notebook dall'ufficio di un cliente senza avere il suo solito indirizzo IP. In casi del genere si rischierebbe di filtrare questi indirizzi anche quando l'utente avrebbe in realta' le credenziali per accedere al servizio. Modificare continuamente le regole di filtraggio per adattarle ai frequenti cambi di indirizzo di certi utenti non sarebbe una soluzione ottimale, sicuramente molto poco flessibile. In alcune situazioni, inoltre, potrebbe non essere possibile sapere per tempo questi indirizzi o comunicare con l'utente per venirne a conoscenza. Una simile situazione sarebbe certamente un buon ambito di applicazione per la tecnica del portknocking. 12

13 CAPITOLO 2 : La tecnica del portknocking 2.1 Descrizione e caratteristiche La tecnica del portknocking e' un sistema per comunicare con un computer in rete che non richiede alcuna porta aperta per poter funzionare. Non e' infatti necessario mantenere i corrispondenti servizi costantemente in ascolto e pronti a ricevere connessioni. Questa sua caratteristica' costituisce indubbiamente un grande vantaggio: finche' una porta rimane aperta, il servizio applicativo ad essa associato e' in grado di accettare connessioni, restando quindi vulnerabile a diversi attacchi. Sfruttando questa tecnica e' invece possibile manipolare dinamicamente le regole di filtraggio, aprendo una o piu' porte solo quando necessario, una volta autenticatosi il richiedente. Come meccanismo di autenticazione viene utilizzata una speciale sequenza di pacchetti di rete, (una serie di tentativi di connessione verso alcuna porte), prima che la connessione ad uno specifico servizio possa venire stabilita. Il richiedente infatti bussa alle porte e si fa riconoscere prima di poter accedere al servizio desiderato. Le sequenza di pacchetti utilizzata per autenticarsi prende il nome di sequenza di knock. Naturalmente possono esistere numerose sequenze, associate ad azioni differenti. Ad esempio si possono prevedere sequenze di knock diverse per l'accesso ai singoli servizi applicativi. Viene ora illustrato un'esempio pratico dell'utilizzo di questa tecnica, per gestire l'accesso al servizio SSH su una macchina Linux che utilizzi iptables. Il server sul quale il servizio e' in esecuzione presenta quindi tutte le porte di rete chiuse, ad eccezione delle cosiddette porte dinamiche, per mezzo della seguente regola di filtraggio : iptables -P INPUT DROP La scelta di utilizzare l'azione DROP anziche' REJECT, e' giustificata dal fatto che essa si limita a scartare il pacchetto arrivato, senza inviare alcun pacchetto di errore ICMP ai richiedenti il servizio. Viene cosi' reso indistinguibile il rifiuto del pacchetto dall'assenza del server. Un sistema isolato protetta con la tecnica del portknocking. Tutte le porte sono chiuse, inclusa la 22, sebbene il servizio SSH sia attivo. 13

14 Un utente fidato per potere accedere al servizio, deve iniziare una serie di connessioni verso diverse porte secondo un certo ordine. La particolare sequenza di knock ovviamente e' un segreto noto esclusivamente agli utenti che debbono essere abilitati all'utilizzo del servizio applicativo, ed al software lato server responsabile del riconoscimento delle sequenze stesse. Un utente legittimo localizzato ad uno specifico indirizzo IP, tenta una serie di connessioni verso delle porte chiuse secondo un preciso ordine. Il portknocking server riconoscendo una particolare sequenza puo' modificare le regole di filtraggio, ad esempio aggiungere una regola per mezzo di iptables, che consenta l'accesso al servizio SSH all'indirizzo IP del richiedente, come illustrato dall'immagine successiva : Le regole del firewall vengono modificate in seguito ad una corretta sequenza di knock, in modo da permettere al richiedente di connettersi alla porta 22. Per esempio un utente puo' cercare di connettersi in sequenza alle porte 24, 20 e 21. Dal suo 14

15 punto di vista i tentativi di connessione non hanno avuto successo, come se la macchina di destinazione non esistesse. I pacchetti della sequenza di knock vengono infatti scartati dal firewall in maniera silenziosa, senza cioe' ritornare al richiedente alcun messaggio d'errore. Nel frattempo pero', il portknocking server interpreta la sequenza di knock ricevuta e nel caso essa sia giudicata valida, puo' eseguire l'azione associata. Nel caso illustrato si potrebbe aprire la porta 22 all'indirizzo IP del richiedente, con il seguente comando : iptables -A INPUT -s $IP -p tcp --dport 22 -j ACCEPT Sfruttando il medesimo meccanismo, una volta che l'utente abbia terminato le sue operazioni, e' possibile specificare un seconda sequenza per chiudere la porta precedentemente aperta tramite il comando : iptables -D INPUT -s $IP -p tcp --dport 22 -j ACCEPT Per l'implementazione di un simile sistema esistono varie possibilita' e criteri su cui basarsi, che verranno discusse dettagliatamente nei capitoli successivi. Volendo pero' riassumere, le metodologie realizzative si riducono alle seguenti tre: 1. Monitoraggio dei log di sistema 2. Analisi real-time del traffico di rete al livello Datalink 3. Riutilizzo di meccanismi di Intrusion Detection quali snort oppure hogwash 15

16 2.2 Benefici, limiti e contesti d'applicazione del portknocking Come ben noto la sicurezza totale non esiste, e l'unica certezza assoluta di evitare un attacco remoto ad un server è quella di disconnetterlo fisicamente dalla rete, cosa peraltro decisamente poco pratica. La tecnica del portknocking non pretende certo di raggiungere una protezione simile a questo caso limite, ma puo' comunque garantire diversi benefici : 1. Chiudendo tutte le porte usando l'azione DROP anziche' REJECT, la presenza del server non puo' venire rintracciata con normali attivita' di portscanning. Di conseguenza si possono evitare molti problemi legati all'attivita' dei cosiddetti script-kiddies. Questa figura, ad esempio, e' solita ricorrere all'uso di portscanner su ampi intervalli di indirizzi IP, alla ricerca di host che abbiano attivi particolari servizi applicativi, sui quali potere provare software scritti da terze persone, in grado di sfruttarne delle vulnerabilita' note.. 2. Viene ad aggiungersi un ulteriore layer di sicurezza ai sistemi, senza rimpiazzare o richiedere modifiche ai metodi preesistenti. In questo modo e' quindi possibile sfruttare anche le politiche di sicurezza specifiche delle applicazioni protette, aggiungendosi ad esse. E' sufficiente immaginare la tecnica portknocking applicata ad un server con accesso SSH basato su password. Nell'ipotesi che il sistema di portknocking venga infranto, resterebbero ancora da superare i meccanismi di sicurezza specifici del servizio SSH. Inoltre, il violare un sistema di portknocking, non fornisce alcuna informazione utile nell'exploitare il servizio protetto. 3. Impossibilita' per un attacker di determinare se un server stia ascoltando in attesa di una sequenza di knock semplicemente agendo per tentativi oppure attraverso attivita' di portscannig. Maggiori informazioni si potrebbero raccogliere monitorando il traffico di rete, ma tutto cio che si noterebbe in questo sarebbero solo delle serie di tentativi di connessione, poiche' nelle sequenze di knock l'informazione fluisce in questa forma e non nel payload del pacchetto. Il sistema, inoltre, puo' essere reso piu' robusto in modo da rendere difficile per un attacker riconoscere tali sequenze e riutilizzarle. Esistono infatti, alcune misure ed accorgimenti che possono di permettere di raggiungere questo scopo. Esse verranno discusse analizzando gli attuali sistemi di portknocking e l'implementazione del prototipo servknock. 4. Relativa semplicita' nel riconoscere un eventuale attacco di tipo brute-force, che stia cercando di individuare qualche sequenza di knock, specialmente se il portknocking server e' integrato con un intrusion detection system. D'altro canto l'utilizzo di questa soluzione presenta anche alcuni svantaggi : 1. Necessita' di utilizzare un programma specifico che generi la sequenza di knock, poiche' nei normali client che si utilizzano per accedere ai servizi non e' prevista questa possibilita'. L'utilizzo di client aggiuntivi pero', potrebbe non essere concesso in alcuni ambienti come internet cafe', biblioteche ecc. 2. Necessita' di riservare l'utilizzo di uno piu' intervalli di porte per la tecnica del portknocking. Se per esempio si avesse la necessita' di mantenere il servizio http fosse liberamente accessibile, non sarebbe possibile utilizzare la porta 80 anche per il portknocking. Tale problema puo' essere parzialmente risolto, almeno per quanto riguarda le connessioni TCP, sfruttando anche i valori dei flags TCP all'interno dei pacchetti della 16

17 sequenza. Manipolando dinamicamente le regole di filtraggio del firewall e' necessario prestare la massima attenzione nell'implementazione del sistema. Basti pensare alla situazione in cui il processo del portknocking server dovesse morire inaspettatamente o non funzionare correttamente : non sarebbe piu' possibile interpretare le sequenze di knock e come diretta conseguenza diventerebbe impossibile connettersi all'host protetto. Come molti altri meccanismi di protezione potrebbe indurre un falso senso di sicurezza, portando ad aggiornamenti e patch meno frequenti. Sebbene il portknocking possa migliorare la sicurezza di un sistema, e' comunque necessario partecipare attivamente nel monitoraggio e nel mantenimento delle politiche di base che soddisfino requisiti richiesti. Non si tratta comunque di uno svantaggio intrinseco di questa tecnica. Suscettibilita' ad attacchi di tipo Denial of Service. Come per i normali servizi applicativi, infatti esiste sempre un carico limite, indipendentemente dall'hardware a disposizione. Un'applicazione o lo stack TCP/IP potranno comunque essere sovraccaricati indipendentemente dal fatto che si stia usando o meno il portknocking. Un portknocking server funziona tenendo una lista dei tentativi di connessione alle porte associati agli indirizzi IP dei richiedenti. Per ogni client che invia una sequenza di knock, viene aggiunto/aggiornato il suo attempt all'interno della coda e si controlla se esso corrisponda con una sequenza ritenuta valida. Se ad esempio dovessero arrivare un numero eccessivo di pacchetti, il server potrebbe diventare talmente sovraccaricato da non essere piu' in grado catturare ed interpretare l'altro traffico in arrivo. Possibile vulnerabilita' ai replay attacks. In caso di mancato utilizzo di misure atte a prevenire questo problema, per un attacker sarebbe infatti sufficiente sniffare il traffico di rete diretto al portknocking server, per determinare la sequenze di knock e poterle quindi riprodurre. Possibili soluzioni al problema verranno discusse nel prosieguo della tesi analizzando i sistemi gia' esistenti e l'implementazione di servknock. PORTKNOCKING, SOLAMENTE UNA FORMA DI SECURTY THROUGH OBSCURITY? Un'affermazione del genere e' quantomeno opinabile, e per capirne il motivo e' bene riflettere su cosa si intenda per security through obscurity. Il concetto viene descritto molto chiaramente da Jay Beale membro del Bastille Linux Project, che definisce questa forma di sicurezza come : security implemented solely through obscurity, ovvero quella situazione nella quale l'intera protezione risiede esclusivamente nella speranza che l'attacker non conosca i dettagli della configurazione del sistema protetto sia esso una rete, od un solo computer. Un 'esempio di tale forma di protezione (o presunta tale) e' quello di un amministratore di sistema che tenga dati sensibili della societa', che non dovrebbero essere pubblici, su un webserver della rete interna dell'azienda, senza alcuna password posta a protezione delle pagine. Anziche' puntare su di un metodo accettabile per il controllo degli accessi la protezione viene basata sull'assunzione che nessuno sia a conoscenza del webserver ad eccezione dei dipendenti che debbano accedervi. Assunzione peraltro sbagliata, poiche' basterebbe ricorrere a tool come nmap, cheops o firewalk per scoprirne l'esistenza. Alcuni attacker non spenderanno il proprio tempo alla ricerca del webserver, ma probabilmente altri potrebbero farlo, arrivando infine alle informazioni che 17

18 dovevano invece essere riservate. Il problema in questo caso e' stato il fatto di contare esclusivamente sulla segretezza della locazione dei dati, senza utilizzare forme per il controllo, logging o altri meccanismi di difesa, quando invece una caratteristica fondamentale per buona politica di protezione e' una fine granularita' nel controllo degli accessi e la possibilita' di riconoscere gli accessi indebiti. Alla luce di queste considerazioni, non e' dunque possibile definire la tecnica del portknocking come un semplice caso di security through obscurity, poiche' essa e' una forma di sicurezza che si viene aggiungere agli altri meccanismi di difesa senza volerli assolutamente sostituire. La tecnica del portknocking, quindi, e' una forma di hardening indicata dove si abbiano utenti che richiedano un accesso continuo a dei servizi che non debbano essere pubblici come invece sono http o SMTP, mantenendo le porte di rete chiuse al traffico pubblico, ed aprendole o chiudendole in maniera flessibile ai richiedenti che si siano autenticati con una sequenza di knock corretta. Un sistema simile offre tutti vantaggi del filtraggio dei pacchetti basato sugli indirizzi IP, senza pero' incorrere nelle limitazioni di cui si e' gia' discusso nel primo capitolo. Come si potra' intuire il portknocking non e' una soluzione indicata per proteggere servizi pubblici. Una simile protezione, infatti, sarebbe decisamente poco efficace se le sequenze di knock oppure il metodo utilizzato per generarle fossero resi di pubblico dominio. Un altro ambito di utilizzo potrebbe essere l'ambiente warez, ad esempio per cercare di nascondere un server ftp al proprio Internet Service Provider. Esso infatti non potrebbe essere scoperto per mezzo di un semplice portscan, ma richiederebbe di controllare il traffico generato a partire dall'indirizzo IP dell'abbonato, oppure le porte sulle quali egli ha ricevuto delle connessioni. Questa tecnica potrebbe inoltre venire sfruttata anche dagli sviluppatori dei cosiddetti malware, per creare delle dormant backdoor sui sistemi vittima. Avere una porta sempre aperta e pronta ad accettare connessioni remote, sarebbe estremamente semplice da rilevare da parte di un amministratore di sistema. Analizzando il traffico di rete, invece, sarebbe possibile avviare ed uccidere la backdoor vera e propria, solo una volta che siano state riconosciute la sequenze di knock opportune. Il portknocking permette infatti di associare comandi shell arbitrari alle diverse sequenze di knock, e quindi non deve essere pensato solo ed esclusivamente come un sistema di manipolazione delle regole di filtraggio, sebbene questo sia il suo principale ambito di utilizzo. 18

19 CAPITOLO 3 : Analisi dei sistemi attuali 3.1 Knockdaemon Implementazione in perl di un sistema di portknocking ad opera di Martin Krzywinski ( ), costituita da un programma server ed un client per generare le sequenze di knock.. A differenza di altri sistemi che basati sull'analisi real-time del traffico di rete su di un'interfaccia, Knockdaemon riconosce le sequenze analizzando i log generati dal firewall Una simile soluzione puo' essere giustificata dalla minore complessita' a livello implementativo, vista la semplicita' con cui e' possibile manipolare le stringhe utilizzando il linguaggio perl e nell'estrarre le righe dal file di log grazie a comandi della shell quali tail o grep. Essa presenta' pero' il grosso svantaggio di un maggiore utilizzo delle risorse di sistema, senza contare i problemi che potrebbero verificarsi nel caso dovessero arrivare due connessioni contemporanee, oppure se i log venissero ruotati. Per meglio comprendere le caratteristiche salienti del sistema, si consideri l'esempio di un server che voglia consentire l'accesso SSH solo dopo che il richiedente si sia autenticato inviando un'opportuna sequenza di knock. Si ipotizza che la macchina sulla quale e' in esecuzione il demone sshd abbia le prime porte chiuse, grazie alle seguenti regole di ipchains : ipchains -p tcp -s 0/0 -d FIREWALL/32 -p 0:1023 -j DENY -l ipchains -p tcp -s 0/0 -d FIREWALL/32 -p 1024: j DENY Specificando le precedenti regole di filtraggio, vengono rifiutate le connessioni verso le porte inferiori alla 49151, senza inviare alcun pacchetto ICMP in risposta al richiedente. Vengono inoltre registrati nei log di sistema i tentativi di connessione alle prime 1024 porte : Feb Feb Feb Feb :13:26 00:13:27 00:13:27 00:13: input input input input DENY DENY DENY DENY CLIENT:64137 CLIENT:64138 CLIENT:64139 CLIENT:64140 FIREWALL:102 FIREWALL:100 FIREWALL:100 FIREWALL: Monitorando il file di log, Knockdaemon e' in grado di rilevare la sequenza dei tentativi di connessione alle porte 102, 100, 100, 103 provenienti da un determinato indirizzo IP. Se, ad esempio, la sequenza di porte corrisponde alla sequenza di knock per aprire la porta 22, puo' essere eseguito il comando : ipchains -I input -p tcp -s CLIENT/32 -d FIREWALL/ j ACCEPT Una seconda sequenza potrebbe essere usata per chiudere la porta aperta in precedenza. Per esempio se rilevati i tentativi di connessione alle porte TCP 103, 100, 100, 102 si elimina la regola aggiunta in precedenza per permettere al richiedente di connettersi alla porta 22 : ipchains -D input -p tcp -s CLIENT/32 -d FIREWALL/ j ACCEPT Questo sistema supporta due modalita' di trasmissione delle sequenze : trasmissione in chiaro e crittata. Il primo meccanismo offre una protezione abbastanza limitata, poiche' per un attacker sarebbe sufficiente intercettare e analizzare il traffico diretto al portknocking server per ricostruire le sequenze di knock. Esso risulta quindi estremamente vulnerabile ai cosiddetti replay attacks. Il secondo meccanismo, invece, prevede di crittare la sequenza di 19

20 knock, con lo scopo di rendere il sistema meno vulnerabile agli attacchi del tipo appena menzionato. Per ridurre ulteriormente questi rischi la sequenza di knock potrebbe contenere anche l'indirizzo IP del richiedente, come nell'esempio seguente : IPb1, IPb2, IPb3, IPb4, PORT, TIME, CHECKSUM Dove Ipbn rappresenta l'n-esimo byte dell'indirizzo IP che desidera accedere alla porta PORT, per una durata di TIME minuti. Cosi' facendo e' possibile aprire la porta anche ad un indirizzo IP arbitraro, che non sia necessariamente quello che ha inviato i pacchetti. A titolo esemplificativo si ipotizzi di aprire la porta 22 per una durata di 15 minuti, all'indirizzo IP La relativa sequenza di knock deve essere : 142, 103, 205, 1, 22, 15, CHECKSUM Il valore CHECKSUM (233 nel caso considerato) viene utilizzato per validare gli elementi precedenti della sequenza e può essere cosi' definito: CHECKSUM= (Ipb1 +Ipb2 +Ipb3 +Ipb4 +PORT +TIME) mod 255 Le porte di destinazione dei pacchetti che costituiscono la sequenza vengono poi crittati utilizzando un opportuno algoritmo (per esempio DES, Blowfish, RSA). Il programma client, responsabile della generazione della sequenza di knock, deve quindi eseguire le operazioni successive : encrypt(knock) = KNOCK_ENCRYPTED encode(knock_encrypted) = KNOCK_ENCRYPTED_ENCODED In questo modo la sequenza di knock viene crittata e mappata sui range di porte che devono essere monitorati da Knockdaemon. Per potere crittare e decrittare le sequenze e' necessaria una chiave definita nei file di configurazione dei programmi server e client. Naturalmente le die chiavi devono essere uguali. Il processo demone sul server controllando i log di sistema, tiene una coda delle porte bussate per ogni indirizzo IP dei richiedenti, provando ad interpretare le sequenze di knock. e prova ad interpretare le sequenze di knock: I log vengono controllati con cadenza regolare, in base ad intervallo di tempo definito nel file di configurazione. Sempre nel file di configurazione viene definito il formato dei log, analizzati anche avvalendosi dell'utilizzo delle espressioni regolari.. Per interpretare le sequenze di knock, lato server devono essere eseguite le seguenti operazioni: KNOCK_ENCRYPTED = decode(knock_encrypted_encoded) KNOCK = decrypt(knock_encrypted) OK = verify(checksum) Se la sequenza viene correttamente decrittata, si verifica il valore di CHECKSUM, ed in caso esso sia corretto la sequenza vine accettata ed eseguite le azioni che vi sono associate. 20

Il livello Network del TCP/IP. Il protocollo IP (versione 4)

Il livello Network del TCP/IP. Il protocollo IP (versione 4) Il livello Network del TCP/IP. Il protocollo IP (versione 4) L architettura TCP/IP (il cui nome più preciso è ) è formata da diversi componenti, che si posizionano nello stack dei protocolli a partire

Dettagli

Livello Trasporto. Liv. Applic. Liv. Transport. Transport Entity. Liv. Network. Trasporto

Livello Trasporto. Liv. Applic. Liv. Transport. Transport Entity. Liv. Network. Trasporto Livello Trasporto Fornire un trasporto affidabile ed efficace dall'host di origine a quello di destinazione, indipendentemente dalla rete utilizzata Gestisce una conversazione diretta fra sorgente e destinazione

Dettagli

TCP: trasmissione Source port [16 bit] - Identifica il numero di porta sull'host mittente associato alla connessione TCP. Destination port [16 bit] - Identifica il numero di porta sull'host destinatario

Dettagli

I protocolli UDP e TCP

I protocolli UDP e TCP I protocolli UDP e TCP A.A. 2005/2006 Walter Cerroni Il livello di trasporto in Internet APP. APP. TCP UDP IP collegamento logico tra diversi processi applicativi collegamento logico tra diversi host IP

Dettagli

Il firewall ipfw. Introduzione ai firewall. Problema: sicurezza di una rete. Definizione di firewall. Introduzione ai firewall

Il firewall ipfw. Introduzione ai firewall. Problema: sicurezza di una rete. Definizione di firewall. Introduzione ai firewall Il firewall ipfw Introduzione ai firewall classificazione Firewall a filtraggio dei pacchetti informazioni associate alle regole interpretazione delle regole ipfw configurazione impostazione delle regole

Dettagli

Il firewall Packet filtering statico in architetture avanzate

Il firewall Packet filtering statico in architetture avanzate protezione delle reti Il firewall Packet filtering statico in architetture avanzate FABIO GARZIA DOCENTE ESPERTO DI SECURITY UN FIREWALL PERIMETRALE È IL PUNTO CENTRALE DI DIFESA NEL PERIMETRO DI UNA RETE

Dettagli

Introduzione alla. Sicurezza: difesa dai malintenzionati. Proprietà Attacchi Contromisure. Prof. Filippo Lanubile. Prof.

Introduzione alla. Sicurezza: difesa dai malintenzionati. Proprietà Attacchi Contromisure. Prof. Filippo Lanubile. Prof. Introduzione alla sicurezza di rete Proprietà Attacchi Contromisure Sicurezza: difesa dai malintenzionati Scenario tipico della sicurezza di rete: man in the middle Proprietà fondamentali della sicurezza

Dettagli

Sommario. Introduzione ai firewall. Firewall a filtraggio dei pacchetti. Il firewall ipfw. Definizione e scopo Classificazione

Sommario. Introduzione ai firewall. Firewall a filtraggio dei pacchetti. Il firewall ipfw. Definizione e scopo Classificazione Sesta Esercitazione Sommario Introduzione ai firewall Definizione e scopo Classificazione Firewall a filtraggio dei pacchetti Informazioni associate alle regole Interpretazione delle regole Il firewall

Dettagli

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software.

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software. Generalità Definizione Un firewall è un sistema che protegge i computer connessi in rete da attacchi intenzionali mirati a compromettere il funzionamento del sistema, alterare i dati ivi memorizzati, accedere

Dettagli

Reti di calcolatori. Lezione del 25 giugno 2004

Reti di calcolatori. Lezione del 25 giugno 2004 Reti di calcolatori Lezione del 25 giugno 2004 Tecniche di attacco Denial of Service : impedisce ad una organizzazione di usare i servizi della propria rete; sabotaggio elettronico Gli attacchi DoS possono

Dettagli

TCP/IP. Principali caratteristiche

TCP/IP. Principali caratteristiche TCP/IP Principali caratteristiche 1 TCP/IP Caratteristiche del modello TCP/IP Struttura generale della rete Internet IL MONDO INTERNET Reti nazionali e internazionali ROUTER Rete Azienade ROUTER ROUTER

Dettagli

LA SICUREZZA INFORMATICA SU INTERNET LE MINACCE

LA SICUREZZA INFORMATICA SU INTERNET LE MINACCE LE MINACCE I rischi della rete (virus, spyware, adware, keylogger, rootkit, phishing, spam) Gli attacchi per mezzo di software non aggiornato La tracciabilità dell indirizzo IP pubblico. 1 LE MINACCE I

Dettagli

L architettura di TCP/IP

L architettura di TCP/IP L architettura di TCP/IP Mentre non esiste un accordo unanime su come descrivere il modello a strati di TCP/IP, è generalmente accettato il fatto che sia descritto da un numero di livelli inferiore ai

Dettagli

Transmission Control Protocol

Transmission Control Protocol Transmission Control Protocol Franco Callegati Franco Callegati IC3N 2000 N. 1 Transmission Control Protocol - RFC 793 Protocollo di tipo connection-oriented Ha lo scopo di realizzare una comunicazione

Dettagli

Firewall e NAT A.A. 2005/2006. Walter Cerroni. Protezione di host: personal firewall

Firewall e NAT A.A. 2005/2006. Walter Cerroni. Protezione di host: personal firewall Firewall e NAT A.A. 2005/2006 Walter Cerroni Protezione di host: personal firewall Un firewall è un filtro software che serve a proteggersi da accessi indesiderati provenienti dall esterno della rete Può

Dettagli

4 - Il livello di trasporto

4 - Il livello di trasporto Università di Bergamo Dipartimento di Ingegneria Gestionale e dell Informazione 4 - Il livello di trasporto Architetture e Protocolli per Internet Servizio di trasporto il livello di trasporto ha il compito

Dettagli

Sicurezza delle reti. Monga. Ricognizione. Scanning Network mapping Port Scanning NMAP. Le tecniche di scanning. Ping. Sicurezza delle reti.

Sicurezza delle reti. Monga. Ricognizione. Scanning Network mapping Port Scanning NMAP. Le tecniche di scanning. Ping. Sicurezza delle reti. 1 Mattia Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it Port Lezione IV: Scansioni Port a.a. 2011/12 1 c 2011 12 M.. Creative Commons Attribuzione-Condividi

Dettagli

Realizzazione di una Infrastruttura di Sicurezza

Realizzazione di una Infrastruttura di Sicurezza Realizzazione di una Infrastruttura di Sicurezza Andrea Lanzi, Lorenzo Martignoni e Lorenzo Cavallaro Dipartimento di Informatica e Comunicazione Facoltà di Scienze MM.FF.NN. Università degli Studi di

Dettagli

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing a.a. 2002/03 Livello di Trasporto UDP Descrive la comunicazione tra due dispositivi Fornisce un meccanismo per il trasferimento di dati tra sistemi terminali (end user) Prof. Vincenzo Auletta auletta@dia.unisa.it

Dettagli

IP Internet Protocol

IP Internet Protocol IP Internet Protocol Vittorio Maniezzo Università di Bologna Vittorio Maniezzo Università di Bologna 13 IP - 1/20 IP IP è un protocollo a datagrammi In spedizione: Riceve i dati dal livello trasporto e

Dettagli

Protocolli di Comunicazione

Protocolli di Comunicazione Protocolli di Comunicazione La rete Internet si è sviluppata al di fuori dal modello ISO-OSI e presenta una struttura solo parzialmente aderente al modello OSI. L'architettura di rete Internet Protocol

Dettagli

Elementi di Sicurezza e Privatezza Lezione 10 Firewall and IDS

Elementi di Sicurezza e Privatezza Lezione 10 Firewall and IDS Elementi di Sicurezza e Privatezza Lezione 10 Firewall and IDS Chiara Braghin chiara.braghin@unimi.it Firewall Firewall Sistema di controllo degli accessi che verifica tutto il traffico in transito Consente

Dettagli

Modulo 8. Architetture per reti sicure Terminologia

Modulo 8. Architetture per reti sicure Terminologia Pagina 1 di 7 Architetture per reti sicure Terminologia Non esiste una terminologia completa e consistente per le architetture e componenti di firewall. Per quanto riguarda i firewall sicuramente si può

Dettagli

Crittografia e sicurezza delle reti. Firewall

Crittografia e sicurezza delle reti. Firewall Crittografia e sicurezza delle reti Firewall Cosa è un Firewall Un punto di controllo e monitoraggio Collega reti con diversi criteri di affidabilità e delimita la rete da difendere Impone limitazioni

Dettagli

La Sicurezza delle Reti. La Sicurezza delle Reti. Il software delle reti. Sistemi e tecnologie per la multimedialità e telematica.

La Sicurezza delle Reti. La Sicurezza delle Reti. Il software delle reti. Sistemi e tecnologie per la multimedialità e telematica. Sistemi e tecnologie per la multimedialità e telematica Fabio Burroni Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena burronif@unisi unisi.itit La Sicurezza delle Reti La presentazione

Dettagli

Livello Trasporto Protocolli TCP e UDP

Livello Trasporto Protocolli TCP e UDP Livello Trasporto Protocolli TCP e UDP Davide Quaglia Reti di Calcolatori - Liv Trasporto TCP/UDP 1 Motivazioni Su un host vengono eseguiti diversi processi che usano la rete Problemi Distinguere le coppie

Dettagli

IL LIVELLO RETE IN INTERNET Protocollo IP

IL LIVELLO RETE IN INTERNET Protocollo IP Reti di Calcolatori IL LIVELLO RETE IN INTERNET Protocollo IP D. Talia RETI DI CALCOLATORI - UNICAL 4-1 Il Protocollo IP IPv4 Datagram IP: formato Indirizzi IP: formato Protocolli di controllo IP mobile

Dettagli

Filtraggio del traffico IP in linux

Filtraggio del traffico IP in linux Filtraggio del traffico IP in linux Laboratorio di Amministrazione di Sistemi L-A Dagli appunti originali di Fabio Bucciarelli - DEIS Cos è un firewall? E un dispositivo hardware o software, che permette

Dettagli

Problemi legati alla sicurezza e soluzioni

Problemi legati alla sicurezza e soluzioni Corso DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO Docente: Ing. Luca Romanelli Mail: romanelli@baxsrl.com Accesso remoto ad impianti domotici Problemi legati alla sicurezza e soluzioni Domotica

Dettagli

Livello trasporto: TCP / UDP. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 14 TCP/UDP - 1/35.

Livello trasporto: TCP / UDP. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 14 TCP/UDP - 1/35. Livello trasporto: TCP / UDP Vittorio Maniezzo Università di Bologna Vittorio Maniezzo Università di Bologna 14 TCP/UDP - 1/35 TCP e UDP Internet Protocol (IP) fornisce un servizio non affidabile di trasmissione

Dettagli

Esercitazione 7 Sommario Firewall introduzione e classificazione Firewall a filtraggio di pacchetti Regole Ordine delle regole iptables 2 Introduzione ai firewall Problema: sicurezza di una rete Necessità

Dettagli

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

Dettagli

I protocolli TCP/IP di Internet

I protocolli TCP/IP di Internet I protocolli TCP/IP di Internet Introduzione E' quasi impossibile oggigiorno leggere un giornale o una rivista dove non si parli di Internet. I riferimenti ad Internet ed alle "autostrade dell'informazione"

Dettagli

PACKET FILTERING IPTABLES

PACKET FILTERING IPTABLES PACKET FILTERING IPTABLES smox@shadow:~# date Sat Nov 29 11:30 smox@shadow:~# whoami Omar LD2k3 Premessa: Le condizioni per l'utilizzo di questo documento sono quelle della licenza standard GNU-GPL, allo

Dettagli

Università degli Studi di Pisa Dipartimento di Informatica. NAT & Firewalls

Università degli Studi di Pisa Dipartimento di Informatica. NAT & Firewalls Università degli Studi di Pisa Dipartimento di Informatica NAT & Firewalls 1 NAT(NETWORK ADDRESS TRANSLATION) MOTIVAZIONI NAT(Network Address Translation) = Tecnica di filtraggio di pacchetti IP con sostituzione

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

Politecnico di Bari. Facoltà di Ingegneria Elettronica. Corso di Reti di Telecomunicazioni

Politecnico di Bari. Facoltà di Ingegneria Elettronica. Corso di Reti di Telecomunicazioni Politecnico di Bari Facoltà di Ingegneria Elettronica Corso di Reti di Telecomunicazioni Internet Protocol versione 4 Generalità sulle reti IP... 2 Lo header IP versione 4... 3 Concetti generali sugli

Dettagli

Elementi di Sicurezza e Privatezza Laboratorio 6 - Sniffing. Chiara Braghin chiara.braghin@unimi.it

Elementi di Sicurezza e Privatezza Laboratorio 6 - Sniffing. Chiara Braghin chiara.braghin@unimi.it Elementi di Sicurezza e Privatezza Laboratorio 6 - Sniffing Chiara Braghin chiara.braghin@unimi.it Sniffing (1) Attività di intercettazione passiva dei dati che transitano in una rete telematica, per:

Dettagli

La rete è una componente fondamentale della

La rete è una componente fondamentale della automazioneoggi Attenti alle reti La telematica si basa prevalentemente sulle reti come mezzo di comunicazione per cui è indispensabile adottare strategie di sicurezza per difendere i sistemi di supervisione

Dettagli

CORSO DI RETI SSIS. Lezione n.3 9 novembre 2005 Laura Ricci

CORSO DI RETI SSIS. Lezione n.3 9 novembre 2005 Laura Ricci CORSO DI RETI SSIS Lezione n.3 9 novembre 2005 Laura Ricci IL LIVELLO TRASPORTO realizza un supporto per la comunicazione logica tra processi distribuiti comunicazione logica = astrazione che consente

Dettagli

firecmp Loadable Kernel Module A u t h o r : Giuseppe Gottardi (overet)

firecmp Loadable Kernel Module A u t h o r : Giuseppe Gottardi (overet) <gottardi@ailinux.org> firecmp Loadable Kernel Module A u t h o r : Giuseppe Gottardi (overet) Version: 1.0 Giuseppe Gottardi (overet), laureando in Ingegneria Elettronica presso l Università Politecnica

Dettagli

Prof. Filippo Lanubile

Prof. Filippo Lanubile Firewall e IDS Firewall Sistema che costituisce l unico punto di connessione tra una rete privata e il resto di Internet Solitamente implementato in un router Implementato anche su host (firewall personale)

Dettagli

Reti di Calcolatori in Tecnologia IP

Reti di Calcolatori in Tecnologia IP Reti di Calcolatori in Tecnologia IP Il Livello Transport e TCP Dott. Marco Bianchi 04/12/2001 1 Agenda Introduzione Indirizzamento Protocolli di livello transport Attivazione e rilascio di una connessione

Dettagli

Un sistema di Network Intrusion Detection basato su tcpdump

Un sistema di Network Intrusion Detection basato su tcpdump I INFN Security Workshop Firenze 19-20 Settembre 2000 Un sistema di Network Intrusion Detection basato su tcpdump Massimo Gravino INFN Sezione di Padova Perche` utilizzare un sistema di Network Intrusion

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Introduzione alle Reti di Calcolatori versione 1.0 del 11/03/2003 G. Mecca mecca@unibas.it Università della Basilicata Reti >> Sommario Sommario dei Concetti Elab. Client-Server

Dettagli

Come si può notare ogni richiesta ICMP Echo Request va in timeout in

Come si può notare ogni richiesta ICMP Echo Request va in timeout in Comandi di rete Utility per la verifica del corretto funzionamento della rete: ICMP Nelle procedure viste nei paragrafi precedenti si fa riferimento ad alcuni comandi, come ping e telnet, per potere verificare

Dettagli

Elementi sull uso dei firewall

Elementi sull uso dei firewall Laboratorio di Reti di Calcolatori Elementi sull uso dei firewall Carlo Mastroianni Firewall Un firewall è una combinazione di hardware e software che protegge una sottorete dal resto di Internet Il firewall

Dettagli

Il protocollo IP (Internet Protocol)

Il protocollo IP (Internet Protocol) Politecnico di Milano Advanced Network Technologies Laboratory Il protocollo IP (Internet Protocol) -Servizi offerti da IP -Formato del pacchetto IP 1 Il servizio di comunicazione offerto da IP Connectionless

Dettagli

Laboratorio del corso Progettazione di Servizi Web e Reti di Calcolatori Politecnico di Torino AA 2014-15 Prof. Antonio Lioy

Laboratorio del corso Progettazione di Servizi Web e Reti di Calcolatori Politecnico di Torino AA 2014-15 Prof. Antonio Lioy Laboratorio del corso Progettazione di Servizi Web e Reti di Calcolatori Politecnico di Torino AA 2014-15 Prof. Antonio Lioy Soluzioni dell esercitazione n. 2 a cura di Giacomo Costantini 19 marzo 2014

Dettagli

Netfilter: utilizzo di iptables per

Netfilter: utilizzo di iptables per Netfilter: utilizzo di iptables per intercettare e manipolare i pacchetti di rete Giacomo Strangolino Sincrotrone Trieste http://www.giacomos.it delleceste@gmail.com Sicurezza delle reti informatiche Primi

Dettagli

SICUREZZA. Sistemi Operativi. Sicurezza

SICUREZZA. Sistemi Operativi. Sicurezza SICUREZZA 14.1 Sicurezza Il Problema della Sicurezza Convalida Pericoli per i Programmi Pericoli per il Sistema Difendere i Sistemi Scoperta di Intrusioni Cifratura Esempio: Windows NT 14.2 Il Problema

Dettagli

Sistemi Operativi SICUREZZA. Sistemi Operativi. D. Talia - UNICAL 14.1

Sistemi Operativi SICUREZZA. Sistemi Operativi. D. Talia - UNICAL 14.1 SICUREZZA 14.1 Sicurezza Il Problema della Sicurezza Convalida Pericoli per i Programmi Pericoli per il Sistema Difendere i Sistemi Scoperta di Intrusioni Cifratura Esempio: Windows NT 14.2 Il Problema

Dettagli

FIREWALL. Firewall - modello OSI e TCP/IP. Gianluigi Me. me@disp.uniroma2.it Anno Accademico 2005/06. Modello OSI. Modello TCP/IP. Application Gateway

FIREWALL. Firewall - modello OSI e TCP/IP. Gianluigi Me. me@disp.uniroma2.it Anno Accademico 2005/06. Modello OSI. Modello TCP/IP. Application Gateway FIREWALL me@disp.uniroma2.it Anno Accademico 2005/06 Firewall - modello OSI e TCP/IP Modello TCP/IP Applicazione TELNET FTP DNS PING NFS RealAudio RealVideo RTCP Modello OSI Applicazione Presentazione

Dettagli

Sicurezza nelle applicazioni multimediali: lezione 9, firewall. I firewall

Sicurezza nelle applicazioni multimediali: lezione 9, firewall. I firewall I firewall Perché i firewall sono necessari Le reti odierne hanno topologie complesse LAN (local area networks) WAN (wide area networks) Accesso a Internet Le politiche di accesso cambiano a seconda della

Dettagli

Il livello Data-Link e i suoi protocolli

Il livello Data-Link e i suoi protocolli Il livello Data-Link e i suoi protocolli Modulo 5 (Integrazione) Livello Data-Link Abbiamo visto che il Livello Data link provvede a: o offrire servizi al livello network con un'interfaccia ben definita;

Dettagli

Comandi di Rete. Principali Comandi di Rete. Verificare, testare ed analizzare da Riga di Comando

Comandi di Rete. Principali Comandi di Rete. Verificare, testare ed analizzare da Riga di Comando Comandi di Rete Principali Comandi di Rete. Verificare, testare ed analizzare da Riga di Comando PING: verifica la comunicazione tra due pc Il comando ping consente di verificare la connettività a livello

Dettagli

Uso di sniffer ed intercettazione del traffico IP

Uso di sniffer ed intercettazione del traffico IP Uso di sniffer ed intercettazione del traffico IP Massimo Bernaschi Istituto per le Applicazioni del Calcolo Mauro Picone Consiglio Nazionale delle Ricerche Viale del Policlinico, 137-00161 Rome - Italy

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

Autenticazione ed integrità dei dati Firewall

Autenticazione ed integrità dei dati Firewall Pagina 1 di 9 Autenticazione ed integrità dei dati Firewall Per proteggere una rete dagli attacchi provenienti dall'esterno si utilizza normalmente un sistema denominato Firewall. Firewall è un termine

Dettagli

Parte II: Reti di calcolatori Lezione 16

Parte II: Reti di calcolatori Lezione 16 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II: Reti di calcolatori Lezione 16 Giovedì 24-04-2014 1 Traduzione degli

Dettagli

Besnate, 24 Ottobre 2009. Oltre il Firewall. pipex08@gmail.com

Besnate, 24 Ottobre 2009. Oltre il Firewall. pipex08@gmail.com Besnate, 24 Ottobre 2009 Oltre il Firewall Autore: Gianluca pipex08@gmail.com Cos'è un firewall i FIREWALL sono i semafori del traffico di rete del nostro PC Stabiliscono le regole per i pacchetti che

Dettagli

BOLLETTINO DI SICUREZZA INFORMATICA

BOLLETTINO DI SICUREZZA INFORMATICA STATO MAGGIORE DELLA DIFESA II Reparto Informazioni e Sicurezza Ufficio Sicurezza Difesa Sezione Gestione del Rischio CERT Difesa CC BOLLETTINO DI SICUREZZA INFORMATICA N. 3/2008 Il bollettino può essere

Dettagli

Sicurezza dei calcolatori e delle reti

Sicurezza dei calcolatori e delle reti Sicurezza dei calcolatori e delle reti Proteggere la rete: tecnologie Lez. 11 A.A. 2010/20011 1 Firewall I firewall sono probabilmente la tecnologia per la protezione dagli attacchi di rete più diffusa

Dettagli

Reti di Calcolatori. Lezione 2

Reti di Calcolatori. Lezione 2 Reti di Calcolatori Lezione 2 Una definizione di Rete Una moderna rete di calcolatori può essere definita come: UN INSIEME INTERCONNESSO DI CALCOLATORI AUTONOMI Tipi di Rete Le reti vengono classificate

Dettagli

FIREWALL Caratteristiche ed applicazioni

FIREWALL Caratteristiche ed applicazioni D Angelo Marco De Donato Mario Romano Alessandro Sicurezza su Reti A.A. 2004 2005 Docente: Barbara Masucci FIREWALL Caratteristiche ed applicazioni Di cosa parleremo Gli attacchi dalla rete La politica

Dettagli

Tre catene (chains) di base, si possono definire altre catene (convenzionalmente in minuscolo)

Tre catene (chains) di base, si possono definire altre catene (convenzionalmente in minuscolo) iptables passo-passo Prima del kernel 2.0 ipfwadm, dal kernel 2.2 ipchains, dopo il kernel 2.4 iptables Firewall (packet filtering, Nat (Network Address Translation)) NetFilter (layer del kernel per il

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Reti di Calcolatori Claudio Marrocco Componenti delle reti Una qualunque forma di comunicazione avviene: a livello hardware tramite un mezzo fisico che

Dettagli

IL LIVELLO TRASPORTO Protocolli TCP e UDP

IL LIVELLO TRASPORTO Protocolli TCP e UDP Reti di Calcolatori ed Internet IL LIVELLO TRASPORTO Protocolli TCP e UDP 5-1 Il Livello Trasporto I servizi del livello Trasporto Le primitive di Trasporto Indirizzamento Protocolli di Trasporto Livello

Dettagli

Internet e protocollo TCP/IP

Internet e protocollo TCP/IP Internet e protocollo TCP/IP Internet Nata dalla fusione di reti di agenzie governative americane (ARPANET) e reti di università E una rete di reti, di scala planetaria, pubblica, a commutazione di pacchetto

Dettagli

Sviluppo siti e servizi web Programmi gestionali Formazione e Consulenza Sicurezza informatica Progettazione e realizzazione di reti aziendali

Sviluppo siti e servizi web Programmi gestionali Formazione e Consulenza Sicurezza informatica Progettazione e realizzazione di reti aziendali 1 Caratteristiche generali Nati dall esperienza maturata nell ambito della sicurezza informatica, gli ECWALL di e-creation rispondono in modo brillante alle principali esigenze di connettività delle aziende:

Dettagli

TCP/IP un introduzione

TCP/IP un introduzione TCP/IP un introduzione Introduzione Il successo di Internet (rate di crescita annuo > 200 %) e dovuto all uso di protocolli standard aperti (IETF) TCP/IP (Transmission Control Protocol/Internet Protocol)

Dettagli

Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema. Dal livello A al livello B

Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema. Dal livello A al livello B Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema contenuto della comunicazione sistema per la gestione della comunicazione sottosistema C sottosistema B sottosistema A

Dettagli

Esercitazione 05. Sommario. Packet Filtering [ ICMP ] Esercitazione Descrizione generale. Angelo Di Iorio (Paolo Marinelli)

Esercitazione 05. Sommario. Packet Filtering [ ICMP ] Esercitazione Descrizione generale. Angelo Di Iorio (Paolo Marinelli) Sommario Esercitazione 05 Angelo Di Iorio (Paolo Marinelli)! Packet Filtering ICMP! Descrizione esercitazione! Applicazioni utili: " Firewall: wipfw - netfilter " Packet sniffer: wireshark!"#!$#!%&'$(%)*+,')#$-!"#!$#!%&'$(%)*+,')#$-

Dettagli

Livello di Trasporto

Livello di Trasporto Livello di Trasporto Introduzione Problemi e requisiti Livello di trasporto in Internet UDP -UserDatagramProtocol TCP - Transmission Control Protocol Meccanismo di ritrasmissione Controllo del flusso Three-way

Dettagli

Il livello trasporto Protocolli TCP e UDP

Il livello trasporto Protocolli TCP e UDP Il livello trasporto Protocolli TCP e UDP Standard: OSi vs TCP/IP Application Presentation Session NFS XDR RPC Telnet, FTP SMTP, HTTP SNMP, DNS RTP,... Protocolli per la comunicazione tra applicativi:

Dettagli

Standard: OSi vs TCP/IP. Il livello di trasporto. TCP e UDP. TCP: Transmission Control Protocol. TCP: funzionalità

Standard: OSi vs TCP/IP. Il livello di trasporto. TCP e UDP. TCP: Transmission Control Protocol. TCP: funzionalità Standard: OSi vs TCP/IP Application Presentation Session NFS XDR RPC Telnet, FTP SMTP, HTTP SNMP, DNS RTP,... Protocolli per la comunicazione tra applicativi: le raisons d etre della rete Transport TCP

Dettagli

Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00

Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00 Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome:

Dettagli

Problematiche di Sicurezza in Ambiente Linux

Problematiche di Sicurezza in Ambiente Linux ALESSIA CIRAUDO Problematiche di Sicurezza in Ambiente Linux Progetto Bari-Catania: Buone Prassi Integrative tra Università e Impresa FlashC om Durata: 2 mesi Tutor aziendale: Vincenzo Mosca Collaboratore

Dettagli

FIREWALL OUTLINE. Introduzione alla sicurezza delle reti. firewall. zona Demilitarizzata

FIREWALL OUTLINE. Introduzione alla sicurezza delle reti. firewall. zona Demilitarizzata FIREWALL OUTLINE Introduzione alla sicurezza delle reti firewall zona Demilitarizzata SICUREZZA DELLE RETI Ambra Molesini ORGANIZZAZIONE DELLA RETE La principale difesa contro gli attacchi ad una rete

Dettagli

IL LIVELLO TRASPORTO Protocolli TCP e UDP

IL LIVELLO TRASPORTO Protocolli TCP e UDP Reti di Calcolatori IL LIVELLO TRASPORTO Protocolli TCP e UDP D. Talia RETI DI CALCOLATORI - UNICAL 5-1 Il Livello Trasporto I servizi del livello Trasporto Le primitive di Trasporto Indirizzamento Protocolli

Dettagli

Internet Protocol Versione 4: aspetti generali

Internet Protocol Versione 4: aspetti generali Internet Protocol Versione 4: aspetti generali L architettura di base del protocollo IP versione 4 e una panoramica sulle regole fondamentali del mondo TCP/IP 1 Cenni storici Introduzione della tecnologia

Dettagli

Reti locati e reti globali. Tecnologie: Reti e Protocolli. Topologia reti. Server e client di rete. Server hardware e server software.

Reti locati e reti globali. Tecnologie: Reti e Protocolli. Topologia reti. Server e client di rete. Server hardware e server software. Reti locati e reti globali Tecnologie: Reti e Protocolli Reti locali (LAN, Local Area Networks) Nodi su aree limitate (ufficio, piano, dipartimento) Reti globali (reti metropolitane, reti geografiche,

Dettagli

Analizziamo quindi in dettaglio il packet filtering

Analizziamo quindi in dettaglio il packet filtering Packet filtering Diamo per noti I seguenti concetti: Cosa e un firewall Come funziona un firewall (packet filtering, proxy services) Le diverse architetture firewall Cosa e una politica di sicurezza Politica

Dettagli

Petra Internet Firewall Corso di Formazione

Petra Internet Firewall Corso di Formazione Petra Internet Framework Simplifying Internet Management Link s.r.l. Petra Internet Firewall Corso di Formazione Argomenti Breve introduzione ai Firewall: Definizioni Nat (masquerade) Routing, Packet filter,

Dettagli

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) PARTE 1 richiami SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) Parte 1 Modulo 1: Stack TCP/IP TCP/IP Protocol Stack (standard de facto) Basato su 5 livelli invece che sui 7 dello stack ISO/OSI Application

Dettagli

Il protocollo TCP. Obiettivo. Procedura

Il protocollo TCP. Obiettivo. Procedura Il protocollo TCP Obiettivo In questo esercizio studieremo il funzionamento del protocollo TCP. In particolare analizzeremo la traccia di segmenti TCP scambiati tra il vostro calcolatore ed un server remoto.

Dettagli

Introduzione (parte III)

Introduzione (parte III) Introduzione (parte III) Argomenti della lezione Ripasso degli argomenti del primo corso: il livello di trasporto, il meccanismo di controllo delle congestioni e le applicazioni Il livello di trasporto

Dettagli

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) PARTE 2 SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) Parte 2 Modulo 1: Stack TCP/IP TCP/IP Protocol Stack (standard de facto) Basato su 5 livelli invece che sui 7 dello stack ISO/OSI Application

Dettagli

Sicurezza delle reti. Monga. Il livello di trasporto. Problemi di sicurezza intrinseci. Riassunto. Porte. Sicurezza delle reti.

Sicurezza delle reti. Monga. Il livello di trasporto. Problemi di sicurezza intrinseci. Riassunto. Porte. Sicurezza delle reti. 1 Mattia Lezione III: I protocolli di base Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2010/11 1 c 2011 M.. Creative Commons Attribuzione-Condividi

Dettagli

Prof. Mario Cannataro Ing. Giuseppe Pirrò

Prof. Mario Cannataro Ing. Giuseppe Pirrò Prof. Mario Cannataro Ing. Giuseppe Pirrò Footprinting Scansione Enumerazione Exploit Controllo del sistema Raccolta di informazioni sull obbiettivo da attaccare. Determinare il profilo di protezione della

Dettagli

Reti di Calcolatori. Il software

Reti di Calcolatori. Il software Reti di Calcolatori Il software Lo Stack Protocollare Application: supporta le applicazioni che usano la rete; Transport: trasferimento dati tra host; Network: instradamento (routing) di datagram dalla

Dettagli

La nascita di Internet

La nascita di Internet La nascita di Nel 1969 la DARPA (Defence Advanced Research Project Agency) studia e realizza la prima rete per la comunicazione tra computer (ARPAnet) fra 3 università americane ed 1 istituto di ricerca.

Dettagli

Reti standard. Si trattano i modelli di rete su cui è basata Internet

Reti standard. Si trattano i modelli di rete su cui è basata Internet Reti standard Si trattano i modelli di rete su cui è basata Internet Rete globale Internet è una rete globale di calcolatori Le connessioni fisiche (link) sono fatte in vari modi: Connessioni elettriche

Dettagli

Reti di Telecomunicazione Lezione 8

Reti di Telecomunicazione Lezione 8 Reti di Telecomunicazione Lezione 8 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Livello di trasporto Programma della lezione relazione tra lo strato di trasporto e lo strato

Dettagli

RETI TELEMATICHE Lucidi delle Lezioni Capitolo II

RETI TELEMATICHE Lucidi delle Lezioni Capitolo II Prof. Giuseppe F. Rossi E-mail: giuseppe.rossi@unipv.it Homepage: http://www.unipv.it/retical/home.html UNIVERSITA' DEGLI STUDI DI PAVIA Facoltà di Ingegneria A.A. 2011/12 - I Semestre - Sede PV RETI TELEMATICHE

Dettagli

Livello di Rete. Gaia Maselli maselli@di.uniroma1.it

Livello di Rete. Gaia Maselli maselli@di.uniroma1.it Livello di Rete Gaia Maselli maselli@di.uniroma1.it Queste slide sono un adattamento delle slide fornite dal libro di testo e pertanto protette da copyright. All material copyright 1996-2007 J.F Kurose

Dettagli

Obiettivo: realizzazione di reti sicure TIPI DI ATTACCO. Politica di sicurezza: a) scelte tecnologiche b) strategie organizzative

Obiettivo: realizzazione di reti sicure TIPI DI ATTACCO. Politica di sicurezza: a) scelte tecnologiche b) strategie organizzative Obiettivo: realizzazione di reti sicure Politica di sicurezza: a) scelte tecnologiche b) strategie organizzative Per quanto riguarda le scelte tecnologiche vi sono due categorie di tecniche: a) modifica

Dettagli

TCP e UDP, firewall e NAT

TCP e UDP, firewall e NAT Università di Verona, Facoltà di Scienze MM.FF.NN. Insegnamento di Reti di Calcolatori TCP e UDP, firewall e NAT Davide Quaglia Scopo di questa esercitazione è: 1) utilizzare Wireshark per studiare il

Dettagli

Protocollo IP e collegati

Protocollo IP e collegati Protocollo IP e collegati Argomenti trattati: formato del pacchetto IP; servizi del protocollo IP; formato degli indirizzi; instradamento dei datagrammi; classi di indirizzi A, B, C, D; indirizzi speciali,

Dettagli