Cosa sono le porte di un computer

Potresti pensare che una porta di un computer possa essere un connettore del case o uno sportellino per accedere all’hardware. Si, anche. Ma nel nostro caso si parlerà di quelle software, che sono un tantino diverse da quelle fisiche.

porte di un computer

Una porta informatica è un costrutto software che permette a un computer connesso ad una rete (locale o esterna) di effettuare una moltiplicazione delle connessioni che trasportano i pacchetti di dati. In pratica le porte consentono di realizzare contemporaneamente tante connessioni tra i dispositivi. In questo modo si riducono drasticamente i ritardi tra l’invio e la ricezione dei dati, perché più pacchetti possono essere gestiti nello stesso momento.

Le porte sono identificate da un numero univoco che permette al protocollo di comunicazione utilizzato di identificare l’applicazione che trasmette i dati e quella che li riceve. Nei protocolli TCP e UDP, i più utilizzati nelle comunicazioni di rete, le porte vanno da 0 a 65355 (identificate da un numero binario a 16 bit) e sono solitamente legate a un processo ben identificato in esecuzione nel computer. Nello scambio di informazioni, il pacchetto dati è identificato da “indirizzo IP mittente”, “indirizzo IP destinatario”, “porta invio” e “porta ricezione”. Una struttura dati simile garantisce che le informazioni vengano inviate ad un processo identico a quello di invio (per intenderci, se parte da un gestore di email deve arrivare a un gestore di email).

Affinché lo scambio di informazioni funzioni è necessario che la porta di destinazione sia “in ascolto” (listening in inglese). Per far questo uno dei programmi in esecuzione (tramite il sistema operativo che gestisce i livelli di trasporto all’interno di una comunicazione telematica) deve chiedere di attivare una connessione, tramite la quale inviare e ricevere informazioni, su una porta specifica. Questa operazione è detta bindind (legame). La porta individuata, se non occupata, viene attivata per stabilire la comunicazione richiesta.

Che cos’è un numero di porta?

Le porte sono standardizzate su tutti i dispositivi connessi in rete, con ogni porta assegnata a un numero. La maggior parte delle porte è riservata a determinati protocolli. Ad esempio tutti i messaggi HTTP (Hypertext Transfer Protocol) vanno alla porta 80. Mentre gli indirizzi IP consentono ai messaggi di andare da e verso dispositivi specifici, i numeri di porta consentono di stabilire l’obiettivo della trasmissione dei dati.

Quali sono i diversi numeri di porta?

Ci sono 65.535 numeri di porta, anche se non tutti sono generalmente usati . Quelli più frequenti sono:

  • Porte 20 e 21: FTP (File Transfer Protocol). FTP è per il trasferimento di file tra un client e un server.
  • Porta 22: Secure Shell (SSH). SSH è uno dei tanti protocolli di tunneling che creano connessioni di rete sicure.
  • Porta 25: SMTP (Simple Mail Transfer Protocol). SMTP viene utilizzato per la posta elettronica.
  • Porta 53: Domain Name System (DNS).
  • Porta 80: HTTP (Hypertext Transfer Protocol). HTTP è il protocollo che rende possibile il World Wide Web.
  • Porta 123: NTP (Network Time Protocol). NTP consente agli orologi dei computer di sincronizzarsi tra loro, un processo essenziale per la crittografia.
  • Porta 179: Border Gateway Protocol (BGP). Il BGP è essenziale per stabilire percorsi efficienti tra le grandi reti, e viene utilizzato per trasmettere l’informazione su quali indirizzi IP vengono controllati.
  • Porta 443: HTTP Secure (HTTPS). HTTPS è la versione sicura e crittografata di HTTP. Tutto il traffico web HTTPS va alla porta 443.
  • Porta 500: Internet Security Association e Key Management Protocol (ISAKMP), che fa parte del processo di configurazione di connessioni IPsec sicure.
  • Porta 3389: Remote Desktop Protocol (RDP). RDP consente agli utenti di connettersi in remoto ai propri computer desktop da un altro dispositivo.

