Como as regras baseadas em IP (por exemplo, proibições / filtros) são afetadas quando o IPv6 se torna o padrão?


13

Dado que os sites do Stack Exchange proíbem o IP , pergunto-me se existe uma opinião ou estratégia comum sobre a criação de regras com base no IP do usuário, a fim de ditar comportamentos.

Com o IPv4, você tem algumas coisas que pode assumir com segurança sobre um determinado IP:

  1. IPs que compartilham uma sub-rede podem muito bem ser o mesmo usuário
  2. Embora os IPs possam ser reutilizados para vários pontos de extremidade reais, é relativamente improvável que você veja conexões duplicadas de um IP que não seja o mesmo usuário ou, no mínimo, a mesma família / organização (basicamente, uma conexão compartilhada)
  3. não é trivialmente fácil para um usuário obter um novo IP público (existe uma barreira de tamanho médio para entrada aqui)

Com o IPv6, você pode assumir tudo isso? Eu imagino que, pelo menos, o segundo ponto não seria mais verdadeiro, já que o NAT'ing deve essencialmente desaparecer com o IPv6, porque haverá IPs suficientes para quem quiser um.

Se você possui um conjunto de políticas baseadas em IP, que considerações precisam ser feitas para o IPv6, se houver, devido às diferenças entre as duas?

Respostas:


6

Com o IPv6, não acho que exista uma solução perfeita. Mas há várias coisas a considerar:

  • Os ISPs provavelmente distribuirão /64sub - redes para clientes individuais. (Haverá o suficiente para dar a volta.)
  • Os locais de trabalho provavelmente terão pelo menos um /64por escritório.
  • Os ISPs que oferecem links estritamente ponto a ponto podem optar por usar prefixos entre /64e /126. (Veja por que eles não estão usando o / 127 em geral ) Isso provavelmente seria um ISP míope ou alguém que deseja cobrar mais por um total /64. Não há realmente nenhuma razão para que cada terminal (que poderia ser uma rede completa de clientes) não deva ser /64.
  • Supondo que a maioria das sub-redes de usuários finais do IPv6 esteja em um /64, pode-se observar o bit 6 no identificador de interface (consulte a seção 3.2.1 da RFC 4941 ) para verificar se foi provavelmente gerado com base em um identificador globalmente exclusivo (endereço MAC). Isso não é infalível, obviamente. Mas se esse bit estiver definido, provavelmente indica que o endereço foi gerado a partir de um endereço MAC. Portanto, é possível bloquear endereços IPv6 com base nos últimos 64 bits, e os usuários podem ser bloqueados, independentemente da sub-rede de onde eles vêm. (Talvez seja melhor usar isso como uma "dica", uma vez que os endereços MAC, embora supostamente sejam únicos em todo o mundo, na prática nem sempre são. Além disso, eles são facilmente falsificados. Mas qualquer pessoa com conhecimento suficiente para resolver o problema provavelmente achará mais fácil pegue um /64e obtenha 2 ^ 64 endereços únicos de qualquer maneira.)
  • Se endereços de privacidade estiverem em uso ... não há muito o que fazer, exceto bloquear esse endereço por um curto período de tempo. Provavelmente vai mudar em breve de qualquer maneira. Considere a parte da rede da rede /64neste momento, mas tenha cuidado, pois você pode estar bloqueando todo o escritório corporativo de alguém.

Eu diria que a melhor maneira seria olhar primeiro para endereços individuais, depois fatorar nos últimos 64 bits do endereço e padrões de abuso de /64sub-redes específicas para implementar uma estratégia de bloqueio. Para resumir:

  • Comece bloqueando /128endereços IP individuais (como você provavelmente faz hoje com o IPv4)
  • Se você observar um padrão de abuso de um endereço que não é de privacidade nos últimos 64 bits de um endereço, use-o como um forte indicador no seu algoritmo de bloqueio. Alguém pode estar pulando entre ISPs ou sub-redes. (novamente, tenha cuidado com isso, pois os MACs não são necessariamente únicos - alguém pode estar falsificando para explorar seu algoritmo) Além disso, isso só funcionaria contra agressores que não sabem como o IPv6 funciona. ;-)
  • Se você observar um padrão de abuso de um particular /64, bloqueie o todo /64com uma boa mensagem de erro para que o administrador da rede infratora possa executar qualquer trabalho que seja necessário.

