Sei sulla pagina 1di 8

5.

MODULO: Strato di Trasporto:

i programmi del livello applicativo generano dati che devono essere scambiati tra host di origine e
destinazione, il livello di trasporto funge da collegatore tra lo strato di applicazione e quelli inferiori.

Lo strato di trasporto presenta numerose responsabilità:

1. Monitoraggio conversazioni individuali—1 host può comunicare con più applicazioni


contemporaneamente
2. Segmentazione dei dati e assemblaggio dei segnali – divide i dati in blocchi (chiamati
segmenti) di dimensioni adatte
3. Aggiunge info sull’intestazione – aggiunge a ciascun segmento dati di informazione.

I protocolli dello strato di trasporto sono 2:

 Protocollo TCP: protocollo affidabile che garantisce l’arrivo a destinazione di tutti i


pacchetti, è di tipo connection oriented cioè che necessita di stabilire la connessione prima
di trasmettere
 Protocollo UDP: protocollo veloce ma non affidabile, non tutti i pacchetti arrivano a
destinazione (best-efford)

nelle connessioni TCP il client stabilisce la conessione con l server utilizzando il processo di three-
way handshake seguendo i seguenti passaggi:

1. SYN  il client richiede una sessione di comunicazione client-server


2. ACK e SYN  il server riconosce la richiesta e richiede una comunicazione server-client
3. ACK  il client riconosce la sessione di comunicazione client-server ed invia una risposta al
server

Per terminare la sessione seguiamo i seguenti passaggi:

1. Quando il client non ha più dati da mandare al server, gli invia un flag di FIN
2. Il server invia un ACK per confermare la ricezione del FIN
3. In server invia un FIN per concludere la comunicazione
4. Il client risponde con un ACK per riconoscere il FIN del server

La comunicazione client-server avviene tramite l'uso di socket, che sono punti di comunicazione
attraverso i quali i processi su computer distinti possono scambiarsi dati. Ecco le fasi principali di una
connessione client-server:

Inizializzazione: Il server viene avviato e si mette in ascolto su una specifica porta per le richieste dei
client. Questo processo è chiamato "bind" e avviene tipicamente durante l'inizializzazione del
server. Il client viene avviato e inizia a creare un socket per la connessione al server.

Connessione Iniziale: Il client richiede una connessione al server. Questo può avvenire tramite una
richiesta TCP SYN (sincronizzazione) per le connessioni TCP o tramite l'invio di un messaggio di
richiesta di connessione per le connessioni UDP. Il server, ricevendo la richiesta di connessione,
accetta la connessione e stabilisce un socket dedicato per la comunicazione con quel client. Questo
è il momento in cui viene stabilita la connessione tra client e server.
Scambio di Dati:

una volta stabilita la connessione, client e server possono scambiarsi dati. Il client invia richieste al
server tramite il socket dedicato, e il server risponde con le informazioni richieste o esegue le azioni
richieste. Questo processo di invio e ricezione di dati può avvenire più volte durante la durata della
connessione, a seconda delle necessità dell'applicazione.

Chiusura della Connessione: Quando il client o il server ha completato le operazioni richieste o


desidera interrompere la comunicazione, invia un messaggio di chiusura della connessione all'altro
lato. Il ricevente di questo messaggio risponde confermando la chiusura della connessione.
Successivamente, entrambi i lati del collegamento chiudono i propri socket dedicati e liberano le
risorse utilizzate per la comunicazione.

In sintesi, la comunicazione client-server attraverso socket coinvolge l'inizializzazione del server, la


richiesta e l'accettazione di una connessione da parte del client, lo scambio di dati tra client e server
e infine la chiusura ordinata della connessione una volta completate le operazioni desiderate.

6. MODULO: Strato di Applicazione:

http: Imposta le regole per lo scambio di test, immagini, video, suoni e file multimediali sul web

HTTPS: Il browser usa la crittografia per rendere sicura la comunicazione http, Autentica il sito a cui
si connette

