Login
Login

Como abrir portas e listar portas abertas no Linux

Como abrir portas e listar portas abertas no Linux
Hostman Team
Technical writer
Linux Network
10.10.2025
Reading time: 6 min

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?

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

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

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

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

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

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

Abrindo portas com firewalld

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

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

Para listar todas as portas abertas:

firewall-cmd --list-ports

Gerenciando portas com iptables

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

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

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

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

Listar todas as regras e portas abertas:

iptables -L -v -n

Listar apenas regras IPv4:

iptables -S

Listar regras IPv6:

ip6tables -S

Conclusão

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.

Linux Network
10.10.2025
Reading time: 6 min

Semelhante

O sistema Linux

Como usar o comando Telnet no Linux

O comando Telnet é uma ferramenta prática de comunicação de rede no Linux. De varreduras de portas remotas à depuração de conexões, o Telnet oferece uma maneira simples e baseada em texto para interagir com um host remoto. Neste guia passo a passo, você aprenderá a instalar, configurar e usar o Telnet no Linux. Também abordaremos suas principais opções e recursos, para que você tenha uma visão completa. O que é Telnet? Telnet, abreviação de Telecommunication Network, é um protocolo de rede que permite acessar outro computador remotamente através do TCP (Transmission Control Protocol). Ele permite conectar-se diretamente a um host remoto em uma porta específica para enviar comandos e visualizar as respostas em tempo real. O Telnet é usado principalmente para: Testar portas abertas: verificar se um servidor está ouvindo em uma porta específica. Acessar serviços: como web, e-mail ou outros serviços de rede. Depurar problemas de rede: identificar falhas de conectividade ou portas bloqueadas. Instalando o Telnet no Linux O Telnet não vem pré-instalado na maioria das distribuições modernas do Linux. O processo de instalação varia conforme o tipo de sistema. Para sistemas baseados em Ubuntu/Debian Usuários de Ubuntu, Debian ou similares podem instalar o Telnet com o gerenciador de pacotes APT: sudo apt install telnet Para sistemas baseados em Red Hat/CentOS Em Red Hat, CentOS ou Fedora, use o yum ou o dnf: sudo yum install telnet For newer versions: sudo dnf install telnet Sintaxe do comando Telnet A sintaxe do Telnet é simples: telnet [hostname/IP] [port] Parâmetros: [hostname/IP]: define o nome do host ou endereço IP do servidor remoto. [port]: especifica o número da porta a ser usada (por padrão, 23). O Telnet estabelece uma conexão direta com serviços específicos, como: HTTP (porta 80), SMTP (porta 25) e FTP (porta 21). Principais opções do comando Telnet O comando Telnet é altamente configurável e oferece várias opções para personalizar sua operação. Opção Descrição -4 Força o uso do IPv4. -6 Força o uso do IPv6. -8 Permite a transferência de dados de 8 bits. -E Desativa o caractere de escape. -K Impede o envio automático de credenciais (ex.: ticket Kerberos). -L Ativa o modo loopback (conecta ao próprio host). -X atype Define o tipo de autenticação (ex.: KERBEROS_V4). -a Preenche automaticamente o nome de usuário ao conectar-se. -d Ativa o modo de depuração com informações detalhadas. -e char Define um caractere de escape personalizado. -l user Especifica o nome de usuário para login. -n tracefile Grava a atividade da sessão em um arquivo de log. -b addr Define o endereço ou interface local para a conexão. -r Cria uma conexão Telnet reversa (reverse Telnet).   Usando o Telnet: aplicações práticas O Telnet é uma ferramenta útil para diagnosticar e testar conexões de rede. Veja alguns exemplos comuns. Testar portas abertas Para verificar se a porta 80 de um servidor está aberta: telnet example.com 80 Se a porta estiver aberta, o Telnet mostrará uma tela em branco, indicando que o servidor está ouvindo. Se estiver bloqueada ou fechada, será exibida uma mensagem como: Connection refused Interagir com servidores SMTP O Telnet pode ser usado para depurar servidores de e-mail enviando comandos SMTP diretamente: telnet mail.example.com 587 Depois de conectado, digite comandos como HELO, MAIL FROM e RCPT TO para se comunicar com o servidor. Enviar requisições HTTP Você também pode usar o Telnet para testar manualmente um servidor web: telnet example.com 80 Em seguida, digite: GET / HTTP/1.1 Host: example.com Pressione Enter duas vezes para enviar a requisição. A resposta do servidor aparecerá em seguida. Forçar o uso de IPv4 Se o servidor suportar IPv4 e IPv6, você pode forçar a conexão via IPv4: telnet -4 example.com 80 Isso garante compatibilidade com redes que não suportam IPv6. Depurar um servidor MySQL O Telnet também pode verificar se a porta do MySQL (3306) está aberta: telnet database.example.com 3306 Se a conexão for bem-sucedida, o Telnet exibirá uma mensagem de saudação específica do protocolo MySQL. Considerações de segurança Embora o Telnet seja útil, ele é fundamentalmente inseguro, pois transmite todos os dados — incluindo senhas — em texto puro. 👉 Portanto: Evite usar Telnet em redes públicas ou não seguras. Prefira redes privadas e protegidas. Use alternativas seguras, como SSH (Secure Shell), para comunicação criptografada. Desative o Telnet em servidores onde ele não é necessário. Casos de uso avançados O Telnet também pode ser usado em cenários específicos, como: Monitoramento de serviços: testar diretamente protocolos como IMAP ou POP3. Gerenciamento de dispositivos IoT: alguns dispositivos conectados ainda usam Telnet como interface de texto. Uso educacional: excelente ferramenta para aprender sobre protocolos e respostas de servidor. Problemas comuns e soluções Apesar da simplicidade, o Telnet pode apresentar alguns erros: Connection Refused: Porta de destino fechada ou bloqueada por firewall. Time-Out Errors: Latência de rede ou problema de roteamento. Permission Denied: Permissões insuficientes ou porta restrita. Verifique regularmente as configurações de rede e firewall para evitar esses problemas. Alternativas ao Telnet Devido à ausência de criptografia, o Telnet representa um risco de segurança. Existem alternativas mais seguras com recursos semelhantes: SSH (Secure Shell): a alternativa mais popular, com comunicação criptografada e autenticação forte. → Use o comando ssh para acessar servidores remotos com segurança. Netcat (nc): ferramenta poderosa para depuração, varredura de portas e testes de conexão (TCP/UDP). OpenSSL s_client: permite testar conexões SSL/TLS com segurança em portas específicas. Conclusão O Telnet é uma ferramenta simples, porém eficaz, para diagnóstico e depuração de redes no Linux. Desde que você esteja ciente de suas limitações de segurança, ele continua sendo uma opção prática para testes e comunicação com serviços de rede. Com este guia, você pode instalar, configurar e usar o Telnet de forma segura e eficiente, aproveitando ao máximo os recursos de administração remota do Linux.
13 October 2025 · 6 min to read
Linux