Boa sorte.


2 ^ 64 = 18.446.744.073.709.552.000 endereços possíveis. Por que diabos os usuários precisam de tantos endereços?
TheLQ

@ TheLQ, eles não, obviamente. As redes de usuário final , no entanto, porque o RFC 4291 requer identificadores de interface de 64 bits. Portanto, os últimos 64 bits, pelo menos nas redes Ethernet, quase serão ocupados por um endereço EUI-64 - um MAC de 48 bits expandido para 64 bits. A maioria das redes domésticas, em vez de um único endereço IP (estático ou dinâmico), precisará de uma única /64sub-rede (estática ou dinâmica) por esse motivo, pois não há NAT no IPv6.
precisa saber é o seguinte

Além disso, como outra pessoa mencionou, o DHCPv6 pode ajudar um pouco a situação, mas possivelmente sobrecarregaria os roteadores, pois você teria que rotear com base em todos os 128 bits, e não apenas nos primeiros 64. Se você rotear para endereços IP individuais em vez de /64por cliente, isso pode explodir sua tabela de roteamento para um tamanho não razoável e causar problemas dependendo do hardware que está sendo usado para o roteamento.
mpontillo

Obrigado, eu não tinha ideia de que os IPs eram baseados em endereços Mac e esqueci que em algum lugar há uma tabela de roteamento. Parece que tenho algumas leituras para fazer
TheLQ

1
A melhor prática atual parece ser que a atribuição mínima para um cliente residencial de um provedor de serviços de Internet seja um / 56. Obviamente, a maioria dos clientes provavelmente não usará mais de uma ou duas / 64 sub-redes dentro desse bloco por um bom tempo, se é que algum dia, mas o uso é antecipado.
Michael Hampton

3

As suposições que você lista:

IPs que compartilham uma sub-rede podem muito bem ser o mesmo usuário

Continua sendo mantido - de fato, se os ISPs estão alocando sub-redes IPv6 para seus clientes, isso se torna ainda mais verdadeiro.


Embora os IPs possam ser reutilizados para vários pontos de extremidade reais, é relativamente improvável que você veja conexões duplicadas de um IP que não seja o mesmo usuário ou, no mínimo, a mesma família / organização (basicamente, uma conexão compartilhada)

Continua em espera (de fato, se aplica a toda a sub-rede, conforme descrito acima).


Não é trivialmente fácil para um usuário obter um novo IP público (existe uma barreira de tamanho médio para entrada aqui)

Não se aplica tanto a um IP individual, mas a uma sub-rede distribuída por um ISP.


Então, basicamente, analisamos as proibições de sub-rede nas quais atualmente temos proibições de IP, supondo que os ISPs entreguem sub-redes a todos os seus usuários. Se, em vez disso, os usuários obtiverem endereços IPv6 individuais (um por usuário), analisaremos as proibições únicas de IPv6, que podem levar a uma tabela de proibição muito mais longa (e problemas de desempenho associados) se houver muitos usuários mal comportados.
Em ambos os casos, uma proibição de IP se torna uma ferramenta mais granular (ou seja, menor risco de bloquear um monte de usuários de um ISP que possui um pool dinâmico porque uma pessoa se comportou mal), o que, a meu ver, é uma coisa boa ...


1
Ficarei surpreso se as redes móveis distribuírem 64s inteiros para cada telefone. Eles certamente obterão um IP de um pool dinâmico. Se o LTE decolar em grande parte, ainda poderemos acabar "bloqueando vários usuários de um ISP que tenha um pool dinâmico porque uma pessoa se comportou mal".
21411 Richard

2

A Wikipedia / MediaWiki está adotando uma política de bloquear um / 64 inteiro quando bloquear o quinto IP nesse / 64.

Cinco parece ser a regra de ouro padrão que outras pessoas estão adotando - o casal de DNSBLs que eu vi adotando a mesma política.

