LE RETI INFORMATICHE 1 INTRODUZIONE ............................................................................................................................ 1 2 I MEZZI TRASMISSIVI.................................................................................................................... 4 2.1 DOPPINO TELEFONICO....................................................................................................... 4 2.2 FIBRA OTTICA........................................................................................................................ 4 2.3 COMUNICAZIONI VIA ETERE...............................................................................................5 3 RETI LOCALI E GEOGRAFICHE................................................................................................... 6 3.1 RETI LOCALI..........................................................................................................................6 3.2 RETI GEOGRAFICHE............................................................................................................ 8 4 L’ARCHITETTURA TCP/IP............................................................................................................. 9 4.1 IP (INTERNET PROTOCOL)................................................................................................. 9 4.2 TCP E UDP.......................................................................................................................... 10 4.3 LE APPLICAZIONI UTENTE................................................................................................ 10 4.3.1 Domain Name Server (DNS)........................................................................................ 11 4.3.2 LA Posta Elettronica..................................................................................................... 11 4.3.3 Accesso Remoto alle interfacce Utente .......................................................................12 4.3.4 L`architettura WWW..................................................................................................... 12 5 LA SICUREZZA DELLE RETI INFORMATICHE.......................................................................... 13 5.1 IL PROBLEMA DELLA SICUREZZA.................................................................................... 13 5.2 PROTEZIONE DEI SISTEMI TRAMITE PASSWORD.........................................................14 5.3 VULNERABILITA' DEI PROGRAMMI E FIREWALL............................................................14 5.4 WORM E VIRUS.................................................................................................................. 15 5.5 CRITTOGRAFIA...................................................................................................................16 1 INTRODUZIONE Le reti informatiche sono infrastrutture di collegamento che interconnettono diversi calcolatori permettendo l'attivazione di canali fisici o virtuali uno a uno (o uno a tanti) , sulla base delle richieste. Le applicazioni di rete che possiamo realizzare possono essere classificate in vari modi, come, ad esempio: • Comunicazioni User-to-user: posta elettronica, servizi multimediali audioconferenza, videoconferenza, Voip • Comunicazioni User-to-Host: Accesso a risorse remote quali sistemi di calcolo (emulatori di terminali), periferiche (stampanti, dischi, scanner, ecc), file repository (file server, web server, ..) • Comunicazioni Host-to-host:: File system distribuiti, calcolo ditribuito, sistemi operativi distribuiiti. 1 Le Reti Informatiche [email protected] Ultima modifica 17/9/2006 Ciascuna di queste applicazioni possiede determinati requisiti di comunicazione (velocità, affidabilità, priorità, ecc) e quindi le possibili applicazioni dipendono dalle caratteristiche della rete di cui si dispone. Ad esempio il trasferimento di file, la posta elettronica e la condivisione di stampanti possono funzionare anche su reti a bassa velocità, purché vi sia la garanzia del corretto trasferimento delle informazioni. Le comunicazioni multimediali in tempo reale (streaming audio e video) richiedono una maggiore velocità e continuità del tasso di trasferimento (bit-rate), ma ammettono una (limitata) perdita di dati. Parametri importanti della comunicazione sono: • Velocità: è l'ampiezza del canale e si misura in bit/sec • Latenza: è il tempo per trasferire un bit da un terminale all'altro. • Jitter: stabilità della latenza • Throughput: Quantita’ trasferita / tempo di trasferimento • Affidabilità: percentuale di bit persi nel trasferimento • Sicurezza: Garanzia di integrità, riservatezza e identità L'infrastruttura di rete si compone di nodi terminali e di nodi di transito che hanno il compito di formare i circuiti tra i nodi terminali con le caratteristiche richieste dall'applicazione. I nodi sono interconnessi fisicamente tra loro mediante canali di comunicazione Esistono 2 tecniche principali per realizzare una infrastruttura di questo tipo: a commutazione di circuito e a commutazione di pacchetto. Una infrastruttura a commutazione di circuito esiste da parecchi anni per la telefonia: è la PSTN (Public Switched Telephone Network). I circuiti tra i terminali (telefoni) sono realizzati fisicamente mediante nodi di transito denominati “commutatori di circuito” i quali su richiesta creano un circuito fisico temporaneo. Questa tecnica è adatta per le telefonate in cui un circuito è utilizzato per parecchi secondi o minuti, ma non è adatta per i calcolatori che possono scambiarsi anche brevi 2 Le Reti Informatiche [email protected] Ultima modifica 17/9/2006 messaggi (di pochi millisecondi). In questo caso è più adatta la commutazione di pacchetto: qualunque messaggio da trasferire vine frazionato in “pacchetti” di lunghezza limitata che vengono trasferiti indipendentemente attraverso i nodi di transito (commutatori di pacchetto) formando in questo modo un circuito virtuale. Sarà compito del nodo terminale la scomposizione e ricomposizione dei dati originali, attraverso un opportuno stato software. I commutatori di pacchetto (router) sono necessari per interconnettere reti locali o singoli Host mediante canali punto-punto che possono essere di pochi metri o di migliaia di Chilometri. , formando reti Geografiche (WAN). I Router hanno quindi il compito di commutare i pacchetti “instradandoli” verso il terminale di destinazione finale. PROTOCOLLI DI RETE Per far funzionare una infrastruttura di rete è necessario che tutti i nodi (terminali e di transito) siano provvisti di opportuni protocolli software. Le prime reti di calcolatori vennero create negli anni 70-80 grazie a protocolli di rete sviluppati dai principali costruttori di calcolatori dell'epoca: IBM incluse nel sistema operativo dei propri MainFrame un protocollo di rete che chiamarono SNA. Nacque così la rete Bitnet di calcolatoti IBM con protocollo SNA. Pochi anni dopo la DEC (Digital Eq. Corp.) , che era il principale concorrente di IBM, doto' i propri sistemi del protocollo DECnet che venne utilizzato per realizzare la rete internazionale HEPnet (per scopi Scientifici). Due calcolatori appartenenti a rete diverse, anche se fisicamente connessi, non erano in grado di colloquiare tra loro. Era evidente la necessità di un protocollo comune. A partire dal 1976 la ISO (International Standard Organization) iniziò a lavorare su un protocollo standard internazionale. Nel 1983 venne rilasciato OSI (Open System Interconnect) che proponeva un modello composto da 7 livelli (dal livello fisico al livello utente), in cui ogni problematica era confinata all'interno di uno strato. Contemporaneamente, il Dipartimento della Difesa USA stava progettando una nuova rete (ARPAnet) per interconnettere risorse di calcolo eterogenee di alcune Università Americane. Nacque da questo progetto il protocollo TCP/IP, realizzato a stati, sul modello ISO/OSI, ma con un numero di livelli inferiore: Link, Network, Transport e Application. Nel 1986 la National Science Foundation (NSF) adottò il protocollo TCP/IP per creare la rete della Ricerca Scientifica Americana che in seguito si espanse a livello mondiale con il nome di Internet. I livelli previsti da TCP/IP sono: Link. A questo livello viene affrontato il problema della comunicazione tra terminali ad accesso 3 Le Reti Informatiche [email protected] Ultima modifica 17/9/2006 diretto (Reti Geografiche e LAN). Network: E' il protocollo che si occupa dell'internetworking tra reti ad accesso diretto, mediante l'instradamento dei pacchetti tra Router. Transport: Fornisce una interfaccia di programmazione per il livello applicazione; scompone e ricompone i dati delle applicazioni in pacchetti. Application: E' il servizio effettivamente svolto per l'utente. 2 I MEZZI TRASMISSIVI Il mezzo trasmissivo e` il supporto fisico utilizzato per il trasferimento delle informazioni. I mezzi trasmissivi si dividono in tre categorie: Elettrici, Ottici e Wireless. Da leggere: http://en.wikipedia.org/wiki/Transmission_medium Fanno parte della prima i doppini telefonici e il cavo coassiale, mentre la seconda comprende la fibra ottica. La terza categoria comprende ponti radio, satelliti e, genericamente, tutte le trasmissioni via etere. Le caratteristiche utili per un mezzo trasmissivo sono: • La larghezza della banda trasmissibile (maggiori sono le frequenze che possono attraversare il mezzo maggiore e` il numero di bit/s che possiamo ottenere) • L’attenuazione (caduta del segnale in funzione della distanza e della frequenza trasmessa) • Immunità da disturbi elettromagnetici (da ambiente esterno o da mezzi trasmissivi paralleli) • Costo • Praticità nella posa e nella connettorizzazione (terminazione del mezzo trasmissivo). 2.1 DOPPINO TELEFONICO Il doppino (Twisted Pair) consiste in una coppia di fili di rame, isolati singolarmente, ritorti tra di loro, in modo da formare una treccia. Viene chiamato doppino telefonico perché e` stato installato originariamente per collegare le case alle centrali telefoniche. Oggi si costruiscono doppini facendo molta attenzione ad inguainare e a binare i due fili in modo il più possibile uniforme, in modo da avere disturbi e.m. simmetrici e quindi facilmente eliminabili; la maggiore qualità del cavo consente una maggior larghezza di banda. Per aiutare nella scelta del doppino esistono diverse categorie, ognuna delle quali comprende le caratteristiche delle categorie inferiori. Categoria 1 Categoria 2 Categoria 3 Categoria 4 Categoria 5 installati nelle case fino a qualche anno fa per la telefonia attualmente installati nelle case per telefonia, ISDN, ADSL cavi per TD per reti LAN fino a 10 Mbit/s (in disuso) cavi per TD per reti LAN fino a 20 Mbit/s (in disuso) cavi per TD per reti LAN fino a 100 Mbit/s - utilizzati nel cablaggio strutturato per le LAN (vedi piu’ avanti) Con la migliore qualità di doppino (cat. 5) la larghezza di banda e’ di circa 3MHz e la massima distanza raggiungibile e’ di 100 mt a 1Gb/s o 5Km a 1Mb/s per canali punto-punto.. 2.2 FIBRA OTTICA Su tratta di fibra di vetro che trasporta impulsi di luce. Ogni impulso è un bit. Si usano generalmente a coppie per avere canali punto-punto full-duplex. E' il materiale del futuro poiché presenta notevoli vantaggi: • la totale immunità dai disturbi e.m. (non è infatti costituita da materiale conduttore). 4 Le Reti Informatiche [email protected] Ultima modifica 17/9/2006 • • • larga banda di utilizzo (si usa per Trasmissioni di decine di Gb/sec) bassa attenuazione. dimensioni ridotte e costi contenuti. • L'unico svantaggio è nella terminazione dei cavi: la connettorizzazione e l'elettronica di controllo ha un costo che è ancora svantaggioso rispetto ai cavi in rame. Un cavo in fibra ottica è costituito dal core, dal cladding, da un rivestimento primario e dalla guaina protettiva; il core è il nucleo, il cladding è il mantello. Hanno due indici di rifrazione diversi, il primo è maggiore del secondo, affinché la luce rimanga confinata all'interno del core. La fisica delle fibre ottiche è l'ottica geometrica. Molto importante è l'angolo rispetto l'asse del cavo con cui i raggi luminosi vengono indirizzati all'interno del core. Esiste infatti un angolo massimo di incidenza , detto angolo critico, al di sotto del quale i raggi vengono totalmente riflessi dal cladding e rimangono, quindi, all'interno del core. Queste caratteristiche rendono la fibra ottica ideale per connessioni WAN (larga banda, bassa attenuazione, immunità da disturbi). La banda passante e’ di qualche GHz, mentre la massima distanza raggiungibile e’ di alcune centinaia di Km. Nei fondali sottomarini sono posati parecchie decine di migliaia di Km di cavi in fibra utilizzati per i sistemi telefonici e per trasmissione dati. Per le connessioni LAN non e` molto utilizzata a causa dell'alto costo di connettorizzazione (inserire ed estrarre il segnale agli estremi di un cavo). In figura è visibile una coppia di cavi con connettore ti tipo ST. 2.3 COMUNICAZIONI VIA ETERE I segnali vengono trasmessi mediante antenne di trasmissione e antenne di ricezione. Le antenne possono essere direzionali (comunicazione tra 2 antenne allineate denominata Ponte-Radio) o non direzionali (una trasmissione puo’ essere ricevuta da piu’ antenne). Le frequenze utilizzate sono classificabili in 3 categorie: • Da 30 MHz a 2 GHz: trasmissioni non direzionali (multiaccesso) entro pochi Km, utilizzate per LAN Wireless oltre che per i telefoni cellulari (i cellulari GMS utilizzano frequenze da 900 a 1800 MHz, mentre UTMS utilizza 2GHz). • Da 2 GHz a 40 GHz (microonde) ideale per le comunicazioni direzionali (ponti-radio) e per le comunicazioni via satellite. • Da 300 GHz a 200 THz (Infrarossi) per applicazioni locali (pochi metri) in cui trasmettitore e ricevitore devono essere a visibilità ottica. 5 Le Reti Informatiche [email protected] Ultima modifica 17/9/2006 3 RETI LOCALI E GEOGRAFICHE I canali di comunicazione per reti a commutazione di pacchetto sono seriali (trasferiscono 1 bit per volta) e possono essere punto-punto e multiaccesso. Nel canale punto-punto la comunicazione avviene tra due multiaccesso lo stesso canale puo' essere utilizzato da piu' nodi; canale tutti gli altri ricevono, ma solo il destinatario (specificato dal canale. Inoltre un canale si dice full-duplex se la comunicazione tra 2 nodi direzioni contemporaneamente; altrimenti e' detto half-duplex. nodi. Nella comunicazione quando un nodo scrive sul mittente) preleverà i dati dal può avvenire in entrambe le Un canale Multiaccesso consente di realizzare una rete di calcolatori particolare, priva di commutatori, denominata Rete Locale (LAN) in cui ogni terminale ha accesso diretto a tutti gli altri. La LAN viene utilizzata per realizzare reti a corto raggio, tipicamente all'interno di un edificio. 3.1 RETI LOCALI La tecnologia che attualmente copre la quasi totalità di reti LAN al mondo e denominata "Ethernet" (tecnicamente IEEE802.3). Si basa sulla caratteristica multiaccesso di alcuni canali trasmissivi per cui ogni nodo terminale della Rete Locale ha accesso diretto a tutti gli altri. Ogni terminale possiede un indirizzo e la comunicazione avviene per pacchetti di dati di lunghezza massima di 1500 Byte con una intestazione in cui è specificato l'indirizzo del destinatario e del mittente (comunicazione Unicast). Un indirizzo speciale di destinazione consente di indirizzare un pacchetto a tutti i terminali della rete locale (comunicazione Broadcast). 6 Le Reti Informatiche [email protected] Ultima modifica 17/9/2006 Inizialmente (anni 80) il mezzo trasmissivo multiaccesso utilizzato da Ethernet era il cavo coassiale. In seguito (anni 90) con l'introduzione di Ethenet Repeater (HUB) è stato possibile utilizzare una topologia a stella (di più facile gestione). I pacchetti ricevuti su di una porta dell'HUB vengono rispediti su tutte le altre porte; questo consente l'utilizzo di mezzi trasmissivi punto-punto. Verso la metà degli anni 90 si diffusero speciali apparati di rete, detti Switch, che installati al posto degli HUB erano in grado di riconoscere la porta di destinazione dei pacchetti (mediante tabelle interne create automaticamente) e quindi indirizzare i pacchetti solo verso la destinazione finale. Questo introdusse 2 vantaggi evidenti. Maggiore velocità: più pacchetti possono attraversare contemporaneamente lo Switch Maggiore sicurezza: ogni terminale non riceve i pacchetti che non gli sono destinati. Nel giro di pochi anni gli edifici furono ricablati sostituendo i vecchi cavi coassiali, con un cablaggio di nuova concezione, denominato Cablaggio Strutturato, che prevede una topologia in cui ogni piano è cablato a stella con doppini telefonici di categoria 5, in cavi da 4 coppie, che convergono nei cosiddetti “armadi di piano”. Gli armadi di piano sono interconnessi in modo gerarchico mediante dorsali fibra ottica (o doppino). Il cablaggio strutturato integra trasmissione Dati e Fonia. 7 Le Reti Informatiche [email protected] Ultima modifica 17/9/2006 La velocita` di comunicazione originariamente era di 10Mbit/s. Poi la tecnologia ha raggiunto i 100 Mbit/s e infine i 1000Mb/s (1Gb/s). Se il controller supporta piu` velocita` (esempio 10/100 Mb/s) si accorderà di volta in volta con la controparte sulla massima velocita` comune. Ethernet puo` viaggiare anche via etere (wireless). In questo caso la comunicazione è più lenta (11 o 54 Mbit/s, la tecnologia si chiama WI-FI 802.11), ma ha il vantaggio di non richiedere un cablaggio fisso. E` quindi adatta per computer portatili o per edifici in cui e’ difficoltoso realizzare il cablaggio strutturato. Ogni nodo della LAN (server, PC, apparato di rete..) deve possedere un opportuno controller Ethernet. Ogni controller ethernet possiede un proprio indirizzo univoco di 6 byte scritto in modo permanente sul controller dal costruttore denominato Mac Address (esempio: 00-01-02-1B-44-7F). Esercizio: Verificare il Mac Address (Physical Address) della scheda di rete del PC Windows2000 e XP: Aprire la shell DOS e digitare il comando ipconfig /all Win9x/Me : Start -> esegui -> Winipcfg Linux : Digitare /sbin/ifconfig 3.2 RETI GEOGRAFICHE Un altra categoria di comunicazioni ad accesso diretto riguarda le connessioni a lunga distanza (che non possono essere coperte da una LAN). Questi canali, utilizzati per interconnettere reti locali o singoli Host, vengono generalmente forniti dai “Provider di Telecomunicazione” poiché questi possiedono una estesa e capillare infrastruttura di canali di comunicazione punto-punto. Le principali tipologie di canali che possono essere utilizzati sono. CDN: Sono canali punto-punto fisici ottenuti destinando permanentemente un circuito ad un 8 Le Reti Informatiche [email protected] Ultima modifica 17/9/2006 utente. ATM: Sono canali punto-punto virtuali ricavati dalla infrastruttura a commutazione a pacchetto (ATM) che recentemente è stata introdotta dai provider per la Telefonia. ADSL: è un canale per dati ricavato dal canale su doppino per la fonia che abbiamo in casa. Anche in questo caso il protocollo data-link si occupa di trasportare pacchetti tra i 2 nodi del canale, ma il protocollo è più semplice poiché non esiste il problema dell'indirizzamento e della contesa del canale multiaccesso. HDLC e PPP sono i 2 protocolli più utilizzati per canali Geografici 4 L’ARCHITETTURA TCP/IP Le reti locali e geografiche forniscono una connettivita` diretta (tra i nodi della rete locale, o tra gli estremi di una connessione geografica) a livello di pacchetti. Per fornire un servizio omogeneo e ad alto livello di astrazione alle applicazioni di utente occorre uno stato di software di rete intermedio. Sicuramente il piu` diffuso e` TPC/IP a causa della sua adozione per la realizzazione della rete mondiale (Internet). Da leggere: http://it.wikipedia.org/wiki/Internet TCP/IP si pone sopra al livello data-link aggiungendo 3 nuovi livelli: o Il livello "rete" con il protocollo IP o Il livello "Trasporto" con i protocolli TCP e UDP. o Il livello “applicazione” con vari protocolli applicativi 4.1 IP (INTERNET PROTOCOL) Da` il nome ad Internet. E` il protocollo che si occupa di dare una numerazione uniforme a tutti gli oggetti che vogliono comunicare in rete (PC, server, stampanti, apparati di rete .. ) e si occupa del meccanismo di instradamento. Ad ogni elemento della rete IP viene assegnato un numero univoco di 4 Byte, rappresentato mediante 4 numeri decimali separati da punto. Esempio 172.28.33.2 Questo numero e` composto da 2 parti: la prima parte e` il numero di network, la seconda e` il numero di host. Esempio: 172.28 e` il numero di network, mentre 33.2 e` il numero di host. La distinzione network/host server per l’instradamento: se il destinatario ed il mittente hanno lo stesso numero di network significa che non e` necessario l’instradamento (ad esempio perchè i 2 host sono sulla stessa LAN). Se invece i numeri di Network sono differenti allora il pacchetto deve essere affidato ad un router (detto anche gateway) per l’instradamento. 9 Le Reti Informatiche [email protected] Ultima modifica 17/9/2006 Configurazione del PC: In ogni PC dovranno essere configurati i seguenti dati: Indirizzo IP. Numero univoco e compatibile con la rete (LAN o WAN) a cui e` connesso. Netmask. Numero di 4 Byte che separa la parte Network dalla parte host. Gli 1 identificano la parte Network, mentre gli 0 identificano la parte host. Se ad esempio scriviamo NetMask= 255.255.255.0 intendiamo 24 bit a 1 seguiti da 8 bit a 0, quindi i primi 3 byte saranno Network, mentre l`ultimo byte e` la parte Host. Default Gateway. Indirizzo utilizzato come destinatario locale a cui affidare i pacchetti indirizzati a altre Network. DNS Server: Server di riferimento per la traduzione Nome->NumeroIP (esempio galileo.fis.unipr.it -> 192.135.11.1). Questi 4 dati possono essere impostati manualmente oppure possono essere forniti automaticamente al PC attraverso nel momento in cui si accede ala rete. Per avere questo servizio e` necessaria la presenza in rete di un opportuno server denominato “DHCP server” che ha in gestione un insieme di numeri IP che assegna ai PC che ne fanno richiesta. Il server DHCP puo' attribuire ad ogni PC un indirizzo statico o dinamico. Indirizzo statico: ad ogni richiesta il PC riceve sempre lo stesso indirizzo Indirizzo dinamico: il PC riceve in “Affitto” (lease) uno tra gli indirizzo disponibili al momento della richiesta. Alla fine dell'utilizzo l'indirizzo verra' ritirato ed assegnato ad altri PC. 4.2 TCP E UDP Sono protocolli che forniscono al livello dell’applicazione utente le 2 principali tipologie di servizi per la rete: Connection Oriented (TCP) e Connection Less (UDP). Il servizio "Connection Oriented" del TCP puo` essere paragonato al telefono: il chiamante manda al destinatario una richiesta di attivazione di un circuito per la comunicazione; se il chiamato accetta il circuito viene attivato e rimane attivato fino a quando uno dei due non chiede l’abbattimento del circuito. Per ogni pacchetto spedito sul canale il destinatario dovra` spedire un pacchetto di conferma nella direzione opposta. Questo rende molto affidabile la comunicazione, anche se introduce un traffico aggiuntivo sulla rete. Il servizio "Connection Less" del UDP puo` essere paragonato alla lettera postale: il mittente invia un singolo messaggio (pacchetto) al destinatario senza accordo preventivo e non avra` modo di sapere se il messaggio e` stato ricevuto se non attraverso un secondo messaggio (UDP) inviato nella direzione opposta. Il servizio UDP viene scelto quando e` necessario inviare comunicazioni brevi e veloci; non c'e' la necessita` di un accordo tra le parti, ma non c'e` nemmeno garanzia di consegna. Il servizio TCP viene scelto quando la comunicazione puo` essere piu` articolata e richiede garanzia di ricezione. Tutti le principali applicazioni utente (tranne DNS) utilizzano TCP. Dal momento che un elaboratore in rete puo` avere piu` connessioni attive contemporaneamente (UDP o TCP), ogni connessione su di un elaboratore verra` contraddistinta da un numero detto "Porta". Esempio: (192.135.11.1, 1154/TCP) -> (172.28.33.2, 80/TCP) Questo e` un esempio dell’identificativo di una connessione TCP tra la porta 1154 del nodo 192.135.11.1 e la porta 80 del nodo 172.28.33.2 4.3 LE APPLICAZIONI UTENTE Le principali applicazioni in Internet sono di tipo Client-Server. Il server e` un calcolatore che fornisce un servizio su cui gira continuamente un programma in ascolto su di una porta TCP o UDP. 10 Le Reti Informatiche [email protected] Ultima modifica 17/9/2006 Uno o piu` calcolatori denominati client (anche contemporaneamente) possono contattare il server per accedere al servizio. Il dialogo tipico consiste nell'invio di una richiesta e nella attesa della risposta. Quando si desidera costruire una nuova applicazione di rete occorre innanzitutto stabilire (in base al tipo di servizio) se utilizzare TCP o UDP. Quindi occorre individuare un numero di porta per il programma server a cui dovranno connettersi i client. Infine occorre stabilire un "linguaggio" (o protocollo) comune per la comunicazione tra client e server. Tutte le principali applicazioni di rete hanno un numero di porta stabilito universalmente da un Organismo internazionale denominato IANA (vedi http://it.wikipedia.org/wiki/Porte_note). La porta del client invece viene assegnata dinamicamente e puo` cambiare ad ogni connessione. 4.3.1 Domain Name Server (DNS) Da leggere: http://it.wikipedia.org/wiki/DNS L'utente della rete puo' riferirsi alle stazioni remote utilizzando il loro numero tcp/ip, ma ben presto ci si rende conto che chiamare una stazione per nome e' piu' semplice! Per questo motivo ad ogni numero tcp/ip puo' essere associato un nome mnemonico come ad esempio galileo.fis.unipr.it. Il nome completo e` composto da un nome dell`host + un nome di dominio che e` comune a tutti gli host appartenenti allo stesso dominio organizzativo. Nell'esempio di prima "galileo" e` il nome dell`host, mentre "fis.unipr.it" e` il nome del dominio che in questo caso rappresenta il Dipartimento di Fisica (Generalmente il dominio coincide con la rete locale IP, ma esistono casi in cui le 2 cose non coincidono). Ogni nodo della rete possiede un nome a cui possiamo associare uno o piu' "alias" ovvero altri nomi per riferirsi alla stessa macchina. Ad esempio www.fis.unipr.it e' una alias di galileo.fis.unipr.it ; in questo modo il servizio www puo' essere spostato su di un calcolatore diverso senza cambiare il nome della macchina, semplicemente ridefinendo l'alias. Per ogni dominio deve esistere un server denominato DNS che ha il compito di gestire le traduzioni nome/numero e numero/nome per gli host del dominio. Il servizio DNS e` una delle poche applicazioni ad utilizzare UDP. La porta utilizzata e` la 53/UDP I client invieranno un pacchetto al server contenente la richiesta; il server rispondera` con un pacchetto contenente la risposta. Ogni programma client che utilizza la rete mediante nomi (Firefox, Thunderbird, ecc) conterrà un piccolo client DNS per la traduzione del nome da utilizzare prima di realizzare la connessione al proprio server. I DNS server per i domini in unipr.it Ogni PC dovra` quindi contenere l’informazione riguardo il server DNS del proprio dominio. Se questa informazione non e` impostata il PC potra` utilizzare la rete riferendosi ai server per numero e non per nome (esempio http://192.135.11.1/ ) 4.3.2 LA Posta Elettronica Da leggere:http://it.wikipedia.org/wiki/E-mail La posta elettronica e' uno degli applicativi piu' diffusi in Internet. Il protocollo utilizzato per lo scambio dei messaggi e' detto SMTP (Simple Mail Trasfer Protocol); la porta assegnata per il server SMTP e' la 25/TCP. Il programma server SMTP quando riceve un messaggio lo deposita nella casella del destinatario (MAILBOX). 11 Le Reti Informatiche [email protected] Ultima modifica 17/9/2006 Per leggere il messaggio il destinatario puo' utilizzare il calcolatore stesso su cui risiede la Mailbox oppure utilizzare un calcolatore diverso. Per accedere alla Mailbox in modo remoto esistono 2 ulteriori protocolli di rete (alternativi): POP (110/TCP) e IMAP (143/TCP). I client di posta elettronica (Thunderbird, pine, ...) sono dotati di un client POP e/o di un client IMAP. La scelta tra POP e IMAP dipende dal modo con cui si intendono organizzare i messaggi ricevuti: con POP il client si connette al server quindi trasferisce localmente tutti i nuovi messaggi; utilizzando IMAP i messaggi vengono gestiti in modo remoto sul server. I client di posta elettronica utilizzano il server SMTP anche per la spedizione: i messaggi in uscita vengono affidati al server SMTP locale , il quale si occupera' di contattare il server SMTP del destinatario. In questo caso il server SMTP funge da "proxy", ovvero spedisce il messaggio al destinatario "per conto" di un altro calcolatore. 4.3.3 Accesso Remoto alle interfacce Utente Accesso remoto “a linea di comando” L'interazione con il calcolatore "a linea di comando" (SHELL). tipica dei sistemi Unix, puo' avvenire anche a distanza mediante un opportuno applicativo client-server. Il login remoto consente quindi di utilizzare tastiera e monitor del client per interagire con il sistema operativo del server. Il protocollo piu' diffuso in Internet per il login remoto e' telnet. telnet fa parte degli applicativi "storici" di internet (assieme a smtp e ftp). Il programma server utilizza la porta 23/TCP. Tutti i comandi digitati dal client (compresa la password per l'identificazione dell'utente) viaggiano "in chiaro" sulla rete, mettendo a repentaglio la sicurezza e la riservatezza. Per superare questo problema si e' affermato in questi ultimi anni un nuovo programma per il login remoto in cui la comunicazione avviene in modo cifrato, denominato SSH (Secure SHell). SSH server utilizza la porta 22/TCP. Accesso remoto mediante interfacce grafiche (GUI) Esistono diversi programmi per accedere in modo remoto alle interfacce grafiche. In ambiente Unix la costruzione delle interfacce grafiche avviene mediante un protocollo denominato X protocol il quale consente di separare su diversi calcolatori la parte applicativa e la sua interfaccia grafica. Il ambiente Windows esistono applicazioni client-server che consentono il controllo remoto del desktop. Alcuni esempi: • PC_anywhere (commerciale) - Server Win (porta 5631) - Client Win • VNC (open software) - Server Win/Linux (port 5900) - Client Win/Linux • Terminal service (incluso in Win2000 server) - Server Win2000 (port 3389) - Client Win/Linux (vedi www.rdesktop.org) 4.3.4 L`architettura WWW Da leggere: http://it.wikipedia.org/wiki/World_Wide_Web Il WWW ha una storia relativamente recente: nasce nel 1990 nel mondo della Fisica per mano di Tim Barners Lee presso il CERN di Ginevra. Lo scopo era di realizzare una architettura di documenti multimediali ipertestuali distribuiti nella 12 Le Reti Informatiche [email protected] Ultima modifica 17/9/2006 rete Internet. Per questo e' stato creato il nuovo protocollo HTTP in cui il server (porta 80/TCP) gestisce e distribuisce i documenti a opportuni client (browser) capaci di connettersi al server , scaricare il documento e riprodurlo in forma multimediale/ipertestuale. Ogni documento e' identificato mediante un URL (Uniform Resource Locator) del tipo: schema://host.domain/path Lo schema e' il protocollo usato; principalmente e' HTTP Esempio: http://www.fis.unipr.it/home/alfieri/index.html HTMLe' il linguaggio attraverso il quale possiamo costruire documenti multimediali ipertestuali. I client browser sono usualmente in grado di connettersi anche ad altri server quali ad esempio i server ftp anonimi: Esempio: ftp://ftp.fis.unipr.it/ Il PROXY Web / FTP e' un server che non contiene propri documenti ma si connette a server WWW e FTP per conto di client browser. I client browser affidano al proxy la richiesta con lo scopo di aumentare la velocità di accesso o semplicemente perche' il client non e' in grado di connettersi direttamente. I proxy quando accedono ad un documento, prima di passarlo al destinatario ne fanno una copia su di un disco locale (caching) in modo che successive richieste troveranno il documento direttamente sul proxy server. (vedi http://www.cce.unipr.it/proxy/proxy.htm e verifica le impostazioni proxy del tuo web browser) 5 LA SICUREZZA DELLE RETI INFORMATICHE 5.1 IL PROBLEMA DELLA SICUREZZA I problemi di sicurezza nei della sicurezza nei calcolatori si possono classificare come intenzionali (abusi) o accidentali. Gli abusi più frequenti sono: • lettura/alterazione/distruzione non autorizzata di dati • accesso non autorizzato a programmi e servizi • impedimento del legittimo uso del sistema (DoS - Denial of Service) La realizzazione di un sistema che garantisca una assoluta protezione da abusi e` impossibile, ma e` possibile attivare meccanismi di sicurezza tali da scoraggiarne i tentativi. La politica di sicurezza 13 Le Reti Informatiche [email protected] Ultima modifica 17/9/2006 e` quindi un compromesso, dettato dalle proprie necessita`, tra il costo per attivarla ed il beneficio ottenuto in termini di dissuasione. 5.2 PROTEZIONE DEI SISTEMI TRAMITE PASSWORD La tecnica principale di protezione dei sistemi di calcolo consiste nell'autenticazione degli utenti e conseguentemente, nell'applicazione di politiche di autorizzazione nell'accesso alle risorse. Il metodo di autenticazione piu` comunemente utilizzato (in modo locale o attraverso la rete) e` la password. La password consiste in un segreto (una sequenza di caratteri) condiviso tra utente e sistema. I sistemi di calcolo gestiscono un file che contiene la lista degli utenti riconosciuti con le relative password. L'accesso non autorizzato a questo file permetterebbe di violare le password di tutti gli utenti registrati; per questo motivo le password vengono generalmente registrate in modo cifrato. Il limite del meccanismo di autenticazione tramite password e` dato dalla sua vulnerabilità • Password troppo semplici. La vulnerabilità maggiore e` dovuta alla scelta di una password troppo semplice e quindi facile da indovinare. Esistono programmi che provano automaticamente ad indovinare la password basandosi sui dati personali e su dizionari. • Password sniffing. Se l'accesso avviene tramite la rete e` possibile catturare la password installando un opportuno programma (sniffer) su di un calcolatore posto tra l'utente ed il servizio. Da leggere: http://en.wikipedia.org/wiki/Password 5.3 VULNERABILITA' DEI PROGRAMMI E FIREWALL Uno dei maggiori problemi di sicurezza e` dovuto all'installazione di programmi che, per errore di programmazione (Bug) o in modo voluto (Trap-Door), in certe situazioni consentono di aggirare i meccanismi di sicurezza previsti. Questo problema e` particolarmente grave se il programma in questione e` un servizio di rete: la notizia relativa ad un problema su di un determinato servizio si diffonde rapidamente in internet assieme ai programmi necessari per violare i sistemi coinvolti. Capita frequentemente che installando un sistema Windows o Linux viene attivato un servizio di rete violabile, esponendo inconsapevolmente il sistema ad accessi non autorizzati. Generalmente i produttori di software forniscono rapidamente la versione corretta dal programma, ma in molti casi questa non viene installata o viene installata quando oramai il sistema e` compromesso. Il Firewall e` una tecnica molto diffusa per proteggere un intera LAN o un singolo calcolatore (Personal Firewall) da attacchi ai servizi di rete. Il firewall ha il compito di “filtrare” gli ingressi provenienti da internet permettendo l'accesso solamente a determinati servizi di cui, in qualche modo, si e` verificata l'affidabilità. 14 Le Reti Informatiche [email protected] Ultima modifica 17/9/2006 5.4 WORM E VIRUS Esistono alcuni tipi di Bug sui servizi di rete che consentono da remoto l`installazione di un programma e la sua esecuzione. Se il programma che viene installato va alla ricerca di altri sistemi vulnerabili su cui replicare se stesso, il programma e` denominato WORM. Un Worm e’ quindi un processo che sfrutta gli effetti della proliferazione per minare le prestazioni di piu` sistemi di calcolo. Come il worm il virus informatico è un frammento di software scritto e progettato per creare copie aggiuntive di se stesso e diffondersi da un sistema informatico ad un altro, senza la conoscenza o il permesso dell’utente. Mentre un worm e’ strutturato come un programma completo, un virus e’ un frammento di codice che si inserisce in un programma legittimo. Negli ultimi anni una forma comune di trasmissione dei virus e’ lo scambio di documenti Microsoft Office (Word, PowerPoint, Excel, Access). Questi documenti possono contenere Macro ovvero programmi scritti in Visual Basic che vengono eseguiti automaticamente quando il documento viene letto. Gli antivirus sono programmi che analizzano il contenuto di file potenzialmente infetti ricercando al loro interno sequenze note che l’antivirus mantiene in un archivio di impronte virali conosciute. Le eventuali sequenze virali riconosciute vengono rimosse dal file, disinfettandolo. Da leggere: http://it.wikipedia.org/wiki/Virus_%28informatica%29 Visto che attualmente in maggiore rischio proviene dalla posta elettronica esistono opportuni programmi (Scanner Antivirus) da installare sul server di posta con il compito di analizzare tutte le mail in transito ed eventualmente intervenire sulle mail infette. 15 Le Reti Informatiche [email protected] Ultima modifica 17/9/2006 5.5 CRITTOGRAFIA Da leggere: http://it.wikipedia.org/wiki/Crittografia La crittografia si applica nel trasferimento o nell’archiviazione di una informazione ed ha lo scopo di garantire alcuni requisiti di sicurezza quali: riservatezza: l'informazione durante il trasferimento (o quando e' archiviata) non puo' essere letta da terze parti. autenticazione: i partner della comunicazione possono provare la loro identita` in modo certo Integrità: l'informazione non puo` essere contraffatta durante il trasferimento La tecnica consiste nell’applicare un algoritmo che manipola l’informazione prima di essere inviata; l’algoritmo deve consentire al solo destinatario la possibilità di ricostruire il messaggio originale. Gli algoritmi moderni basano la propria sicurezza su di una chiave segreta: l’unico modo per decifrare il messaggio e` conoscere la chiave di cifratura. Esisto algoritmi che utilizzano la stessa chiave per cifrare e decifrare (algoritmi a chiave simmetrica) e algoritmi che utilizzano 2 chiavi diverse (algoritmi a chiave pubblica). Algoritmi a chiave simmetrica. • Algoritmi piu` utilizzati: DES, 3DES, IDEA. • Come funzionano: una delle 2 parti genera la chiave e invia all'altra parte la chiave e il nome dell'algoritmo scelto. Quindi inizia la comunicazione cifrata. • Vantaggi: elevata velocità di cifratura. • Svantaggi: la chiave di cifratura deve essere scambiata tra le 2 parti ed e` quindi intercettabile. 16 Le Reti Informatiche [email protected] Ultima modifica 17/9/2006 Algoritmi a chiave pubblica. • Algoritmi piu` utilizzati: RSA, DSS. • Come funzionano: ciascuno genera una propria coppia di chiavi; una delle 2 chiavi, denominata “pubblica” e` di dominio pubblico, mentre l’altra, denominata "privata" e` strettamente custodita dal proprietario. • Svantaggi: bassa velocità di cifratura. • Vantaggi: la chiave privata non deve essere comunicata e quindi non e` esposta ad intercettazione. • Possibili utilizzi: Cifratura della comunicazione e firma digitale (vedi figura). Algoritmi composti. - Nelle applicazioni reali (posta elettronica, Web, ssh, ecc) per la cifratura viene utilizzata una tecnica mista: la chiave pubblica si usa per scambiare in modo sicuro la chiave simmetrica, che poi viene utilizzata per la cifratura veloce (vedi figura). Message digest - Dato un messaggio di lunghezza indefinita, e` possibile mediante un opportuno algoritmo, estrarre una “impronta digitale” (digest) del messaggio, di lunghezza fissa e limitata (tipicamente 128 bit). Altre caratteristiche dei digest: e` improbabile che 2 messaggi diversi generino lo stesso digest; il digest non e` invertibile, ovvero dal digest non e possibile risalire al messaggio. Utilità principali: Verifica dell'integrità di un messaggio e Firma digitale. Gli algoritmi più utilizzati sono: MD5 (128 bit) e SHA-1 (160 bit). Certificati (X.509) Il meccanismo a chiave pubblica utilizzato per l'autenticazione (firma digitale) ha un punto di debolezza nel fatto che e` possibile creare una coppia di chiavi (pubblica e privata) a nome di una terza persona, per poi impersonarla abusivamente. Per superare questo problema e` stato introdotto il concetto di Certification Authority (CA). La CA e` una entità, riconosciuta da una comunità di utenti, in grado di fare da "garante" delle chiavi pubbliche. Per fare questo la CA firma (con la propria chiave privata) la chiave pubblica degli utenti generando il cosiddetto "certificato". Il certificato di un utente (o computer) e` quindi un file che contiene i dati identificativi della persona, compresa la sua chiave pubblica, il tutto firmato dalla CA. E` possibile verificare l'autenticità di un certificato mediante la chiave pubblica della CA. Esercizio: verifica dei certificati nel browser Firefox: Edit-> Preferenze -> Strumenti-> Privacy -> Certificati -> Gestione Certificati SSL Da leggere: http://it.wikipedia.org/wiki/Secure_Sockets_Layer E` un protocollo per implementare connessioni cifrate mediante algoritmi crittografici composti. Utilizza diversi algoritmi in chiave pubblica (RSA e DSS) associati ai certificati X.509 per l’autenticazione; Ia cifratura e` implementata mediante uno tra diversi algoritmi in chiave simmetrica (DES, 3DES, IDEA,..). Per i Digest può utilizzare MD5 o SHA-1. La maggior parte degli attuali protocolli in chiaro hanno realizzato o stanno realizzando la versione "sicura" mediante SSL. Alcuni esempi: • HTTPS e` la versione crittografata con SSL del protocollo HTTP (WEB) • POPS e IMAPS sono le versioni con SSL dei protocolli POP e IMAP • SMIME e` la versione sicura del protocollo MIME (per la codifica dei file allegati nella posta elettronica): con SMIME gli allegati possono essere cifrati e/o firmati. 17 Le Reti Informatiche [email protected] Ultima modifica 17/9/2006