Como copiar arquivos via SSH

O protocolo SSH (Secure Shell) é um protocolo de rede para gerenciamento remoto de sistemas operacionais via linha de comando. É amplamente considerado o padrão para acesso remoto a máquinas *nix. Ele permite login seguro em um servidor, execução remota de comandos, gerenciamento de arquivos (criar, excluir, copiar etc.) e muito mais. A maioria dos provedores de nuvem exige SSH para acessar seus serviços. Neste artigo, veremos como copiar arquivos via SSH em sistemas Windows e Linux. Como o SSH funciona O SSH pode transmitir com segurança qualquer tipo de dado (áudio, vídeo, dados de protocolo) por meio de um canal criptografado. Diferente de protocolos obsoletos e inseguros como Telnet e rlogin, o SSH garante confidencialidade e autenticidade — essenciais para a comunicação na Internet. Veja como é estabelecida uma conexão segura entre cliente e servidor: Conexão TCP: Por padrão, o servidor escuta na porta 22. Ambas as partes compartilham uma lista de algoritmos compatíveis (compressão, criptografia, troca de chaves) e concordam em quais usar. Autenticação: Para evitar falsificação de identidade, ambas as partes verificam suas identidades usando criptografia assimétrica (pares de chaves pública/privada). O servidor é autenticado primeiro. Na primeira conexão, o cliente exibe um aviso com detalhes do servidor. As chaves dos servidores confiáveis são armazenadas em /home/<username>/.ssh/known_hosts. Geração de chave: Depois que o servidor é verificado, ambas as partes geram uma chave simétrica para criptografar todos os dados trocados. Autenticação do usuário: É feita usando senha ou chave pública enviada pelo cliente e armazenada no servidor em /home/<username>/.ssh/authorized_keys. A implementação mais popular no Linux é o OpenSSH, que vem pré-instalado na maioria das distribuições (Ubuntu, Debian, RHEL etc.). No Windows, clientes como PuTTY ou MobaXterm são usados. Desde o Windows 10 e Server 2019, as ferramentas OpenSSH também estão disponíveis nativamente. Copiando arquivos via SSH Duas ferramentas principais para copiar arquivos no Linux são scp e sftp. Ambas vêm com o OpenSSH. O SSH suporta duas versões de protocolo: 1 e 2. O OpenSSH suporta ambas, mas a versão 1 raramente é usada. Configurar autocompletar Para ativar o autocompletar com Tab ao usar scp, configure a autenticação por chave pública: Gerar um par de chaves: ssh-keygen Saída esperada: Generating public/private rsa key pair. Enter file in which to save the key (/home/user/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Por padrão, as chaves (id_rsa para privada e id_rsa.pub para pública) são salvas em ~/.ssh/. Copiar a chave pública para a máquina remota: ssh-copy-id [username]@[ip-address] Após inserir a senha do usuário, uma mensagem confirmará que a chave foi adicionada. Secure Copy (SCP) Para transferências pequenas (por exemplo, arquivos de configuração), scp é ideal. Copiar de local para remoto: scp test.txt user@192.168.1.29:/home/user/ Copiar vários arquivos: scp test1.txt test2.txt user@192.168.1.29:/home/user/ Copiar de remoto para local: scp user@192.168.1.29:/home/user/test.txt ~/ Copiar diretórios: scp -r testdir user@192.168.1.29:/home/user/ Copiar de remoto para remoto: scp gendo@192.168.1.25:/home/gendo/test.txt user@192.168.1.29:/home/user/ Secure FTP (SFTP) SFTP é outra ferramenta incluída no OpenSSH. Desde OpenSSH 9.0, scp usa SFTP por padrão em vez do protocolo SCP/RCP. Ao contrário do FTP clássico, sftp transmite dados criptografados por meio de um túnel seguro. Não é necessário um servidor FTP separado. Exemplo de uso: sftp misato@192.168.1.29 sftp> ls sftp> lcd testdir/ sftp> get test.txt sftp> bye Gerenciadores de arquivos gráficos como Midnight Commander e Nautilus também usam sftp. No Nautilus, o servidor remoto aparece como uma pasta local, por exemplo user@ip. Copying Files Over SSH on Windows No Windows, use a ferramenta de linha de comando pscp do PuTTY para copiar arquivos. Copiar para o servidor: pscp C:\server\test.txt misato@192.168.1.29:/home/misato/ Copiar do servidor: pscp misato@192.168.1.29:/home/misato/test.txt C:\file.txt Listar arquivos no servidor remoto: pscp -ls user@192.168.1.29:/home/misato Usar aspas para caminhos com espaços: pscp "C:\dir\bad file name.txt" misato@192.168.1.29:/home/misato/ Exibir ajuda: pscp Conclusão Vimos como copiar arquivos de e para um servidor usando o protocolo seguro SSH. Se você trabalha com servidores em nuvem, entender SSH é essencial — é o método padrão de acesso remoto a máquinas *nix e uma parte fundamental do trabalho diário de DevOps e administração de sistemas.
10 October 2025 · 5 min to read
O sistema Linux

Como montar um compartilhamento SMB no Linux

O protocolo Server Message Block (SMB) permite o compartilhamento de arquivos em rede, possibilitando que aplicações leiam e gravem arquivos e solicitem serviços de programas de servidor. Esse protocolo é essencial para comunicação entre dispositivos diferentes em uma rede, especialmente em ambientes mistos como Windows e Linux. Montar um compartilhamento SMB no Linux permite acessar arquivos de um servidor Windows ou de outro dispositivo com suporte SMB diretamente do sistema Linux. Este guia mostrará como montar um compartilhamento SMB no Linux, garantindo compartilhamento de arquivos e comunicação em rede sem interrupções. Requisitos para montar compartilhamentos SMB Antes de montar um compartilhamento SMB, verifique os seguintes requisitos: Um sistema Linux, como um servidor em nuvem Hostman com acesso root ou sudo. O pacote cifs-utils instalado no sistema Linux. Credenciais de acesso (nome de usuário e senha) para o compartilhamento SMB. Conectividade de rede entre o sistema Linux e o servidor SMB. Instalando os pacotes necessários O pacote cifs-utils é essencial para montar compartilhamentos SMB no Linux. Além disso, o pacote psmisc fornece o comando fuser, que auxilia no gerenciamento de arquivos em uso. Atualize a lista de pacotes sudo apt update Instale os pacotes cifs-utils e psmisc sudo apt install cifs-utils psmisc Verifique se a instalação foi bem-sucedida e se o comando fuser está disponível mount -t cifsfuser Localizando informações do compartilhamento SMB Identifique as informações do compartilhamento SMB, como o nome do servidor ou endereço IP e o nome do compartilhamento. Pode ser necessário consultar o administrador de rede ou verificar a configuração do servidor. Exemplo: Servidor: smbserver.exemplo.com Compartilhamento: pastacompartilhada Montar compartilhamentos SMB com o comando mount Use o comando mount com a opção -t cifs para montar o compartilhamento SMB. Crie um diretório como ponto de montagem: sudo mkdir /mnt/smb_share Monte o compartilhamento SMB: sudo mount -t cifs -o username=seu_usuario,password=sua_senha //192.0.2.17/ArquivosCompartilhados /mnt/smb_share Substitua seu_usuario e sua_senha pelas credenciais reais. Certifique-se de que /mnt/smb_share exista. Verificar a montagem Use o comando mount para confirmar a montagem: mount -t cifs Acesse o ponto de montagem e veja os arquivos: cd /mnt/smb_sharels Criar um arquivo de credenciais Para evitar digitar suas credenciais sempre, crie um arquivo oculto e protegido com elas. Crie o arquivo: nano ~/.smbcredentials Adicione o seguinte conteúdo: username=seu_usuariopassword=sua_senha Ajuste as permissões do arquivo: sudo chown seu_usuario: ~/.smbcredentialssudo chmod 600 ~/.smbcredentials Montar usando o arquivo de credenciais Monte o compartilhamento SMB usando o arquivo de credenciais: sudo mount -t cifs -o credentials=~/.smbcredentials //192.168.2.12/ArquivosCompartilhados /mnt/smb_share Automatizar montagem de compartilhamento SMB Para montar o compartilhamento automaticamente na inicialização, adicione uma entrada ao arquivo /etc/fstab. 1. Abra /etc/fstab para edição: sudo nano /etc/fstab 2. Adicione a seguinte linha: //smbserver.exemplo.com/pastacompartilhada /mnt/smb_share cifs username=joaodasilva,password=senhasegura,iocharset=utf8,sec=ntlm 0 0 3. Salve e feche o arquivo. 4. Teste a entrada: sudo mount -a Verifique se não há mensagens de erro. Solucionando problemas comuns   Permissão negada Verifique suas credenciais e permissões no servidor SMB. Arquivo ou diretório inexistente Confira se o IP do servidor, caminho do compartilhamento e ponto de montagem estão corretos. Erro de montagem 13 = Permissão negada Verifique novamente o nome de usuário e a senha. Erro de montagem 112 = Host inativo Confirme a conectividade de rede e a disponibilidade do servidor. Desmontar um compartilhamento SMB Use o comando umount seguido do ponto de montagem: sudo umount /mnt/smb_share Conclusão Montar um compartilhamento SMB no Linux é um processo simples que melhora o compartilhamento de arquivos entre sistemas operacionais diferentes. Com este guia, você consegue configurar e solucionar problemas com eficiência. Não se esqueça de conferir nosso guia sobre como configurar imagens de servidor no Linux! Perguntas Frequentes O que é Samba no Linux e qual a relação com SMB? Samba é uma implementação de código aberto do protocolo SMB/CIFS no Linux. Ele permite que sistemas Linux compartilhem arquivos e impressoras com dispositivos Windows na rede. Qual é o comando para montar um compartilhamento do Windows no Linux? Use mount -t cifs //servidor/compartilhamento /mnt/share -o username=seu_usuario Como montar automaticamente um compartilhamento SMB na inicialização do Linux? Adicione a configuração de montagem ao arquivo /etc/fstab com as credenciais apropriadas. Preciso de acesso root para montar um compartilhamento SMB? Para a montagem tradicional, sim. Mas ferramentas como gio mount podem ser usadas sem permissões de root.
16 July 2025 · 5 min to read

Tem perguntas,
comentários ou preocupações?

Nossos profissionais estão disponíveis para ajudá-lo a qualquer momento,
seja para assistência ou apenas se você não souber por onde começar.
Envie-nos um e-mail
Hostman's Support