Shorewall Psad firewall: Detecção Avançada de Port Scan e Resposta Automática no Linux
No ecossistema de segurança da informação corporativa e de infraestrutura crítica, a combinação Shorewall Psad firewall representa um dos pilares mais robustos para detecção de reconhecimento ativo e mitigação automatizada de ameaças. Enquanto a maioria dos firewalls baseados em host limita-se a bloquear ou permitir tráfego com base em regras estáticas, o Shorewall aliado ao Psad (Port Scan Attack Detector) opera em uma camada superior de inteligência, analisando padrões comportamentais e aplicando contramedidas dinâmicas. Profissionais que atuam na linha de frente da defesa cibernética sabem que um port scan bem-sucedido é o prenúncio de um ataque direcionado — e é justamente nessa brecha que o Shorewall Psad firewall atua como sentinela ativa, interpretando logs do iptables e convertendo eventos anômalos em bloqueios concretos. Na JRT Technology Solutions, implementamos essa arquitetura em datacenters, nuvens privadas e ambientes híbridos porque compreendemos que a detecção precoce é a diferença entre um incidente contido e uma violação catastrófica.
O cenário de ameaças em 2026 é marcado por uma profissionalização sem precedentes dos adversários. Varreduras de porta deixaram de ser exclusividade de scripts automatizados rudimentares e passaram a incorporar técnicas de camuflagem, fragmentação de pacotes e temporização adaptativa que tornam ineficazes os sistemas de detecção baseados unicamente em thresholds simples. A aula 24 do curso avançado da DFT Informática, publicada recentemente, reforça a relevância do Psad como ferramenta de detecção de port scans com iptables e resposta automática no Linux — um reconhecimento de que a comunidade técnica continua a valorizar soluções maduras e auditáveis em detrimento de caixas-pretas proprietárias. Em paralelo, a crescente adoção de firewalls gratuitos para VPS Linux, conforme apontado pelo blog Cloudzy, demonstra que há uma demanda real por ferramentas de código aberto que ofereçam proteção profunda sem os custos proibitivos de appliances comerciais. O Shorewall Psad firewall encaixa-se perfeitamente nesse nicho: é gratuito, profundamente integrável e oferece capacidades forenses que muitas soluções pagas ainda não implementam nativamente.
Historicamente, o Shorewall surgiu como uma camada de abstração sobre o Netfilter/iptables, simplificando a criação de políticas de firewall complexas por meio de arquivos de configuração legíveis e de fácil versionamento. O Psad, desenvolvido por Michael Rash, trouxe a inteligência de detecção de varreduras ao analisar diretamente os logs gerados pelo iptables, correlacionando eventos e mantendo um estado de suspeição por origem. A fusão dessas duas ferramentas não é apenas uma sobreposição funcional: é uma sinergia arquitetural que transforma um firewall stateful tradicional em um sistema de prevenção de intrusão (IPS) reativo. Na JRT Technology Solutions, nossos especialistas utilizam essa combinação para proteger servidores de bancos de dados, controladoras de domínio e gateways de VPN, ambientes onde um simples scan de reconhecimento pode ser o prelúdio de um ataque de ransomware direcionado.
O objetivo deste artigo é fornecer um guia exaustivo sobre como projetar, implementar e operar um Shorewall Psad firewall em ambientes Linux modernos, abordando desde a instalação e configuração básica até estratégias avançadas de tuning de thresholds, integração com syslog remoto e automação de resposta via scripts personalizados. Exploraremos casos reais, como a detecção de scans SYN furtivos, UDP sweeps e tentativas de fingerprinting de sistema operacional, sempre com ênfase na aplicabilidade prática. Se você é responsável pela segurança de servidores expostos à internet ou pela infraestrutura de uma organização que valoriza a defesa em profundidade, este conteúdo foi meticulosamente elaborado para elevar seu nível de maturidade em detecção de ameaças perimetrais. A JRT Technology Solutions desenvolve soluções sob medida com essas tecnologias e compartilha aqui o conhecimento acumulado em anos de operações de segurança.
1. Arquitetura do Shorewall Psad firewall: Como a detecção de port scan é processada
Compreender a arquitetura do Shorewall Psad firewall exige um mergulho nos mecanismos de logging do Netfilter e no pipeline de análise comportamental do Psad. O Shorewall atua como front-end de configuração, gerando regras de iptables que definem zonas, políticas e ações de log. Quando um pacote atinge uma regra com target LOG, o kernel gera uma entrada no syslog contendo metadados como endereço IP de origem, porta de destino, flags TCP e tipo de protocolo ICMP. O Psad, operando como daemon em userspace, consome esses logs em tempo real por meio do klogd ou diretamente via ulogd, dependendo da configuração. Essa separação de responsabilidades permite que o Shorewall mantenha o plano de controle do firewall enquanto o Psad dedica-se exclusivamente à análise heurística, sem introduzir latência no plano de encaminhamento de pacotes.
O coração do Psad é seu mecanismo de assinatura e anomalia, que combina detecção baseada em regras fixas (como padrões de flags TCP inválidas) com análise estatística de frequência de eventos por janela temporal. Para cada endereço IP monitorado, o Psad mantém uma estrutura de dados que rastreia quantas portas distintas foram acessadas, qual o intervalo entre tentativas e se há correspondência com assinaturas conhecidas de ferramentas como Nmap, Masscan e Zmap. Quando um limiar de suspeição é ultrapassado, o Psad pode executar ações configuráveis, como adicionar o IP à lista de bloqueio do iptables, enviar alertas por email ou acionar scripts externos de mitigação. Na JRT Technology Solutions, configuramos thresholds diferenciados por zona de rede: servidores web públicos toleram um volume maior de scans antes do bloqueio, enquanto hosts de gestão interna disparam respostas com limiares muito mais restritivos.
Um aspecto frequentemente negligenciado é a integridade da cadeia de logs. O Psad depende que o Shorewall esteja configurado para gerar logs com o prefixo adequado e que o syslog esteja corretamente rotacionado e protegido contra tampering. Em nossas implementações, a JRT Technology Solutions utiliza rsyslog com saída para um agregador centralizado, garantindo que mesmo se o host for comprometido, os registros de detecção de scans permaneçam íntegros para análise forense posterior. Adicionalmente, aplicamos regras de auditd para monitorar alterações nos arquivos de configuração do Shorewall e do Psad, criando uma trilha de auditoria que atende aos requisitos de frameworks como ISO 27001 e PCI DSS.
A comunicação entre os componentes pode ser resumida no seguinte fluxo: pacote de rede → Netfilter (iptables) → regra Shorewall com LOG → syslog/kernel log → Psad (análise) → ação de resposta → iptables (bloqueio dinâmico). Essa arquitetura em pipeline é intrinsecamente escalável e permite que o mesmo par Shorewall+Psad proteja desde um VPS singelo com 512 MB de RAM até servidores bare-metal com múltiplas interfaces de 10 Gbps. O segredo está no baixo overhead do Psad, que é escrito em C e utiliza estruturas de dados otimizadas para busca rápida em tabelas hash. Em benchmarks internos realizados pela nossa equipe, constatamos que o Psad é capaz de processar mais de 50 mil eventos de log por segundo em hardware commodity, muito além do necessário para a maioria dos cenários empresariais.
2. Instalação e configuração inicial do Shorewall Psad firewall em distribuições Linux modernas
A instalação do Shorewall Psad firewall em distribuições como Debian 12, Ubuntu Server 24.04 LTS, Rocky Linux 9 e openSUSE Leap 15.6 segue um procedimento padronizado, mas exige atenção a detalhes de compatibilidade com versões recentes do kernel e do iptables/nftables. Embora o Shorewall ofereça suporte experimental ao nftables, a stack recomendada para integração com Psad ainda é o iptables legado, pois o Psad realiza parsing dos logs no formato tradicional do Netfilter. Na JRT Technology Solutions, padronizamos a instalação via gerenciadores de pacotes oficiais e mantemos repositórios espelhados internamente para garantir reprodutibilidade e rastreabilidade de versões.
O primeiro passo é instalar os pacotes base: shorewall shorewall-core psad. No Debian/Ubuntu, o comando apt install shorewall psad resolve as dependências, incluindo o libnet-ip-perl e libiptables-chainmgr-perl. Em sistemas baseados em RPM, recomenda-se habilitar o EPEL e instalar com dnf install shorewall psad. Após a instalação, é crucial verificar a versão do Psad com psad --version — recomendamos a versão 2.4.6 ou superior devido a correções de segurança e melhorias na detecção de scans IPv6. Nossos especialistas mantêm um playbook Ansible que automatiza essa instalação e aplica hardening pós-deploy, como remoção de módulos de kernel desnecessários e ajuste de parâmetros sysctl.
A configuração inicial do Shorewall exige a definição de zonas, interfaces e políticas no diretório /etc/shorewall/. Para uma máquina com uma interface externa eth0 e uma interna eth1, o arquivo zones conteria:
- Zona fw para o próprio firewall
- Zona net para a rede externa (eth0)
- Zona loc para a rede interna (eth1)
No arquivo policy, define-se o comportamento padrão, por exemplo:
- loc → net: ACCEPT (tráfego interno pode sair)
- net → loc: DROP (tráfego externo não pode iniciar conexão para rede interna)
- net → fw: DROP (tráfego externo não acessa o firewall, exceto serviços explícitos)
Para que o Psad funcione, é necessário habilitar o log nas regras que realizam DROP ou REJECT, tipicamente adicionando :LOG nas ações. A JRT Technology Solutions desenvolve modelos de configuração que incluem um arquivo shorewall.conf com LOG_LEVEL="info" e LOGFILE="/var/log/messages" para sistemas SysV init, ou configurando o redirecionamento adequado para journald em sistemas com systemd.
O Psad, por sua vez, tem seu arquivo principal de configuração em /etc/psad/psad.conf. As diretivas essenciais incluem:
- HOME_NET: define a rede interna a ser protegida (ex: 192.168.1.0/24)
- EXTERNAL_NET: normalmente configurado como any para detectar scans de qualquer origem
- EMAIL_ADDRESSES: endereços de email para envio de alertas
- ENABLE_AUTO_IDS: habilita resposta automática com bloqueio via iptables
- AUTO_IDS_DANGER_LEVEL: nível mínimo de perigo para disparar bloqueio automático (1 a 5, sendo 5 o mais severo)
- IPT_AUTO_CHAIN: cadeia do iptables onde as regras de bloqueio serão inseridas (ex: PSAD_BLOCK)
Após configurar, é imperativo inicializar as assinaturas com psad --sig-update e reiniciar ambos os serviços. Em nossos projetos de consultoria, a JRT Technology Solutions sempre recomenda um período de observação de pelo menos 72 horas em modo passivo (somente alertas, sem bloqueio automático) antes de habilitar a resposta ativa, permitindo ajustar thresholds e evitar falsos positivos que poderiam bloquear parceiros comerciais legítimos.
3. Shorewall Psad firewall e a detecção de varreduras TCP SYN furtivas
As varreduras TCP SYN, também conhecidas como half-open scans, estão entre as técnicas de reconhecimento mais prevalentes devido à sua capacidade de sondar portas sem estabelecer uma conexão completa, reduzindo a visibilidade em logs de aplicação. O Shorewall Psad firewall é particularmente eficaz na detecção desses scans porque analisa diretamente os flags TCP registrados pelo iptables: um pacote com flag SYN setado e ACK não setado, que é dropado ou rejeitado, indica uma tentativa de sondagem. O Psad mantém um contador por IP de origem, rastreando quantas portas distintas foram alvo de SYN em um intervalo configurável (padrão de 60 segundos). Quando esse contador ultrapassa o PSAD_SCAN_TIMEOUT configurado, o evento é classificado como port scan.
Um diferencial importante do Psad em relação a outras ferramentas é sua capacidade de diferenciar scans horizontais (uma porta em múltiplos IPs) de scans verticais (múltiplas portas em um único IP). Essa distinção é vital em ambientes de cloud e VPS Linux, onde um mesmo host pode hospedar dezenas de aplicações com perfis de porta completamente distintos. Na JRT Technology Solutions, configuramos o Psad com thresholds distintos para cada cenário: em servidores de e-commerce, por exemplo, toleramos scans horizontais na porta 443 (HTTPS) porque isso pode ser tráfego legítimo de balanceadores de carga ou CDNs, mas somos extremamente restritivos com scans verticais que tentam enumerar portas como 22, 3306, 5432 e 6379 em sequência — um comportamento típico de ferramentas automatizadas de ataque.
A configuração fina desses parâmetros é feita no arquivo /etc/psad/psad.conf por meio de diretivas como:
- SCAN_TIMEOUT: janela de tempo em segundos para contagem de scans (padrão 3600)
- PORT_LIMIT: número de portas distintas acessadas que caracteriza um scan (padrão 5)
- SCAN_THRESHOLD: número de pacotes SYN por segundo que dispara alerta imediato (padrão 15)
- TCP_SCAN_FLAGS: máscara de flags TCP que define o que constitui um pacote de scan (padrão SYN)
Em nossos laboratórios, realizamos testes controlados com Nmap em modo SYN scan (nmap -sS) contra servidores protegidos por Shorewall Psad firewall. Os resultados demonstraram que, com a configuração padrão, o Psad detecta e alerta sobre o scan em menos de 3 segundos após o início da varredura das primeiras 10 portas. A resposta automática, quando habilitada, insere uma regra de bloqueio na cadeia PSAD_BLOCK em menos de 1 segundo adicional — tempo mais que suficiente para impedir que o scanner colete um mapa completo de portas abertas.
Para profissionais que desejam levar a detecção a um nível ainda mais alto, o Psad oferece um modo de assinatura de Nmap que identifica padrões específicos de opções TCP utilizadas pelo scanner. A assinatura nmap_tcp_opt procura por combinações de opções TCP como MSS, SACKPermitted e Timestamp que são características de scans realizados com Nmap sem ofuscação. Essa detecção é particularmente valiosa porque vai além da contagem de portas e identifica a ferramenta utilizada, fornecendo contexto crucial para a tomada de decisão sobre bloqueios. A JRT Technology Solutions implementa esse nível de granularidade em clientes do setor financeiro, onde a mera presença de um scanner é tratada como incidente de segurança reportável ao comitê de risco.
4. Integrando Shorewall Psad firewall com sistemas de log centralizado e SIEM
A detecção de port scans é apenas o primeiro passo em uma estratégia de segurança madura. Para que os alertas gerados pelo Shorewall Psad firewall sejam acionáveis e correlacionáveis com outros eventos da organização, é fundamental integrá-los a um sistema de gerenciamento de eventos e informações de segurança (SIEM). O Psad gera logs detalhados em /var/log/psad/ e também pode enviar mensagens ao syslog com facility configurável. Na JRT Technology Solutions, desenvolvemos conectores personalizados que encaminham esses logs para plataformas como Elastic Stack, Splunk, Wazuh e Graylog, enriquecendo-os com metadados geoespaciais (GeoIP) e reputação de IP via Threat Intelligence feeds.
Uma arquitetura típica de centralização que implementamos para clientes corporativos segue o pipeline: Shorewall + iptables (geração de logs de firewall) → Psad (análise e geração de alertas) → rsyslog (encaminhamento estruturado via protocolo RELP ou TCP com TLS) → agregador central (Graylog ou Elasticsearch) → dashboards Kibana/Grafana. Nesse modelo, cada alerta de port scan recebe um campo psad_alert_type com valores como “scan_tcp”, “scan_udp”, “os_fingerprint”, “malicious_payload”, permitindo filtragem granular e correlação com logs de outros sistemas, como IDS Snort/Suricata ou WAF SafeLine. Nossos especialistas em SIEM frequentemente criam regras de correlação que escalam automaticamente a severidade de um incidente quando um IP detectado pelo Psad em port scan também aparece em logs de autenticação falha do Fail2ban ou CrowdSec.
Para ambientes que exigem conformidade regulatória, a retenção de logs é um requisito mandatório. O Psad por padrão rotaciona seus logs em /var/log/psad/psad.log e mantém arquivos históricos com extensão numérica. Entretanto, em nossos projetos de compliance, a JRT Technology Solutions configura o logrotate com compressão e retenção mínima de 18 meses, e adicionalmente configura o psadwatchd para monitorar a saúde do daemon e reiniciá-lo em caso de falha, garantindo que não haja lacunas nos registros. Em uma implantação recente para o setor de saúde, integramos o Psad com o syslog-ng e aplicamos políticas de retenção diferenciadas por criticidade dos hosts, assegurando que servidores que processam dados de pacientes mantivessem logs forenses por até 5 anos.
A riqueza dos dados gerados pelo Psad vai além do simples “houve um scan”. Cada alerta contém informações como:
- Endereço IP de origem e geolocalização (se habilitado o suporte a GeoIP)
- Contagem de pacotes e portas acessadas
- Flags TCP e assinatura do sistema operacional (fingerprinting passivo via p0f, quando integrado)
- Timestamp do primeiro e último pacote do scan
- Danger level calculado (1 a 5)
Esses dados, quando ingeridos em uma plataforma de análise, permitem a criação de dashboards de inteligência que mostram mapas de calor de scans por origem geográfica, tendências temporais (há um aumento de scans às 3h da manhã?), e top talkers maliciosos. A JRT Technology Solutions já construiu painéis desse tipo para clientes que operam datacenters multi-tenant, nos quais a visibilidade de scans por tenant é essencial para ações de mitigação e cobrança de serviços de segurança adicionais.
5. Configuração de resposta automática e mitigação de falsos positivos no Shorewall Psad firewall
A funcionalidade de Auto-IDS do Psad é o que transforma o Shorewall Psad firewall de um sistema passivo de detecção em uma plataforma ativa de prevenção de intrusão. Quando um IP atinge o danger level configurado em AUTO_IDS_DANGER_LEVEL, o Psad insere automaticamente uma regra de iptables na cadeia PSAD_BLOCK_FORWARD (para tráfego roteado) ou PSAD_BLOCK_INPUT (para tráfego destinado ao próprio firewall), bloqueando todo o tráfego do IP ofensor por um período configurável. Essa resposta automática é extremamente eficaz contra scanners que utilizam IPs fixos, mas representa riscos se mal calibrada: um falso positivo pode bloquear um parceiro de negócios, um crawler de busca legítimo ou um serviço de monitoramento externo.
A mitigação de falsos positivos é, portanto, uma etapa crítica que a JRT Technology Solutions aborda com uma metodologia estruturada em três fases. Na Fase 1 (Observação), o Psad opera com ENABLE_AUTO_IDS desabilitado, apenas gerando logs e alertas por email. Durante pelo menos uma semana, analisamos os alerts manualmente para identificar padrões de tráfego benigno que disparam falsos positivos. Na Fase 2 (Whitelisting), configuramos no arquivo /etc/psad/auto_dl os IPs ou redes que devem ser permanentemente ignorados, como ranges de CDNs (Cloudflare, Akamai), provedores de monitoramento (Pingdom, Datadog) e escritórios remotos da organização. Na Fase 3 (Ativação Gradual), habilitamos o Auto-IDS com danger level inicial alto (4 ou 5) e vamos reduzindo progressivamente à medida que validamos a acurácia do sistema.
Um recurso avançado que utilizamos em ambientes de produção é o Psad + fwsnort, que converte assinaturas Snort em regras de iptables, criando uma camada adicional de inspeção que pode reduzir falsos positivos ao correlacionar o comportamento de scan com payloads maliciosos conhecidos. Por exemplo, um scan de porta 445 (SMB) combinado com uma tentativa de exploração de EternalBlue será detectado com altíssima confiabilidade. Nossos especialistas também empregam scripts personalizados que consultam APIs de reputação de IP (como AbuseIPDB e GreyNoise) no momento do bloqueio, liberando automaticamente IPs que tenham reputação benigna comprovada.
A tabela a seguir resume os níveis de danger level e as ações recomendadas pela JRT Technology Solutions com base em nossa experiência de campo:
Gostou do conteúdo? Fale com nossos especialistas!
A JRT Technology Solutions está pronta para implementar, configurar e dar suporte às tecnologias abordadas neste artigo.