Sicurezza Informatica. nello sviluppo di applicazioni web in L.A.M.P. Emanuele Turella

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Sicurezza Informatica. nello sviluppo di applicazioni web in L.A.M.P. Emanuele Turella"

Transcript

1 Univesità di Roma Tor Vergata Ingegneria dell Informazione - Ind. Sistemi Sicurezza Informatica nello sviluppo di applicazioni web in L.A.M.P. Emanuele Turella Relatore: Prof.ssa Berta Buttarazzi Correlatori: Dott.ssa Marina Candusso Dott. Fabrizio Murtas Anno Accademico 2004 / 2005

2 Sii il cambiamento che vuoi vedere avvenire nel mondo (Gandhi) Ringraziamenti Un grazie particolare alla mia famiglia per avermi dato fiducia e la possibilità di fare tutto questo.

3 Indice Sommario 4 1 Concetti fondamentali Le architetture distribuite La rete L.A.M.P Le applicazioni Web Cosa intendiamo per sicurezza Vulnerabilità, minaccia e rischio Le sicurezza su più livelli Costo dei rischio e costo della sicurezza Tecniche di attacco Information gathering - Messaggi ed errori Cross-Site scripting Cross-Site request forgiers SQL Injection Parameter Tampering Manipolazione degli header HTTP Brute force Known vulnerabilities Directory traversal e Path Disclosure Session Fixation Session hijacking Cookie poisoning Esecuzione di comandi di sistema Tecniche specifiche per la difesa INFN Forum

4 INDICE Specifiche iniziali Progettazione del Database Linee guida Validazione dei dati Contromisure specifiche per Sistema delle autorizzazioni Controllo degli accessi Autenticazione Gestione delle sessioni Un esempio di autenticazione robusta Gestione degli errori Riutilizzo del codice ed integrazione di prodotti affidabili Conclusioni 54 Appendici 56 A Logging e gestione delle sessioni 56 B Validazione dei dati in input 60 C Autenticazione 71 Ringraziamenti 73 Bibliografia e Riferimenti 74 Bibliografia 74

5 Elenco delle figure 1.1 Rete locale con collegamento ad Internet Modello OSI / ISO Semplice schematizzazione dell interazione client - web server Flusso dati di un web server con php Applicazione web three-tier Rappresentazione estesa del client Flow chart di un attacco session fixation Struttura Entità-Relazioni della base di dati Tabelle accessorie per lo sviluppo dell applicazione

6 Sommario L efficienza del Web sia come mezzo di divulgazione ché come mezzo di vendita di prodotti e servizi è ormai nota a tutti. La rivoluzionaria affermazione di questo nuovo strumento basato sull elaborazione distribuita ha creato nuove opportunità ma contestualmente ha esposto i dati, i sistemi e l immagine dei soggetti coinvolti. Internet, però, è un mondo con le sue regole e accessibile a tutti: utenti inesperti ed inconsapevoli; gente che cerca di farsi un nome scoprendo vulnerabilità, distruggendo dati e facendo soldi in modo illegale. Se fino ad oggi le principali minacce alla sicurezza veniva dalla infrastruttura di rete e dai sistemi operativi, la diffusione delle applicazioni web ha creato nuovi quanto pericolosi obiettivi. Infatti, oltre alle conseguenze derivanti dalla offerta di un servizio tramite web, si devono fronteggiare i rischi legati al furto di informazioni e di indentità digitali od alla violazione delle banche dati (vedi il furto dei numeri di carta di credito avvenuto solo poche settimane fa). Sfortunatamente non esistono dei rimedi nè delle tecniche tali da poter rendere sicuro al 100% un servizio contro gli attacchi provenienti dall esterno ma, ciò nonostante, si può ancora operare per tenere lontani molti problemi. In questa tesi si discutono le problematiche legate alla sicurezza provando a concentrarsi sull ottica del progettista e dello sviluppatore di software su piattaforme distibuite. Nella breve introduzione si farà una panoramica sufficientemente dettagliata dell infrasfruttura distribuita con un accenno allo stato dell arte nel campo della sicurezza. Nel secondo capitolo verranno presentate le tecniche di attacco in modo tale da focalizzare i tipi di vulnerabilità che vengono sfruttate dagli attaccanti. Nella terza parte verrà progettato e sviluppato un piccolissimo software che adopereremo da esempio per studiare gli accorgimenti specifici, alcuni 5

7 ELENCO DELLE FIGURE 6 semplici ed altri più complicati, per assicurare un buon grado di sicurezza senza influire in modo determinante sulla qualità del prodotto e del suo time to market. Nell ultimo capitolo vengono esposte alcune conclusioni a riguardo delle problematiche analizzate e delle conoscenze acquisite con questo lavoro.

8 Capitolo 1 Concetti fondamentali Ho avuto un idea grandiosa, ma non mi è piaciuta (Samuel Goldwyn) Prima di iniziare a parlare di sicurezza nelle applicazioni web, vediamo alcuni richiami e chiarimenti che possono risultare utili nella focalizzazione e comprensione del problema che stiamo per affrontare. Cerchiamo innanzitutto di capire da cosa è composta l infrastruttura che ospita i dati che tenteremo di proteggere cercando di dare alcune definizioni per quanto riguarda l architettura della rete, dei server e dei client, nonché provando a chiarire il concetto di sicurezza informatica. Fissiamo fin da ora che l applicazione web non è un unico blocco a se stante, ma piuttosto un sistema complesso in cui un numero anche elevato di componenti eterogenei interagiscono e collaborano al fine di fornire un servizio o un prodotto agli utenti che ne fanno richiesta. 1.1 Le architetture distribuite Solitamente si classifica come distribuitè tutte quelle architetture che non rientrano nella classe di quelle centralizzate. Come alternativa, per fare un po di chiarezza, le definiremo come quegli impianti in cui sono presenti contemporaneamente: 1. più unità di tipo processore centrale 7

9 CAPITOLO 1. CONCETTI FONDAMENTALI 8 2. una computer network 3. un software di sistema che gestisca l impianto in modo da conferirgli le seguenti proprietà: condivisione delle risorse apertura ad estensioni simultaneità operativa ampliabilità tolleranza ai guasti invisibilità Sotto questa definizione rientrano alcuni sistemi anche molto diversi fra essi: sistemi di calcolo distribuito come e Prime95; sistemi paralleli in rete; le reti peer-to-peer; sistemi client/server di cui ci stiamo interessando in questa argomentazione La rete La rete rappresenta il mezzo fondamentale in assenza del quale non potrebbe esistere alcun sistema distribuito 1. Le reti [5], o per esattezza, le computer network sono degli insiemi di non trasparenti elaboratori autonomi, cioè tutti hanno le stesse funzioni e la stessa libertà, interconnessi, vale a dire che tutti sono in grado di scambiarsi messaggi secondo una stessa tecnologia. La trasparenza diversifica la rete da un sistema distribuito. Quest ultimo è composto da una rete in cui è presente un software di gestione (sistema operativo o altra applicazione) che maschera i singoli calcolatori. Per quanto riguarda invece l omogeneità tecnologica della interconnessione, essa contraddistingue una rete da una inter-rete, cioè quell apparato costituito da reti tecnologicamente diverse che sono in grado di colloquiare fra loro solo tramite dei gateway che effettuano la traduzione dei messaggi provenienti da una rete e diretti verso l altra secondo le caratteristiche proprie di ciascuna. Secondo le definizioni date Internet (con la i maiuscola) è una rete particolare: si tratta della inter-rete che a livello mondiale può collegare tutte le reti. 1 secondo la definizione data in precedenza

