Rotacionar IP de proxy sem VPN: o que a saída vê
Rodeie saídas de proxy sem VPN: o que um proxy HTTP pode ler, como as sessões pegajosas evitam estados quebrados e qual saída você consegue defender numa política.
A rotação de proxy e uma VPN mudam o seu endereço público em camadas diferentes, e essa diferença decide o que vaza. Uma VPN move cada pacote para um túnel, então o endereço de origem que o alvo vê é o ponto final do túnel. Um proxy fica acima da camada de rede: só as requisições que você envia por ele aparecem na saída, enquanto todo o resto na máquina mantém o endereço real. Acertar essa separação transforma a rotação de uma caixa de seleção em uma decisão de projeto.
De onde o endereço público realmente vem
O endereço que um alvo vê é aquele de onde o seu tráfego saiu por último, e numa conexão doméstica é o endereço do provedor no seu roteador, não algo que a máquina possua. Reiniciar o roteador pode devolver o mesmo contrato, e mudar o endereço MAC dele às vezes produz um novo, mas nenhum dos dois lhe dá um seletor de país. Uma VPN substitui o endereço de origem na camada IP, então cada pacote da máquina, incluindo DNS e atualizações em segundo plano, sai do ponto final do túnel. Um proxy trabalha uma camada acima: aceita uma requisição, abre a própria conexão com o alvo, e só essa requisição aparece na saída. Todo o resto na máquina continua usando o endereço real.
Essa separação explica a maioria das surpresas. Uma extensão de navegador apontada para um proxy muda só o que o navegador envia e mais nada, então um segundo aplicativo no mesmo host ainda vaza o endereço original. Uma VPN de todo o sistema tem o modo de falha oposto: cobre tráfego que você queria manter local e só fecha em caso de falha se o cliente estiver configurado para isso. Escolher entre as duas é realmente escolher qual tráfego precisa se mover.
A rotação então se aplica à camada que você escolheu. Com um proxy, rotação significa que a próxima requisição usa uma saída diferente. Com uma VPN, significa derrubar e reconstruir o túnel, o que é mais lento e aparece como uma reconexão visível.
O que um proxy HTTP pode ler, e o que não pode
Em HTTP simples o proxy vê um URI absoluto na linha de requisição, cada cabeçalho e o corpo. Ele pode registrar tudo isso e reescrever qualquer parte, e é por isso que um proxy gratuito que injeta um script nas respostas faz exatamente o que o protocolo permite. A autenticação usa Proxy-Authorization, e uma credencial ausente ou errada produz 407 Proxy Authentication Required em vez de um erro de conexão.
Em HTTPS o cliente envia CONNECT host:port e o proxy abre um túnel bruto, depois do qual vê bytes cifrados. Ele ainda aprende o nome do host na linha CONNECT e normalmente no campo SNI do handshake TLS, então o registro no nível do nome do host sobrevive mesmo quando a carga útil não. Ler a carga útil exige terminar o TLS com um certificado em que o cliente confie, o que é outro produto com outro risco. A especificação de semântica HTTP define CONNECT como uma requisição de túnel, que é o modelo mental correto para o que uma saída pode e não pode ver.
curl -v -x http://proxy.example.net:8080 https://example.com 2>&1 | grep -E 'CONNECT|Proxy-'
A saída detalhada mostra a linha CONNECT antes de qualquer tráfego TLS, e esse é o momento em que o proxy aprende o seu destino. Um proxy que responde com 407 nunca abriu o túnel, então tentar de novo com outros ajustes de TLS não vai ajudar.
A granularidade da rotação decide o que quebra
Rodar a cada requisição é o ajuste que parece mais seguro e quebra mais. Cookies, tokens CSRF e sessões do lado do servidor estão ligados a uma identidade, e uma identidade que muda entre o login e a chamada seguinte parece ao alvo um sequestro de sessão. Muitos provedores oferecem uma sessão pegajosa codificando-a no nome de usuário do proxy, então a saída fica fixa durante uma janela escolhida.
Escolha a granularidade pela tarefa, não pelo padrão do provedor. Um rastreador que busca páginas independentes pode rodar a cada requisição, enquanto um fluxo de pagamento ou uma API autenticada precisa manter uma saída durante todo o fluxo. As duas chamadas abaixo mostram um nome de usuário pegajoso e um endpoint rotativo simples, e o socks5h esquema resolve nomes no proxy em vez de localmente.
curl -sS -x http://user-session-a1b2:[email protected]:8080 https://ifconfig.me
curl -sS -x socks5h://127.0.0.1:1080 https://ifconfig.me
O DNS local é um vazamento silencioso. Se o cliente resolve o nome antes de conectar, o resolvedor ainda aprende cada host que você visita mesmo que a requisição HTTP saia em outro lugar. A socks5h forma e a resolução do lado do proxy evitam isso, e usá-las não custa nada.
O que o alvo classifica além do endereço
A reputação do endereço é uma entrada entre várias. Os alvos combinam o ASN e o rótulo de data center ou residencial, a impressão digital TLS do cliente, ajustes HTTP/2, a ordem dos cabeçalhos, a taxa de requisições e a forma da navegação. Uma saída residencial movida por um navegador sem interface pode falhar onde uma saída de data center movida por uma sessão real passa.
O tipo de saída define o que você pode afirmar honestamente sobre o tráfego, e cada um traz um custo diferente.
| Exit type | What the target sees | Main cost |
|---|---|---|
| Datacenter proxy | Hosting ASN, cheap, often pre-blocked | Low reputation, easy to detect |
| Residential network | A consumer ISP address belonging to someone else | Consent and terms-of-service exposure |
| Mobile carrier | A carrier NAT address shared by many subscribers | Price, plus shared blame for abuse |
| Your own cloud egress | An address you are accountable for | Recognisable, but defensible |
Uma saída compartilhada não é neutra. Todo o resto que roda daquele endereço cai no mesmo balde de reputação, e um endereço já queimado por outros inquilinos falha antes de a sua primeira requisição ser lida.
Escolha uma saída que você consiga descrever numa política
A pergunta útil não é como esconder o endereço, mas quem responde pelo tráfego que sai dele. A sua própria saída de nuvem por tarefa, um provedor contratado com um acordo de processamento de dados e retenção publicada, e uma VPN auto-hospedada com uma identidade por tarefa são todas descritíveis numa frase. Uma lista gratuita não, porque o operador não tem nenhuma obrigação com você e tem todo o incentivo para registrar.
Mantenha os seus próprios limites de taxa abaixo do que o alvo tolera, e colete só os campos que a tarefa precisa, para que um erro continue pequeno. Rodar mais rápido para escapar de um bloqueio costuma aumentar a taxa de requisições que o causou.
Escreva a saída escolhida, a janela de rotação e o proprietário na configuração do trabalho antes da primeira execução. Quando o bloqueio chegar, essa nota é o que lhe diz se deve mudar a saída ou mudar o comportamento.