Learning Center
O sistema Linux

Como abrir portas e listar portas abertas no Linux

10 out. 2025
Hostman Team
Hostman Team

Ao trabalhar com redes no Linux, pode ser necessário abrir ou fechar uma porta de rede. O gerenciamento de portas é essencial para a segurança: quanto menos portas abertas houver em um sistema, menos vetores de ataque potenciais existirão. Além disso, se uma porta estiver fechada, um invasor não poderá obter informações sobre o serviço em execução naquela porta específica.

Este guia explica como abrir ou fechar portas e como verificar portas abertas em distribuições Linux como Ubuntu/Debian e CentOS/RHEL, utilizando firewalls como ufw, firewalld e iptables.

Vamos demonstrar esse processo em duas distribuições Linux: Ubuntu 22.04 e CentOS 9, executadas em um VPS Hostman. Todos os comandos fornecidos aqui funcionam em qualquer distribuição baseada em Debian ou RHEL.

O que é uma porta de rede?
Copiar link

As portas são usadas para acessar aplicações e protocolos específicos. Por exemplo, um servidor pode hospedar simultaneamente um servidor web e um banco de dados — as portas direcionam o tráfego para o serviço apropriado. Tecnicamente, uma porta de rede é um número inteiro não negativo entre 0 e 65535.

  • Portas reservadas (0–1023): usadas por protocolos e serviços de rede conhecidos como SSH (porta 22), FTP (porta 21), HTTP (porta 80) e HTTPS (porta 443).

  • Portas registradas (1024–49151): podem ser usadas por aplicações específicas para comunicação.

  • Portas dinâmicas (49152–65535): usadas para conexões temporárias e podem ser atribuídas dinamicamente a aplicações.

Como abrir portas em distribuições Linux baseadas em Debian
Copiar link

Em sistemas baseados em Debian (Ubuntu, Debian, Linux Mint, etc.), você pode usar o ufw (Uncomplicated Firewall).

ufw vem pré-instalado na maioria das distribuições baseadas em APT. Para verificar se está instalado:

ufw version

Se for exibida uma versão, ufw está instalado. Caso contrário, instale com:

apt update && apt -y install ufw

Por padrão, ufw está inativo, o que significa que todas as portas estão abertas. Você pode verificar seu status com:

ufw status

Para ativá-lo:

ufw enable

Será necessário confirmar com y. Observe que ativar o ufw pode interromper conexões SSH ativas. Por padrão, ufw bloqueia todo o tráfego de entrada e permite todo o tráfego de saída.

Para verificar a política padrão:

cat /etc/default/ufw

Image7

Abrindo portas com ufw
Copiar link

Para abrir uma porta:

ufw allow <port_number>

Exemplo — abrir a porta 22 para SSH:

ufw allow 22

Você pode abrir várias portas separando-as por vírgulas e especificando o protocolo (tcp ou udp):

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

Em vez de números de porta, você pode usar o nome do serviço (definido em /etc/services). 

Image8

Exemplo — abrir Telnet (porta 23):

ufw allow telnet

Observação: Não é possível especificar vários nomes de serviço ao mesmo tempo; caso contrário, o ufw exibirá um erro:

Image1 (1)

Para abrir um intervalo de portas:

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

Exemplo:

ufw allow 8000:8080/tcp

Fechando portas com ufw
Copiar link

Para fechar uma porta:

ufw deny <port_number>

Exemplo — fechar a porta 80:

ufw deny 80

Você também pode usar o nome do serviço. Exemplo — fechar FTP (porta 21):

ufw deny ftp

Verificando portas abertas com ufw
Copiar link

Para listar todas as portas abertas e fechadas:

ufw status

Image18

Ou para uma visão mais detalhada:

ufw status verbose

Como abrir uma porta em distribuições Linux baseadas em RHEL
Copiar link

Distribuições baseadas em RHEL (CentOS 7+, RHEL 7+, Fedora 18+, OpenSUSE 15+) usam firewalld por padrão.

Abrindo portas com firewalld
Copiar link

Verifique se o firewalld está instalado:

firewall-offline-cmd -V

Se uma versão for exibida, firewalld está instalado. Caso contrário, instale-o:

dnf install firewalld

Por padrão, firewalld está desativado. Verifique seu status:

firewall-cmd --state

Para ativá-lo:

systemctl start firewalld

Abrir a porta 8080 para TCP:

firewall-cmd --zone=public --add-port=8080/tcp --permanent
  • --zone=public: especifica a zona da regra.
  • --add-port=8080/tcp: especifica a porta e o protocolo.
  • --permanent: salva a regra permanentemente.

Image12

Você também pode abrir um serviço usando seu nome, por exemplo HTTP (porta 80):

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

Aplicar as alterações:

firewall-cmd --reload

Fechando portas com firewalld
Copiar link

Para fechar uma porta por número:

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

Image4

Ou por nome do serviço:

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

Sempre recarregue após as alterações:

firewall-cmd --reload

Listando portas abertas com firewalld
Copiar link

Para listar todas as portas abertas:

firewall-cmd --list-ports

Gerenciando portas com iptables
Copiar link

Ao contrário do ufw e do firewalld, o iptables vem pré-instalado em muitas distribuições (Ubuntu, Debian, RHEL, Rocky Linux, AlmaLinux).

Abrindo portas com iptables
Copiar link

Para abrir a porta 8182 para conexões de entrada:

iptables -A INPUT -p tcp --dport 8182 -j ACCEPT
  • -A INPUT: adiciona uma regra à cadeia INPUT.
  • -p tcp: especifica o protocolo.
  • --dport 8182: especifica a porta a ser aberta.
  • -j ACCEPT: permite o tráfego através da porta.

Para conexões de saída:

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

Para abrir um intervalo de portas:

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

Fechando portas com iptables
Copiar link

Para fechar uma porta:

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

Fechar um intervalo de portas:

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

Salvando regras do iptables
Copiar link

Por padrão, as regras do iptables são válidas apenas até o próximo reinício do servidor. Para salvá-las permanentemente, instale o iptables-persistent:

Para sistemas baseados em APT:

apt update && apt -y install iptables-persistent

Para sistemas baseados em DNF:

dnf -y install iptables-persistent

Salvar as regras atuais:

iptables-save

As regras serão automaticamente recarregadas na próxima reinicialização.

Visualizando portas abertas com iptables
Copiar link

Listar todas as regras e portas abertas:

iptables -L -v -n

Listar apenas regras IPv4:

iptables -S

Listar regras IPv6:

ip6tables -S

Conclusão
Copiar link

Neste guia, mostramos como abrir e fechar portas de rede no Linux e como verificar as portas atualmente abertas usando três ferramentas diferentes: ufw, firewalld e iptables. Um bom gerenciamento de portas reduz o risco de ataques de rede e ajuda a ocultar informações sobre os serviços que utilizam essas portas.