Sconti Amazon
venerdì 3 settembre 2021 di 306625 Letture

Come controllare porte aperte su router e IP pubblico

In informatica e in particolare quando si parla di reti si utilizza frequentemente il termine porta. Le porte sono "punti di accesso" che vengono utilizzati dai sistemi collegati alla rete per stabilire connessioni verso altri host: possono essere PC tradizionali, smartphone, tablet, smart TV, server NAS, stampanti, dispositivi per l'Internet delle Cose, apparecchiature industriali e così via. Tutto ciò che ha una scheda di rete Ethernet o WiFi.

Le connessioni di rete vengono stabilite ricorrendo ad una delle 65.535 porte disponibili: spetta poi al sistema operativo associare a ciascuna porta un punto di contatto o socket utilizzato da uno o più applicativi per inviare e ricevere dati.

Il comando netstat -na, impartito al prompt dei comandi di Windows, permette di stabilire quali connessioni di rete stanno avendo luogo o quindi porte sono poste in ascolto ("listening") in attesa di ricevere richieste di collegamento.

Ciascuna quadrupla (IP:porta, IP:porta) indica l'indirizzo IP sorgente (solitamente l'indirizzo IP privato associato al computer nell'ambito della rete locale, la porta utilizzata su tale sistema, l'indirizzo IP di destinazione e la porta alla quale ci si è connessi.

La presenza dei valori 80 e 443, ad esempio, suggerisce che ci si è connessi ad un server web utilizzando rispettivamente i protocolli HTTP e HTTPS.

Come controllare porte aperte su router e IP pubblico

Nell'esempio in figura abbiamo chiesto di estrarre solamente le connessioni HTTPS in corso sulla porta 443.

Usando il comando netstat -fa gli indirizzi remoti saranno automaticamente risolti quindi ove possibile non verrà visualizzato soltanto l'indirizzo IP numerico. La procedura di risoluzione inversa non è però istantanea e l'output verrà generato con un po’ di attesa.

Diversamente da ciò che alcuni credono non esiste una pericolosità intrinseca nell'utilizzare specifiche porte di comunicazione. È semmai importante verificare quali e quante porte sono aperte in ingresso accettando le richieste di connessione provenienti dall'esterno.

Sia quando si allestisce un server, sia quando si accede alla rete Internet utilizzando un router "consumer" o un prodotto professionale è importante controllare porte aperte sul router e sull'IP pubblico.

Se si configura un server web sulla propria macchina è normale che esso debba accettare il traffico di rete in arrivo sulla porta 80. L'importante è che le richieste siano gestite correttamente e che il server non abbia vulnerabilità intrinseche che debbono essere sempre tempestivamente risolte attraverso l'applicazione delle patch di sicurezza rilasciate dai vari produttori software.

Quando si installa un componente server su un dispositivo collegato in rete locale che deve restare in ascolto ("listening") per gestire le richieste di connessione in ingresso, è necessario effettuare sul router il cosiddetto inoltro delle porte o port forwarding.

È necessario impostare il router affinché inoltri tutto il traffico pervenuto su una determinata porta, sull'interfaccia associata all'IP pubblico, verso il sistema connesso in rete locale ove è in esecuzione il componente server.

Attivando il port forwarding sul router, quindi, il componente server installato sulla macchina connessa in rete locale non risponderà più solamente alle richieste di collegamento provenienti dalla LAN ma anche a quelle in arrivo dal “mondo esterno” (rete Internet, WAN).

In un altro articolo abbiamo visto come aprire porte sul router e chiuderle quando non più necessario.

Tanti software utilizzano meccanismi basati sul cloud che sfruttano il concetto di reverse connection: per superare firewall e NAT (Network address translation) evitando la necessità di aprire porte in ingresso sul router, questi programmi si servono di connessioni in uscita verso un server remoto che funge da intermediario.

Quante sono le porte e come controllare le porte aperte su router e IP pubblico

Abbiamo già evidenziato come le porte di comunicazione seguano una numerazione a 16 bit: sono complessivamente 65.535 ovvero a 216-1).

Alle prime 1.024 porte (dette "well known ports") sono associati specifici servizi, alcuni dei quali ben conosciuti, previsti dalla IANA (Internet Assigned Numbers Authority), un organismo che ha responsabilità nell'assegnazione degli indirizzi IP e che dipende da ICANN.

Tra le prime 1.024 porte basti ricordare che per convenzione le 20 e 21 sono utilizzate ad esempio dal protocollo FTP per il trasferimento di file; le 25, 465, 587 dal protocollo SMTP; la 80 da HTTP; la 110 e 995 da POP3; la 443 da HTTPS; la 53 da DNS; le 137-138-139 da NetBIOS e così via.

Un elenco completo delle porte più utilizzate è disponibile sul sito della IANA.
Una lista "commentata" maggiormente leggibile è poi disponibile su Wikipedia.

A partire dal numero di porta in ascolto su un sistema oppure aperta sull'IP pubblico sul quale è attestato il router è quindi possibile sapere subito che tipo di servizio è in esecuzione. Anche se, va detto, nulla toglie che un servizio tipicamente in ascolto su una certa porta venga spostato su un'altra porta.

Anche e soprattutto a titolo cautelativo è quindi importante controllare le porte aperte su router e IP pubblico perché malintenzionati e criminali informatici sono spesso soliti effettuare una scansione di vasti gruppi di indirizzi IP alla ricerca di porte aperte sulle quali siano attestati servizi vulnerabili.

