Portas abertas são uma das principais vulnerabilidades em um servidor. Se você não as gerencia, corre o risco de deixar uma “porta aberta” para invasores. Neste artigo, vamos ver como fechar portas no Linux usando iptables, ufw e também como verificar quais portas já estão abertas.
Você também vai aprender a fechar a porta 80, bloquear todas as portas exceto as necessárias e entender como isso se relaciona com a segurança de servidores e clientes HTTP.
Como visualizar as portas abertas no servidor?
Antes de fechar as portas, é necessário saber quais estão abertas no momento e quais serviços as utilizam:
sudo ss -tulnou:
sudo netstat -tulnSignificado das flags:
- t — TCP;
- u — UDP;
- l — apenas portas em escuta (LISTEN);
- n — mostrar números de portas diretamente.
Como fechar/abrir portas com iptables?
Para fechar uma porta (por exemplo, a 80), use:
sudo iptables -A INPUT -p tcp --dport 80 -j DROPEssa regra bloqueia conexões de entrada na porta 80 via TCP.
Para verificar:
sudo iptables -L -n --line-numbersPara remover a regra:
sudo iptables -D INPUTSe quiser reabrir a porta:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPTComo fechar ou abrir uma porta com UFW
O UFW (Uncomplicated Firewall) é uma ferramenta simples para configurar o firewall no Linux, especialmente no Ubuntu.
Para bloquear a porta 80:
sudo ufw deny 80Para verificar as regras atuais:
sudo ufw status numberedPara excluir uma regra específica, veja o número dela na lista e remova:
sudo ufw delete Para reabrir a porta 80:
sudo ufw allow 80Dessa forma, é possível controlar facilmente o acesso às portas: bloqueando as desnecessárias e liberando apenas as essenciais, sem a complexidade do iptables.
Script para configurar portas
Você pode usar um script automatizado para gerenciar o acesso às portas, bloqueando todas por padrão e liberando apenas as que você desejar:
#!/bin/bash
# Verifica se o UFW está instalado
if ! command -v ufw /dev/null; then
echo "UFW não está instalado. Instalando..."
sudo apt update && sudo apt install -y ufw
fi
echo "Desativando o UFW, se já estiver ativo..."
sudo ufw disable
echo "Resetando todas as regras..."
sudo ufw reset
echo "Definindo política padrão: negar entrada, permitir saída..."
sudo ufw default deny incoming
sudo ufw default allow outgoing
echo "Liberando HTTPS (porta 443)..."
sudo ufw allow 443/tcp
echo "Ativando o UFW..."
sudo ufw enable
echo "Status atual do UFW:"
sudo ufw status verbose
Como desativar serviços que abrem portas
Às vezes, uma porta está aberta porque um serviço está ativo (como Apache ou Nginx). Se você não estiver utilizando, desative-o.
Para desativar o Apache:
sudo systemctl stop apache2
sudo systemctl disable apache2Para desativar o Nginx:
sudo systemctl stop nginx
sudo systemctl disable nginxDicas de segurança
- Feche todas as portas não utilizadas.
- Libere apenas as portas específicas que você realmente precisa (por exemplo, 22 e 443).
- Use o fail2ban para proteger contra ataques de força bruta.
- Configure o firewall (UFW, firewalld ou iptables) imediatamente após instalar o servidor.
O gerenciamento de portas é uma parte fundamental da segurança em servidores Linux. Agora você sabe como fechar portas, verificar quais estão abertas, bloquear a porta 80 e manter apenas as conexões necessárias ativas.