Un server web è un software che fornisce contenuti web agli utenti su Internet. Quando una
persona accede a un sito web tramite un browser, il server web è responsabile di inviare le pagine
web richieste al dispositivo. Quando un utente effettuerà una richiesta di connessione al link, verrà
indirizzato prima al server DNS che restituisce l’indirizzo IP del server web che restituirà la pagina
richiesta.

DNS

- Il server DNS (Domain Name System) permette di tradurre i nomi di dominio negli indirizzi IP
corrispondenti (associa il link ad un indirizzo IP). Questo permette agli utenti di raggiungere il sito
attraverso lo stesso nome di dominio anche in caso esso venga associato ad un altro indirizzo IP.

- Il dispositivo invia una richiesta di risoluzione al server DNS più vicino, esso controlla nella cache se
è già presente l’associazione e nel caso restituisce l’indirizzo IP corrispondente. Se no lo passa a
server DNS successivo o autoritativo, il quale gestisce tutti “le associazioni”; successivamente verrà
restituito l’IP.

PROTOCOLLI SMTP POP E IMAP

- Protocolli di posta

- SMTP: Consente ai client di inviare email a un server (di posta), Consente ai server di posta di
inviare email ad altri server di posta

- POP: Scarica le email nel local mail application del client, Consente di recuperare email da un
server di posta

- IMAP: Consente ai client di accedere alle email presenti in un server di posta, Mantiene le email
sul server
7. MODULO: Sicurezza di Rete:

parliamo delle tecniche di sicurezza di rete perimetrale:

 ACL: le ACL sono una lista di istruzioni da applicare all’interfaccia di un router con lo scopo
di gestire il traffico, filtrando i pacchetti in ingresso e in uscita. Le ACL sono utilizzate per
fornire un livello base di sicurezza impedendo o permettendo gli accessi di una determinata
rete, il pacchetto attraversa un ACL alla volta e quando il pacchetto soddisfa le condizioni
del ACL viene o scartato o inviato. Le ACL vengono elaborate in maniera sequenziale è
fondamentale il loro posizionamento, poiché i pacchetti scartati non utilizzano risorse della
rete perché usare ACL richiede risorse aggiuntive per il router. Esistono 2 tipi di ACL:
ACL standard: utilizzate per permettere o negare il traffico da una rete o da un host
ACL estese: utilizzate poiché a differenza delle standard le ACL estese possono effettuare
controlli sui singoli protocolli che compongono la suite, per cui, rispetto a quelle standard,
presentano una maggiore flessibilità e controllo.
 Firewall: È un elemento costituito da hardware e software che viene interposto tra due o
più reti, tipicamente tra una LAN privata e internet, con il compito di analizzare il traffico in
entrata e in uscita, con delle regole per analizzare il traffico in ingresso e in uscita,
applicando delle regole per decidere cosa va filtrato e cosa no.
- Realizzata in diversi modi:
1. Router avente un sistema operativo che comprende firewall software
2. Macchina specializzata, firewall hardware o security appliance, realizzata con
software e hardware progettati come firewall
3. Computer con almeno una scheda di rete con installato un software firewall
- Possono essere a diversi livelli:
1. Livello di rete (IP), esaminando pacchetti IP li filtrano basandosi sugli indirizzi o sui
protocolli
2. Livello di trasporto, esaminando a livello TCP o UDP e in base alle porte che
identificano i servizi
3. Livello di applicazione, negare l’accesso a determinati siti

DMZ: Una rete DMZ (Demilitarized Zone) è una rete perimetrale che protegge la rete locale (LAN)
interna di un'organizzazione dal traffico non attendibile proveniente dalla rete Internet pubblica.
Situata tra la rete Internet e le reti private, la DMZ ospita i servizi rivolti all'esterno, come server
Web, DNS, FTP e posta, e aggiunge un ulteriore livello di sicurezza utilizzando firewall per filtrare il
traffico.

