A deteção de varrimentos de portas tem uma particularidade que a faz sair do conjunto habitual de ferramentas. O Fail2ban lê registos de aplicações, mas quando se varre uma porta fechada não há aplicação nenhuma, logo também não há entrada de registo. Um varrimento só se vê ao nível da firewall, e é precisamente aí que o PSAD trabalha: lê as mensagens que o iptables escreve sobre os pacotes descartados.

Condição obrigatória: o registo tem de estar ativo

É a razão principal para o PSAD «estar instalado e não mostrar nada». Sem regras de registo na firewall não tem o que ler, e nenhum erro é produzido por isso.

Se usa o UFW:

sudo ufw logging low
sudo ufw status verbose

Para confirmar que as mensagens aparecem mesmo:

sudo journalctl -k | grep -c '\[UFW'
sudo grep -c 'UFW BLOCK' /var/log/ufw.log

Zeros em ambos os comandos significam que o PSAD não vai funcionar. E à parte, sobre o Debian 12 e o Ubuntu 24.04: sem o rsyslog o ficheiro /var/log/ufw.log não existe e tudo vai para o diário do systemd; o caminho do registo nas definições do PSAD tem de o ter em conta.

Instalação

sudo apt install psad
sudo psad --sig-update
sudo psad -R
sudo psad --Status

O último comando é o principal. Mostra quantos pacotes foram analisados, que endereços foram notados e com que nível de perigo. Se o contador de pacotes analisados for zero, volte à secção anterior: o problema é o registo, não a ausência de varrimentos.

As definições estão em /etc/psad/psad.conf. Poucos parâmetros têm relevo prático: o endereço para o correio, o caminho do registo e os limiares dos níveis de perigo.

Os níveis de perigo

O PSAD classifica cada origem de 1 a 5 consoante quantas portas diferentes foram tocadas e quanto o comportamento se assemelha a técnicas de varrimento conhecidas.

  • 1–2: contactos isolados com portas fechadas. É o ruído de fundo permanente da internet; não exige reação;
  • 3: percurso sistemático de portas. Normalmente os verificadores de investigação, de que existem algumas dezenas na rede;
  • 4–5: sondagem deliberada de muitas portas a partir de um endereço, muitas vezes tentando disfarçar a natureza dos contactos.

O limiar para o correio é definido por EMAIL_ALERT_DANGER_LEVEL. Um valor de 3 costuma significar várias mensagens por dia, o que leva bastante depressa a uma regra no programa de correio. É mais sensato pôr 4 e ver o resto numa página de síntese.

O bloqueio automático: melhor não

O PSAD sabe acrescentar por si regras à firewall (ENABLE_AUTO_IDS). Num servidor único em produção não convém ativá-lo, e a razão é concreta: o endereço de origem de um pacote pode ser falsificado. Basta enviar na sua direção pacotes com endereço substituído, e bloqueará o endereço escolhido por outra pessoa. Pode ser um cliente seu, um gateway de pagamentos ou um serviço de monitorização.

Se o bloqueio for mesmo necessário, ative-o com um limiar de perigo alto e sempre com limite de tempo (AUTO_BLOCK_TIMEOUT), para que uma entrada errada não fique para sempre.

O que se faz com isto na prática

Um varrimento em si é inofensivo: não parte nada e acontece a toda a gente sem parar. O valor dos dados do PSAD não está no facto mas nas mudanças de carácter.

Observações úteis:

  • Interesse dirigido. Um verificador vulgar percorre milhares de endereços e uma dúzia de portas populares. Se alguém percorre metodicamente as portas precisamente do seu servidor, incluindo as não normalizadas, já não é ruído de fundo;
  • Varrimento de uma porta concreta. Contactos com a porta de uma base de dados ou de um painel de gestão significam que alguém procura precisamente esse serviço, normalmente depois da notícia de mais uma vulnerabilidade nele;
  • Reconhecimento antes da tentativa. Um pico de varrimento e, horas depois, tentativas de palavra-passe a partir da mesma gama é uma sequência típica, e a sua primeira metade dá algum tempo.

A conclusão prática de qualquer destas observações é a mesma: verificar que a lista de portas expostas corresponde ao esperado e que o que corre em cada uma delas foi atualizado este ano.

O seu lugar no conjunto de ferramentas

O PSAD não substitui a firewall, nem o Fail2ban, nem um sistema de deteção de intrusões. Cobre uma fresta estreita: as tentativas que não deixam rasto em mais lado nenhum porque não chegaram a aplicação nenhuma. Custa pouco, funciona sem configuração depois da primeira execução, e a sua síntese responde a uma pergunta que de outro modo ninguém faz: alguém se interessa pelo seu servidor para além do ruído de fundo geral? Como fica essa síntese mostra-o a página de demonstração abaixo.