L’Internet Assigned Numbers Authority (IANA) detiene  l’elenco completo dei numeri di porta e dei protocolli assegnati.

In che modo le porte rendono più efficienti le connessioni di rete?

Tipi di dati molto diversi transitano da e verso dispositivi tramite connessioni di rete. Le porte aiutano i computer a capire cosa fare con i dati che ricevono.

Un esempio. Invio un video MP4 ad un amico usando il protocollo FTP (File Transfer Protocol). Se il suo computer passa questo pacchetto alla posta elettronica, l’applicazione non saprebbe che farne. Siccome uso la porta 21 (quella assegnata all’FTP), il suo computer è in grado di ricevere e archiviare il file in maniera corretta. Nello stesso momento il suo PC può caricare pagine Web HTTP utilizzando la porta 80, e tutti i file, video o web, sono gestiti dal computer usando una unica connessione WiFi.

Port scanning

Le porte sono utilizzate per comunicare e scambiare informazioni di vario genere all’interno di una rete telematica ma, allo stesso tempo, possono essere utilizzate anche per accedere in maniera illegale a un sistema.

Oltre ad agire da “caselle” postali, infatti, le porte sono punti di accesso privilegiati al computer e alle sue risorse. Affinché le porte siano “accessibili”, è necessario che siano state assegnate a un processo di “ascolto”.

Con la tecnica del port scanning (scansione delle porte), è possibile inviare false richieste di connessione a un nodo della rete così da poter scoprire quali siano le porte in ascolto ed eventualmente utilizzarle per ottenere accesso fraudolento al sistema informatico. Per mettere in atto questa operazione si utilizzano software ad hoc chiamati port scanner, facilmente reperibili in rete..

Questi programmi inviano richieste di connessione così da poter creare una “mappa” delle porte aperte e dei vari applicativi in ascolto su ognuna di esse. I protocolli di comunicazione più comuni prevedono infatti che a ogni richiesta di connessione pervenuta ad una porta in modalità “in ascolto” il computer risponda, comunicando la propria disponibilità a instaurare una comunicazione ed eventualmente anche le specifiche del programma che, su quella porta, è “in ascolto”.

Pertanto un hacker potrebbe scoprire quali siano le “aperture” più comode per accedere illegalmente al sistema.

Il risultato del port scanning è una mappa nella quale le porte sono così suddivise:

  • porta aperta (o “accepted”) nel caso in cui sia stata assegnata a un processo in corso sul computer-nodo;
  • porta chiusa (o “denied” o anche “not listening”) nel caso in cui non ci siano processi che la utilizzano;
  • porta bloccata o filtrata (“dropped” o “filtered”) se il port scanner non riceve risposta. In questo ultimo caso è probabile che sia stato attivato un firewall.

Perché i firewall a volte bloccano porte specifiche?

Un firewall è un sistema di sicurezza che blocca o consente il traffico di rete in base a un insieme di regole di sicurezza. I firewall di solito si trovano tra una rete attendibile e una rete non attendibile, di solito Internet.

Alcuni aggressori cercano di inviare traffico dannoso a porte casuali nella speranza che tali porte siano state lasciate “aperte”, cioè in grado di ricevere traffico. Simile a un ladro di auto che , per strada, tenta l’accesso a varie vetture, sperando di trovarne una aperta. Per questo motivo i firewall devono essere configurati per bloccare il traffico diretto alla maggior parte delle porte disponibili. Se correttamente configurati bloccano il traffico verso tutte le porte per impostazione predefinita, tranne che per quelle di uso comune. Un firewall, ad esempio, potrebbe lasciare aperte solo le porte 25 (e-mail), 80 (traffico web), 443 (traffico web) e poche altre, e bloccare il resto delle oltre 65.000 porte.

A volte capita di dover connettersi al proprio PC in remoto usando il protocollo RDP sulla porta 3389. Un hacker potrebbe tentare un attacco proprio su questa porta. Ecco che un firewall bloccherebbe tale porta ogni volta che non ne abbiamo la necessità.