Controllare le porte aperte sull'IP pubblico con GRC Shields Up

Uno degli strumenti "storici" per controllare le porte aperte su router e IP pubblico resta GRC Shields Up.

Shields Up è un servizio che controlla sequenzialmente le prime 1.056 porte TCP esaminando l'indirizzo IP pubblico col quale ci si è presentati.

Come controllare porte aperte su router e IP pubblico

Dopo aver fatto clic su Proceed bisogna selezionare All service ports: le porte "invisibili" (stealth) sono evidenziate con il colore verde, in rosso quelle "aperte" (quindi raggiungibili da remoto), in blu quelle visibili ma chiuse.

Nel caso in cui si fossero attivate funzionalità server è quindi bene verificare che siano aperte solo le porte effettivamente associate a servizi che si vogliono davvero rendere accessibili dall'esterno.

Sui router utilizzati in azienda o in ufficio la porta 80 dovrebbe essere ad esempio normalmente chiusa (anzi, indicata come "invisibile") a meno che non si fosse appositamente effettuato il port forwarding verso un sistema server, collegato in rete locale, al quale ci si deve poter connettere – previo inserimento delle credenziali d'accesso – dall'esterno.

Come controllare porte aperte su router e IP pubblico

Shields Up consente di effettuare una scansione soltanto del proprio IP: non è possibile esaminare indirizzi IP pubblici assegnati a soggetti terzi.

Il servizio, inoltre, verifica soltanto le porte TCP e non quelle UDP usate ad esempio per veicolare contenuti in streaming nelle situazioni in cui la perdita di pochi pacchetti dati non rappresenta un problema. TCP è un protocollo affidabile per il trasferimento dei dati mentre UDP non offre alcuna garanzia di consegna dei pacchetti trasmessi.

Sempre relativamente al proprio IP pubblico Shields Up consente comunque di verificare lo stato di qualunque altra porta TCP, anche oltre le prime 1.056 oggetto di controllo.

Digitando il numero di una porta nella casella "You may select any service from among those listed above" quindi cliccando su User specified custom port probe si può accertarne lo stato.

Come controllare porte aperte su router e IP pubblico

Nell'esempio la porta 5060 associata al protocollo SIP (il router gestisce numerazioni in modalità VoIP) risulta aperta e raggiungibile dall'esterno.

Verificare se sono aperte singole porte con YouGetSignal

Il servizio YouGetSignal permette, come Shields Up, di controllare le porte aperte sul router o sull'IP pubblico.

In questo caso è possibile specificare quale porta deve essere controllata mentre cliccando sul link Scan all common ports in basso a destra YouGetSignal verificherà le porte di utilizzo più comune.

Il servizio non fa differenza, diversamente da Shields Up, tra porte chiuse e porte invisibili: le porte vengono indicate o come aperte o semplicemente come chiuse.

È inoltre permesso lanciare anche una scansione di IP pubblici diversi da quello in uso anche se YouGetSignal consente di prendere in esame una porta alla volta oppure una ventina tra le porte di uso più comune (Scan all common ports).

Come controllare porte aperte su router e IP pubblico

Scansione di qualunque indirizzo IP pubblico con T1 Shopper e Nmap

Con T1 Shopper, un altro strumento gratuito per la scansione delle porte aperte si possono verificare le porte aperte su qualunque indirizzo IP pubblico.

Per impostazione predefinita nel campo Host name or IPv4 address appare l'indirizzo IP pubblico con cui si è al momento collegati.

È comunque possibile modificare tale indirizzo specificando un qualunque altro indirizzo IP pubblico da esaminare.

Cliccando su Check all quindi sul pulsante Scan ports, si può limitare la scansione alle 14 porte indicate.

Utilizzando le caselle Scan this list of ports numbers e Scan a range of ports, si può invece richiedere la scansione di un insieme di porte specifiche.

Il servizio provvederà ad effettuare la scansione in tempo reale indicando via a via quali porte risultano aperte, quali sono chiuse e quali non forniscono alcun tipo di risposta (la richiesta "cade nel vuoto").

Per effettuare una scansione ancora più completa e controllare sia le porte TCP che le porte UDP aperte si può usare uno strumento come Nmap ovvero il re dei port scanner.

Per esigenze più limitate c'è anche Microsoft PortQry che ha il vantaggio di permettere la scansione in Windows delle porte TCP e UDP.

Telnet in Windows e nc su Linux

Per verificare la raggiungibilità di una singola porta TCP in Windows basta digitare il comando telnet al prompt seguito dall'indirizzo IP e dal numero della porta. Esempio:

telnet 8.8.8.8 53

È ovvio che si otterrà risposta perché sulla porta 53 del server 8.8.8.8 di Google è attivo il servizio DNS per la risoluzione dei nomi a dominio.

Nel caso in cui il comando telnet fosse sconosciuto a Windows basterà aggiungerlo premendo Windows+R, digitando optionalfeatures, spuntando la casella Client Telnet e premendo OK.

In Linux oppure da Windows 10 e Windows 11 previa installazione di WSL 2 si può usare il comando nc per verificare non soltanto porte TCP ma anche porte UDP.

L'aggiunta dello switch -u al comando nc chiede una verifica sulla porta UDP specificata.


I più scaricati del mese

Buoni regalo Amazon
Come controllare porte aperte su router e IP pubblico - IlSoftware.it