Le reti DMZ permettono alle organizzazioni di offrire servizi esterni agli utenti mentre proteggono i
dati sensibili archiviati nelle reti interne. Utilizzando segmentazione di rete, controllo degli accessi e
firewall, una DMZ limita l'accesso ai dati e ai server sensibili, rendendo più difficile per gli autori di
attacchi informatici ottenere l'accesso diretto ai dati interni.

crittografia:

La crittografia è la tecnica attraverso la quale è possibile garantire la segretezza delle informazioni


da trasmettere, permettendo l'accesso solo a un numero ristretto di persone autorizzate tramite
l'uso di algoritmi appositi, alle quali è nota la chiave necessaria per decifrare i messaggi.

la sicurezza di un sistema può essere descritta da 4 caratteristiche fondamentali:


 Autenticità: importante che ci riceve il messaggio deve essere in grado di conoscere la
provenienza, visto che le informazioni trasmesse se mal crittografate, permettono la facile
modifica
 Integrità: Dati e informazioni memorizzate in un sistema o scambiate tra due entità devono
essere protette da modifiche non autorizzate
 Riservatezza: Dati e informazioni memorizzate in un sistema o scambiate tra due entità
devono essere protette da letture non autorizzate, ovvero devono risultare accessibili solo
agli utenti e ai processi che ne hanno diritto
 Non ripudio: Chi genera un messaggio non deve poter negare successivamente di averlo
generato, né deve poterne negare il contenuto. Allo stesso modo, chi riceve un messaggio
non deve poter negare di averlo ricevuto, né deve poterne negare il contenuto.

Metodi di Crittografia:

 Sostituzione: Sostituisce un elemento con un altro secondo una regola prestabilita.

 Trasposizione: Riorganizza gli elementi del testo in chiaro senza cambiarli.

 Effetto Valanga: La modifica di un solo carattere del testo in chiaro deve cambiare tutto il testo
cifrato (uguale per la chiave).

Crittografia Simmetrica e Asimmetrica:

1. Simmetrica: Mittente e destinatario utilizzano la stessa chiave che è segreta e viene comunicata in
modo sicuro, gli algoritmi esistenti sono:

One-Time Pad: Il One-Time Pad è un metodo crittografico teoricamente sicuro se usato


correttamente. Richiede una chiave casuale della stessa lunghezza del messaggio da cifrare. Ogni bit
del messaggio viene combinato con il bit corrispondente della chiave tramite una semplice
operazione XOR. Questo garantisce la perfetta segretezza, ma richiede una chiave casuale unica e di
lunghezza uguale o superiore al messaggio.

Stream Cipher: Un algoritmo di cifratura a flusso genera una sequenza continua di byte casuali,
nota come "keystream".Questa sequenza viene combinata bit per bit con il testo in chiaro tramite
operazioni XOR per produrre il testo cifrato. È importante utilizzare una chiave segreta per generare
il keystream. Un esempio di algoritmo stream cipher è RC4.

Block Cipher (DES e AES): Gli algoritmi di cifratura a blocchi, come DES (Data Encryption Standard) e
AES (Advanced Encryption Standard), suddividono il testo in chiaro in blocchi di dimensioni fisse e
applicano la trasformazione crittografica a ciascun blocco. DES opera su blocchi di 64 bit, mentre
AES può operare su blocchi di 128 bit. AES è diventato lo standard de facto per la crittografia
simmetrica, offrendo una maggiore sicurezza e prestazioni rispetto a DES.

Modalità di Funzionamento:

ECB (Electronic Codebook): In ECB, ogni blocco di testo in chiaro viene cifrato indipendentemente
dagli altri blocchi utilizzando la stessa chiave. Questo può portare a problemi di sicurezza se due
blocchi identici nel testo in chiaro producono lo stesso testo cifrato, il che può rivelare informazioni
sul contenuto dei dati.

