HTTP, SSL/TLS, DNS, URL e DDoS Attack - Concetti di base Panoramica sui concetti alla base del World Wide Web: protocollo HTTP, certificati SSL/TLS, Domain Name Servers, URL, attacchi DDoS

How to clear HTTP / HTTPS Redirect Cache by deleting the cached HSTS Settings in Google Chrome and Mozilla Firefox

In questo articolo forniremo una panoramica dei principali concetti alla base del World Wide Web così come lo conosciamo oggi: il protocollo HTTP, utilizzato dal browser per comunicare con i server web; i certificati SSL/TLS, fondamentali per stabilire connessioni sicure e verificate; i Domain Name Server (DNS), responsabili della risoluzione dei nomi di dominio; gli Uniform Resource Locator (URL), sequenze di caratteri che identificano univocamente l'ubicazione delle pagine web; gli attacchi di tipo Distribuited Denial of Service (DDoS), utilizzati per compromettere il normale funzionamento dei  servizi web.

Gli argomenti trattati in questo articolo fanno parte del corso di formazione per Web Administrator organizzato da Ryadel per privati e aziende: per maggiori informazioni, consulta questa pagina.

Il protocollo HTTP(S)

Acronimo di Hypertext Transfer Protocol, è il protocollo di livello applicativo utilizzato dal browser per la trasmissione delle pagine web (HTML) e di una serie di altri formati correlati (script, immagini, etc). Quando è presente la S finale (Secure) la comunicazione avviene tramite una connessione criptata ottenuta tramite crittografia asimmetrica tramite Transport Layer Security (TLS) e relativo certificato installato sul server, altrimenti la comunicazione avviene in chiaro.

HTTP request/response cycle

Il browser interagisce con i siti web tramite HTTP(S) mediante un’architettura di tipo client/server, dove il client è il browser e il server è il web server (IIS, Apache, NGINX, etc). I due punti fondamentali di questa interazione sono i seguenti:

  • il client si collega alla URL gestita dal server utilizzando una porta TCP (tipicamente 80 per HTTP e 443 per HTTPS) ed esegue una richiesta (HTTP Request)
  • Il server restituisce una risposta (HTTP Response)

Nel caso di collegamento tramite HTTPS, sia la request che la response vengono crittografate utilizzando un canale TLS negoziato mediante il certificato SSL/TLS installato sul server subito dopo la connessione e prima dell’invio dei dati. Di seguito il diagramma completo delle interazioni HTTPS tra client e server.

HTTP, SSL/TLS, DNS, URL e DDoS Attack - Concetti di base

Certificati SSL/TLS (HTTPS)

Un certificato digitale è un documento elettronico rilasciato da una Certification Authority (CA) che attesta l'associazione univoca tra una chiave pubblica e l'identità di un soggetto (solitamente una organizzazione). Tale certificato, unitamente con la chiave privata a lui univocamente associata, consente al server web di negoziare una connessione crittografata con i client (browser) che si connettono. Tale connessione avviene con un protocollo crittografico come SSL (Secure Socket Layer), utilizzato fino a pochi anni fa, o il successivo TLS (Transport Layer Security), che di fatto è una versione migliorata del suo predecessore ed è oggi l’unico ad essere utilizzato in quanto SSL non è più considerato sufficientemente sicuro.

Il certificato TLS consente di assolvere a due scopi principali:

  • Garantire l’identità del sito web visitato, riducendo il rischio di cadere vittima di truffe basate su DNS spoofing, domain spoofing e altre tecniche similari.
  • Garantire, grazie alla crittografia asimmetrica, l’autenticità, l’integrità e la riservatezza dei dati trasmessi dal client (request) e ricevuti dal server (response).

Vista l’importanza di questi due aspetti, oggi come oggi praticamente tutti i siti web vengono pubblicati tramite HTTPS, con la porta HTTP (80) utilizzata soltanto come redirect su HTTPS.

Domain Name System (DNS)

Il Domain Name System (acronimo di DNS, in italiano sistema dei nomi di dominio) è il sistema di assegnazione dei nomi ai nodi, ovvero agli indirizzi IP, che compongono la rete internet. Il modo migliore per immaginarlo è pensare a una sorta di database distribuito, nel quale sono archiviati i nomi di dominio (hostname) e la loro associazione ai relativi indirizzi IP.

Un nome di dominio (hostname) è costituito da una serie di stringhe separate da punti, ad esempio www.wikipedia.org. In dettaglio:

  • Il segmento più a destra (org) è detto dominio di primo livello (Top Level Domain), ed è solitamente relativo al paese di appartenenza.
  • Quello che lo precede (wikipedia) è detto dominio di secondo livello ed è tipicamente formato da una parola scelta a piacimento; si tratta di quello che viene acquistato presso il domain provider (ad esempio Aruba o GoDaddy) e che viene tipicamente chiamato “dominio web”.
  • Quello che lo precede (www), se presente, è detto dominio di terzo livello; i domini di secondo livello possono essere creati a piacimento dal proprietario del dominio di secondo livello.

Uniform Resource Locator (URL)

Un Uniform Resource Locator, più noto come URL, è una sequenza di caratteri che identifica univocamente l'indirizzo di una risorsa su una rete di computer (come ad esempio internet).

E’ formato da sei parti, alcune delle quali opzionali:

protocollo://[username[:password]@]host[:porta][</percorso>][?querystring][#fragment]

In alcuni casi in luogo di URL si utilizza l’acronimo URI (Uniform Resource Identifier), termine più generico che comprende sia gli URL che altri identificatori univoci esistenti, come ad esempio i codici ISBN dei libri.

DDoS Attack

Un attacco DDoS (acronimo per Distributed Denial of Service) è un tipo di attacco che viene condotto ai danni di un server (tipicamente un server web) con l’obiettivo di compromettere la sua operatività. La modalità di attacco più comune prevede la creazione di una enorme quantità di connessioni HTTP(S) dirette simultaneamente verso il server bersaglio, allo scopo di saturare le sue capacità di gestione delle stesse, impedendo così ai client “legittimi” di utilizzare il servizio. Si tratta dunque, in buona sostanza, di un attacco che punta a creare una sorta di “ingorgo”.

HTTP, SSL/TLS, DNS, URL e DDoS Attack - Concetti di base

Questo tipo di attacco è relativamente semplice da portare a termine e si rivela molto efficace: per questo motivo è uno dei più utilizzati. Non si tratta tuttavia di un attacco particolarmente pericoloso dal punto di vista della sicurezza o della protezione dei dati in quanto, anche in caso di successo, non consente all’attaccante di accedere ai server o di trafugare informazioni di qualsivoglia tipo (salvo casi-limite legati ad effetti collaterali che potrebbero avere luogo sul server a seguito del sovraccarico delle richieste): va pertanto considerata come una azione di disturbo ai danni del servizio oggetto dell’attacco e dei suoi utenti abituali.

About Ryan

IT Project Manager, Web Interface Architect e Lead Developer di numerosi siti e servizi web ad alto traffico in Italia e in Europa. Dal 2010 si occupa anche della progettazione di App e giochi per dispositivi Android, iOS e Mobile Phone per conto di numerose società italiane. Microsoft MVP for Development Technologies dal 2018.

View all posts by Ryan

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.