Por que uma lista estática de IPs de saída Tor envelhece
Uma lista de IPs de nós de saída Tor é uma lista dos endereços públicos por onde o tráfego Tor sai da rede e chega a sites comuns, e uma cópia salva uma vez começa a se deteriorar imediatamente. Os relays de saída são operados por voluntários, entram, saem e mudam de endereço o tempo todo, então qualquer lista congelada em um arquivo ou fixada em uma regra de firewall se afasta da realidade em poucas horas.
Por que a lista muda tão rápido
A rede Tor publica um consenso aproximadamente a cada hora, listando os relays em operação e os sinalizadores que possuem, incluindo o sinalizador Exit. Os relays são operados por indivíduos, universidades, organizações sem fins lucrativos e clientes de hospedagem, e muitos rodam em servidores virtuais alugados que são cancelados, reprovisionados ou movidos entre provedores. Quando um relay para, seu endereço volta a um pool de hospedagem e pode ser atribuído a um cliente totalmente sem relação. Quando surge uma nova saída, ela é desconhecida para a sua cópia até que você busque novamente.
As políticas de saída acrescentam outra complicação. Um relay pode ser saída para algumas portas e não para outras, e um operador pode mudar a política sem mudar o endereço. Uma lista que registra apenas endereços não consegue representar essa nuance, então exagera o que cada IP faz e, ao mesmo tempo, deixa de captar os recém-chegados.
O que dá errado com uma lista desatualizada
Há dois modos de falha, e ambos custam caro. O primeiro são os falsos negativos: uma saída iniciada recentemente não está na sua lista, então o tráfego que você pretendia tratar de forma diferente passa sem sinalização. O segundo são os falsos positivos, geralmente os mais prejudiciais. Um endereço que já foi uma saída agora é um cliente de hospedagem comum, uma pequena empresa ou uma linha residencial, mas sua lista congelada ainda o rotula como Tor. Usuários reais são desafiados ou bloqueados por algo que não estão fazendo, e ninguém percebe porque a regra parece correta na configuração.
Listas desatualizadas também tentam as pessoas a bloquear faixas inteiras para compensar as lacunas. Isso multiplica os falsos positivos, porque os vizinhos de um relay em uma faixa de hospedagem costumam ser serviços sem relação. Para um contexto mais amplo sobre por que um sinalizador Tor isolado é um motivo fraco para negar acesso, veja nós de saída Tor explicados.
Como é uma abordagem mais atualizada
A solução não é uma correspondência esperta; é um intervalo curto de atualização e uma forma de remover entradas antigas. Busque a lista em um cronograma, substitua-a de forma atômica em vez de acrescentar indefinidamente e trate a idade dos dados como parte da resposta. Se a sua última atualização bem-sucedida for mais antiga que a sua tolerância, falhe em direção a uma resposta mais branda, como um desafio, em vez de um bloqueio direto.
O ipto faz isso como serviço: os feeds de ameaças de VPN, Tor e abuso são atualizados a cada 6 horas, e os conjuntos de dados de IP e ASN, diariamente. Uma consulta de IP retorna is_tor junto com is_vpn, is_abuser e is_datacenter, de modo que você lê o estado atual a cada requisição e não precisa manter um arquivo. Você pode testar um endereço no verificador de VPN, Tor e proxy, ou navegar pelas listas publicadas na página de feeds de ameaças para ver como são os dados atuais.
Mesmo seis horas não é tempo real, e vale ser honesto quanto a isso. Um relay que começou há uma hora pode ainda não estar nos dados, e um que parou pode continuar sinalizado até a próxima atualização. Um resultado negativo significa "não conhecido como Tor", não "certamente limpo".
Usando dados do Tor sem depender demais deles
Como a lista está sempre um pouco errada, construa decisões que tolerem o erro. Combine o sinalizador Tor com outras evidências em vez de agir somente com base nele. O verificador de abuso de IP corrobora entre vários feeds, o que ajuda a separar um visitante preocupado com privacidade de um endereço que realmente se comporta mal, e o verificador de pontuação de fraude incorpora vários sinais em um único valor de 0 a 100 sobre o qual você pode definir um limiar.
- Armazene as consultas em cache por menos tempo que o intervalo de atualização do feed, não por dias.
- Prefira um desafio, um limite de taxa ou uma etapa extra de verificação a um bloqueio permanente.
- Registre qual sinal disparou uma ação para poder revisar falsos positivos depois.
- Reverifique endereços que você bloqueou anteriormente; uma decisão antiga sobre um IP pode não valer mais.
O ponto central é simples: a rede Tor é um alvo móvel, e a propriedade útil de uma lista de Tor é sua atualidade, e não seu tamanho. Trate qualquer instantâneo estático como um registro histórico e prefira dados com uma cadência de atualização declarada sobre a qual você possa raciocinar.