iptables e bloqueando tráfego potencialmente impossível

4

Estou trabalhando em algumas regras de firewall do iptables e vi muitos exemplos que sugerem a importância de bloquear tráfego potencialmente impossível de espaços de endereços IP não roteáveis. Isso inclui itens da RFC 1918, RFC 1700, RFC 5735, RFC 3927, RFC 3068, RFC 2544, RFC 5737, RFC 3171 e RFC 919. Alguns exemplos incluem o seguinte:

  • $ CURRENT_IP
  • 0.0.0.0/8
  • 10.0.0.0/8
  • 127.0.0.0/8
  • 169.254.0.0/16
  • 172.16.0.0/12
  • 192.0.0.0/24
  • 192.0.2.0/24
  • 192.88.99.0/24
  • 192.168.0.0/16
  • 198.18.0.0/15
  • 198.51.100.0/24
  • 203.0.113.0/24
  • 224.0.0.0/4
  • 240.0.0.0/4
  • 255.255.255.255

Alguns dos exemplos indicam que você só precisa se preocupar em verificar esse tráfego se ele for a origem do tráfego. Exemplo de:

$IPT -A ANTISPOOF -s 0.0.0.0/8 -m limit --limit 5/min --limit-burst 5 -j LOG --log-prefix "Denied Spoofed Source IP Address: "
$IPT -A ANTISPOOF -s 0.0.0.0/8 -j DROP

Em outros exemplos, uma postura mais agressiva é tomada quando eles verificam a origem e o destino da entrada e da saída. Exemplos incluem:

iptables -A INPUT -d 172.0.0.0/8 -j DROP
iptables -A INPUT -s 172.0.0.0/8 -j DROP
iptables -A OUTPUT -d 172.0.0.0/8 -j DROP
iptables -A OUTPUT -s 172.0.0.0/8 -j DROP

Eu permaneço com as seguintes perguntas:

  • Preciso verificar o endereço de origem dos intervalos de IP listados acima na lista com marcadores?
  • Preciso verificar o endereço de destino das faixas de IP listadas acima na lista com marcadores?
  • É importante criar regras para as faixas de IP listadas acima que incluiriam as cadeias INPUT e OUTPUT?
  • Há algum intervalo de IPs do qual eu esqueci de verificar que está faltando na lista com marcadores acima?

Agradecemos antecipadamente por sua ajuda com isso.

    
por John 06.12.2010 / 18:42

2 respostas

3

A maioria do conjunto de regras acima lida com o que é normalmente chamado de Filtração de Bogon: link - Estes são os pacotes que são para / de áreas não alocadas do espaço de endereço.

3 desses intervalos, no entanto, são redes privadas RFC1918: link - Pacotes desses ainda podem ser classificados como Bogons, mas apenas se eles não são legítimos. (Até mesmo uma rosa é uma erva daninha, se estiver crescendo no meio de um estacionamento ...)

Se este for um roteador com o qual você está trabalhando, considere o seguinte:

  • As cadeias INPUT e OUTPUT lidam com o tráfego destinado a / de (respectivamente) algum processo local no próprio firewall. A maioria do tráfego roteado não toca essas cadeias.
  • A cadeia FORWARD lida com o tráfego encaminhado através da máquina para algum outro destino.
  • Normalmente, você deve bloquear o tráfego de entrada das redes source e do tráfego outbound para esses destino redes. Dê uma olhada no -i flag para iptables, que permite limitar uma correspondência a um determinado adaptador de rede.
    • Eu sou o segundo jogador principal, no entanto, não é necessário que o tráfego de saída desse tipo seja capturado. Se é o seu servidor, você deve estar no controle do que está enviando.
  • Lembre-se de que sua LAN interna provavelmente usa um dos intervalos de endereços privados. Você provavelmente ainda deseja permitir o tráfego.
por 06.12.2010 / 19:24
1
* Do I need to check for the source address of the IP ranges listed above in the bulleted list?

Sim, você não quer que seu servidor tente responder / enviar pacotes para os endereços listados, mesmo que seu isp / nsp deva descartá-los.

* Do I need to check for the destination address of the IP ranges listed above in the bulleted list?

Sim, os pacotes de entrada não seriam passados para o sistema operacional, mas você deseja bloquear as tentativas o mais próximo possível do seu sistema / rede.

* Is is important to create rules for the IP ranges listed above that would include both the INPUT and OUTPUT chains?

Sim, você não deseja enviar pacotes para os endereços listados.

* Are there any IP ranges that I have forgotten to check from that are missing from the bulleted list above?

Sim, o seu endereço IP deve ser negado a você. Você pode ficar mais agressivo usando ( link ), mas você pode estar bloqueando fontes legítimas, pois o endereço IPv4 restante é alocado.

A contagem de ocorrências do iptables irá ajudá-lo a determinar quais regras estão funcionando e o log ajudará a identificar as conexões negadas ou aceitas.

    
por 06.12.2010 / 20:22