10 CAPITOLO 1. CONCETTI FONDAMENTALI 9 Per poter ottenere tutto questo abbiamo bisogno sia di una portante adeguata (filo rameico, tratta radio, fibra ottica) in base alle dimensioni ed alle caratteristiche della net, sia di un sistema standard di comunicazione, identificabile nei protocolli. Figura 1.1: Rete locale con collegamento ad Internet La figura1.1 ci mostra i collegamenti fisici che mettono in lan 2, e collegano ad internet, alcuni host. Questi ultimi, collegati tramite hub e switch, comunicano inviandosi pacchetti informativi composti rispettando quanto stabilito dai protocolli di comunicazione fissati. Per la complessità di funzionamento delle moderne reti di calcolatori, il software ha una enorme importanza e, come per la struttura fisica, è estremamente articolato e organizzato, in modo da facilitare la progettazione, l implementazione ed il testing. Gli strati (layer) in cui esso è suddiviso, sono costruiti l uno sopra il precente, a partire dallo strato fisico, per arrivare allo strato dell applicazione. Lo scopo di ogni livello è quello di creare una gerarchia di protocolli che offrano dei servizi allo strato superiore nascondendo i dettagli implementativi. In particolare: lo strato n si una macchina comunica logicamente con lo strato n di una macchina vicina ; 2 Local Area Network

11 CAPITOLO 1. CONCETTI FONDAMENTALI 10 le regole e le convenzioni della suddetta comunicazione sono definite protocollo di livello n ; le entità logiche che portano avanti una comunicazione, dette peer entity, di livello n, sfruttano i servizi offerti dalle peer entity dello strato inferiore, secondo una determinata interfaccia. La figura 1.2 mostra la logica della comunicazione fra due host chiarificando il signicato e la locazione di livello, protocollo ed interfaccia. La pila di livelli riportata in precedenza, con i relativi protocolli prende il nome di architettura di retè. Le architetture che hanno avuto il maggior successo si suddividono in due modelli: OSI/ISO e Internet (o TCP/IP). Figura 1.2: Modello OSI / ISO Il primo di questi (figura 1.2) è uno standard de iure 3, prodotto dall ISO, che si compone di sette strati caratterizzati da una forte suddivisione delle funzioni. Senza abbondare in dettagli possiamo dire che i primi quattro strati sono orientati verso il mezzo fisico, cioè si occupano della trasmissione vera e propria, della gestione delle interferenze, della suddivisione e ricostruzione del 3 di diritto

12 CAPITOLO 1. CONCETTI FONDAMENTALI 11 carico informativo. Questi quattro strati, da soli, sono sufficienti per la gestione ed il controllo del canale. I tre strati più alti invece sono orientati agli applicativi. Essi hanno il compito di ottimizzare l uso della linea, controllare la congestione, presentare il flusso dati all ultimo livello in cui risiedono le applicazini di rete (http, ftp, smtp...). Il modello TCP/IP, sul quale si base la moderna Internet, è uno standard de facto 4 che nasce dalla rete militare ARPAnet. Conseguenze di queste sue origini sono l estrema robustezza verso gli attacchi ed i malfunzionamenti, l apertura a molti tipi di applicazioni di rete e la capacità di interagire con altre tecnologie costruttive. Gli strati in questo modello sono solo quattro: host-to-network raggruppa i primi due livelli OSI e non ha funzioni definite; ip (il terzo livello ISO) calcola il routing e gestisce le congestioni; trasporto mette in comunicazione gli host tramite servizio con e senza connessione; applicazione, paragonabile agli ultimi tre livelli iso L.A.M.P. LAMP è l acronimo che indica il Linux+Apache+MySql+PHP. Con queste quattro lettere si intende una particolare combinazione si software di sistema che d ora in poi, insieme alla rete sopra descritta sarà la piattaforma di riferimento di questa tesi. Questa combinazione è costituita da: linux, un sistema operativo multiprocess e multitask che oggigiorno è ampiamente utilizzato nei server di dimensioni medie e piccole a tecnologia IBM x86 ; un web server, Apache, che ha conquistato circa il 50% del mercato ; un rdbms, relational database management system, MySql ; il PHP, un linguaggio di scripting completamente orientato alla programmazione nel web. La caratteristica saliente che accomuna tutti i componenti sta nel fatto che sono Open Source, cioè freeware coperti da licenza GPL. Seppure 4 di fatto, in quanto ampiamente utilizzati

13 CAPITOLO 1. CONCETTI FONDAMENTALI 12 tutto potrebbe sembrare inefficiente e poco sicuro, in realtà, essendo progettati, sviluppati e testati da una comunità molto vasta garantiscono un livello di efficienza, prestazioni e sicurezza elevato e certamente comparabile con i prodotti commerciali più noti. Linux Linux è comparso nel 1991 come progetto personale di studio delle funzionalità di multiprogrammazione dei microprocessori i386 da parte di Linus Torvalds, all epoca studente presso l Università di Helsinki, in Finlandia. Partendo dal sistema Minix, creò un kernel che rilasciò sotto licenza GNU-GPL, che rappresenta la difesa ideale per un software di pubblico dominio. Apache Sviluppato dalla Apache Software Foundation, è oggigiorno il web server più diffuso: stabile e sicuro, supporta l integrazione con i principali rdbms e con diversi linguaggi di programmazione, inoltre è facilmente espandibile grazie alla gran quantità di moduli dalle funzioni più disparate. Trascurando i moduli di autenticazione ed altre estensioni, il server web è un programma che si occupa di ascoltare un canale di comunicazione per intercettare una richiesta da servire secondo lo schema in figura 1.3. Figura 1.3: Semplice schematizzazione dell interazione client - web server Il client, utilizzando un browser, lancia una messaggio di richiesta http, contenente la URL 5, attraverso il collegamento di rete al web server. Questo, 5 Uniform Resource Location