CBC (Cipher Block Chaining): In CBC, ogni blocco di testo in chiaro viene combinato con il blocco
cifrato precedente prima di essere cifrato. Questo introduce una dipendenza tra i blocchi, rendendo
più difficile l'analisi del testo cifrato. Inoltre, viene utilizzato un vettore di inizializzazione (IV) casuale
per il primo blocco, che viene combinato con il blocco di testo in chiaro prima della cifratura. CBC è
più sicuro di ECB, ma richiede l'uso di un IV casuale e un padding adeguato per gestire blocchi
incompleti.

2. Asimmetrica: Utilizza coppia di chiavi una pubblica e una privata (sia mittente che destinatario), Il
mittente cifra il messaggio con la chiave pubblica del destinatario e può essere decifrato solo con
una chiave corrispondente, Il destinatario utilizza la chiave privata per decifrare il messaggio
ricevuto, Utilizza l’aritmetica modulare  Numeri primi tra loro. Prodotto tra due numeri primi
relativi molto grandi -> Impossibile risalire ai numeri

RSA: RSA si basa sull'uso di una coppia di chiavi: una chiave pubblica e una chiave privata. La chiave
pubblica viene distribuita liberamente e può essere utilizzata da chiunque per cifrare un messaggio
destinato al proprietario della chiave privata. La chiave privata è mantenuta segreta dal proprietario
e viene utilizzata per decifrare i messaggi cifrati con la chiave pubblica corrispondente.
Generazione delle chiavi:
1. Si selezionano due numeri primi grandi e distinti, p e q.
2. Si calcola il prodotto dei due numeri primi, n=p×q, che sarà la parte "pubblica" della chiave.
3. Si calcola la funzione di Eulero φ(n)=(p−1)(q−1).
4. Si sceglie un numero intero e coprimo φ(n), tipicamente e è un numero primo basso, spesso
e=65537.
5. Si calcola l'inverso moltiplicativo di e modulo φ(n), chiamato d. Questo sarà la parte
"privata" della chiave.
6. La chiave pubblica è (n,e), mentre la chiave privata è (n,d).
Cifratura:
 Il mittente utilizza la chiave pubblica del destinatario per cifrare il messaggio. Se il
messaggio è M, il messaggio cifrato C sarà calcolato come C=Memodn.
Decifratura:
 Il destinatario utilizza la propria chiave privata per decifrare il messaggio cifrato. Il
messaggio originale M è recuperato con la formula M=Cdmodn.
Sicurezza: La sicurezza di RSA è basata sulla difficoltà di fattorizzare grandi numeri composti.
Attualmente, la sicurezza di RSA dipende dall'incapacità dei computer moderni di fattorizzare
rapidamente numeri interi estremamente grandi in fattori primi.
Attacchi:
I principali attacchi contro RSA includono:
 Attacchi a Forza Bruta: Provare tutte le possibili chiavi private fino a trovare quella corretta.
Questo richiede molto tempo e risorse computazionali.
 Attacchi Matematici: Come il più famoso "Attacco di fattorizzazione dell'intero RSA" che
cerca di fattorizzare il modulo n per trovare i fattori primi p e q.
 Attacchi a tempo: Sfruttano il tempo di esecuzione dell'algoritmo di decifratura per
ottenere informazioni sulla chiave privata.

FUNZIONI DI HASH
- Funzione univoca operante in un solo senso utilizzata per trasformare un testo di lunghezza
arbitraria in una stringa di lunghezza fissa relativamente limitata, detta codice hash, che
rappresenta una sorta di “impronta digitale” del testo in chiaro
- Collisione -> Quando due messaggi generano stesso codice hash

8. MODULO: Sistemi di Accesso Remoto:


Descrizione delle VPN:

1. Scopo: Il principale obiettivo delle VPN è quello di connettere due utenti remoti facendo in modo
che essi possano accedere alle risorse aziendali in modo sicuro e privato.

