Acabei configurando o OpenVPN com o Tunnelblick nos clientes. Vamos ver o quão bem isso acontece na prática.
A nova extensão do Firefox Firesheep destaca o fato de que as sessões de login HTTP podem ser facilmente seqüestradas se os dados puderem ser detectados, o que é trivial uma rede WiFi aberta.
Eu gostaria de criar algo para atenuar esse risco para minha família. Eu tenho um pequeno VPS (256M, atualmente rodando lighttpd e SpamAssassin) que eu posso usar para isso, a ideia básica é que quando estamos usando uma rede não confiável, o tráfego (pelo menos HTTP) passa por um túnel criptografado para o VPS antes sendo liberado para a internet aberta.
Quais são as minhas opções com esses recursos? Os clientes são todos Macs, se isso for importante. As possibilidades que eu conheço são o OpenVPN (a questão principal é que na configuração de todo o tráfego de túnel, ele destrói a rota para o servidor DHCP da rede aberta) e um proxy HTTP (do qual eu não sei nada). Existem outras opções? Quais considerações e pegadinhas devo ter em mente?
Gostaria que algo nos clientes fosse fácil de ativar (sou uma pessoa técnica, mas o resto da minha família não é) e isso funciona para todos os sites, independentemente de oferecerem suporte a HTTPS.
Que tal executar o HTTPS?
sshuttle tem melhor desempenho do que o próprio proxy SOCKS do SSH e requer muito menos configuração. Basta copiá-lo para cada Mac e executar ./sshuttle -r user@sshserver 0.0.0.0/0
(conforme documentado em README.md
) antes de acessar a web.
Ele apenas canaliza o tráfego TCP, então o DNS e o DHCP ainda acontecem na rede local.
configure uma sessão putty salva com o tunelamento ssh habilitado para o seu vps com o encaminhamento localhost: 8000 (ou qualquer outro) dinamicamente.
instale a extensão proxybutton no firefox e configure seu proxy para localhost: 8000 (ou qualquer outro).
configure-os dois atalhos do firefox "firefox.exe -proxy 0" e outro que é um arquivo batch contendo os comandos "putty.exe -load" nome da sessão salva "" e depois "firefox -proxy 1"
O atalho # 1 do firefox é para redes protegidas e se comporta da maneira padrão. # 2 é para redes não protegidas, e todo o tráfego é roteado através do seu túnel ssh criptografado antes de ser descriptografado no seu VPS e se tornando o tráfego HTTP simples entre o seu VPS e o servidor web.
Com este método, eles terão que autenticar seu VPS para que ele funcione de verdade. Você pode automatizar a autenticação com chaves, mas isso apresenta seus próprios riscos quando você não pode garantir a segurança dos endpoints.
Como alternativa, você pode configurar algo como o OpenVPN. Não sei como seu provedor de hospedagem se sentiria sobre isso ou mesmo se isso seria permitido.
Se você estiver no GNU Linux / other * nix com o cliente Openssh instalado,
Abra um Terminal e execute:
ssh -D 8080 -p IDENTIFICAÇÃO DO UTILIZADOR [-i optionalkeyfile] username @ your_VPS_DomainName
se você não estiver usando chaves rsa / dsa e sua porta ssh for a padrão 22, isso funcionará:
ssh -D 8080 [email protected]
Em seguida, no seu navegador,
Por exemplo, Firefox, Preferências > Avançadas > Rede > Botão Configurações de conexão >
Você está pronto para encapsular todo o tráfego da sua porta 8080 local até o link WAN do seu VPS.
Além disso, também pode fazer buscas em consultas DNS através do seu VPS (altamente recomendado):
Acima está minha solução QuickGun para um túnel seguro usando o OpenSSH. Espero que isso ajude.