Não vi nenhum plano para agregar blocos acima de um / 64, apesar de obter um / 48 ou a / 56 ser bastante fácil para uma organização modesta. É claro que os spammers atualmente têm um / 24 (IPv4) mais ou menos, então espero que eles comecem a pegar grandes pedaços de espaço IPv6.


1

IPs que compartilham uma sub-rede podem muito bem ser o mesmo usuário

Ainda é verdade, e ainda mais com a v6.

Embora os IPs possam ser reutilizados para vários pontos de extremidade reais, é relativamente improvável que você veja conexões duplicadas de um IP que não seja o mesmo usuário ou, no mínimo, a mesma família / organização (basicamente, uma conexão compartilhada)

Provavelmente ainda mais verdadeiro com v6 que v4.

não é trivialmente fácil para um usuário obter um novo IP público (existe uma barreira de tamanho médio para entrada aqui)

Na maioria dos casos, em vez de endereços individuais, os ISPs distribuem blocos de endereços. É fácil para um cliente mover-se dentro de seu bloco. Mais difícil (embora longe de ser impossível) obter um novo bloco.

A parte mais difícil é que os tamanhos de alocação para os clientes variam muito. Alguns ISPs distribuem endereços individuais, alguns / 64 blocos, alguns / 56 blocos, outros / 48 blocos.

Isso dificultará a elaboração de uma política sensata de proibição / limitação que funcione para todos os ISPs. Isso é "quente" / 48, um único agressor que encontrou um provedor de serviços de Internet que distribuiu grandes blocos ou é um grande grupo de usuários em um provedor móvel mesquinho que fornece endereços individuais.

PS Recusar a implementação do IPv6 não é realmente uma solução, pois, com o esgotamento do IPv4, mais e mais clientes estarão por trás de alguma forma de NAT no nível do ISP.


0

Eu acho que vai depender muito do que os ISPs farão. Eles continuarão a fornecer IPs dinâmicos reais para os usuários? Caso contrário, ou se cada usuário obtiver sua própria ip / sub-rede exclusivamente, os IPs começarão a ser praticamente os mesmos de uma placa de carro.


A questão do ISP se resume a: "O ISP deseja limitar o número de unidades que você pode conectar à rede?" Se não, distribuir um / 64 para cada um deles será a rota. Se sim, imagino que o dhcpv6 domine.
Bittrance

1
Suspeito que / 64 seja dominante na banda larga de usuários domésticos - na verdade, muitas das implementações IPv6 no CPE doméstico ("roteadores") assumem que receberão um / 64. OTOH, os provedores de telecomunicações móveis podem impedir o compartilhamento, distribuindo um único IP para cada dispositivo e / 64 para os usuários que pagaram pelo compartilhamento.
21411 Richard

0

Quando eu entendi que o IPv6 iria aumentar o número de endereços IP de um monte , mas não aumentar o número de portas por host, I foram primeiro intrigado. Dado que os computadores estão ficando cada vez mais poderosos e, assim, se tornam mais capazes de atender a um grande número de conexões simultâneas, limitar-se a um máximo de 65535 portas por endereço IPv6 parecia "o próximo gargalo".

Então pensei mais uma vez e percebi que era trivial atribuir vários IPv6 a uma interface física e, dessa forma, contornar esse limite do número de portas que podem se conectar ao host. Na verdade, pense bem, você pode atribuir facilmente endereços IPv6 1024 ou 4096 ao seu host e distribuir seus serviços aleatoriamente em várias portas em todos os endereços, dando aos scanners de portas um tempo bastante mais difícil (pelo menos em teoria) .

Agora, tendências como virtualização de host (vários hosts virtuais menores em um host físico relativamente poderoso) e dispositivos portáteis (pense em celulares conectados a IPv6 para todos no planeta) provavelmente farão algo contra isso, a maioria dos hosts na futura Internet provavelmente usará bastante poucas portas e, portanto, precisa apenas de um único endereço IPv6 por host.

(Mas a capacidade de "ocultar" em um grande conjunto de endereços IPv6, todos os quais você possui e dos quais você pode escolher aleatoriamente, ainda fornece uma camada de segurança, mesmo que, na maioria das circunstâncias, seja muito fina.


1
E quando dois computadores abririam 65536 conexões simultâneas, exceto em um teste de carga artificial?
Michael Hampton
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.