DROP ou REJECT no iptables?

Publicado por Elgio Schlemer em 12/03/2009

[ Hits: 31.284 ]

Blog: http://gravatai.ulbra.tche.br/~elgio

 


DROP ou REJECT no iptables?



Muito comum se usar DROP para negar um pacote no iptables, inclusive deixando-a como política padrão. Mas você já ouviu falar do REJECT? Sabe que DROP e REJECT são diferentes?

Em certas situações pode ser mais interessante usar REJECT.

DROP: barra um pacote silenciosamente. Nenhuma resposta é devolvida ao remetente, nenhuma mensagem de erro. Ele fica sem saber o que aconteceu com seu pacote.

REJECT: barra um pacote e devolve um erro ao remetente informando que o pacote foi barrado. Se o pacote é um UDP a resposta virá na forma de um ICMP tipo 3. Se o pacote era TCP a resposta virá na forma de um TCP reset.

O fato é que se você usa DROP, como o cliente não sabe o que aconteceu com o pacote, ele poderá ficar tentando e tentando e tentando até se convencer. Uma experiência rápida você pode fazer em seu LINUX, usando DROP no site do vivaolinux:

a)
# iptables -I OUTPUT -d www.vivaolinux.com.br -j DROP

Abra o navegador e visite o VOL. Veja quanto tempo o navegador leva para desistir.

Remova a regra:

# iptables -D OUTPUT -d www.vivaolinux.com.br -j DROP

b)

# iptables -I OUTPUT -d www.vivaolinux.com.br -j REJECT

Repita o teste do navegador. Veja que o navegador desiste na hora.

DROP ou REJECT?

Depende. O REJECT tem um efeito indesejável de entregar o IP do firewall. Algo como "Oi, eu sou o firewall e acabei de remover o seu pacote", mas tem a vantagem de chutar o IP na hora.

Já o DROP não entrega tão facilmente o IP do firewall, mas pode te encher os logs!

O bom mesmo é conhecer bem os dois e saber a diferença.

Outras dicas deste autor

Windows antes no Grub do Ubuntu 10.04

Cálculo da potência modular de forma eficiente

Em C, escrever em arquivo fácil

Firewall SIMPLES e eficiente para DESKTOP em 5 linhas

Uso das chaves na linha de comando

Leitura recomendada

Série de webinars e podcasts sobre Análise Forense Computacional e CHFI

Webinar 14 - Teste de invasão com o Nmap Scripting Engine

Como criar senha de root no Ubuntu

Metasploit no Debian 8 Jessie

NoScript - Proteção quando o assunto é XSS e Clickjacking

  

Comentários
[1] Comentário enviado por TiagoSouza em 06/05/2012 - 17:04h

Percebi que se eu bloqueasse com DROP e deixasse o navegador tentando acessar o endereço bloqueado, e depois, sem parar o navegador, removesse a regra, ele abria a página. Já com REJECT, se eu bloqueasse, deixasse carregando, e removesse a regra, continuava carregando, como se ainda estivesse bloqueado.
Interessante isso. Estava usando DROP em tudo, mudei algumas regras da rede interna para REJECT e externa continuam com DROP. =)



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts