Pular para o conteúdo

DROP ou REJECT no iptables?

Dica publicada em Linux / Segurança
Elgio Schlemer elgio
Hits: 39.503 Categoria: Linux Subcategoria: Segurança
  • Indicar
  • Impressora
  • Denunciar

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.

Enviar aspas em PHP de maneira menos suja

Extrair a data de uma fotografia

Firewall SIMPLES e eficiente para DESKTOP em 5 linhas

Inserir comentários em regras do iptables

Uso das chaves na linha de comando

Auditoria teste de invasão (pentest) - Planejamento, preparação e execução

Bloquear Ultra Surf pelo firewall Linux

Projeto Root - Servidor de LOG no Debian

Habilitando SSH no PFSense

Que porta é essa? Identificando porta estranha no Linux

#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

Entre na sua conta para comentar.