[Rafael Biriba] Tunneling: Passe por bloqueios de proxy ou de firewall com Socks

internetHá várias formas de passar por bloqueios de proxy, encontrados em faculdades e empresas. Vou explicar uma das formas usando socks.

Geralmente em lugares onde é comum apenas a navegação web, o administrador de rede bloqueia as portas de saída, liberando apenas a porta 80 (HTTP) e a porta 443 (HTTPS). Com isso, alguns serviços como FTP ou POP3 ficam indisponíveis e alguns sites são bloqueados.

Como o SSH utiliza a porta 443, que difícilmente é bloqueada, podemos utilizar do recursos “Túnel” aplicando o Socks.

Socks é um protocolo de internet que permite que aplicações redirecionem suas requisições para um servidor externo, passando assim desapercebido pelo servidor proxy ou firewall local.

Em outras palavras, ao acessar um site, a requisição é criptografada e enviada ao seu servidor externo (via conexão SSH), o servidor manipula a requisição (acessando o site que você solicitou) e devolve o resultado para seu computador, passando desapercebido pelo firewall ou proxy, devido a criptografia dos dados que circulam na porta 443.

Já aproveito para alertar, que isso é ilegal caso os dados transmitidos por este meio esteja fora das normas da instituição.

Então vamos lá:

Para utilizar o socks, você  precisa de um servidor externo, com qualquer sistema operacional apto à estabelecer uma conexão SSH (O servidor pode ser adquirido com alguma empresa de hospedagem brasileira ou estrangeira)

OBS: Os procedimentos abaixo não foram testados em windows. Se alguém quiser testar, compartilhe seu resultado aqui. Nos exemplo abaixo, utilizo linux ubuntu 9.04

—————————
Configurando o SOCKS:

Abra o terminal e digite:

ssh -D 8989 <username_do_servidor>@<ip_do_servidor>
Exemplo: ssh -D 1234 usuario@10.0.0.1

* A opção -D refere-se a porta que será utilizada pelo Socks

Mantenha terminal sempre aberto para não interromper a conexão com o seu servidor.

Agora, basta alterar a configuração do seu navegador para redirecionar o trafego para a porta 8989.

Pelo firefox, a configuração fica em:
Editar > Preferências > Avançado > Rede > Conexão > Configurar

Escolha a opção Configuração manual de proxy, e preencha apenas o campo SOCKS da seguinte forma:
SOCKS 127.0.0.1 Porta 8989
Aperte OK para salvar as configurações, e já pode utilizar o seu navegador com acesso livre a internet.

Para encerrar a operação, feche a conexão ssh e altere a configuração do navegador de volta para o padrão/automático.

—————————

Para testar todo o procedimento, você pode fazer o seguinte:
Antes de alterar a configuração do seu navegador, acesse o site: http://meuip.datahouse.com.br/ e anote o seu ip. Feito isso, habilite o socks e entre no site novamente. Você verá que o procedimento funcionou, se o ip registrado for o ip do seu servidor remoto e não o seu.

Isso significa, que quando você tentar acessar um site, ou seja, ao fazer uma requisição à um site, não é o seu ip que chegan o site, mas o ip do seu servidor. Isso caracteriza o tunneling.

Façam bom proveito da dica, qualquer dúvida é só perguntar. ;)

 

Leia também: