Pular para o conteúdo
Resumos Técnicos

Como Proteger seu Servidor Linux contra Ataques Brute-Force e Port Scanning

Makis Jeanty · 16 de Agosto de 2026


Todo servidor com IP público recebe, desde o primeiro minuto, varreduras automatizadas de portas e tentativas de login SSH por força bruta. Não é questão de "se", é o ruído de fundo da internet. Este guia mostra a defesa em camadas que aplico em VPS Ubuntu.

---

## 1. SSH: elimine a superfície de senha

A esmagadora maioria dos ataques de força bruta mira login por senha no usuário root. Dois ajustes em `/etc/ssh/sshd_config` eliminam essa classe inteira de ataque:

```
PermitRootLogin no
PasswordAuthentication no
```

Com autenticação exclusivamente por chave (Ed25519), força bruta de senha se torna matematicamente irrelevante. Antes de desabilitar senha, **confirme que sua chave funciona em outra sessão** — travar-se para fora do próprio servidor é um rito de passagem que ninguém precisa repetir.

## 2. Firewall: negue por padrão

O UFW resume a política correta em três comandos:

```bash
ufw default deny incoming
ufw allow 22/tcp # SSH
ufw allow 80,443/tcp # HTTP/HTTPS
ufw enable
```

Tudo que não for explicitamente permitido, cai. Se o MySQL ou o Redis do seu Docker vazarem uma porta para o host por engano, o firewall é a última linha que impede a exposição pública.

## 3. Fail2ban: custo crescente para o atacante

Mesmo com senha desabilitada, cada tentativa de conexão consome recursos e polui logs. O Fail2ban lê os logs do SSH e bane IPs reincidentes no firewall:

```ini
# /etc/fail2ban/jail.local
[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1h
```

Cinco falhas em dez minutos = uma hora de banimento. Bots desistem e passam para o próximo alvo.

## 4. Port scanning: reduza o que há para encontrar

Contra varredura de portas, a melhor defesa não é esconder — é **não ter nada escutando**. Audite regularmente:

```bash
ss -tlnp # o que está escutando em TCP?
```

Cada linha dessa saída é superfície de ataque. Serviços internos devem escutar em `127.0.0.1` ou na rede interna do Docker, nunca em `0.0.0.0`, a menos que sejam genuinamente públicos.

## 5. Atualizações automáticas de segurança

```bash
apt install unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades
```

A janela entre a divulgação de uma CVE e sua exploração em massa é medida em horas. Patches automáticos de segurança fecham essa janela sem depender da sua disciplina.

## 6. Atrás do Cloudflare: aceite só o Cloudflare

Se o site fica atrás de um proxy como o Cloudflare, o IP de origem não deveria aceitar tráfego HTTP de mais ninguém — senão atacantes contornam o WAF falando direto com sua VPS. Restrinja as portas 80/443 aos [ranges de IP publicados pelo Cloudflare](https://www.cloudflare.com/ips/).

---

## O modelo mental

Nenhuma camada é perfeita; o objetivo é que cada uma cubra a falha da anterior: chave SSH (elimina), firewall (contém), Fail2ban (encarece), superfície mínima (reduz), patch automático (acompanha). Segurança de servidor é maratona de manutenção, não sprint de configuração.

Comentários

Seja o primeiro a comentar.