Como usar
- Escolha um modelo, como Servidor web (SSH, HTTP, HTTPS), ou edite as regras diretamente.
- Em cada regra, informe as portas, o protocolo, o endereço de origem (deixe vazio para qualquer lugar) e Permitir ou Bloquear.
- Defina sua porta SSH e decida se quer Bloquear todo o resto do tráfego de entrada.
- Escolha seu firewall e copie os comandos em um shell root no servidor.
Opções explicadas
- Portas
- Uma única porta (22), uma lista (80,443) ou um intervalo (8000-8100).
- Origem
- Um endereço ou rede IPv4 ou IPv6, como 203.0.113.0/24. Origens IPv6 vão para o ip6tables.
- Bloquear todo o resto do tráfego de entrada
- Define a política padrão de entrada como negar. O tráfego de saída continua permitido.
Exemplo de saída
Três regras, com SSH na porta 22 e a política padrão definida como negar: permitir SSH apenas de 203.0.113.5, permitir as portas TCP 80 e 443 de qualquer lugar e bloquear 198.51.100.0/24 na porta 25. A regra de bloqueio é escrita primeiro, porque vale a primeira regra que combinar.
# ufw
ufw default deny incoming
ufw default allow outgoing
ufw deny from 198.51.100.0/24 to any port 25 proto tcp
ufw allow from 203.0.113.5 to any port 22 proto tcp
ufw allow 80,443/tcp
ufw enable
# iptables
iptables -A INPUT -p tcp -s 198.51.100.0/24 --dport 25 -j DROP
iptables -A INPUT -p tcp -s 203.0.113.5 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
iptables -P INPUT DROP
No firewalld, as portas abertas para todos usam --add-port, enquanto regras com origem ou bloqueio usam uma rich rule. Como a única regra de SSH tem um endereço de origem, os comandos do firewalld também removem o serviço ssh padrão da zona. Sem esse passo, a zona ainda deixaria todos entrarem pela porta 22.
Perguntas frequentes
Como evito me trancar para fora do servidor?
Mantenha uma regra que permita a sua porta SSH e, se você limitar o SSH a certos IPs, confira antes o seu IP atual. Deixar o console web do provedor de nuvem aberto dá um caminho de volta.
Abri a porta, mas ainda não consigo conectar. Por quê?
Servidores em nuvem costumam ter também um grupo de segurança ou firewall de rede no console do provedor; a porta precisa estar aberta lá também. Verifique ainda se o serviço está escutando, por exemplo com ss -tlnp.
Qual firewall o meu servidor usa?
Ubuntu e Debian costumam usar o ufw; RHEL, Rocky, AlmaLinux e CentOS usam o firewalld. Ambos são interfaces para o firewall do kernel, então use um deles em vez de misturar comandos iptables avulsos.
Privacidade
Esta ferramenta funciona inteiramente no seu navegador. Seus arquivos e textos são processados no seu dispositivo e nunca são enviados aos nossos servidores.