14 CAPITOLO 1. CONCETTI FONDAMENTALI 13 catturata la richiesta, risponde, sempre attraverso il protocollo http, con una pagina html con il contenuto informativo desiderato dal client. MySQL Le basi di dati (cit. [6]) sono dei contenitori atti a immagazzinare dati, strutturati o meno. In effetti una base di dati è definita da un insieme di regole che specificano il modo in cui lo stream informativo debba essere registrato. MySQL è un RDBMS, cioè un sistema di gestione di basi di dati relazionali. Esso si occupa, da un lato di gestire la struttura e la coerenza dei file su disco, e dall altro si rispondere alle interrogazioni che l utente o un applicazione gli pongono secondo un linguaggio di interrogazione standard (SQL, Standard Query Language. MySQL è in grado di gestire database in diversi formati. I principali sono sono: myisam, implementazione dei B-alberi, è il formato nativo ed include molti tool di ottimizzazione e backup ; innodb, supporta le transazioni e le foreign keys ; BerkeleyDB, con supporto per le transazioni ma poco flessibilie con basse prestazini. PHP PHP è l acronimo ricorsivo di Hypertext Preprocessor, attualmente è uno dei linguaggi web più diffusi su internet che permette di creare da semplici script fino ad interi portali dinamici. PHP è un linguaggio interpretato, nato da un progetto della Apache Software Foundation, l interprete che ne costituisce il cuore è proprietà della Zend inc. (www.zend.com) che ne distribuisce i sorgenti gratuitamente. Esso consente di realizzare velocemente pagine a continuti dinamici, grazie al supporto nativo con i singoli rdbms ed anche alla numerosità delle funzioni built-in e delle librerie reperibili in modo gratuito. La figura 1.4 mostra i passaggi seguiti dal server per rispondere alla richiesta di un client. All arrivo della richiesta (1) il server esegue un controllo sull URL e decide se prelevare una pagina HTML statica (2) oppure se eseguire uno script per la

15 CAPITOLO 1. CONCETTI FONDAMENTALI 14 Figura 1.4: Flusso dati di un web server con php

16 CAPITOLO 1. CONCETTI FONDAMENTALI 15 generazione di una pagina dinamica (3). In questa ultima eventualità il codice viene passato al PHP preprocessor che lo esegue, con eventuali richieste al server SQL (5, 6, 7) ed ai file systems, e genera in output una pagina statica (8). La pagina finale (prelevata dal file system o generata dallo script) viene restituita in risposta al client (9). Il successo di questo linguaggio deriva a pari merito da tre fattori: Efficienza: punto di forza è proprio la velocità dell interprete nella valutazione degli script, la Zend fornisce a pagamento un pre-interpretè in grado di migliorare ulteriormente questa caratteristica. Portabilità: utilizzando piccoli accorgimenti PHP è in grado di funzionare su diverse piattaforme (Windows32, Unix, Mac OS X, AS/400...) ed è in grado di appoggiarsi indifferentemente a diversi web server (Apache, Microsoft IIS, Xitami, OpenHTTPd, ecc...) sfruttando l interfaccia CGI (Common Gateway Inferface). Accesso a basso livello: permette di accedere a basso livello all architettura web sottostante, come per esempio la possibilità di modificare manualmente gli header del protocollo HTTP, accesso alle primitive di sistema, funzioni per gestire socket, ecc Le applicazioni Web A partire dal primo Congresso Web tenutosi a Ginevra nel 1994 è iniziata ad affermarsi l esigenza di rendere il web dinamico. L HTML di per se è statico, permette al massimo di inserire in una pagina un immagine, una colonna sonora oppure uno spezzone video. L HTML non è un linguaggio di programmazione ma solo di formattazione dei contenuti, permettendo di controllare come un testo comparirà nella finestra del browser. Brevemente una applicazione web è un software, eseguito dall application server di un web server, che produce dinamicamente pagine html secondo le richieste degli utenti e degli altri sistemi della rete. Le funzioni svolte da questo tipo di software possono andare dalla semplice ricerca e fruizione di un file in una directory a delle applicazioni estremamente sofisticate che eseguono in tempo reale vendite, tenuta del magazzino, registrazione di dati finanziari.

17 CAPITOLO 1. CONCETTI FONDAMENTALI 16 Anche le tecnologie che sono alle spalle di questi software sono estremamente varie: dal semplice script fino ad un complicato programma in linguaggio di alto livello che interagisce con diverse risorse dati localizzate su sistemi ed in modi diversi. A causa di tali caratteristiche le applicazioni sono estremamente disomogenee, e non permettono alcuna tassonomia o ricerca. L unica analisi che può essere realizzata è uno studio del tutto generale a riguardo della struttura interna del software. Figura 1.5: Applicazione web three-tier Così come è mostrato in figura 1.5 l applicazione può essere scomposta in tre layer: di presentazione, logico e dati. Il primo stato, più esterno, gestito dal web server, si occupa della presentazione dei dati, strutturandoli e formattandoli in una GUI 6 tramite un linguaggio interpretabile dal browser (o da un generico client), tipicamente html oppure xml. Il layer logico è il vero nucleo dell applicazione. In esso si concentra l implementazione degli algoritmi, sia quelli funzionali all offerta del servizio, sia quelli accessori, come per esempio il controllo di sicurezza. Capita, però, che questo strato sia talmente sottile da poterlo inglobare nel presentation layer oppure, al contrario, sia così complesso da dover essere diviso in diverse sezioni cooperanti fra loro che si occupano di compiti molto specifici. L ultimo strato, non meno importante, svolge la funzione di storing dei dati: database, file e archivi. 6 Graphic User Interface

18 CAPITOLO 1. CONCETTI FONDAMENTALI Cosa intendiamo per sicurezza La sicurezza informatica è la tutela del sistema informativo dalla violazione da parte di persone non autorizzate al fine di garantire confidenzialità, autenticità, integrità e disponibilità dei dati. Sebbene questa definizione sia chiara e concisa, in realtà, la sicurezza con è una caratteristica assoluta ma una misura che si tenta si massimizzare valutando attentamente l equilibrio fra costo del rischio e costo della difesa. Bisogna rendersi conto che, come insegna l ingegneria del software ormai da qualche anno, un programma zero risk è, oltre che irrealizzabile, inutile, in quanto implica un costo di progettazione, sviluppo e testing decisamente maggiore del costo, inteso come perdita di profitto o di immagine, che si avrebbe nel caso di intrusione o manipolazione del sistema. Si segue, in definitiva, il principio del minimo rischio (o del minimo costo, se visto dal lato manageriale) Vulnerabilità, minaccia e rischio Si è detto che un sistema può incorrere in dei rischi, può essere affetto da vulnerabilità, può essere minacciato, senza chiarire il significato con il quale stiamo adoperando ciascun termine. Il significato specifico non è molto diverso dal quello che comunemente assegnamo a tali parole. Una vulnerabilità, o falla, come si sente dire in spesso, è la caratteristica di un componente, o di un sistema nella sua interezza, per cui risulta suscettibile a particolari situazioni che portano al guasto, spesso improvviso, del componente stesso o di un altro che si trova rapporto collaborativo con quello fallato. La minaccia è la causa che scatena il guasto di cui si è appena detto. Essa deriva marginalmente da problemi di implementazione, specialmente se cooperativa o in team, ed in larga misura da comportamenti anomali degli utenti. Fra questi ultimi dobbiamo fare distinzione fra: gli hacker, beta tester esperti della materia che tentano di stressare il sistema al fine di migliorarlo oppure di aumentare il loro grado di conoscenza; i cracker, che sfruttano le stesse tecniche e gli stessi strumenti degli hacker ma con fine personale spesso illegale fra cui non manca la frode, lo spionaggio industriale, la concussione; i phraker, raramente esperti, utilizzano tool freeware e tutorial reperibili nella rete per divertimento personale.

19 CAPITOLO 1. CONCETTI FONDAMENTALI 18 Il rischio è la probabilità che una falla sia incontrata (o scoperta) da una minaccia, associata all intenzione di sfruttarla per trarne un vantaggio. Possiamo ipotizzare che maggiore sarà il vantaggio, maggiori saranno gli sforzi per trovare le vulnerabilità, o meglio, il rischio è tanto più elevato quanto più hanno valore i dati che tentiamo di proteggere. Sottolineiamo, un ultima volta, che non stiamo parlando di caratteristiche assolute (booleane) ma di una misura relativa, di un grado di proprietà. La relazione fra queste parole è decisamente più chiara quando la poniamo in formato (ingegneristico) di equazione: vulnerabilità + minaccia = rischio Un rischio si riscontra solo nel caso in cui il sistema, affetto da punti di vulnerabilità, diventa oggetto di interesse di una minaccia. Inoltre, il livello di rischio è proporzionale al numero di falle ed al numero di attaccanti Le sicurezza su più livelli Come detto in principio e ribadito numerose volte, tentiamo di proteggere una mole di informazioni a gestite da un sistema, accessibili solo ed esclusivamente da un gruppo definito e limitato di utenti, e posizionati in una architettura aperta (ed esposta) all intero pianeta. Dovendo scomporre il sistema in un albero funzionale (l abbiamo visto nei paragrafi precedenti), non possiamo applicare una politica di sicurezza generale concentrata in un unico punto ma siamo costretti a progettare ed implementare un checkpoint ad-hoc per ogni sottosistema, fino ad arrivare ai nodi estremi, cioè i singoli componenti. Seguendo il percorso temporale degli ultimi tre decenni, applicheremo un controllo sulla rete, poi sul sistema operativo e sul web server, alla fine implementeremo dei check di sicurezza sulla applicazione web. Ovviamente ci sono casi in cui le misure di sicurezza influenzano contemporaneamente più componenti, come ad es. i firewall che eseguono controlli sia sull host/ip di destinazione o sorgente e sull applicazioni che li genera o riceve. Stiamo tralasciando la sicurezza dell host client ma, posto che questa tesi non concerne questo argomento, supponiamo che essa sia banale e limitata all aggiornamento dei client ed all installazione di programmi freeware (non meno potenti di quelli commerciali) che in real-time mantengano una politica

20 CAPITOLO 1. CONCETTI FONDAMENTALI 19 minima sul PC dell utente: firewall (sia traffico in entrata ché in uscita), antivirus (per backdoor e keylogger), anti-scripting (controllo di codice javascipt malizioso), anti-spam (per in html contenente javascript). Ovviamente tralasciamo anche un fattore estremamente importante: quello umano. Diamo per scontato, insomma, che il generico utente (e magari anche l amministratore e lo sviluppatore/tester) non tenga username/password memorizzate in auto-login o stampate a caratteri ben leggibili e incollati dove un visitatore qualsiasi le possa vedere, anche solo per caso. E neppure che risponda a chiunque gli chieda dei parametri di autenticazione (ad es. per falsificata, alcuni siti web ne permettono l invio in modo facilissimo ed indiscriminato) senza eseguire un controllo (ad es. telefonata di conferma). A livello di rete Già da questo livello è possibile portare attacchi al programma. Ad es. inviando traffico fasullo forgiato ad-hoc per mandare in panne un router oppure un server DNS. Sebbene i puristi ricorrono ancora a diverse ore davanti ad un terminale telnet, per controllare le porte note in cerca di qualche debolezza di una macchina, ed impieghino alcune settimane per scrivere lo script dell attacco, sono gratuiti e numerosi i port-scanner e si riescono a reperire dei tool per il testing di vulnerabilità note. La china di figura 1.6 mostra la protezione standard che si applica ad alla lan aziendale per prevenire attacchi dall esterno. Questa potrebbe essere anche una ottima struttura difensiva per un host/rete client. Il traffico in entrata/uscita passa attraverso un unico nodo protetto da un proxy e da un firewall (essendo su LAMP si possono adoperare Squid ed IPtables). Sulla stessa piattaforma potrebbero essere presenti i server (web, file, printer). Il firewall si occupa di filtrare i pacchetti applicando regole di sicurezza ai livelli non superiori al quarto: ad esempio chiudendo tutte le porte, ad esclusione della 80, e canalizzando (tunneling) le porte rilevanti (ftp, pop e imap, vnc, x-server...) sulla porta SSH. Il proxy si occupa sia dell applicazione delle regole ai livelli più alti (ad es. controllo del contenuto) sia di un eventuale mascheramento dell ip del client (natting e/o semplice caching delle risorse richieste). Questa topologia (con controllo centralizzato in uno o pochi nodi) in grado di segmentare logicamente la rete separando i sistemi interni (considerati

21 CAPITOLO 1. CONCETTI FONDAMENTALI 20 Figura 1.6: Rappresentazione estesa del client di fiducia) da quelli esterni accessibili al pubblico che, in quanto privi di tale fiducia, devono rimanere isolati, prende il nome di firewalling della zona perimetrale o DMZ, De-Militarized Zone. Essa è una soluzione valida (e poco dispendiosa) per tutte le reti di medie/grosse dimensioni oppure per le reti in cui l accesso ad internet è effettuato da un solo PC con condivisione/bridging della connessione. Naturalmente l esistenza di una DMZ non rappresenta da sola una garanzia sufficiente ma deve essere accompagnata dalla presenza di adeguati dispositivi di controllo degli accessi (router e firewall) in modo tale da: bloccare tutto il traffico UDP e TCP non strettamente necessario; bloccare tutte le connessioni TCP che traggono origine dallo stesso server Web; bloccare il traffico tra il server Web e la rete interna. Oltre alla parte di bassissimo livello è il caso di fare un remark a riguardo dei protocolli di livello applicativo ed in particolare di HyperText Transfert Protocol. HTTP/0.9, che potremmo definire versione originale, è stato concepito dal CERN nel 1990 con lo scopo di creare un area dove inserire/duplicare/eliminare documenti di qualunque tipo (in genere testo piatto o formattato ed un set minimo di feature multimediali). Esso non prevedeva (se non in modo primordiale) il surfing, che è alla base del successo del Web.

22 CAPITOLO 1. CONCETTI FONDAMENTALI 21 HTTP odierno (cit. [18]), versione 1.1, è il risultato di un grosso lavoro di adattamento (iniziato con la versione 1.0 e ancora non concluso pienamente) per deviare HTTP/0.9 verso una piattaforma dove potessero essere eseguiti programmi complessi che il mercato chiedeva con sempre maggiore insistenza. Questo processo è sfociato in un prodotto decisamente lacunoso in parte rimediato da patch e accorgimenti (alle volte strutturali). A livello di sistema operativo In linea generale il percorso che un aggressore tenta di seguire nell attacco di un sistema può essere riassunto nel modo seguente: 1. accesso al sistema attraverso l esecuzione di exploit, lo sfruttamento di condizioni di buffer overflow in script e programmi, la cattura o l intercettazione del file delle password, gli attacchi a forza bruta; 2. scalata dei privilegi e/o impersonificazione degli utenti con privilegi amministrativi attraverso il crack delle password e/o l esecuzione di exploit successivi; 3. occultamento delle tracce tramite la cancellazione dei logs, l uso di rootkits e lo sfruttamento di particolari caratteristiche del sistema operativo; 4. installazione di backdoors cioè di programmi nascosti che aprono all aggressore delle porte senza restrizioni con la possibilità di controllare il sistema in qualsiasi momento; Il sistema operativo può avere un impatto significativo nella predisposizione e nel mantenimento dei giusti livelli di sicurezza sotto i seguenti profili: 1. assenza di vulnerabilità note nei confronti di tipologie conosciute di attacco; 2. capacità di limitare determinati tipi di attività soltanto ad alcuni utenti; 3. abilità nel rimuovere e disabilitare servizi e risorse non necessari; 4. abilità nel controllare l uso e l accesso alle varie risorse e nel registrare la varie attività degli utenti; 5. facilità di gestione ma non a discapito della sicurezza;

Application Assessment Applicazione ARCO

Application Assessment Applicazione ARCO GESI Application Assessment Applicazione ARCO Milano Hacking Team S.r.l. http://www.hackingteam.it Via della Moscova, 13 info@hackingteam.it 20121 MILANO (MI) - Italy Tel. +39.02.29060603 Fax +39.02.63118946

Dettagli

Concetti base. Impianti Informatici. Web application

Concetti base. Impianti Informatici. Web application Concetti base Web application La diffusione del World Wide Web 2 Supporto ai ricercatori Organizzazione documentazione Condivisione informazioni Scambio di informazioni di qualsiasi natura Chat Forum Intranet

Dettagli

Corso di Web programming Modulo T3 A2 - Web server

Corso di Web programming Modulo T3 A2 - Web server Corso di Web programming Modulo T3 A2 - Web server 1 Prerequisiti Pagine statiche e dinamiche Pagine HTML Server e client Cenni ai database e all SQL 2 1 Introduzione In questa Unità si illustra il concetto

Dettagli

Introduzione all elaborazione di database nel Web

Introduzione all elaborazione di database nel Web Introduzione all elaborazione di database nel Web Prof.ssa M. Cesa 1 Concetti base del Web Il Web è formato da computer nella rete Internet connessi fra loro in una modalità particolare che consente un

Dettagli

Informatica Documentale

Informatica Documentale Informatica Documentale Ivan Scagnetto (scagnett@dimi.uniud.it) Stanza 3, Nodo Sud Dipartimento di Matematica e Informatica Via delle Scienze, n. 206 33100 Udine Tel. 0432 558451 Ricevimento: giovedì,

Dettagli

Database e reti. Piero Gallo Pasquale Sirsi

Database e reti. Piero Gallo Pasquale Sirsi Database e reti Piero Gallo Pasquale Sirsi Approcci per l interfacciamento Il nostro obiettivo è, ora, quello di individuare i possibili approcci per integrare una base di dati gestita da un in un ambiente

Dettagli

SISTEMI OPERATIVI DISTRIBUITI

SISTEMI OPERATIVI DISTRIBUITI SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching

Dettagli

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet Indirizzi Internet e Protocolli I livelli di trasporto delle informazioni Comunicazione e naming in Internet Tre nuovi standard Sistema di indirizzamento delle risorse (URL) Linguaggio HTML Protocollo

Dettagli

Sistemi Operativi. Modulo 2. C. Marrocco. Università degli Studi di Cassino

Sistemi Operativi. Modulo 2. C. Marrocco. Università degli Studi di Cassino Sistemi Operativi Modulo 2 Schema di un Sistema di Calcolo Programmi Dati di Input Calcolatore Dati di output Modello di von Neumann Bus di sistema CPU Memoria Centrale Memoria di Massa Interfaccia Periferica

Dettagli

Dal protocollo IP ai livelli superiori

Dal protocollo IP ai livelli superiori Dal protocollo IP ai livelli superiori Prof. Enrico Terrone A. S: 2008/09 Protocollo IP Abbiamo visto che il protocollo IP opera al livello di rete definendo indirizzi a 32 bit detti indirizzi IP che permettono

Dettagli

Informatica per la comunicazione" - lezione 9 -

Informatica per la comunicazione - lezione 9 - Informatica per la comunicazione" - lezione 9 - Protocolli di livello intermedio:" TCP/IP" IP: Internet Protocol" E il protocollo che viene seguito per trasmettere un pacchetto da un host a un altro, in

Dettagli

Capitolo 3: Strutture dei sistemi operativi

Capitolo 3: Strutture dei sistemi operativi Capitolo 3: Strutture dei sistemi operativi Componenti del sistema Servizi di un sistema operativo Chiamate del sistema Programmi di sistema Struttura del sistema Macchine virtuali Progettazione e realizzazione

Dettagli

Esempi pratici, risultati e contromisure consigliate. Massimo Biagiotti

Esempi pratici, risultati e contromisure consigliate. Massimo Biagiotti L attività di un Ethical Hacker Esempi pratici, risultati e contromisure consigliate Massimo Biagiotti Information Technology > Chiunque operi nel settore sa che il panorama dell IT è in continua evoluzione

Dettagli

Classificazione del software

Classificazione del software Classificazione del software Classificazione dei software Sulla base del loro utilizzo, i programmi si distinguono in: SOFTWARE Sistema operativo Software applicativo Sistema operativo: una definizione

Dettagli

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI Confronto tra ISO-OSI e TCP/IP, con approfondimento di quest ultimo e del livello di trasporto in cui agiscono i SOCKET. TCP/IP

Dettagli

La rete Internet. Percorso di Preparazione agli Studi di Ingegneria. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

La rete Internet. Percorso di Preparazione agli Studi di Ingegneria. Università degli Studi di Brescia. Docente: Massimiliano Giacomin La rete Internet Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Che

Dettagli

Application Assessment Applicazione ARCO

Application Assessment Applicazione ARCO GESI Application Assessment Applicazione ARCO Versione 2 Milano 14 Luglio 2006 Hacking Team S.r.l. http://www.hackingteam.it Via della Moscova, 13 info@hackingteam.it 20121 MILANO (MI) - Italy Tel. +39.02.29060603

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

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

Una minaccia dovuta all uso dell SNMP su WLAN

Una minaccia dovuta all uso dell SNMP su WLAN Una minaccia dovuta all uso dell SNMP su WLAN Gianluigi Me, gianluigi@wi-fiforum.com Traduzione a cura di Paolo Spagnoletti Introduzione Gli attacchi al protocollo WEP compromettono la confidenzialità

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2010/2011 Questi lucidi sono stati prodotti sulla

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2008/2009 Questi lucidi sono stati prodotti sulla

Dettagli

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Conoscere il concetto di espressione 2 1 Introduzione

Dettagli

Sistemi Operativi di Rete. Sistemi Operativi di rete. Sistemi Operativi di rete

Sistemi Operativi di Rete. Sistemi Operativi di rete. Sistemi Operativi di rete Sistemi Operativi di Rete Estensione dei Sistemi Operativi standard con servizi per la gestione di risorse in rete locale Risorse gestite: uno o più server di rete più stampanti di rete una o più reti

Dettagli

Contenuti. Applicazioni di rete e protocolli applicativi

Contenuti. Applicazioni di rete e protocolli applicativi Contenuti Architettura di Internet Principi di interconnessione e trasmissione World Wide Web Posta elettronica Motori di ricerca Tecnologie delle reti di calcolatori Servizi Internet (come funzionano

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

PTSv2 in breve: La scelta migliore per chi vuole diventare un Penetration Tester. Online, accesso flessibile e illimitato

PTSv2 in breve: La scelta migliore per chi vuole diventare un Penetration Tester. Online, accesso flessibile e illimitato La scelta migliore per chi vuole diventare un Penetration Tester PTSv2 in breve: Online, accesso flessibile e illimitato 900+ slide interattive e 3 ore di lezioni video Apprendimento interattivo e guidato

Dettagli

Protocolli di rete. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 02 Protocolli - 2/30

Protocolli di rete. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 02 Protocolli - 2/30 Protocolli di rete Vittorio Maniezzo Università di Bologna Vittorio Maniezzo Università di Bologna 02 Protocolli - 1/30 Strati di protocolli (Protocol Layers) Le reti sono complesse Molti elementi: host

Dettagli

Sicurezza dei sistemi e delle reti Introduzione

Sicurezza dei sistemi e delle reti Introduzione Sicurezza dei sistemi e delle reti Introduzione Damiano Carra Università degli Studi di Verona Dipartimento di Informatica Riferimenti! Cap. 8 di Reti di calcolatori e Internet. Un approccio topdown, J.

Dettagli

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET)

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Ipotesi di partenza: concetti di base del networking Le ipotesi di partenza indispensabili per poter parlare di tecniche di accesso

Dettagli

Protocolli e architetture per WIS

Protocolli e architetture per WIS Protocolli e architetture per WIS Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di informazioni e servizi Le architetture moderne dei WIS

Dettagli

LABORATORIO DI TELEMATICA

LABORATORIO DI TELEMATICA LABORATORIO DI TELEMATICA COGNOME: Ronchi NOME: Valerio NUMERO MATRICOLA: 41210 CORSO DI LAUREA: Ingegneria Informatica TEMA: Analisi del protocollo FTP File Transfer Protocol File Transfer Protocol (FTP)

Dettagli

Architetture e strumenti per la sicurezza informatica

Architetture e strumenti per la sicurezza informatica Università Politecnica delle Marche Architetture e strumenti per la sicurezza informatica Ing. Gianluca Capuzzi Agenda Premessa Firewall IDS/IPS Auditing Strumenti per l analisi e la correlazione Strumenti

Dettagli

SDD System design document

SDD System design document UNIVERSITA DEGLI STUDI DI PALERMO FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA TESINA DI INGEGNERIA DEL SOFTWARE Progetto DocS (Documents Sharing) http://www.magsoft.it/progettodocs

Dettagli

Introduzione alle Reti Informatiche

Introduzione alle Reti Informatiche WWW.ICTIME.ORG Introduzione alle Reti Informatiche Cimini Simonelli - Testa Sommario Breve storia delle reti... 3 Internet... 3 Gli standard... 4 Il modello ISO/OSI... 4 I sette livelli del modello ISO/OSI...

Dettagli

Finalità delle Reti di calcolatori. Le Reti Informatiche. Una definizione di Rete di calcolatori. Schema di una Rete

Finalità delle Reti di calcolatori. Le Reti Informatiche. Una definizione di Rete di calcolatori. Schema di una Rete Finalità delle Reti di calcolatori Le Reti Informatiche Un calcolatore isolato, anche se multiutente ha a disposizione solo le risorse locali potrà elaborare unicamente i dati dei propri utenti 2 / 44

Dettagli

Programmazione modulare 2014-2015

Programmazione modulare 2014-2015 Programmazione modulare 2014-2015 Indirizzo: Informatica Disciplina: SISTEMI E RETI Classe: 5 A e 5 B Docente: Buscemi Letizia Ore settimanali previste: 4 ore (2 teoria + 2 laboratorio) Totale ore previste:

Dettagli

Parte II: Reti di calcolatori Lezione 9

Parte II: Reti di calcolatori Lezione 9 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 9 Martedì 1-04-2014 1 Applicazioni P2P

Dettagli

Base Dati Introduzione

Base Dati Introduzione Università di Cassino Facoltà di Ingegneria Modulo di Alfabetizzazione Informatica Base Dati Introduzione Si ringrazia l ing. Francesco Colace dell Università di Salerno Gli archivi costituiscono una memoria

Dettagli

Componenti Web: client-side e server-side

Componenti Web: client-side e server-side Componenti Web: client-side e server-side side Attività di applicazioni web Applicazioni web: un insieme di componenti che interagiscono attraverso una rete (geografica) Sono applicazioni distribuite logicamente

Dettagli

Introduzione. Livello applicativo Principi delle applicazioni di rete. Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio 2-1

Introduzione. Livello applicativo Principi delle applicazioni di rete. Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio 2-1 Introduzione Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio Livello applicativo Principi delle applicazioni di rete 2-1 Pila di protocolli Internet Software applicazione: di

Dettagli

VULNERABILITY ASSESSMENT E PENETRATION TEST

VULNERABILITY ASSESSMENT E PENETRATION TEST VULNERABILITY ASSESSMENT E PENETRATION TEST Una corretta gestione della sicurezza si basa innanzitutto su un adeguata conoscenza dell attuale livello di protezione dei propri sistemi. Partendo da questo

Dettagli

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer Tecnologie per il Web Il web: architettura e tecnologie principali Una analisi delle principali tecnologie per il web Tecnologie di base http, ssl, browser, server, firewall e proxy Tecnologie lato client

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Parte II Lezione 5

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Parte II Lezione 5 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Parte II Lezione 5 Giovedì 19-03-2015 1 Intensità del traffico e perdita dei pacchetti La componente

Dettagli

Corso di Alfabetizzazione Informatica

Corso di Alfabetizzazione Informatica Corso di Alfabetizzazione Informatica Lezione 6 a.a. 2010/2011 Francesco Fontanella La Complessità del Hardware Il modello di Von Neumann è uno schema di principio. Attualmente in commercio esistono: diversi

Dettagli

Siti web centrati sui dati (Data-centric web applications)

Siti web centrati sui dati (Data-centric web applications) Siti web centrati sui dati (Data-centric web applications) 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente

Dettagli

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica CL3 - Biotecnologie Orientarsi nel Web Prof. Mauro Giacomini Dott. Josiane Tcheuko Informatica - 2006-2007 1 Obiettivi Internet e WWW Usare ed impostare il browser Navigare in internet

Dettagli

Sicurezza negli ambienti di testing. Grancagnolo Simone Palumbo Claudio

Sicurezza negli ambienti di testing. Grancagnolo Simone Palumbo Claudio Sicurezza negli ambienti di testing Grancagnolo Simone Palumbo Claudio Obiettivo iniziale: analizzare e testare il Check Point VPN-1/FireWall-1 Condurre uno studio quanto più approfondito possibile sulle

Dettagli

2 Dipendenza da Internet 6 2.1 Tipi di dipendenza... 6 2.2 Fasi di approccio al Web... 6 2.3 Fine del corso... 7

2 Dipendenza da Internet 6 2.1 Tipi di dipendenza... 6 2.2 Fasi di approccio al Web... 6 2.3 Fine del corso... 7 Sommario Indice 1 Sicurezza informatica 1 1.1 Cause di perdite di dati....................... 1 1.2 Protezione dei dati.......................... 2 1.3 Tipi di sicurezza........................... 3 1.4

Dettagli

Reti di calcolatori. Reti di calcolatori

Reti di calcolatori. Reti di calcolatori Reti di calcolatori Reti di calcolatori Rete = sistema di collegamento tra vari calcolatori che consente lo scambio di dati e la cooperazione Ogni calcolatore e un nodo, con un suo indirizzo di rete Storia:

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

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1)

Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1) Pagina 1 di 10 Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1) Nel corso della lezione precedente abbiamo analizzato le caratteristiche dell'architettura CGI.