2. Crittografia: Le VPN utilizzano protocolli di crittografia per proteggere il traffico dati mentre
attraversa la rete pubblica. Ciò significa che anche se i dati vengono intercettati durante il
trasferimento, sono illeggibili senza la chiave di decodifica corretta.

3. Tunneling: Le VPN utilizzano il concetto di tunneling per incapsulare il traffico dati all'interno di un
pacchetto protetto, che viene poi inviato attraverso la rete pubblica. Questo tunnel crittografato
protegge il traffico dai potenziali attacchi e intercettazioni.

4. Autenticazione: Le VPN richiedono generalmente un processo di autenticazione per verificare


l'identità degli utenti che cercano di accedere alla rete privata. Questo può includere l'utilizzo di
password, certificati digitali o altri metodi di autenticazione.

5. Tipi di VPN: Ci sono diversi tipi di VPN, tra cui:

 VPN Site-to-Site: Collega due reti locali separate tramite Internet, estendendo così una rete
su più sedi geografiche, utilizzata per la connessione di due getway.

 VPN Remote Access: Consente agli utenti remoti di connettersi in modo sicuro alla rete
aziendale da posizioni esterne utilizzando dispositivi come laptop o dispositivi mobili.

Transport Mode e Tunnel Mode:

Entrambi sono metodi utilizzati nell'implementazione di VPN IPsec per garantire la sicurezza del
traffico dati.

1. Transport Mode: In questo modo, solo il payload dei pacchetti IP viene crittografato, mentre
l'header IP originale rimane intatto. Questo è spesso utilizzato per comunicazioni tra host o
dispositivi all'interno di una rete.

2. Tunnel Mode: In questo modo, l'intero pacchetto IP originale viene incapsulato all'interno di un
nuovo pacchetto IP con un nuovo header. Questo è comunemente utilizzato nelle VPN per creare un
"tunnel" sicuro attraverso una rete pubblica, proteggendo così il traffico.

Tunnel Mode:

Il tunnel mode è una modalità di funzionamento delle VPN IPsec in cui l'intero pacchetto IP
originale viene incapsulato all'interno di un nuovo pacchetto IP con un nuovo header. Questo
processo protegge il traffico dati crittografandolo e fornendo autenticazione e integrità dei dati.

ISAKMP (Internet Security Association and Key Management Protocol):

ISAKMP è un protocollo utilizzato nella formazione del tunnel VPN IPsec. Le sue funzioni principali
includono:

1. Autenticazione e Negoziazione delle Associazioni di Sicurezza (SA): ISAKMP gestisce la


negoziazione dei parametri di sicurezza tra i peer VPN, come gli algoritmi di crittografia, le chiavi di
sessione e gli algoritmi di autenticazione.

2. Scambio delle Chiavi: ISAKMP facilita lo scambio di chiavi crittografiche per l'uso nelle
comunicazioni VPN. Questo scambio avviene in modo sicuro per garantire che solo le parti
autorizzate possano accedere alle chiavi.
3. Integrità dei Dati: ISAKMP fornisce meccanismi per garantire l'integrità dei dati durante la
negoziazione delle associazioni di sicurezza e lo scambio di chiavi.

IPSec (Internet Protocol Security):

Una volta che il tunnel è stabilito tramite ISAKMP, IPSec entra in gioco per fornire la protezione
effettiva del traffico dati attraverso il tunnel. IPSec utilizza due protocolli principali per questo scopo:

1. Authentication Header (AH):

 Autenticazione: AH fornisce autenticazione e integrità dei dati. Questo è realizzato


attraverso l'aggiunta di un header AH a ciascun pacchetto IP, contenente un checksum
(MAC) dei dati originali e informazioni aggiuntive per la verifica dell'integrità.

 Non-Repudio: AH garantisce che l'origine dei dati non possa negare di averli inviati, poiché
il MAC è calcolato utilizzando la chiave privata del mittente.

2. Encapsulating Security Payload (ESP):

 Confidenzialità: ESP crittografa il payload dei pacchetti IP, garantendo che solo il
