LE RETI INFORMATICHE 1 INTRODUZIONE ........................................................................................................................... 1 2 I MEZZI TRASMISSIVI ED IL CABLAGGIO.................................................................................. 3 2.1 DOPPINO TELEFONICO....................................................................................................... 3 2.2 FIBRA OTTICA....................................................................................................................... 4 2.3 COMUNICAZIONI VIA ETERE...............................................................................................4 2.4 CANALI TRASMISSIVI E TOPOLOGIE................................................................................. 5 2.5 CABLAGGIO STRUTTURATO.............................................................................................. 5 3 RETI LOCALI (LAN)....................................................................................................................... 6 3.1 ETHERNET............................................................................................................................ 6 4 RETI GEOGRAFICHE (WAN)....................................................................................................... 7 4.1 CONNESSIONI PERMANENTI.............................................................................................. 7 4.2 CONNESSIONI A COMMUTAZIONE DI CIRCUITO ............................................................ 7 5 L’ARCHITETTURA TCP/IP............................................................................................................ 8 5.1 IP (INTERNET PROTOCOL)................................................................................................. 8 5.2 TCP E UDP............................................................................................................................ 9 5.3 ARCHITETTURA CLIENT-SERVER E PEER-TO-PEER...................................................... 9 5.4 LE APPLICAZIONI UTENTE................................................................................................ 10 5.4.1 Domain Name Server (DNS)........................................................................................ 10 5.4.2 DHCP............................................................................................................................ 11 5.4.3 LA Posta Elettronica..................................................................................................... 11 5.4.4 Accesso Remoto alle interfacce Utente .......................................................................12 5.4.5 IL File Transfer..............................................................................................................12 5.4.6 L`architettura WWW..................................................................................................... 12 6 LA SICUREZZA DELLE RETI INFORMATICHE......................................................................... 13 6.1 IL PROBLEMA DELLA SICUREZZA.................................................................................... 13 6.2 PROTEZIONE DEI SISTEMI TRAMITE PASSWORD.........................................................13 6.3 MINACCE AI PROGRAMMI E FIREWALL.......................................................................... 14 6.4 WORM E VIRUS.................................................................................................................. 14 6.5 CRITTOGRAFIA................................................................................................................... 15 1 INTRODUZIONE Le reti informatiche sono infrastrutture di collegamento che permettono la comunicazione tra piu` calcolatori. Lo scopo della comunicazione e` di offrire servizi di trasferimento di informazioni (file di dati, e-mail, programmi, streaming multimediali, ecc), di condividere periferiche (stampanti, cartelle, ..) oppure di fare comunicare processi collaboranti (sistemi operativi distribuiti, calcolo parallelo, ecc,). 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à, purche` vi sia la garanzia del corretto trasferimento delle informazioni. Le comunicazioni multimediali in tempo reale (streaming audio e video) richiedono una maggiore velocità ed continuità del tasso di trasferimento (bit-rate), ma ammettono una (limitata) perdita di dati. Esistono 2 categorie fondamentali di reti: le reti locali (LAN) e le reti geografiche (WAN). Le LAN sono reti che connettono elaboratori localizzati tipicamente all'interno di un edificio ed hanno un diametro dell'ordine del centinaio di metri. Le WAN connettono elaboratori distanti fra loro, per i quali non e' possibile utilizzare propri mezzi trasmissivi ma occorre rivolgersi ad un provider di telecomunicazioni. La connettività che i provider forniscono puo' variare da un ambito cittadino fino a distanze intercontinentali. Le reti WAN possono interconnettere sia singoli elaboratori (esempio home-computing) che reti 1 Le Reti Informatiche [email protected] Ultima modifica: 28/8/2003 LAN e possono essere interconnesse tra loro fino a formare una unica rete mondiale (Internet). Nota: comunicazioni seriali e parallele Generalmente nelle comunicazioni digitali i dati possono essere trasferiti in modo seriale (un bit per volta su di un singolo filo) o in modo parallelo (n bit contemporaneamente su n fili). La comunicazione parallela e` piu` veloce ma la distanza massima e` di pochi metri. Per questo motivo si usa la comunicazione parallela all`interno degli elaboratori (bus di sistema) o per connettere periferiche veloci, mentre le reti di calcolatori utilizzano comunicazioni seriali. Ogni tratta della rete e' condivisa da diverse comunicazioni tra diverse coppie di elaboratori (documenti web, download file, e-mail, ecc). Per avere un utilizzo ottimale della rete e' necessario frazionare i messaggi in "pacchetti" di dimensione limitata. Ogni pacchetto in circolazione sulla rete conterra' quindi un campo dati (frazione di messaggio) e un campo di servizio (identificativo del mittente e del destinatario, identificativo del messaggio completo, ecc. ). Per fare in modo che un pacchetto raggiunga il destinatario, anche quando il percorso deve attraversare diverse reti, sara' indispensabile un coordinamento tra le reti per garantire il corretto "instradamento" dei pacchetti. Questa funzione e` svolta da appositi apparati di rete detti "Router" (o Gateway). Ogni singola tratta della rete ha una propria "bandwidth" (larghezza di banda) ovvero il massimo numero di bit per secondo che puo' attraversare la tratta. Generalmente il percorso tra 2 eleboratori della rete informatica attraversa diverse tratte. La bandwidth tra i 2 elaboratori coincide con la bandwith della tratta piu' lenta. Questo e' il massimo numero di bit/s che pero' dovra' essere condiviso tra le connessioni che, istante per istante, attraversano la tratta. 2 Le Reti Informatiche [email protected] Ultima modifica: 28/8/2003 Nota: PROTOCOLLI Nella comunicazione tra 2 o piu` calcolatori si intende per "Protocollo di comunicazione" l’insieme di regole condivise tra i partecipanti alla comunicazione affinche` le informazioni scambiate tra le 2 parti risultino reciprocamente comprensibili. Spesso per realizzare un protocollo completo, in grado di fare comunicare una rete di calcolatori, occorre affrontare una serie di problemi che per loro natura sono a "livelli stratificati": a partire da livello fisico del cablaggio fino al livello dell’applicazione utente. Ogni problematica e' confinata in un livello e risolta mediante un opportuno protocollo "specializzato". Il principale vantaggio di questa organizzazione a strati consiste nella possibilta` di aggiornare/sostituire uno strato in modo trasparente agli stati superiori ed inferiori. Esiste un modello astratto che definisce tutti i possibili livelli in cui possiamo suddividere gli aspetti della comunicazione: il modello ISO/OSI (vedi ad esempio http://www.fis.unipr.it./lca/Corsi/iso_osi/iso_osi.html ). Sulla base di questo modello astratto sono stati realizzati diversi protocolli di comunicazione tra i quali il piu' diffuso (perche' utilizzato per Internet) e' il TCP/IP. Al livello piu` alto del TCP/IP , denominato applicazione, sono posizionati tutti i programmi di rete (con relativi protocolli) utilizzati dall'utente, quali WWW (con protocollo http), la posta elettronica (protocollo SMTP), il trasferimento di file (protocollo ftp), ecc. 2 I MEZZI TRASMISSIVI ED IL CABLAGGIO 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. 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) - Diafonia (disturbo reciproco tra mezzi trasmissivi che corrono paralleli) - Immunità da disturbi elettromagnetici - Costo - Praticita` nella posa e nella connettorizzazione (installazione del connettore all`estremita` 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 perche` 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 3 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) Le Reti Informatiche [email protected] Ultima modifica: 28/8/2003 Con la migliore qualita’ 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. 2.2 FIBRA OTTICA La fibra ottica è il materiale del futuro poiché presenta notevoli vantaggi: - la totale immunità dai disturbi e.m. (non è infatti costituita da materiale conduttore). - larga banda di utilizzo (si usa per TD di decine di Gb/sec) - bassa attenuazione e diafonia assente - dimensioni ridotte e costi contenuti. 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, immunita` da disturbi). 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). La banda passante e’ di qualche GHz, mentre la massima distanza raggiungibile e’ di alcune centinaia di Km. 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 1 GHz: trasmissioni non direzionali utilizzate anche dai 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 e per le comunicazioni via satellite. - Da 300 GHz a 200 THz (Infrarossi) per applicazioni locali in cui trasmettitore e ricevitore devono essere a visibilità ottica. 4 Le Reti Informatiche [email protected] Ultima modifica: 28/8/2003 2.4 CANALI TRASMISSIVI E TOPOLOGIE Con i mezzi trasmissivi possiamo realizzare 3 tipi di canali di comunicazione: punto-punto multi-punto e multiaccesso. Con la fibra ottica possiamo realizzare unicamente connessioni punto-punto (2 connessioni monodirezionali). Il doppino puo` funzionare in modo bidirezionale (fonia) e in multipunto, ma usualmente si utilizza per T.D. in modo monodirezionale punto-punto (come la fibra). La comunicazione via etere utilizza tipicamente il multiaccesso (broadcast). In presenza di una rete di calcolatori i canali di comunicazione possono essere organizzati secondo diverse topologie: a stella ad anello, a bus e a maglia. La topologia a stella ha un punto di criticita` nel nodo centrale ma semplifica la gestione e la manutenzione. La struttura ad albero viene utilizzata per il cablaggio strutturato. La maglia e` la configurazione tipica delle reti geografiche. 2.5 CABLAGGIO STRUTTURATO In questi ultimi anni è nata l'esigenza di dotare gli edifici di un impianto per trasmissione dati (per realizzare una LAN) proprio come si fa per l'impianto idraulico e l’impianto elettrico. Questo tipo di impianto viene denominato "cablaggio strutturato". L’impianto e` realizzato mediante l’installazione di cavi elettrici che dai punti di accesso degli utenti (studi, laboratori) convergono in "armadi di piano". Questi cavi devono essere doppini certificati di categoria 5 (per reti ad alta velocità) dotati di 4 coppie e prese di accesso denominate RJ45. In figura il connettore RJ45: Gli armadi di piano sono interconnessi mediante altri doppini o fibre ottiche (a seconda delle situazioni). 5 Le Reti Informatiche [email protected] Ultima modifica: 28/8/2003 3 RETI LOCALI (LAN) 3.1 ETHERNET La tecnologia che attualmente copre la quasi totalità di reti LAN al mondo e denominata "Ethernet" (tecnicamente IEEE802.3). Ethernet puo` utilizzare diversi mezzi trasmissivi: doppino telefonico, fibra ottica e wireless. Ethernet si appoggia generalmente sul cablaggio strutturato dell’edifico (se esiste). 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. 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 6 Le Reti Informatiche [email protected] Ultima modifica: 28/8/2003 La topologia logica di Ethernet e` un bus: tutte le stazioni possono spedire pacchetti nella rete locale; tutte le altre stazioni li ricevono, ma soltanto il destinatario li leggerà. Per realizzare la topologia fisica a stella su di una topologia logica a bus occorrono apparati di rete denominati "HUB" che hanno il compito di replicare su tutti i rami i pacchetti ricevuti. Gli "Switch" sono apparati piu` "intelligenti" in grado di smistare il pacchetto solo sul ramo dove e` presente il destinatario. Ethernet puo` viaggiare anche via etere (wireless). In questo caso la comunicazione piu` lenta (11Mbit/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. 4 RETI GEOGRAFICHE (WAN) Le connessioni remote per realizzare le WAN sono generalmente punto-punto e vengono fornite dai “Provider di Telecomunicazione”. Possono essere permanenti o commutate. 4.1 CONNESSIONI PERMANENTI Sono connessioni realizzate mediante un un circuito che interconnette permanentemente le due estremità. Esistono diverse tecnologie (CDN, ADSL ..) in grado di fornire diverse velocita` di connessione. La tariffazione dipende dalla velocita` richiesta (bit/s) e dalla distanza. 4.2 CONNESSIONI A COMMUTAZIONE DI CIRCUITO Sono linee il cui il circuito che fisicamente interconnette le 2 estremita’ e’ attivato temporaneamente, su richiesta, grazie a commutatori di circuito. Questa e’ la tecnica utilizzata per la telefonia. Il Modem e’ un apparato che permette di utilizzare artificiosamente le linee della telefonia per la trasmissione di dati. Il termine MODEM sta per MODulatore/DEModulatore, poiche` la sequenza di bit da trasmettere viene modulata codificando i 2 valori 0 e 1 in frequenze analogiche tipiche della voce umana, ovvero comprese tra 1 e 4 KHz; in fase di ricezione il modem deve demodulare, ovvero decodificare il segnale analogico ritrasformandolo in sequenze binarie. La tariffa della comunicazione e` ovviamente lo stesso delle telefonate analogiche e quindi dipende dal tempo di connessione e dalla distanza. ISDN: Attualmente le linee commutate possono essere anche digitali (con 2 canali da 64Kbit/s) su cui si puo` trasmettere la voce digitalizzata oppure dati informatici. 7 Le Reti Informatiche [email protected] Ultima modifica: 28/8/2003 5 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). TCP/IP e` a sua volta composto da 2 sottolivelli principali: o Il livello "rete" IP o I livelli "Trasporto" TCP e UDP. 5.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. 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 affitta (lease) i PC che ne fanno richiesta. 8 Le Reti Informatiche [email protected] Ultima modifica: 28/8/2003 5.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 5.3 ARCHITETTURA CLIENT-SERVER E PEER-TO-PEER Esistono 2 possibili modelli per realizzare applicazioni di rete: il client-server e il peer-to-peer (P2P). Nel primo caso i nodi della rete possono essere client oppure 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. 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. In una rete P2P “pura” non esistono nodi privilegiati; la rete e` formata da diverse coppie di nodi in cui ogni nodo puo` scambiare servizi con l`altro. La condivisione di file (file sharing) e` il servizio piu` utilizzato nelle reti P2P 9 Le Reti Informatiche [email protected] Ultima modifica: 28/8/2003 Esistono reti P2P con discovery server in cui e` prevista la presenza di un server per tenere traccia dei peer connessi. Napster (smantellato nel 99) e` stato uno dei primi protocolli P2P funzionante su larga scala; era composto da un insieme di server con il compito di mantenere una lista aggiornata di utenti connessi e di documenti condivisi, ma lo scambio di documenti avveniva in modo P2P “puro”. Gnutella e` invece un esempio di rete completamente decentralizzata. Un nuovo utente puo` unirsi alla rete conoscendo l`indirizzo di una qualsiasi macchina gia` in rete. La ricerca di un documento avviene tramite un “broadcasting” del messaggio di ricerca, ossia l`utente invia la richiesta a tutti i nodi che conosce i quali, a loro volta, propagano la richiesta ad altri nodi fino a quando non viene contattato un nodo con il documento richiesto (o scade il tempo di vita della ricerca). http://utenti.lycos.it/bigroberto/reti_p2p.htm 5.4 LE APPLICAZIONI UTENTE Le principali applicazioni in Internet sono di tipo Client-Server. 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 ("well known ports"). La porta del client invece viene assegnata dinamicamente e puo` cambiare ad ogni connessione. 5.4.1 Domain Name Server (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. 10 Le Reti Informatiche [email protected] Ultima modifica: 28/8/2003 Ogni programma client che utilizza la rete mediante nomi (Explorer, outlook, ecc) conterra` 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/ ) 5.4.2 DHCP DHCP (Dynamic Host Configuration Protocol) viene utilizzato per la configurazione dinamica del protocollo TCP/IP sui computer. Al momento dell'avvio, il computer client DHCP invia una richiesta. Quando il server DHCP riceve la richiesta, sceglie i parametri di configurazione TCP/IP per il client. Tali parametri sono l'indirizzo IP, la maschera di rete, il gateway predefinito, l'indirizzo del server DNS, il nome del dominio del client, e così via. Utilizzando questi parametri, il server crea una risposta e la invia al client. L’indirizzo IP che DHCP fornisce puo` essere statico (ovvero associato permanentmente ad un client) oppure dinamico (l’indirizzo e` assegnato per il periodo di connessione, poi viene ritirato e puo` essere rassegnato ad un altro client). La porta utilizzata dal dhcp server e` la 67/udp. Per semplificare l`accesso al server DHCP, il client contatta il server mediante la modalità di comunicazione denominata “broadcast” secondo la quale un pacchetto puo` essere indirizzato a tutti i nodi della rete locale. Tutti i nodi della rete preleveranno il pacchetto, ma soltanto il dhcp server lo riconoscera` ed utilizzera` per l’elaborazione della richiesta. 5.4.3 LA Posta Elettronica 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 essegnata per il server SMTP e' la 25/TCP. Il programma server SMTP quando riceve un messaggio lo deposita nella casella del destinatario (MAILBOX). 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 (Outlook, Netscape Messanger, Eudora, pine, ...) sono dotati di un client POP o di un client IMAP (o entrambi). 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. 11 Le Reti Informatiche [email protected] Ultima modifica: 28/8/2003 5.4.4 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. Ad esempio: 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) 5.4.5 IL File Transfer Il file transfer e' un applicativo di rete mediante il quale e' possibile trasferire file tra elaboratori connessi in rete. Il protocollo e' denominato FTP (porta 20/TCP per i dati e 21/TCP per i comandi). Il client, dopo essersi autenticato sul server puo' trasferire file da server a client (download) o da client a server (upload). Esiste un particolare tipo di server FTP, denominato "ftp anonimo" che non richiede autenticazione, ma che prevede solo il download. Questo tipo di server permette di distribuire (in modo anonimo) archivi di software, documenti e dati attraverso internet. 5.4.6 L`architettura WWW 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 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) det 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/ 12 Le Reti Informatiche [email protected] Ultima modifica: 28/8/2003 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 velocita' 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) 6 LA SICUREZZA DELLE RETI INFORMATICHE 6.1 IL PROBLEMA DELLA SICUREZZA Le violazioni della sicurezza dei calcolatori si possono classificare come intenzionali (abusi) o accidentali. Gli abusi avvengono prevalentemente attraverso le reti informatiche poiche` il rischio e` legato al numero di potenziali malintenzionati e la rete informatica espone il nostro computer a milioni di utenti. Gli abusi piu` 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 e` quindi un compromesso, dettato dalle proprie necessita`, tra il costo per attivarla ed il beneficio ottenuto in termini di dissuasione. 6.2 PROTEZIONE DEI SISTEMI TRAMITE PASSWORD La tecnica principale di protezione dei sistemi di calcolo consiste nell`autenticazione degli utenti, avvero nella loro identificazione al momento dell`accesso. 13 Le Reti Informatiche [email protected] Ultima modifica: 28/8/2003 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 gesiscono 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 tuti 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 vulnerabilita`: • Password troppo semplici. La vulnerabilita` maggiore e` duvuta 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. 6.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 sitauzioni consentono di aggirare i meccanismi di sicurezza previsti. Questo problema e` particolamente 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 compromesso, esponendo inconsapevolente 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 da attacchi ai servizi di rete. Il firewall e` un apparato di rete che viene interposto tra la LAN e internet, con 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`affidabilita`. 6.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 14 Le Reti Informatiche [email protected] Ultima modifica: 28/8/2003 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. Links utili: http://www.leolab.org/virus_tipi.html http://www.symbolic.it/Rassegna/rassegna.html 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. 6.5 CRITTOGRAFIA La crittografia si applica nel trasferimento (o nell’archiviazione) di un messaggio ed ha lo scopo di garantire alcuni requisiti di sicurezza quali: - riservatezza: se il messaggio durante il trasferimento viene letto da terze parti non puo` essere utilizzato - autenticazione: i partner della comunicazione possono provare la loro identita` in modo certo - Integrita`: il messaggio non puo` essere contraffatto 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 possibilita` 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). 15 Le Reti Informatiche [email protected] Ultima modifica: 28/8/2003 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 inzia la comunicazione cifrata. - Vantaggi: elevata velocita` di cifratura. - Svantaggi: la chiave di cifratura deve essere scambiata tra le 2 parti ed e` quindi intercettabile. 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 velocita` 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). 16 Le Reti Informatiche [email protected] Ultima modifica: 28/8/2003 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. Utilita` principali: Verifica dell`integrita` di un messaggio e Firma digitale. Gli algoritmi piu` utilizzati sono: MD5 (128 bit) e SHA-1 (160 bit). - Visitate il questo link per provare a generare un digest: http://www.vidwest.com/crypt/ Links riguardo i Message digest: http://digilander.libero.it/salsi/crittografia/digest.html (in italiano) 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 entita`, riconosciuta da una comunita` 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, firmato dalla CA. E` possibile verificare l`autenticita` di un certificato mediante la chiave pubblica della CA. (Esercizio: verifica dei certificati nel browser Web. Con Microsoft Explorer seguire Strumenti->Opzioni Internet -> Contenuto -> Certificati ) SSL 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 puo` 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. Links utili riguardo la sicurezza: http://www.cert.org/tech_tips/home_networks.html http://www.riksoft.com/indexok.asp?Goto=cripubk.htm Links utili riguardo questo argomento: Univ. Udine - http://web.uniud.it/ccuu/alfa/materiale.htm - Modulo 3 17 Le Reti Informatiche [email protected] Ultima modifica: 28/8/2003