Dettagli

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella Corso di Sistemi di Elaborazione delle informazioni Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella Una definizione di Rete Una moderna rete di calcolatori può essere definita come:

Dettagli

Questo punto richiederebbe uno sviluppo molto articolato che però a mio avviso va al di là delle possibilità fornite al candidato dal tempo a disposizione. Mi limiterò quindi ad indicare dei criteri di

Dettagli

Capire i benefici di una rete informatica nella propria attività. I componenti di una rete. I dispositivi utilizzati.

Capire i benefici di una rete informatica nella propria attività. I componenti di una rete. I dispositivi utilizzati. LA RETE INFORMATICA NELL AZIENDA Capire i benefici di una rete informatica nella propria attività. I componenti di una rete I dispositivi utilizzati I servizi offerti LA RETE INFORMATICA NELL AZIENDA Copyright

Dettagli

DBMS e Linguaggi di programmazione nell'era di Internet

DBMS e Linguaggi di programmazione nell'era di Internet DBMS e Linguaggi di programmazione nell'era di Internet Crippa Francesco fcrippa@tiscalinet.it Crippa Francesco (GPL) 1 Programma del corso DBMS nati per il WEB: MySQL Postgres Il cuore del WWW, il web

Dettagli

Firewall applicativo per la protezione di portali intranet/extranet