destinatario autorizzato possa decifrare e leggere i dati.

 Autenticazione e Integrità opzionali: ESP può anche fornire autenticazione e integrità dei
dati come AH, ma questa funzionalità è opzionale e non necessaria se AH è utilizzato
contemporaneamente.

Un SSL-VPN (Secure Sockets Layer Virtual Private Network) è una tecnologia che consente agli
utenti di accedere in modo sicuro alle risorse di rete attraverso una connessione Internet utilizzando
il protocollo SSL/TLS (Secure Sockets Layer/Transport Layer Security). A differenza delle VPN
tradizionali che utilizzano tunneling IPsec, gli SSL-VPN sfruttano il livello di trasporto sicuro offerto
dai protocolli SSL/TLS, comunemente utilizzati per proteggere le transazioni online e le
comunicazioni web.

Caratteristiche Principali:

1. Crittografia dei Dati: Gli SSL-VPN crittografano il traffico dati tra il client e il server utilizzando
SSL/TLS. Questo garantisce che anche se i dati vengono intercettati durante il trasferimento, sono
illeggibili senza la chiave di decrittografia corretta.

2. Accesso Remoto Sicuro: Gli utenti remoti possono accedere in modo sicuro alle risorse di rete,
come applicazioni aziendali, file e stampanti, da qualsiasi luogo connesso a Internet.

3. Facilità d'Uso: Gli SSL-VPN sono spesso apprezzati per la loro facilità di configurazione e utilizzo.
Poiché la maggior parte dei dispositivi supporta SSL/TLS, non è necessario installare software
aggiuntivo sui client.

4. Compatibilità: Poiché gli SSL-VPN si basano sul protocollo SSL/TLS, sono compatibili con una vasta
gamma di dispositivi e sistemi operativi, inclusi computer desktop, laptop, smartphone e tablet.

5. Controllo dell'Accesso: Gli amministratori di rete possono configurare regole per controllare quali
risorse sono accessibili agli utenti remoti. Questo può includere autenticazione a più fattori,
autorizzazioni basate sui ruoli e restrizioni sull'accesso a determinati servizi o applicazioni.

Componenti Chiave di un SSL-VPN:


1. Gateway SSL-VPN: Il gateway SSL-VPN è il punto di accesso remoto sicuro alla rete. Gestisce le
connessioni SSL/TLS in arrivo dagli utenti remoti e fornisce loro l'accesso alle risorse di rete
autorizzate.

2. Client SSL-VPN: Il client SSL-VPN è il software utilizzato dagli utenti remoti per stabilire la
connessione SSL/TLS al gateway SSL-VPN. Può essere un'applicazione dedicata o un client basato su
browser.

3. Portale Web SSL-VPN: Alcuni SSL-VPN offrono un portale web che consente agli utenti di accedere
alle risorse di rete utilizzando un browser web standard. Questo fornisce un'esperienza utente
semplice senza la necessità di installare software aggiuntivo.

4. Server di Autenticazione: Questo componente gestisce l'autenticazione degli utenti remoti che
cercano di accedere alla rete attraverso l'SSL-VPN. Può utilizzare una varietà di metodi di
autenticazione, come password, certificati digitali o token di sicurezza.

Vantaggi:

 Sicurezza: La crittografia SSL/TLS offre una connessione sicura tra il client e il server, proteggendo i
dati sensibili durante il trasferimento.

 Facilità d'Uso: Gli SSL-VPN sono facili da configurare e utilizzare, senza la necessità di configurazioni
complesse sui dispositivi client.

 Flessibilità: Gli utenti possono accedere alle risorse di rete da qualsiasi luogo connesso a Internet,
rendendo gli SSL-VPN ideali per i dipendenti in viaggio o che lavorano da remoto.

 Compatibilità: Gli SSL-VPN sono compatibili con una vasta gamma di dispositivi e sistemi operativi,
offrendo una maggiore flessibilità agli utenti.

Potrebbero piacerti anche