Você provavelmente já ouviu falar sobre proxies e talvez até proxies SOCKS. Em sua essência, servidores proxy ou proxies são intermediários baseados em hardware ou software que ficam em uma máquina local ou remota. Nesta função intermediária, eles roteiam todo o tráfego entre navegadores web (clientes web) e servidores web através deles mesmos, bloqueando ou impedindo assim a comunicação direta.
Ao mesmo tempo, e dependendo do tipo, os proxies ocultam algumas informações sobre a sua identidade online. Exemplos de dados ocultos incluem seu endereço IP e localização.
Na verdade, existem vários tipos de proxies. E eles podem ser amplamente categorizados em quatro grupos com base no seguinte:
- Protocolo, ou seja, proxies SOCKS e proxies HTTP e HTTPS
- Número de usuários ativos, ou seja, proxies compartilhados, proxies privados, e procuradores virgens
- A direção do roteamento do tráfego, ou seja, proxies diretos e proxies reversos
- O tipo de endereço IP atribuído, ou seja, proxies residenciais, proxies de data center, e proxies móveis
No entanto, este artigo focará principalmente em proxies identificáveis pelo protocolo usado para comunicação online. Esta categoria inclui proxies SOCKS e proxies HTTP e HTTPS.
O que é um servidor proxy SOCKS?
Um proxy SOCKS é um intermediário que utiliza o protocolo SOCKS para facilitar a conectividade de rede entre hosts ou entre um cliente web e um servidor web através de um firewall. Este proxy executa software conhecido como daemon SOCKS. O software é instalado especificamente em um host de firewall (máquina na qual um firewall foi instalado), criando uma rota segura através deste firewall.
Portanto, isso significa que o protocolo SOCKS não ignora firewalls, mas permite que a comunicação seja roteada através do firewall por meio de um servidor proxy. Assim, o firewall bloqueia todo o tráfego não autorizado, bem como o tráfego que não esteja em conformidade com determinados parâmetros, como o nome de usuário ou aquele que não foi enviado através do protocolo SOCKS.
Porém, suponha que a comunicação seja enviada através deste protocolo e, por extensão, através do proxy SOCKS. Nesse caso, os usuários acessarão a internet ou poderão se comunicar com outros computadores em uma rede externa. Geralmente, o servidor proxy SOCKS suporta conexões em nível de aplicação, ou seja, aquelas enviadas através de protocolos da camada de aplicação, passam. (Os protocolos da camada de aplicação incluem HTTP, HTTPS, SMTP, TELNET, FTP, POP, MIME e muito mais.)
Como funciona um servidor proxy SOCKS
Como resultado desse acordo, os computadores dos usuários, conhecidos coletivamente como hosts, utilizam o servidor proxy SOCKS como um ponto transitório seguro que permite a comunicação segura com outros hosts ou servidores web. E como um firewall de rede ou host de firewall ainda protege a conexão por meio desse intermediário, ele evita que intrusos indesejados acessem a comunicação entre os hosts. Assim, apenas partes com contas no host (conta proxy) podem acessar pacotes de rede enviados utilizando o protocolo SOCKS através do firewall.
O servidor proxy SOCKS não só permite a comunicação entre os computadores dos usuários, mas também entre clientes web e servidores web. E como acontece com todos os outros servidores proxy, ele intermedia o tráfego da rede, bloqueando o acesso direto. Assim, quando um cliente envia solicitações HTTP, HTTPS ou FTP, o servidor SOCKS as recebe e posteriormente as envia ao servidor web em nome do cliente. Ao mesmo tempo, recebe respostas do servidor e as encaminha ao cliente. No entanto, antes de discutirmos os servidores proxy SOCKS com mais detalhes, vamos primeiro entender o protocolo SOCKS, sua história e como funciona.
História do protocolo SOCKS
O nome servidor proxy SOCKS é derivado de um protocolo de rede conhecido como Socket Secure, que é contratado pela SOCKS. Com base na descrição acima, o protocolo SOCKS fornece uma estrutura para conectividade de rede através de um firewall de rede. O protocolo passou por várias melhorias desde que foi introduzido pela primeira vez no início da década de 1990. E esta seção descreverá a evolução ao longo dos anos.
SOCKS Versão 1
O protocolo SOCKS original foi proposto em um papel apresentado no terceiro Simpósio de Segurança USENIX UNIX em 1992. No entanto, no momento da apresentação do artigo, o SOCKS estava em execução na MIPS Computer Systems há três anos. Isso significa que o SOCKS foi originalmente criado por volta de 1989.
De autoria de David Koblas e Michelle Koblas, o artigo discutiu como o protocolo SOCKS poderia ser usado para fornecer conectividade de rede conveniente e segura através de um host de firewall. Seus criadores o projetaram como uma solução para um problema que existia na época: os métodos de criação de um ambiente seguro por meio do qual os computadores pudessem se conectar à Internet eram complicados, inconvenientes ou poderiam ser facilmente comprometidos.
O artigo apresentou um pacote SOCKS, que incluía a biblioteca SOCKS, protocolo e um daemon (software proxy SOCKS). A biblioteca incluía chamadas que estabeleciam conexões com o daemon SOCKS instalado no firewall. Desta forma, a biblioteca possibilitou a transmissão de informações e conexões de rede de tal forma que o daemon parecia ser o originador das solicitações. Assim, para um host externo, o daemon (proxy SOCKS) pareceria ser o originador das solicitações. As rotinas ou chamadas da biblioteca SOCKS incluíam:
- Conectar: Solicita que o proxy SOCKS (daemon) estabeleça uma conexão de saída para um determinado endereço IP, número de porta e nome de usuário
- Vincular: solicita uma conexão de entrada esperada de um determinado endereço IP externo. Ele também contém requisitos de nome de usuário, mas esse nome de usuário pertence ao solicitante (remetente) e é usado para registrar as informações. Geralmente, a chamada Bind vincula uma nova conexão de soquete a uma porta livre no firewall.
- Ouvir: aguarda (ouve), pronto para aceitar chamadas do host externo
- ObterSOCKName: Obtém o endereço IP e o número da porta do soquete no firewall
- Aceitar: Aceita uma conexão de um host externo
SOCKS Versão 4 (SOCKS4)
Ying-Da Lee estendeu o protocolo SOCKS, criando SOCKS versão 4 (SOCKS4) antes de introduzir posteriormente SOCKS versão 4a (SOCKS4a). Conseqüentemente, SOCKS4a expandiu os recursos do protocolo, suportando a resolução do nome de domínio do host de destino (servidor) para encontrar seu endereço IP.
SOCKS Versão 5 (SOCKS 5)
Em 1996, um grupo de colaboradores escreveu um memorando descrevendo o SOCKS versão 5. O artigo estendeu os recursos do protocolo SOCKS, expandindo os recursos da estrutura subjacente para permitir que ele suporte protocolos de camada de aplicativo mais sofisticados. Além disso, SOCKS5 introduziu suporte para aplicativos cliente-servidor tanto no Transmission Control Protocol (TCP) quanto no User Datagram Protocol (UDP). Além disso, estendeu o sistema de endereçamento para incluir Endereços IPv6 e endereçamento de nome de domínio.
Finalmente, o SOCKS5 introduziu uma autenticação forte. A nova versão especifica uma estrutura generalizada para o uso de protocolos de autenticação arbitrários. Por exemplo, ao iniciar uma conexão SOCKS, as seguintes autenticações podem ser utilizadas:
- Subnegociação de nome de usuário/senha serviços de autenticação (no entanto, a subnegociação de nome de usuário/senha não é segura e, portanto, não é recomendada em casos em que hackers ou terceiros possam realizar 'sniffing').
- Autenticação segura de nome de usuário e senha que usa chaves de host conhecidas e retransmite as chaves por meio de comunicação criptografada
- Autenticação GSS-API método
Vale ressaltar que as revisões resultaram em diversos tipos de proxies SOCKS, a saber:
- Proxies SOCKS4
- Proxies SOCKS5
SOCKS4 vs. SOCKS5: Semelhanças e Diferenças
Semelhanças entre SOCKS4 e SOCKS5
Os protocolos SOCKS4 e SOCKS5 e, por extensão, os proxies são semelhantes das seguintes maneiras:
- O serviço SOCKS em SOCKS4 e SOCKS5 está localizado na porta 1080
- Eles utilizam as mesmas operações, ou seja, conectar, vincular, ouvir, aceitar, e getSOCKnome.
Diferenças entre SOCKS4 e SOCKS5
Os protocolos e proxies SOCKS4 e SOCKS5 diferem nas diversas maneiras descritas na tabela abaixo:
SOCKS4 | SOCKS5 | |
Domínios Suportados | Ele só suporta TCP | Suporta TCP e UDP |
Segurança | Ele fornece passagem de firewall insegura porque não autentica os pacotes de rede | Ele suporta esquemas de autenticação fortes, como requisitos de nome de usuário e senha, promovendo assim a passagem segura do firewall |
Protocolos Suportados | Suporta FTP, SMTP, TELNET, HTTP e GOPHER (ou seja, protocolos da camada de aplicação) | Ele suporta FTP, SMTP, TELNET, HTTP e GOPHER, bem como NTP, DHCP, BOOTP, NNP, TFTP, RTSP, RIP e DNS (ou seja, protocolos de aplicação e camada de transporte) |
Endereço IP | Suporta apenas endereços IPv4 | Suporta endereços IPv4 e IPv6 |
Nome do domínio | É incapaz de resolver todos os nomes de domínio e, portanto, não consegue encontrar seus endereços IP | Ele pode resolver nomes de domínio de todos os servidores para encontrar seus endereços IP |
Endereçamento | Não suporta endereçamento de nome de domínio | Suporta endereçamento de nome de domínio |
Quão segura é uma conexão proxy SOCKS?
Uma conexão SOCKS, diferentemente de uma conexão HTTPS, não é criptografada. Mas uma conexão HTTPS criptografada pode ser estabelecida em qualquer conexão SOCKS (dentro da conexão), que é completamente inacessível externamente:
Isto pode parecer complicado, mas na realidade é muito simples, e tal conexão é criada automaticamente quando o usuário estabelece pela primeira vez uma conexão SOCKS (por exemplo, com Proxificador ou o complemento do navegador Foxyproxy) e depois vai para uma página da web que usa um certificado SSL (“cadeado” à esquerda da barra de endereço).
Navegador <-> SOCKS (HTTPS) SOCKS <-> site de destino
Isso significa que esta conexão é totalmente segura e ninguém, nem mesmo o provedor de proxy, pode saber exatamente o que o usuário está fazendo no site, o que está imprimindo, quais fotos ou vídeos está visualizando ou enviando.
Vantagens e desvantagens dos servidores proxy SOCKS
Vantagens dos proxies SOCKS
As vantagens dos proxies SOCKS são:
- Erros menores: Os proxies SOCKS, diferentemente dos proxies HTTP, não interpretam ou reescrevem os pacotes de dados, como cabeçalhos. Assim, eles não estão sujeitos a erros de rotulagem ou outros erros.
- Suporte para vários protocolos nas camadas de aplicação e transporte: os proxies SOCKS4 suportam os protocolos FTP, SMTP, TELNET, HTTP e GOPHER. Em contraste, os proxies SOCKS5 suportam os protocolos FTP, SMTP, TELNET, HTTP e GOPHER, bem como NTP, DHCP, BOOTP, NNP, TFTP, RTSP, RIP e DNS. Por outro lado, os proxies HTTP suportam apenas os protocolos HTTP e HTTPS.
- Melhor segurança: os proxies SOCKS5, em particular, realizam a autenticação em vários estágios. Isso promove segurança. Geralmente, porém, dado que todos os proxies SOCKS não interpretam ou reescrevem dados, eles não podem descobrir pacotes de dados que contenham suas informações pessoais.
- Privacidade aprimorada: Os proxies SOCKS5 podem alterar seu endereço IP, ocultando assim informações como sua localização real, especialmente considerando que os endereços IP armazenam esses dados.
Desvantagens dos proxies SOCKS
As desvantagens dos proxies SOCKS incluem o seguinte:
- Atraso de conexão/velocidade lenta: os proxies SOCKS5, em particular, precisam realizar uma série de autenticações em diferentes estágios de operações, o que se traduz em velocidades mais lentas.
- Conexão traseira limitada: O comando bind do SOCKS5 não cobre suficientemente os protocolos que exigem que o servidor se conecte ao cliente (conexão reversa) várias vezes; em vez disso, é principalmente adequado para protocolos como FTP, que requerem apenas uma única conexão traseira
- Capacidades limitadas de UDP suportado: O suporte UDP inicial do SOCKS5 tinha capacidades limitadas. Por exemplo, o protocolo previa que as aplicações UDP enviassem dados e recebessem uma resposta. No entanto, muitos aplicativos UDP podem receber dados UDP sem exigir informações de endereço IP, enviar dados ou usar uma determinada porta. Assim, os proxies SOCKS5 têm capacidades UDP limitadas.
- Incompatibilidade com versões anteriores: os proxies SOCKS5 não são compatíveis com versões anteriores do protocolo SOCKS, como SOCKS4a
Como usar proxies SOCKS
Os proxies SOCKS são usados das seguintes maneiras:
- Eles permitem que os usuários contornem o bloqueio geográfico. Dessa forma, os proxies SOCKS, especialmente os proxies SOCKS5, permitem que eles acessem conteúdo de outros locais. (Bloqueio geográfico ou restrição geográfica é a prática pela qual os sites mostram conteúdo apenas aos visitantes de um local específico.)
- Os servidores proxy SOCKS ajudam a contornar a filtragem da Internet por escolas, locais de trabalho e governos, apenas para mencionar alguns
- Uso anônimo de mensageiros, como Telegrama
- Streaming de vídeo e chamadas ao vivo
- Torrent ou compartilhamento e download ponto a ponto
- Envio de e-mail em massa e seguro devido ao suporte SMTP
- Navegação geral na web porque SOCKS5 suporta vários protocolos de nível de aplicativo
- Bloqueio de acesso não autorizado a redes empresariais: os proxies SOCKS atuam como um intermediário transitório que permite acesso seguro à Internet através do firewall empresarial, evitando que intrusos indesejados acessem o servidor ou computadores na rede local.
Proxies SOCKS versus proxies HTTP
Conforme detalhado anteriormente, os proxies SOCKS e os proxies HTTP são servidores proxy baseados em protocolo. Para uma discussão detalhada sobre o que os proxies HTTP e HTTPS podem alcançar, consulte nosso artigo sobre Proxies HTTP e HTTPS.
Como os proxies SOCKS e os proxies HTTP se comparam
Esta seção detalha as semelhanças e diferenças entre os proxies SOCKS e HTTP.
Semelhanças entre proxies SOCKS e proxies HTTP
Os proxies SOCKS e HTTP são semelhantes das seguintes maneiras:
- Ambos são baseados em protocolos de internet
Diferenças entre proxies SOCKS e proxies HTTP
Os proxies SOCKS e HTTP diferem das seguintes maneiras:
Proxies SOCKS | Proxies HTTP | |
Protocolos | Eles suportam um grande número de protocolos TCP, bem como protocolos UDP | Eles suportam apenas protocolos HTTP e HTTPS |
Segurança | Eles não criptografam dados | Proxies HTTPS criptografam dados |
Acesso ao firewall | Os proxies SOCKS fornecem acesso à Internet através de um firewall de rede | Eles não fornecem conexão por meio de firewalls |
Interpretação de dados | Eles não interpretam, analisam ou reescrevem dados | Eles interpretam os dados e, em alguns casos, reescrevem os pacotes de cabeçalho |
Interoperabilidade | Proxies SOCKS podem usar protocolo HTTP e HTTPS | Os proxies HTTP e HTTPS não podem usar o protocolo SOCKS |
Classificação OSI | Os proxies SOCKS são encontrados em um nível inferior (camada 5) do Classificação OSI, ou seja, a camada de sessão | Os proxies HTTP são encontrados em um nível superior (camada 4) da classificação OSI, ou seja, a camada de transporte |
Configuração | Os proxies SOCKS só podem ser integrados a um cliente web ou máquina que não seja um servidor web | Os proxies HTTP podem ser configurados no cliente web ou no servidor |
Porta | Os serviços SOCKS estão disponíveis através das portas proxy SOCKS 1080 e 1085 | Os proxies HTTP utilizam as portas 80, 8080, 8085, 3128 e 3129, enquanto os proxies HTTPS usam a porta 443 |
Proxy SOCKS versus VPNs
É verdade que os proxies SOCKS podem criar um túnel seguro através de um firewall. Mas você também sabia que pode criar um túnel seguro usando um rede privada virtual ou VPN? Uma VPN cria uma rota segura de comunicação entre duas redes: uma rede local e redes externas. Ele consegue isso roteando todo o tráfego da Internet através de um túnel, mas não antes de criptografar os dados no ponto de entrada (seu computador, por exemplo). O túnel termina em um nó de saída (o servidor de saída da VPN) que atribui às solicitações de saída da rede local ou computador de um usuário um novo endereço IP, ocultando efetivamente o endereço IP real.
Ao usar uma VPN, todas as solicitações parecem originar-se da nota de saída. Ao mesmo tempo, todas as respostas de um servidor web parecem terminar neste servidor VPN. Graças a esse acordo, você pode usar uma VPN para acessar conteúdo que de outra forma seria bloqueado geograficamente em qualquer local onde o provedor de VPN tenha um servidor.
Por exemplo, se você estiver na Alemanha e quiser acessar conteúdo da web que só pode ser visualizado por residentes nos Estados Unidos, você pode simplesmente usar um servidor VPN baseado nos EUA.
Para fazer isso, você deve primeiro instalar um software VPN em seu computador, que converterá sua máquina em um nó de entrada. O software é responsável por criptografar os dados. Em seguida, você terá que escolher o nó de saída e, assim que a VPN se conectar a esse servidor de saída, você estará livre para enviar sua solicitação.
Vantagens das VPNs
Os prós das redes privadas virtuais incluem:
- Criptografia e segurança: As VPNs criptografam todas as solicitações e respostas do servidor, garantindo assim uma segurança incomparável. É por esta razão que é aconselhável utilizar uma VPN sempre que aceder à Internet através de Wi-Fi público.
- Forneça acesso a conteúdo bloqueado geograficamente: uma VPN transporta você virtualmente para esse local, roteando o tráfego através de um nó de saída em um país diferente. Como resultado, você pode acessar conteúdo da web que de outra forma não conseguiria em seu país de origem sem a VPN.
- Privacidade on-line: as VPNs ocultam seu endereço IP real e, posteriormente, atribuem um endereço diferente. Dessa forma, eles protegem sua privacidade online, ocultando alguns dados sobre você, como sua localização (estado, cidade, país e coordenadas aproximadas).
Desvantagens das VPNs
Os contras das redes privadas virtuais incluem:
- Velocidades de conexão lentas: como esta solução precisa criptografar todas as solicitações de saída e respostas recebidas, ela geralmente é mais lenta.
- Registrando dados do usuário: Outra desvantagem comum que gerou alvoroço entre os usuários de VPN é que alguns provedores de VPN costumam registrar dados do usuário. Eles fazem isso para fornecer posteriormente aos agentes da lei os referidos dados, quando solicitados. Na verdade, vários provedores ganharam as manchetes ao fornecer dados de usuários aos órgãos de investigação. Além disso, alguns países, como Índia, têm leis que obrigam os provedores de VPN a salvar os dados do usuário. Neste contexto, os observadores previamente avisado usuários aceitem a política de 'sem registros' dos provedores pelo valor nominal.
- VPNs gratuitas geralmente são inseguras: Essas VPNs geralmente compartilham o mesmo túnel seguro entre vários usuários, o que pode aumentar as chances de “farejar” ou espionagem.
- VPNs são proibidas em certos países: alguns países tornaram o uso de VPNs totalmente ilegal. Em outros países, apenas VPNs licenciadas pelo governo podem ser usadas.
Usos de VPNs
As redes privadas virtuais são usadas das seguintes maneiras:
- VPNs fornecem segurança ao acessar a Internet através de pontos de acesso públicos
- Acessando conteúdo bloqueado geograficamente: conforme declarado, as VPNs, como os proxies SOCKS5, permitem acessar qualquer conteúdo de qualquer local
- Facilite o trabalho remoto: as empresas protegem seus dados exigindo que seus funcionários remotos façam login em seus sistemas ou servidores por meio de VPNs dedicadas
Como os proxies SOCKS se comparam às VPNs
Relembrando os recursos, vantagens e desvantagens dos proxies SOCKS mencionados acima, como os proxies SOCKS e as VPNs se comparam?
Semelhanças entre proxies SOCKS e VPNs
Os proxies e VPNs SOCKS apresentam certas semelhanças, incluindo:
- Privacidade online: proxies e VPNs SOCKS5 ocultam endereços IP reais, oferecendo assim privacidade online
- Segurança: ambas as soluções aumentam a segurança, embora de maneiras diferentes. As VPNs criptografam os dados enquanto os proxies SOCKS5 realizam a autenticação.
- Protocolos suportados: alguns Protocolos VPN, como OpenVPN, suportam TCP e UDP, enquanto os proxies SOCKS5 também suportam TCP e UDP.
- Ignorando restrições geográficas: proxies e VPNs SOCKS5 podem ser usados para acessar conteúdo que de outra forma seria bloqueado geograficamente.
Diferenças entre proxies SOCKS e VPNs
Os servidores proxy SOCKS e VPNs diferem em alguns aspectos. A tabela abaixo resume essas diferenças:
Proxies SOCKS | VPN | |
Protocolos | Proxies SOCKS, especialmente proxies SOCKS5, suportam proxies de camada de transporte e aplicação, incluindo FTP, SMTP, TELNET, HTTP, GOPHER, NTP, DHCP, BOOTP, NNP, TFTP, RTSP, RIP e DNS | VPNs geralmente usam protocolos VPN como IKEv2, OpenVPN, L2TP/IPSec, WireGuard, SSTP e PPTP |
Velocidade de conexão | Os proxies SOCKS são geralmente mais rápidos porque não realizam criptografia | VPNs são lentas porque criptografam dados |
Número de servidores | Os provedores de serviços proxy SOCKS geralmente fornecem centenas de milhares ou até alguns milhões de servidores proxy | Os provedores de VPN geralmente têm menos servidores |
Países | Alguns provedores SOCKS possuem servidores proxy em mais de 150 países | Os provedores de VPN geralmente possuem servidores VPN em menos países, geralmente menos de 100 |
Conclusão
Um proxy SOCKS permite a comunicação entre os computadores dos usuários, bem como entre clientes e servidores web por meio de um firewall de rede. Baseado no protocolo SOCKS, este tipo de proxy evita que intrusos acessem a comunicação entre as diversas partes. Ao longo dos anos, o protocolo SOCKS foi aprimorado, resultando em diversas versões, nomeadamente SOCKS4, SOCKS4a e SOCKS5. Como resultado, existem vários tipos de proxies SOCKS, nomeadamente proxies SOCKS4 e proxies SOCKS5, sendo que estes últimos oferecem capacidades superiores. Os proxies SOCKS são usados de várias maneiras, incluindo torrent, envio de e-mail, streaming de vídeo, chamadas ao vivo e navegação geral. Eles também fornecem anonimato online. Neste artigo, comparamos os proxies SOCKS com VPNs e proxies HTTP e esperamos que você esteja mais bem informado sobre qual escolher para suas necessidades específicas.