Firewall applicativo per la protezione di portali intranet/extranet Firewall applicativo per la protezione di portali intranet/extranet Descrizione Soluzione Milano Hacking Team S.r.l. http://www.hackingteam.it Via della Moscova, 13 info@hackingteam.it 20121 MILANO (MI)

Dettagli

Introduzione al sistema operativo. Laboratorio Software 2008-2009 C. Brandolese

Introduzione al sistema operativo. Laboratorio Software 2008-2009 C. Brandolese Introduzione al sistema operativo Laboratorio Software 2008-2009 C. Brandolese Che cos è un sistema operativo Alcuni anni fa un sistema operativo era definito come: Il software necessario a controllare

Dettagli

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

INFORMATICA. Il Sistema Operativo. di Roberta Molinari INFORMATICA Il Sistema Operativo di Roberta Molinari Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore:

Dettagli

PRIVACY E SICUREZZA http://www.moviwork.com http://www.moviwork.com de.co dsign&communication di Celestina Sgroi

PRIVACY E SICUREZZA http://www.moviwork.com http://www.moviwork.com de.co dsign&communication di Celestina Sgroi PRIVACY E SICUREZZA LA PRIVACY DI QUESTO SITO In questa pagina si descrivono le modalità di gestione del sito in riferimento al trattamento dei dati personali degli utenti che lo consultano. Tale politica

