SOCKS - Acessando Hosts remotos via OpenSSH

Achei interessante compartilhar as configurações que realizei recentemente para viabilizar, em minha casa, o acesso a
Hosts remotos via SSH no meu prédio. Lá, como em muitos prédios, o acesso à Internet está vinculado a um acesso de
Banda Larga compartilha pelo prédio inteiro usando um Proxy. As tecnologias envolvidas foram o Tor, Squid, connect.c e o
OpenSSH/PuTTY.

[ Hits: 14.808 ]

Por: Alexandre de Jesus Marcolino em 06/04/2012 | Blog: http://blog.marcolino.com.br/wordpress/


Squid Proxy - Connect - OpenSSH



Squid Proxy

Gente, existe pelo menos, um trilhão de documentos em diversos idiomas ensinando a instalar e configurar o Squid!

"Squid é um Proxy cache para a WEB de suporte HTTP, HTTPS, FTP, e muito mais. Ele reduz a largura de banda e melhora os tempos de resposta fazendo cache e reutilizar páginas da WEB frequentemente solicitados. Squid tem controles de acesso abrangentes e faz um grande acelerador de Servidor. Ele roda em sistemas operacionais mais disponíveis, incluindo o Windows e está licenciado sob a GNU GPL."

Fonte: http://www.squid-cache.org

Não vou abordar, tão pouco qual, a melhor estratégia de configuração deste projeto em seu computador.

Vou simplesmente adaptar o arquivo padrão para as atividades que necessito, isto é, um cache local para viabilizar a conexão via TOR a Internet, levando em consideração que existe um outro Proxy Squid que dará acesso à Internet mediando pedido de usuário e senha.

A. Instalando o binário do squid

# zypper in squid

Responda 'yes' quando perguntado sobre as dependências, e SEJA FELIZ!

B. Alterando as configurações

Abra o arquivo "/etc/squid/squid.conf" e, lá pela linha 4882 (eu sou cabalístico. hahuahuah), inclua as seguintes linhas:

never_direct allow all
cache_peer IP.DO.SQUID.DO.PREDIO parent PORTA 0 no-query no-digest no-netdb-exchange default login=seuuser:SUAsenha


Exemplo:

never_direct allow all
cache_peer 190.1.0.190 parent 6080 0 no-query no-digest no-netdb-exchange default login=alexandre.marcolino:macacovelho2001


Isso fará com que o seu Squid funcione como um filho do Squid do prédio.

Seria um Squid CLIENT que só faz CACHE... Mas pode ser um pouco mais se você quiser, eu não quis.

Connect - Um simples programa para atravessar Proxys SOCKS

Este é o 'pulo do gato'!
Esse Script utiliza técnicas de encapsulamento para atravessar Proxys SOCKS e realizar conexões em serviços SSH na Internet, encapsulando tudo em uma sessão HTTPS! Incrível, né!

Eu baixei de: http://www.taiyo.co.jp - connect.c

Hospedei uma cópia em: Scripts - Download

Um How-To completo, pode ser obtido em: http://bent.latency.net

Sequencialmente, o que eu fiz foi:
  1. Baixei em "/usr/local/src/connect/" o fonte
  2. Compilei com a seguinte linha de comando:

# gcc /usr/local/src/connect/connect.c -o /usr/local/bin/connect

Garanti para que seja executável:

# chmod 555 /usr/local/bin/connect

Quase lá!

OpenSSH

Toda distribuição Linux tem um pacote deste poderoso utilitário.

Se o seu openSUSE não possui ele instalado, o que eu duvido, pode ser instalado usando o comando:

# zypper in openssh

Responda 'yes' para confirmar a instalação, e SEJA FELIZ!

Agora, vamos configurar para acessar um Host remoto, através de toda a parafernália instalada.

Os serviços Tor e Squid, devem estar iniciados e funcionando:

# service squid start
# service tor start


Altere o arquivo de configuração do CLIENT SSH "/etc/ssh/ssh_config", incluindo o seguinte:

Host blog.marcolino.com.br
   ProxyCommand connect -a none -S localhost:9090 %h %p


No exemplo acima, se eu tentar realizar um:

# ssh blog.marcolino.com.br

. . .Minha requisição será desviada para o comando 'connect', conforme está descrito na linha de comando, passando o usuário e senha que eu informar na conexão como parâmetros.

Lindo! Sublime! TOTALMENTE LIVRE!

Finalmente

Abro meu Prompt e digito:

# ssh blog.marcolino.com.br

Digito meu usuário e minha senha, e estou logado...

Agora, vamos levar em consideração, que a solução tem um ponto negativo.

Como eu atravesso o mundo para sair por um HOST anônimo, a performance não é das melhores...

Veja bem, nada é uma panaceia... e tudo tem sua perda.

O ideal é uma conexão direta.

Eu consigo emular, inclusive, terminal gráfico (XDMP sob SSH e X11Forwarding).

Bom, a solução está ótima para mim. Não teve ainda nenhum lugar que usasse Proxy com uso de usuário e senha com 'basic auth', que esta solução não resolvesse a parada.

Obrigado. Seja Feliz!
Página anterior    

Páginas do artigo
   1. Introdução e TOR
   2. Squid Proxy - Connect - OpenSSH
Outros artigos deste autor

Tutorial de Instalação do ClamAV - Anti-vírus open Source

Gerando estatísticas do seu servidor de email utilizando o isoqlog

Autenticando o Speedy Business automaticamente em firewalls Linux

Criando VPNs entre servidores Linux sem mistérios (parte I)

Configurando um arquivo de zona

Leitura recomendada

Autenticando Documento com Blockchain e Ethereum

Instalando o aMSN com suporte a SSL no OpenBSD

Tomcat com URL limpa

Varnish: Uma camada de velocidade

Servidor web com CentOS + Apache

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts