Vai al contenuto principale

Guide / Come verificare un sito web: le guide pratiche

Come verificare se una porta è aperta

Per verificare se una porta è aperta dall'esterno, devi testarla dall'esterno: un tentativo di connessione da un'altra rete è l'unico risultato che conta davvero. Una porta che risponde dalla tua stessa macchina può comunque essere bloccata da un firewall, da un security group o dal tuo provider di hosting prima che un visitatore esterno la raggiunga.

Il modo rapido: testare da fuori la tua rete

Inserisci il nome host o l'indirizzo IP e il numero di porta in uno strumento di controllo porte e lascia che apra una connessione da una macchina da qualche altra parte su internet. Se il servizio è in esecuzione è una domanda diversa. Quello che devi sapere è se qualcuno là fuori può raggiungerlo, e testare dallo stesso server, o dalla stessa rete d'ufficio, salta esattamente i livelli che di solito causano il problema.

Il modo manuale: nc, nmap e telnet

Da qualsiasi altra macchina su una rete diversa, tre strumenti fanno il lavoro:

nc -zv example.com 443            # singola porta, scansione zero-I/O, verbosa
nmap -Pn -p 22,80,443 example.com # più porte, riporta open/closed/filtered
telnet example.com 25             # vecchio ma universale; Ctrl+] poi "quit" per uscire

nc (netcat) è il più semplice: -z significa connettersi e disconnettersi subito senza inviare dati, -v stampa il risultato. Risponde "riuscita" o "rifiutata / timeout" e nient'altro. Usa nmap quando la distinzione conta, perché è l'unico dei tre che separa in modo affidabile una connessione rifiutata da una interrotta, e -Pn gli dice di saltare la sua sonda ping e testare la porta anche quando l'host non risponde ai ping. telnet è installato quasi ovunque, e per i protocolli testuali come SMTP o HTTP mostra anche il banner di benvenuto che il servizio invia.

Per vedere cosa sta ascoltando sulla macchina stessa, che è una domanda diversa, usa ss -tulpn su Linux o netstat -ano su Windows. Se una porta sta ascoltando lì ma è chiusa dall'esterno, il blocco è nel mezzo: un firewall dell'host, un security group nel cloud, o il provider.

Open, closed e filtered sono tre risposte diverse

  • Open (aperta). Qualcosa ha completato l'handshake TCP. Un servizio sta ascoltando e ha accettato la connessione.
  • Closed (chiusa). L'host ha risposto, ma con un rifiuto (un reset TCP). La macchina è raggiungibile e nulla sta ascoltando su quella porta. È una risposta veloce e definitiva.
  • Filtered (filtrata). Non è tornato nulla. Un firewall ha scartato il pacchetto senza rispondere, quindi la sonda va in timeout. È la risposta lenta, e significa che c'è un firewall di mezzo, non che il servizio è giù.

Closed ti indirizza verso la configurazione del servizio. Filtered ti indirizza verso una regola del firewall, un security group, o un provider internet che blocca la porta. Molti provider bloccano di default la porta 25 in uscita, e alcuni bloccano la 445 e altre porte comunemente sfruttate, il che produce un risultato filtered che nessuna configurazione lato server può cambiare.

UDP è un caso speciale. UDP non ha handshake, quindi uno scanner spesso non riesce a distinguere una porta aperta da una filtrata, e il silenzio è una risposta valida da un servizio UDP sano. Considera i risultati UDP come prove molto più deboli rispetto a quelli TCP.

Perché una porta aperta non è un servizio funzionante

Una porta aperta dimostra che si può stabilire una connessione TCP. Non dice nulla su cosa succede dopo. Tutte queste sono porte aperte con servizi guasti:

  • Un server web che accetta connessioni sulla 443 mentre restituisce 502 perché l'applicazione dietro di esso è crashata.
  • Un database che ascolta sulla sua porta ma rifiuta ogni login.
  • Un server di posta che completa l'handshake e poi interrompe la sessione prima di accettare un messaggio.
  • Un servizio il cui certificato TLS è scaduto la notte scorsa. La porta si apre, e ogni client rifiuta la connessione.
  • Una porta inoltrata alla macchina interna sbagliata, che accetta connessioni e non risponde nulla di utile.

Quindi un controllo di porta è il primo passo di una diagnosi, non tutta la diagnosi. Una volta che la porta risponde, controlla il protocollo: richiedi una pagina e leggi il codice di stato, esegui un login reale, o invia un messaggio di prova. L'ordine conta, perché un controllo di porta esclude rapidamente l'intero livello di rete e ti permette di smettere di cercare lì.

Una breve checklist quando una porta non si apre

  1. Conferma che il servizio sta ascoltando sulla macchina, e sull'interfaccia giusta. Un servizio legato a 127.0.0.1 è irraggiungibile da qualsiasi altro posto, ed è una causa molto comune.
  2. Controlla il firewall dell'host (ufw, firewalld, o il firewall di Windows).
  3. Controlla il security group nel cloud o la ACL di rete, che è un livello separato dal firewall dell'host e viene spesso dimenticato.
  4. Controlla eventuali inoltri di porta del router o del NAT se la macchina non è direttamente su un indirizzo pubblico.
  5. Conferma che il provider non blocchi quella porta, specialmente per le porte di posta.
  6. Ritesta da una terza rete per escludere un filtraggio in uscita tuo.

Riverificare secondo una pianificazione

Un controllo di porta ti dice lo stato in questo momento, da dove è stata eseguita la sonda. Le porte di solito non si chiudono da sole. Le regole del firewall vengono modificate, i security group vengono irrigiditi, i certificati scadono e i servizi smettono di riavviarsi dopo un reboot, e niente di tutto ciò si annuncia da solo. Il monitoraggio delle porte pianificato si riconnette a intervalli da più ubicazioni e avvisa quando la connessione smette di riuscire, il che intercetta anche il caso in cui la porta è raggiungibile da una regione e filtrata da un'altra. Testa una porta ora con lo strumento di controllo porte. Quando la porta si apre ma il TLS fallisce, la prossima cosa da leggere è come verificare la scadenza del certificato.

Controlla ora

Esegui il controllo gratuito sul tuo sito, senza bisogno di un account.

Port check

Monitora in modo permanente

Ricevi un avviso appena qualcosa si rompe: HostTracker controlla da oltre 300 località e ti avvisa via e-mail, SMS, Slack, Telegram e altro.

Funzionalità di HostTracker

Altro in questa sezione: Come verificare un sito web: le guide pratiche