Dettagli

Reti di computer. Agostino Lorenzi - Reti di computer - 2008

Reti di computer. Agostino Lorenzi - Reti di computer - 2008 Reti di computer Telematica : termine che evidenzia l integrazione tra tecnologie informatiche e tecnologie delle comunicazioni. Rete (network) : insieme di sistemi per l elaborazione delle informazioni

Dettagli

Applicazioni web centrati sui dati (Data-centric web applications)

Applicazioni web centrati sui dati (Data-centric web applications) Applicazioni web centrati sui dati (Data-centric web applications) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento

Dettagli

ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA

ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA Obiettivo Richiamare quello che non si può non sapere Fare alcune precisazioni terminologiche IL COMPUTER La struttura, i componenti

Dettagli

Gestione WEB Viaggi e Turismo

Gestione WEB Viaggi e Turismo Pag. 1 di 11 Gestione WEB Viaggi e Turismo Pag. 2 di 11 SOMMARIO 1. INTRODUZIONE...3 2. CARATTERISTICHE E VANTAGGI DI IN.TOUR...4 3. FUNZIONALITA E STRUTTURA SOFTWARE E HARDWARE...6 4. STRUTTURA E CONTENUTI

Dettagli

Livello di Applicazione in Internet

Livello di Applicazione in Internet Università di Genova Facoltà di Ingegneria Livello di in Internet 1. Introduzione Prof. Raffaele Bolla Ing. Matteo Repetto dist Caratteristiche del corso: Docenti o Docente titolare Prof. Raffaele Bolla

