DROP ou REJECT no iptables?

Publicado por Elgio Schlemer em 12/03/2009

[ Hits: 38.655 ]

Blog: https://profelgio.duckdns.org/~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

Em C, escrever em arquivo fácil

Inserir comentários em regras do iptables

Enviar aspas em PHP de maneira menos suja

Cálculo da potência modular de forma eficiente

Extrair a data de uma fotografia

Leitura recomendada

Fechando portas sem usar firewall

Prevenindo bruteforce em servidores Debian que rodam SSH e ProFTP

Tor + Privoxy + Ubuntu 11.04 ou Debian 6.0 Squeeze

hBlock - bloqueio de domínios de ADS e malware

Filtro de conteúdo com iptables

  

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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts