Learning Center
Sistema: Linux

Come aprire le porte e visualizzare le porte aperte in Linux

10 ott 2025
Hostman Team
Hostman Team

Quando si lavora con le reti in Linux, può essere necessario aprire o chiudere una porta di rete. La gestione delle porte è fondamentale per la sicurezza: meno porte aperte ha un sistema, minori sono i potenziali vettori di attacco. Inoltre, se una porta è chiusa, un utente malintenzionato non può raccogliere informazioni sul servizio in esecuzione su quella porta specifica.

Questa guida spiega come aprire o chiudere le porte e come verificare le porte aperte su distribuzioni Linux come Ubuntu/Debian e CentOS/RHEL utilizzando firewall come ufw, firewalld e iptables.

Dimostreremo questo processo su due distribuzioni Linux: Ubuntu 22.04 e CentOS 9, eseguite su un VPS Hostman. Tutti i comandi forniti qui funzionano su qualsiasi distribuzione basata su Debian o RHEL.

Cos’è una porta di rete?
Copia link

Le porte vengono utilizzate per accedere ad applicazioni e protocolli specifici. Ad esempio, un server può ospitare sia un server web che un database — le porte instradano il traffico verso il servizio appropriato. Tecnicamente, una porta di rete è un numero intero non negativo compreso tra 0 e 65535.

  • Porte riservate (0–1023): utilizzate da protocolli e servizi di rete noti come SSH (porta 22), FTP (porta 21), HTTP (porta 80) e HTTPS (porta 443).

  • Porte registrate (1024–49151): possono essere utilizzate da applicazioni specifiche per la comunicazione.

  • Porte dinamiche (49152–65535): utilizzate per connessioni temporanee e assegnate dinamicamente alle applicazioni.

Come aprire le porte nelle distribuzioni Linux basate su Debian
Copia link

Nei sistemi basati su Debian (Ubuntu, Debian, Linux Mint, ecc.), puoi utilizzare ufw (Uncomplicated Firewall).

ufw è preinstallato nella maggior parte delle distribuzioni basate su APT. Per verificare se è installato:

ufw version

Se viene visualizzata una versione, ufw è installato. In caso contrario, installalo con:

apt update && apt -y install ufw

Per impostazione predefinita, ufw è inattivo, il che significa che tutte le porte sono aperte. Puoi verificarne lo stato con:

ufw status

Per attivarlo:

ufw enable

Dovrai confermare con y. Nota che l’attivazione di ufw può interrompere le connessioni SSH attive. Per impostazione predefinita, ufw blocca tutto il traffico in ingresso e consente tutto il traffico in uscita.

Per controllare la politica predefinita:

cat /etc/default/ufw

Image7

Aprire le porte con ufw
Copia link

Per aprire una porta:

ufw allow <port_number>

Esempio — aprire la porta 22 per SSH:

ufw allow 22

Puoi aprire più porte separandole con virgole e specificando il protocollo (tcp o udp):

ufw allow 80,443,8081,8443/tcp
ufw allow 80,443,8081,8443/udp

Invece dei numeri di porta, puoi usare il nome del servizio (definito in /etc/services). 

Image8

Esempio — aprire Telnet (porta 23):

ufw allow telnet

Nota: Non puoi specificare più nomi di servizio contemporaneamente; ufw restituirà un errore:

Image1 (1)

Per aprire un intervallo di porte:

ufw allow <start_port>:<end_port>/<protocol>

Esempio:

ufw allow 8000:8080/tcp

Chiudere le porte con ufw
Copia link

Per chiudere una porta:

ufw deny <port_number>

Esempio — chiudere la porta 80:

ufw deny 80

Puoi anche usare il nome del servizio. Esempio — chiudere FTP (porta 21):

ufw deny ftp

Visualizzare le porte aperte con ufw
Copia link

Per elencare tutte le porte aperte e chiuse:

ufw status

