Quando se trata de proteger serviços em servidores e firewalls, entender a diferença entre Reject, Block e DROP é essencial para tomar decisões técnicas inteligentes. Neste post, vamos explicar de forma clara as diferenças entre essas ações no pfSense e no iptables, com foco em eficiência, segurança e comportamento de rede.
Conceitos Fundamentais
DROP (iptables) / BLOCK (pfSense)
- Silenciosamente descarta o pacote.
- Não envia resposta ao remetente.
- Para o atacante ou cliente, parece que:
- O IP não existe.
- A rede está fora do ar.
- A conexão expirou por timeout.
- Ideal para situações onde o objetivo é não dar pistas sobre a existência do serviço.
Exemplo com iptables:
iptables -A INPUT -s 1.2.3.4 -j DROP
Exemplo com pfSense:
- Firewall > Rules > [Interface desejada]
- Action:
Block
- Source:
1.2.3.4
REJECT (iptables e pfSense)
- Rejeita o pacote e envia uma resposta imediata:
- TCP → envia
RST
(Reset) - UDP → envia ICMP “Port Unreachable”
- TCP → envia
- O cliente sabe que a tentativa foi explicitamente recusada, e não que houve perda de conexão.
- Útil para:
- Evitar timeouts longos em aplicações legítimas.
- Informar que a porta está fechada (em redes internas).
- Reduzir uso de recursos com conexões abertas desnecessariamente.
Exemplo com iptables:
iptables -A INPUT -s 1.2.3.4 -j REJECT
Exemplo com pfSense:
- Firewall > Rules > [Interface desejada]
- Action:
Reject
- Source:
1.2.3.4
Comparativo Técnico
Ação | Comportamento | Resposta? | Indicado para |
---|---|---|---|
DROP | Silencioso, ignora o pacote | Não | Aumentar segurança, ocultar |
BLOCK | Mesmo comportamento que DROP | Não | Situações semelhantes |
REJECT | Informa ao remetente que foi negado | Sim | Redes internas, debug |
Casos de Uso Reais
Caso 1 – Protegendo um Asterisk
Você está recebendo pacotes SIP de IPs como:
[WARNING] retrans_pkt: Timeout on invite transaction from 144.172.97.201
Esses IPs são de robôs tentando invadir seu PBX.
Melhor ação:
- pfSense: Block
- iptables: DROP
Isso fará o atacante desperdiçar tempo esperando resposta, sem saber se há algo rodando ali.
Caso 2 – Aplicações internas que precisam de resposta rápida
Uma aplicação interna tenta acessar um serviço desativado e demora 30 segundos para concluir que não há nada.
Melhor ação:
- pfSense: Reject
- iptables: REJECT
O pacote é recusado imediatamente, a aplicação responde mais rápido.
Dica extra – Bloqueio eficiente por faixa no pfSense
- Vá em Firewall > Aliases
- Crie um novo alias do tipo
Hosts
ouNetworks
- Adicione todos os IPs ou faixas que quer bloquear (ex: bots conhecidos)
- Vá em Firewall > Rules
- Na interface WAN, crie uma regra:
- Action: Block
- Source: o alias criado
- Destination: any
- Coloque essa regra no topo
Conclusão
A escolha entre Block
, Reject
e DROP
deve ser feita com base no comportamento desejado da rede.
Não é questão de gosto, é questão de função:
- Quer esconder? Use DROP / Block
- Quer informar ou agilizar? Use REJECT
Esse tipo de ajuste fino separa um ambiente amador de um ambiente profissional.