Com o IPv6, não acho que haja uma solução perfeita. Mas há várias coisas a serem consideradas:
- Os ISPs provavelmente distribuirão
/64
subnets para clientes individuais. (Haverá o suficiente para dar a volta.) - Os locais de trabalho provavelmente terão pelo menos um
/64
por escritório. - Os ISPs que oferecem links estritamente ponto-a-ponto podem optarem pelo uso de prefixos entre
/64
e/126
. (Veja por que eles não estão usando / 127 em geral ) Este provavelmente seria um ISP ou um quem quer cobrar mais por um/64
completo. Não há realmente nenhum motivo para que cada endpoint (que pode ser uma rede completa de clientes) não seja um/64
. - Assumindo que a maioria das sub-redes do usuário final IPv6 estará em
/64
, pode-se ver o bit 6 no identificador de interface (consulte seção 3.2.1 do 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 este bit estiver definido, provavelmente indica que o endereço foi gerado a partir de um endereço MAC. Assim, pode-se bloquear endereços IPv6 com base nos últimos 64 bits, e os usuários podem ser bloqueados, não importa de qual sub-rede eles sejam. (Talvez seja melhor usar isso como uma "dica", já que os endereços MAC, embora supostamente sejam globalmente únicos, na prática nem sempre são. Além disso, eles são facilmente falsificados. Mas qualquer um capaz de se dar ao trabalho provavelmente acharia mais fácil pegue um/64
e obtenha 2 ^ 64 endereços únicos de qualquer maneira. - Se os endereços de privacidade estiverem em uso ... não há muito o que fazer, exceto bloquear esse endereço por um curto período. Isso provavelmente vai mudar em breve de qualquer maneira. Fator na parte de rede do
/64
neste ponto, mas seja cauteloso, pois você pode estar bloqueando todo o escritório corporativo de alguém.
Eu diria que a melhor maneira seria procurar primeiro endereços individuais, depois incluir os últimos 64 bits do endereço e padrões de abuso de determinadas sub-redes /64
para implementar uma estratégia de bloqueio. Para resumir:
- Comece por bloquear endereços IP
/128
individuais (como provavelmente faz hoje com o IPv4) - Se você perceber um padrão de abuso de um endereço que não seja de privacidade nos últimos 64 bits de um endereço, use-o como um indicador strong em seu algoritmo de bloqueio. Alguém pode estar pulando entre ISPs ou sub-redes. (novamente, tenha cuidado com isso, já que os MACs não são necessariamente únicos - alguém pode estar fingindo para explorar seu algoritmo). Além disso, isso só funcionaria contra usuários que não sabem como o IPv6 funciona. ; -)
- Se você perceber um padrão de abuso de um determinado
/64
, bloqueie todo o/64
com uma boa mensagem de erro para que o administrador da rede ofensora possa fazer qualquer trabalho que precisar ser feito.
Boa sorte.