Pular para o conteúdo
Guides 9 min de leitura 1147 visualizações

Autenticação de proxy

Entenda a autenticação de proxy e aprenda a configurar login e senha para acesso seguro com a GProxy. Comece agora.

Security
Autenticação de proxy

A autenticação de proxy consiste em verificar a identidade do usuário por meio de um nome de usuário e uma senha antes de conceder acesso a um proxy, garantindo um uso controlado e seguro dos recursos de rede.

A autenticação de proxy serve para restringir o acesso ao proxy, impedir o uso não autorizado, gerenciar a banda e atribuir o consumo a usuários ou aplicações específicas. Isso é essencial para manter a segurança, aplicar políticas de uso e monitorar a atividade dentro de uma organização ou em serviços comerciais de proxy.

Como funciona a autenticação de proxy

Quando um cliente tenta se conectar a um recurso através de um proxy autenticado, o proxy solicita as credenciais ao cliente. O cliente, normalmente um navegador ou uma aplicação, envia então o nome de usuário e a senha na requisição seguinte.

A sequência de eventos costuma ser:
1. O cliente envia uma requisição (por exemplo, GET /resource HTTP/1.1) ao proxy.
2. O proxy responde com o código de status 407 Proxy Authentication Required e um cabeçalho Proxy-Authenticate, indicando o(s) esquema(s) de autenticação suportado(s) (por exemplo, Basic realm="Proxy Realm").
3. O cliente recebe o desafio. Se estiver configurado com credenciais, reenvia a requisição original incluindo o cabeçalho Proxy-Authorization com o nome de usuário e a senha codificados conforme o esquema indicado.
4. O proxy verifica as credenciais. Se forem válidas, encaminha a requisição do cliente ao recurso de destino e devolve a resposta ao cliente. Se forem inválidas, retorna outro status 407.

Tipos de autenticação de proxy

HTTP Basic Authentication

A HTTP Basic Authentication é a forma mais comum e mais simples de autenticação de proxy. O cliente envia as credenciais (nome de usuário e senha) codificadas em Base64 dentro do cabeçalho Proxy-Authorization.

Exemplo de cabeçalho Proxy-Authorization:
Proxy-Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ= (onde dXNlcm5hbWU6cGFzc3dvcmQ= é a codificação Base64 de username:password).

Características:
* Simplicidade: fácil de implementar tanto no cliente quanto no servidor.
* Segurança: as credenciais são apenas codificadas em Base64, não criptografadas. Ou seja, são facilmente decodificáveis se interceptadas. Por isso, a Basic Authentication deve ser usada preferencialmente sobre um túnel criptografado (HTTPS) ou quando o caminho de rede entre cliente e proxy é confiável.
* Sem estado: cada requisição carrega as credenciais.

HTTP Digest Authentication

A HTTP Digest Authentication é uma alternativa mais segura à Basic Authentication. Ela usa um mecanismo de desafio-resposta que evita a transmissão direta da senha pela rede. Em vez disso, envia-se um hash do nome de usuário, da senha, de um nonce (uma string única gerada pelo servidor) e de outros detalhes da requisição.

Características:
* Segurança: as senhas não são enviadas em texto puro nem em codificação facilmente reversível. Mitiga em certa medida os ataques de repetição.
* Complexidade: mais complexa de implementar do que a Basic Authentication.
* Menos comum: apesar de mais segura, é menos suportada por serviços de proxy e aplicações cliente do que a Basic Authentication.

Autenticação SOCKS5

O SOCKS5 é um protocolo de proxy que opera em um nível mais baixo que o HTTP. Ele lida com qualquer tipo de tráfego de rede (TCP e UDP). Os proxies SOCKS5 suportam um método de autenticação por nome de usuário/senha.

Características:
* Neutralidade de protocolo: pode encaminhar qualquer tráfego TCP/UDP, não apenas HTTP.
* Autenticação: suporta autenticação por nome de usuário/senha, com as credenciais enviadas como parte do handshake SOCKS.
* Segurança: as credenciais são enviadas sem criptografia durante o handshake, a menos que a própria conexão SOCKS seja tunelada por uma conexão segura (por exemplo, SSH).

Whitelist de IP (método complementar)

A whitelist de IP não é em si um método de autenticação, mas um mecanismo de controle de acesso. Ela permite o acesso ao proxy apenas a partir de uma lista predefinida de endereços IP confiáveis. Embora não exija nome de usuário/senha a cada requisição, pode ser usada em conjunto com a autenticação por credenciais ou como alternativa em cenários específicos nos quais os IPs dos clientes são estáticos e conhecidos.