Dettagli

Aspetti di sicurezza in Internet e Intranet. arcipelago

Aspetti di sicurezza in Internet e Intranet. arcipelago Aspetti di sicurezza in Internet e Intranet La sicurezza in reti TCP/IP Senza adeguate protezioni, la rete Internet è vulnerabile ad attachi mirati a: penetrare all interno di sistemi remoti usare sistemi

Dettagli

Aspetti applicativi e tecnologia

Aspetti applicativi e tecnologia Aspetti applicativi e tecnologia Premessa Architetture usate per i database Le prime applicazioni erano definite monolitiche, cioè un unico computer (mainframe) gestiva sia le applicazioni che i dati,

Dettagli

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 Sistemi Web-Based - Terminologia Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 CLIENT: il client è il programma che richiede un servizio a un computer collegato in

Dettagli

Content Management System

Content Management System Content Management System Docente: Prof. Roberto SALVATORI CARATTERISTICHE PRINCIPALI DI UN CMS In quest ultimo decennio abbiamo avuto modo di osservare una veloce e progressiva evoluzione del Web, portando

Dettagli

1 MODULO: Visual basic.net Dati strutturati. Finalità: Gestione di dati strutturati

1 MODULO: Visual basic.net Dati strutturati. Finalità: Gestione di dati strutturati Istituto di Istruzione Superiore via Salvini 24 Roma Liceo M. Azzarita Liceo delle scienze applicate Materia:Informatica Programmazione a.s. 2015-2016 Classi 4 e Obiettivi disciplinari secondo biennio