Image18

Oppure per una visualizzazione più dettagliata:

ufw status verbose

Aprire una porta nelle distribuzioni Linux basate su RHEL
Copia link

Le distribuzioni basate su RHEL (CentOS 7+, RHEL 7+, Fedora 18+, OpenSUSE 15+) utilizzano firewalld come impostazione predefinita.

Aprire le porte con firewalld
Copia link

Verifica se firewalld è installato:

firewall-offline-cmd -V

Se viene visualizzata una versione, firewalld è installato. In caso contrario, installalo:

dnf install firewalld

Per impostazione predefinita, firewalld è disabilitato. Controllane lo stato:

firewall-cmd --state

Per abilitarlo:

systemctl start firewalld

Aprire la porta 8080 per TCP:

firewall-cmd --zone=public --add-port=8080/tcp --permanent
  • --zone=public: specifica la zona per la regola.
  • --add-port=8080/tcp: specifica la porta e il protocollo.
  • --permanent: salva la regola in modo permanente.

Image12

Puoi anche aprire un servizio utilizzando il suo nome, ad esempio HTTP (porta 80):

firewall-cmd --zone=public --add-service=http --permanent

Applicare le modifiche:

firewall-cmd --reload

Chiudere le porte con firewalld
Copia link

Per chiudere una porta per numero:

firewall-cmd --zone=public --remove-port=8080/tcp --permanent

Image4

Oppure per nome del servizio:

firewall-cmd --zone=public --remove-service=http --permanent

Ricarica sempre dopo le modifiche:

firewall-cmd --reload

Elencare le porte aperte con firewalld
Copia link

Per elencare tutte le porte aperte:

firewall-cmd --list-ports

Gestire le porte con iptables
Copia link

A differenza di ufw e firewalld, iptables è preinstallato in molte distribuzioni (Ubuntu, Debian, RHEL, Rocky Linux, AlmaLinux).

Aprire le porte con iptables
Copia link

Per aprire la porta 8182 per connessioni in ingresso:

iptables -A INPUT -p tcp --dport 8182 -j ACCEPT
  • -A INPUT: aggiunge una regola alla catena INPUT.
  • -p tcp: specifica il protocollo.
  • --dport 8182: specifica la porta da aprire.
  • -j ACCEPT: consente il traffico attraverso la porta.

Per le connessioni in uscita:

iptables -A OUTPUT -p tcp --dport 8182 -j ACCEPT

Per aprire un intervallo di porte:

iptables -A INPUT -p tcp --match multiport --dports 1024:2000 -j ACCEPT

Chiudere le porte con iptables
Copia link

Per chiudere una porta:

iptables -A INPUT -p tcp --dport 8182 -j DROP

Chiudere un intervallo di porte:

iptables -A INPUT -p tcp --match multiport --dports 1024:2000 -j DROP

Salvare le regole di iptables
Copia link

Per impostazione predefinita, le regole di iptables sono valide solo fino al riavvio del server. Per salvarle in modo permanente, installa iptables-persistent:

Per i sistemi basati su APT:

apt update && apt -y install iptables-persistent

Per i sistemi basati su DNF:

dnf -y install iptables-persistent

Salvare le regole attuali:

iptables-save

Le regole verranno caricate automaticamente al successivo riavvio.

Visualizzare le porte aperte con iptables
Copia link

Elencare tutte le regole e le porte aperte:

iptables -L -v -n

Elencare solo le regole IPv4:

iptables -S

Elencare le regole IPv6:

ip6tables -S

Conclusione
Copia link

In questa guida abbiamo mostrato come aprire e chiudere le porte di rete in Linux e come controllare le porte attualmente aperte utilizzando tre strumenti diversi: ufw, firewalld e iptables. Una corretta gestione delle porte riduce il rischio di potenziali attacchi alla rete e aiuta a nascondere le informazioni sui servizi che utilizzano tali porte.