Como configurar a autenticação de proxy

Configurar a autenticação de proxy envolve dois passos principais: gerenciar as credenciais junto ao seu provedor de proxy e configurar as aplicações cliente para usá-las.

Gerenciando credenciais no seu provedor de proxy

Em um serviço comercial de proxy, o gerenciamento de credenciais normalmente é feito pelo painel web do provedor ou por API.

  1. Acesse o painel: faça login no painel ou portal de gerenciamento do seu provedor de proxy.
  2. Seção de usuários/credenciais: vá até a seção dedicada a usuários de proxy, credenciais ou gerenciamento de acesso.
  3. Crie/edite credenciais:
    • Nome de usuário: defina um nome de usuário único.
    • Senha: defina uma senha forte e única. Alguns provedores geram senhas automaticamente.
    • Atribuição de proxies: associe essas credenciais a proxies, pools ou cotas de banda específicos, conforme o modelo do serviço.

Exemplo (chamada de API conceitual para criação de credenciais):
Muitos serviços de proxy avançados oferecem uma API para o gerenciamento programático de credenciais.

POST /api/v1/users
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY

{
  "username": "my_proxy_user",
  "password": "StrongPassword123!",
  "assigned_proxy_group": "datacenter_proxies_us"
}

Essa chamada de API criaria um novo usuário my_proxy_user com a senha indicada e o atribuiria a um grupo específico de proxies.

Configurando as aplicações cliente para usar as credenciais

Depois de criar as credenciais no seu serviço de proxy, é preciso configurar as aplicações cliente para fornecê-las na conexão através do proxy.

Os navegadores normalmente usam as configurações de proxy do sistema ou extensões dedicadas.

  • Configurações de proxy do sistema:

    • Windows: Configurações > Rede e Internet > Proxy > Configuração manual de proxy. Informe o endereço e a porta do proxy e ative "Não usar o servidor proxy para endereços locais". O navegador pedirá as credenciais na primeira vez que encontrar um proxy autenticado.
    • macOS: Ajustes do Sistema > Rede > Wi-Fi/Ethernet > Detalhes... > Proxies. Configure Web Proxy (HTTP) e Secure Web Proxy (HTTPS). Marque "O servidor proxy requer senha" e informe as credenciais, ou deixe desmarcado para receber o prompt.
    • Linux (GNOME/KDE): Configurações > Rede > Proxy de rede. Configure o proxy HTTP e HTTPS. As credenciais serão solicitadas pelo ambiente de trabalho.
  • Extensões de navegador (por exemplo, FoxyProxy, SwitchyOmega):
    Essas extensões oferecem controle granular, permitindo proxies específicos para diferentes URLs ou padrões.

    1. Instale a extensão.
    2. Adicione uma nova configuração de proxy.
    3. Informe o Host e a Port do proxy.
    4. Selecione o tipo HTTP ou SOCKS.
    5. Marque "Autenticação necessária" e informe seu Username e Password.
    6. Configure os padrões de URL que ativam o proxy.
Ferramentas de linha de comando
  • curl:
    bash curl -x http://username:[email protected]:8080 http://target.com
    Como alternativa, use opções separadas:
    bash curl --proxy http://proxy.example.com:8080 --proxy-user username:password http://target.com

  • wget:
    bash wget -e use_proxy=yes -e http_proxy=http://username:[email protected]:8080 http://target.com

Linguagens de programação/bibliotecas
  • Python (biblioteca requests):
    ```python
    import requests

    proxy_host = "proxy.example.com"
    proxy_port = 8080
    proxy_user = "username"
    proxy_pass = "password"

    proxies = {
    "http": f"http://{proxy_user}:{proxy_pass}@{proxy_host}:{proxy_port}",
    "https": f"http://{proxy_user}:{proxy_pass}@{proxy_host}:{proxy_port}"
    }

    try:
    response = requests.get("http://httpbin.org/ip", proxies=proxies)
    print(response.json())
    except requests.exceptions.RequestException as e:
    print(f"Request failed: {e}")
    ```

  • Node.js (biblioteca axios com https-proxy-agent):
    Primeiro, instale axios e https-proxy-agent: npm install axios https-proxy-agent
    ```javascript
    const axios = require('axios');
    const HttpsProxyAgent = require('https-proxy-agent');

    const proxyHost = "proxy.example.com";
    const proxyPort = 8080;
    const proxyUser = "username";
    const proxyPass = "password";

    const proxyAgent = new HttpsProxyAgent(http://${proxyUser}:${proxyPass}@${proxyHost}:${proxyPort});

    axios.get('http://httpbin.org/ip', {
    proxy: false, // Importante: desativa o tratamento interno de proxy do axios
    httpAgent: proxyAgent,
    httpsAgent: proxyAgent
    })
    .then(response => {
    console.log(response.data);
    })
    .catch(error => {
    console.error("Request failed:", error.message);
    });
    ```

