Come aprire una porta su Linux
Aprire le porte in Linux è un’operazione fondamentale che consente a determinati servizi o applicazioni di scambiare dati sulla rete.
Le porte agiscono come canali di comunicazione, permettendo l’accesso ai servizi autorizzati e bloccando quelli non autorizzati. La loro corretta gestione garantisce sicurezza, buone prestazioni e funzionamento stabile delle applicazioni.
Comprendere le porte e la loro funzione Copia link
Le porte sono gli endpoint logici della comunicazione di rete, attraverso i quali i dispositivi inviano e ricevono informazioni.
Esempi comuni:
-
HTTP → Porta 80
-
HTTPS → Porta 443
-
SSH → Porta 22
Una porta aperta indica che un servizio è in ascolto e accetta connessioni in ingresso. Una porta chiusa, invece, blocca la comunicazione. Per garantire sicurezza e disponibilità dei servizi, è fondamentale gestire correttamente le porte aperte su Linux.
Verificare le porte aperte su Linux Copia link
Prima di aprire una nuova porta, conviene controllare quali porte sono già attive. Puoi farlo con diversi comandi Linux.
Con netstat Copia link
Per mostrare le porte aperte, esegui:
netstat -tuln-
L’opzione -tuln limita l’output alle porte TCP e UDP, senza risolvere i nomi host.
- netstat offre una panoramica in tempo reale delle connessioni attive.

Nota: se netstat non è installato:
sudo apt install net-toolsCon ss Copia link
Il comando ss è una versione più moderna e veloce di netstat:
ss -tuln
Mostra le porte attualmente in uso e le relative informazioni sui socket.
Con nmap Copia link
Per un’analisi più approfondita:
nmap localhostnmap esegue una scansione dell’host specificato (in questo caso localhost) per individuare le porte aperte — utile per capire quali servizi sono esposti alla rete pubblica.

Nota: installa nmap con:
sudo apt install nmapAprire porte su Linux Copia link
Per consentire l’accesso attraverso una porta specifica, occorre modificare le regole del firewall. Linux offre vari strumenti: iptables, ufw e firewalld.
Ecco come utilizzarli.
Metodo 1: con iptables Copia link
iptables è un potente strumento a basso livello che offre un controllo preciso sul traffico di rete.
Aggiungere una regola per una porta specifica
Esempio: aprire la porta 8080 per traffico HTTP:
sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPTSpiegazione:
-
sudo: esegue il comando come amministratore
-
-A INPUT: aggiunge la regola alla catena di input (traffico in ingresso)
-
-p tcp: si applica al protocollo TCP
-
--dport 8080: specifica la porta 8080
-
-j ACCEPT: accetta il traffico corrispondente alla regola
Queste modifiche non sono permanenti: dopo il riavvio del sistema, le regole vengono cancellate.

Salvare la configurazione
Per rendere le regole permanenti:
sudo apt install iptables iptables-persistentsudo netfilter-persistent save
Le regole vengono così memorizzate e ricaricate automaticamente a ogni riavvio.
Ricaricare le modifiche
sudo netfilter-persistent reload
Metodo 2: con ufw (Uncomplicated Firewall) Copia link
ufw è un’interfaccia semplificata per iptables che permette di gestire facilmente le regole del firewall.
Abilitare ufw
sudo ufw enable
Se non è installato:
sudo apt install ufwAprire una porta specifica
Esempio: consentire connessioni SSH sulla porta 22:
sudo ufw allow 22/tcpQuesto comando autorizza il traffico TCP in ingresso sulla porta 22.

Verificare lo stato del firewall
sudo ufw statusMostra tutte le regole attive e le porte aperte.

Metodo 3: con firewalld Copia link
firewalld è un demone firewall dinamico che semplifica la gestione delle regole.
Aggiungere una regola permanente
Esempio: aprire la porta 443 (HTTPS):
sudo firewall-cmd --permanent --add-port=443/tcp
Installazione e avvio di firewalld:
sudo apt install firewalldsudo systemctl enable firewalld
sudo systemctl start firewalldRicaricare le regole
sudo firewall-cmd --reload
Verificare che la porta sia aperta
sudo firewall-cmd --list-allVisualizza tutte le zone e le regole attive, incluse le porte aperte.

Testare la porta aperta Copia link
Dopo aver aperto una porta, assicurati che sia effettivamente accessibile.
Con telnet
telnet localhost port_numberSe la connessione va a buon fine, la porta è aperta e operativa.

Con nmap Copia link
nmap -p port_number localhostScansiona il port specificato per verificarne la disponibilità.

Con curl Copia link
curl localhost:port_numberUna risposta positiva indica che il servizio è attivo sulla porta aperta.

Risoluzione dei problemi comuni Copia link
Se l’apertura di una porta non funziona:
Controlla le regole del firewall
- iptables -L
- ufw status
Verifica lo stato del servizio
- systemctl status <nome_servizio>
Aprire porte in base al protocollo Copia link
A seconda del servizio, può essere richiesto TCP o UDP.
Porta TCP Copia link
Esempio: consentire il traffico MySQL sulla porta 3306:
sudo ufw allow 3306/tcp
Porta UDP Copia link
Esempio: aprire la porta 161 per SNMP:
sudo ufw allow 161/udp
Gestire l’accessibilità delle porte Copia link
Limitare l’accesso a un indirizzo IP specifico
sudo ufw allow from 192.168.1.100 to any port 22Permette l’accesso SSH solo da quell’indirizzo IP, migliorando la sicurezza.

Chiudere una porta Copia link
sudo ufw deny 80/tcpBlocca il traffico in ingresso sulla porta 80 (HTTP).
Conclusione Copia link
Verificare e aprire le porte in Linux è essenziale per garantire il corretto funzionamento della rete e la sicurezza dei servizi. Con strumenti come iptables, ufw e firewalld puoi controllare il traffico in modo preciso e sicuro. Effettua sempre test con nmap, curl o telnet per assicurarti che le configurazioni siano corrette. Una buona gestione delle porte è la base per server affidabili, connessioni sicure e prestazioni ottimali.