Dettagli

LAN MAN WAN. Una internet è l'insieme di più reti reti distinte collegate tramite gateway/router

LAN MAN WAN. Una internet è l'insieme di più reti reti distinte collegate tramite gateway/router Rete di reti (interrete, internet) 2 Prof. Roberto De Prisco TEORIA - Lezione 8 Rete di reti e Internet Università degli studi di Salerno Laurea e Diploma in Informatica Una rete di comunicazione è un

Dettagli

Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione. Facoltà di Ingegneria

Università degli Studi Roma Tre Dipartimento di Informatica ed automazione. Facoltà di Ingegneria Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Tesi di Laurea AUTENTICAZIONE PER APPLICAZIONI WEB Relatore

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

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Compilazione, link, esecuzione di programmi Conoscere

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

Software. Definizione, tipologie, progettazione

Software. Definizione, tipologie, progettazione Software Definizione, tipologie, progettazione Definizione di software Dopo l hardware analizziamo l altra componente fondamentale di un sistema di elaborazione. La macchina come insieme di componenti

Dettagli

Le reti di calcolatori

Le reti di calcolatori Le reti di calcolatori 1 La storia Computer grandi e costosi Gli utenti potevano accerdervi tramite telescriventi per i telex o i telegrammi usando le normali linee telefoniche Successivamente le macchine

Dettagli

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento I protocolli del livello di applicazione Porte Nelle reti di calcolatori, le porte (traduzione impropria del termine port inglese, che in realtà significa porto) sono lo strumento utilizzato per permettere

Dettagli

Le Basi di dati: generalità. Unità di Apprendimento A1 1

Le Basi di dati: generalità. Unità di Apprendimento A1 1 Le Basi di dati: generalità Unità di Apprendimento A1 1 1 Cosa è una base di dati In ogni modello di organizzazione della vita dell uomo vengono trattate informazioni Una volta individuate e raccolte devono

Dettagli

Scritto da Administrator Martedì 02 Settembre 2008 06:30 - Ultimo aggiornamento Martedì 10 Maggio 2011 17:15

Scritto da Administrator Martedì 02 Settembre 2008 06:30 - Ultimo aggiornamento Martedì 10 Maggio 2011 17:15 Entrare in un pc è una espressione un po generica...può infatti significare più cose: - Disporre di risorse, quali files o stampanti, condivise, rese fruibili liberamente o tramite password con i ripettivi

Dettagli

Corso di Informatica Modulo T3 B1 Programmazione web

Corso di Informatica Modulo T3 B1 Programmazione web Corso di Informatica Modulo T3 B1 Programmazione web 1 Prerequisiti Architettura client/server Elementi del linguaggio HTML web server SQL server Concetti generali sulle basi di dati 2 1 Introduzione Lo

Dettagli

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

Dettagli

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

Dettagli

Mausoleo COMUNE DI NUORO PROGETTO PER LA REALIZZAZIONE DEL CIMITERO MULTIMEDIALE. Arch.Marco Cerina Ing.Enrico Dini

Mausoleo COMUNE DI NUORO PROGETTO PER LA REALIZZAZIONE DEL CIMITERO MULTIMEDIALE. Arch.Marco Cerina Ing.Enrico Dini COMUNE DI NUORO D O C U M E N T O D I S P E C I F I C A P E R I L P R O D O T T O Mausoleo PROGETTO PER LA REALIZZAZIONE DEL CIMITERO MULTIMEDIALE Arch.Marco Cerina Ing.Enrico Dini Descrizione introduttiva

Dettagli

Introduzione a Windows XP Professional Installazione di Windows XP Professional Configurazione e gestione di account utente

Introduzione a Windows XP Professional Installazione di Windows XP Professional Configurazione e gestione di account utente Programma Introduzione a Windows XP Professional Esplorazione delle nuove funzionalità e dei miglioramenti Risoluzione dei problemi mediante Guida in linea e supporto tecnico Gruppi di lavoro e domini

Dettagli

CONTENT MANAGMENT SYSTEMS

CONTENT MANAGMENT SYSTEMS CONTENT MANAGMENT SYSTEMS ESTRATTO DA: Ileana D'Incecco, Progettare la comunicazione web per organizzazioni non-profit con strumenti open source: ideazione e realizzazione del sito web della Casa delle

Dettagli

Il World Wide Web. Il Servizio World Wide Web (WWW) WWW WWW WWW WWW. Storia WWW: obbiettivi WWW: tecnologie Le Applicazioni Scenari Futuri.

Il World Wide Web. Il Servizio World Wide Web (WWW) WWW WWW WWW WWW. Storia WWW: obbiettivi WWW: tecnologie Le Applicazioni Scenari Futuri. Il Servizio World Wide Web () Corso di Informatica Generale (Roberto BASILI) Teramo, 20 Gennaio, 2000 Il World Wide Web Storia : obbiettivi : tecnologie Le Applicazioni Scenari Futuri La Storia (1990)

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

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)

Dettagli

CAPITOLO 1 I SISTEMI OPERATIVI

CAPITOLO 1 I SISTEMI OPERATIVI CAPITOLO 1 I SISTEMI OPERATIVI Introduzione ai sistemi operativi pag. 3 La shell pag. 3 Tipi di sistemi operativi pag. 4 I servizi del sistema operativo pag. 4 La gestione dei file e il file system Il

Dettagli

Corso basi di dati Introduzione alle ASP

Corso basi di dati Introduzione alle ASP Corso basi di dati Introduzione alle ASP Gianluca Di Tomassi Email: ditomass@dia.uniroma3.it Università di Roma Tre Web statico e Web interattivo In principio il Web era una semplice collezione di pagine

Dettagli

Tecnologie Informatiche. service. Sicurezza aziendale Servizi Internet e Groupware

Tecnologie Informatiche. service. Sicurezza aziendale Servizi Internet e Groupware Tecnologie Informatiche service Sicurezza aziendale Servizi Internet e Groupware Neth Service è un sistema veloce, affidabile e potente per risolvere ogni necessità di comunicazione. Collega la rete Aziendale

Dettagli

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione La Rete Internet Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Che cos è Internet? Il punto

Dettagli

Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa

Oreste Signore, <oreste@w3.org> Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa http://www.w3c.it/education/2012/upra/basicinternet/#(1) 1 of 16 Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa Master in Comunicazione

Dettagli

Corso Web programming

Corso Web programming Corso Web programming Modulo T3 A1 Modelli di programmazione 1 Prerequisiti Concetto di rete Processi e thread Concetti generali sui database 2 1 Introduzione Un particolare ambito della programmazione

Dettagli

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono

Dettagli