Variáveis de ambiente do sistema operacional

Muitas aplicações e ferramentas de linha de comando respeitam variáveis de ambiente para as configurações de proxy.

  • Linux/macOS:
    bash export HTTP_PROXY="http://username:[email protected]:8080" export HTTPS_PROXY="http://username:[email protected]:8080" export ALL_PROXY="socks5://username:[email protected]:1080" # Para SOCKS # Em algumas ferramentas, pode ser necessário exportar a autenticação do proxy separadamente: export PROXY_AUTH="username:password"
  • Windows (Prompt de Comando):
    cmd set HTTP_PROXY=http://username:[email protected]:8080 set HTTPS_PROXY=http://username:[email protected]:8080
    Essas variáveis valem para a sessão atual do shell e seus processos filhos.

Boas práticas de autenticação de proxy

  • Senhas fortes e únicas: use senhas complexas nas contas de proxy, combinando letras maiúsculas e minúsculas, números e símbolos. Não reutilize senhas de outros serviços.
  • Rotação periódica de credenciais: troque as senhas das contas de proxy regularmente para reduzir o risco de credenciais comprometidas.
  • Use HTTPS nos recursos de destino: mesmo com Basic Authentication, garantir que a conexão final com o site de destino seja HTTPS criptografa o conteúdo, protegendo informações sensíveis depois do proxy.
  • Combine com whitelist de IP: para mais segurança, restrinja o acesso ao proxy a endereços IP de cliente específicos, além de exigir credenciais. Isso cria uma defesa em camadas.
  • Monitore os logs de acesso: revise regularmente os logs de acesso do proxy em busca de atividade incomum, tentativas de login malsucedidas ou padrões de acesso não autorizado.
  • Menor privilégio: conceda aos usuários de proxy apenas as permissões necessárias. Se o serviço oferece grupos de proxies ou limites de banda distintos, configure-os adequadamente.

Comparação dos métodos de autenticação

Recurso HTTP Basic Authentication HTTP Digest Authentication Autenticação SOCKS5
Nível de protocolo HTTP/HTTPS HTTP/HTTPS SOCKS (camada 5)
Credenciais enviadas username:password em Base64 Desafio-resposta com hash Texto puro durante o handshake (geralmente)
Segurança Baixa (fácil de decodificar) Moderada (senha não é transmitida) Baixa (texto puro)
Uso Apenas tráfego HTTP/HTTPS Apenas tráfego HTTP/HTTPS Qualquer tráfego TCP/UDP (FTP, SSH, DNS)
Implementação Simples Complexa Moderada
Suporte em navegadores Universal (com prompt) Limitado Via extensões ou configurações do sistema
Frequência de uso Muito comum em proxies comerciais Pouco comum Comum em proxying de uso geral
Criptografia Depende de HTTPS para segurança ponta a ponta Depende de HTTPS para segurança ponta a ponta Depende de túnel externo (por exemplo, SSH)

Solução de problemas comuns de autenticação

  • Credenciais incorretas: confira o nome de usuário e a senha. Atenção a maiúsculas/minúsculas e caracteres especiais.
  • Endereço/porta do proxy divergentes: verifique se o endereço e a porta configurados na aplicação cliente coincidem com os fornecidos pelo serviço.
  • Esquema de autenticação divergente: confirme que o cliente está configurado para o tipo correto de autenticação (por exemplo, Basic se o proxy espera Basic). A maioria dos clientes faz isso automaticamente em proxies HTTP.
  • Conectividade de rede: confirme que a máquina cliente alcança o IP e a porta do proxy. Regras de firewall no cliente ou no servidor podem estar bloqueando as conexões.
  • Status do servidor proxy: o proxy pode estar temporariamente fora do ar ou com problemas. Consulte a página de status do seu provedor.
  • Configuração do software cliente: algumas aplicações ou bibliotecas têm requisitos específicos ou bugs relacionados à autenticação de proxy. Consulte a documentação delas.
  • Conflito com whitelist de IP: se a whitelist de IP está ativa no proxy, verifique se o IP público do seu cliente está autorizado. Se o seu IP mudar, atualize a whitelist.
Atualizado: 03.03.2026
Voltar à categoria

Leia também

Experimente nossos proxies

20,000+ proxies em 100+ países do mundo

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.