Conectar-se à Internet a partir de hotspots Wi-Fi, no trabalho ou em qualquer lugar fora de casa, expõe seus dados a riscos desnecessários. Você pode configurar facilmente seu roteador para suportar um túnel seguro e proteger o tráfego do navegador remoto - leia para ver como.
O que é e por que configurar um túnel seguro?
Você pode estar curioso para saber por que deseja configurar um túnel seguro de seus dispositivos para o roteador doméstico e quais os benefícios que você colheria de tal projeto. Vamos traçar alguns cenários diferentes que envolvem o uso da Internet para ilustrar os benefícios do túnel seguro.
Cenário um: você está em uma cafeteria usando seu laptop para navegar na Internet por meio da conexão Wi-Fi gratuita. Os dados deixam seu modem Wi-Fi, viajam pelo ar não criptografados para o nó Wi-Fi na cafeteria e, em seguida, são repassados para a Internet maior. Durante a transmissão do seu computador para a grande Internet, seus dados ficam abertos. Qualquer pessoa com um dispositivo Wi-Fi na área pode farejar seus dados. É tão dolorosamente fácil que uma criança de 12 anos motivada com um laptop e uma cópia de Firesheep poderia arrebatar suas credenciais para todos os tipos de coisas. É como se você estivesse em uma sala cheia de pessoas que falam apenas inglês, falando ao telefone e falando mandarim. No momento em que alguém que fala mandarim entra (o farejador de Wi-Fi), sua pseudo-privacidade é quebrada.
Cenário dois: você está em uma cafeteria usando seu laptop para navegar na Internet por meio da conexão Wi-Fi gratuita novamente. Desta vez, você estabeleceu um túnel criptografado entre seu laptop e seu roteador doméstico usando SSH. Seu tráfego é roteado por este túnel diretamente do seu laptop para o roteador doméstico, que está funcionando como um servidor proxy. Esse pipeline é impenetrável para farejadores de Wi-Fi que não veriam nada além de um fluxo truncado de dados criptografados. Não importa o quão instável seja o estabelecimento, quão insegura seja a conexão Wi-Fi, seus dados permanecem no túnel criptografado e só saem deles quando alcançam sua conexão de Internet doméstica e saem para a Internet maior.
No cenário um, você está navegando totalmente; no cenário dois, você pode acessar seu banco ou outros sites privados com a mesma confiança que faria em seu computador doméstico.
Embora tenhamos usado Wi-Fi em nosso exemplo, você poderia usar o túnel SSH para proteger uma conexão de linha dura para, digamos, iniciar um navegador em uma rede remota e abrir um buraco no firewall para navegar tão livremente quanto faria em sua conexão doméstica.
Parece bom, não é? É incrivelmente fácil de configurar, então não há tempo como o presente - você pode ter seu túnel SSH instalado e funcionando em uma hora.
O que você precisará
Existem muitas maneiras de configurar um túnel SSH para proteger sua navegação na web. Para este tutorial, estamos nos concentrando em configurar um túnel SSH da maneira mais fácil possível com o mínimo de confusão para um usuário com um roteador doméstico e máquinas baseadas no Windows. Para acompanhar nosso tutorial, você precisará do seguinte:
- Um roteador executando o Tomate ou DD-WRT firmware modificado.
- Um cliente SSH como PuTTY .
- Um navegador compatível com SOCKS como Raposa de fogo .
Para nosso guia, usaremos o Tomato, mas as instruções são quase idênticas às que você seguiria para o DD-WRT, portanto, se você estiver executando o DD-WRT, fique à vontade para acompanhar. Se você não modificou o firmware em seu roteador, verifique nosso guia para instalar DD-WRT e Tomate antes de proceder.
Gerando chaves para nosso túnel criptografado
Embora possa parecer estranho pular direto para a geração das chaves antes mesmo de configurar o servidor SSH, se tivermos as chaves prontas, poderemos configurar o servidor em uma única passagem.
Faça o download do pacote PuTTY completo e extraia para uma pasta de sua escolha. Dentro da pasta, você encontrará PUTTYGEN.EXE. Inicie o aplicativo e clique em Chave -> Gerar par de chaves . Você verá uma tela muito parecida com a da foto acima; mova o mouse para gerar dados aleatórios para o processo de criação da chave. Assim que o processo terminar, a janela do PuTTY Key Generator deverá ser semelhante a esta; vá em frente e insira uma senha forte:
Depois de inserir uma senha, vá em frente e clique em Salvar chave privada . Guarde o arquivo .PPK resultante em algum lugar seguro. Copie e cole o conteúdo da caixa “Chave pública para colar…” em um documento TXT temporário por enquanto.
Se você planeja usar vários dispositivos com seu servidor SSH (como um laptop, um netbook e um smartphone), você precisa gerar pares de chaves para cada dispositivo. Vá em frente e gere uma senha e salve os pares de chaves adicionais de que você precisa agora. Certifique-se de copiar e colar cada nova chave pública em seu documento temporário.
Configurando Seu Roteador para SSH
Tanto o Tomato quanto o DD-WRT possuem servidores SSH integrados. Isso é incrível por dois motivos. Primeiro, costumava ser uma grande dor fazer telnet no roteador para instalar manualmente um servidor SSH e configurá-lo. Em segundo lugar, como você está executando o servidor SSH no roteador (que provavelmente consome menos energia do que uma lâmpada), você nunca precisa deixar o computador principal ligado apenas para ter um servidor SSH leve.
Abra um navegador da web em uma máquina conectada à sua rede local. Navegue até a interface da web do seu roteador, para o nosso roteador - um Linksys WRT54G executando o Tomato - o endereço é http://192.168.1.1 . Faça login na interface da web e navegue até Administração -> SSH Daemon . Lá você precisa verificar ambos Habilitar na inicialização e Acesso remoto . Você pode alterar a porta remota se desejar, mas o único benefício de fazer isso é obscurecer marginalmente a razão pela qual a porta está aberta se alguém verificar você. Desmarque Permitir login com senha . Não usaremos um login de senha para acessar o roteador à distância, estaremos usando um par de chaves.
Cole a (s) chave (s) pública (s) que você gerou na última parte do tutorial no Authorized_keys caixa. Cada chave deve ser sua própria entrada separada por uma quebra de linha. A primeira parte da chave ssh-rsa é muito importante. Se você não incluí-lo em cada chave pública, eles parecerão inválidos para o servidor SSH.
Clique Comece agora e, em seguida, role para baixo até a parte inferior da interface e clique Salve . Neste ponto, seu servidor SSH está instalado e funcionando.
Configurando Seu Computador Remoto para Acessar Seu Servidor SSH
É aqui que a mágica acontece. Você tem um par de chaves, um servidor instalado e funcionando, mas nada disso tem valor, a menos que você seja capaz de se conectar remotamente do campo e fazer um túnel para o seu roteador. É hora de descobrir nosso confiável livro líquido com o Windows 7 e começar a trabalhar.
Primeiro, copie a pasta PuTTY que você criou para o outro computador (ou simplesmente baixar e extraia novamente). A partir daqui, todas as instruções se concentram em seu computador remoto. Se você executou o PuTTy Key Generator em seu computador doméstico, certifique-se de alternar para o computador móvel para o resto do tutorial. Antes de decidir, você também precisa ter uma cópia do arquivo .PPK que criou. Depois de extrair o PuTTy e o .PPK em mãos, estamos prontos para continuar.
Inicie o PuTTY. A primeira tela que você verá é o Sessão tela. Aqui você precisará inserir o endereço IP de sua conexão de Internet doméstica. Este não é o IP do seu roteador na LAN local, este é o IP do seu modem / roteador visto pelo mundo externo. Você pode encontrá-lo na página principal de Status na interface da web do seu roteador. Mude a porta para 2222 (ou o que você substituiu no processo de configuração do SSH Daemon). Certificar-se de que SSH é verificado . Vá em frente e dê um nome à sua sessão de forma que você possa Salve isso para uso futuro. Intitulamos o nosso Tomato SSH.
Navegue, através do painel esquerdo, até Conexão -> Autenticação . Aqui você precisa clicar no botão Procurar e selecionar o arquivo .PPK que você salvou e trouxe para sua máquina remota.
Enquanto estiver no submenu SSH, continue até SSH -> Túneis . É aqui que vamos configurar o PuTTY para funcionar como servidor proxy para o seu computador móvel. Marque ambas as caixas em Encaminhamento de porta . Abaixo, no Adicionar nova porta encaminhada seção, insira 80 para o Porta de origem e o endereço IP do seu roteador para o Destino . Verifica Auto e Dinâmico então clique Adicionar .
Verifique se uma entrada apareceu no Portas encaminhadas caixa. Navegue de volta ao Sessões seção e clique Salve novamente para salvar todo o seu trabalho de configuração. Agora clique Abrir . O PuTTY abrirá uma janela de terminal. Você pode receber um aviso neste ponto indicando que a chave de host do servidor não está no registro. Vá em frente e confirme que você confia no anfitrião. Se você estiver preocupado com isso, pode comparar a string de impressão digital fornecida na mensagem de aviso com a impressão digital da chave que você gerou ao carregá-la no PuTTY Key Generator. Depois de abrir o PuTTY e clicar no aviso, você deverá ver uma tela semelhante a esta:
No terminal, você só precisa fazer duas coisas. No prompt de login, digite raiz . No prompt de senha digite sua senha do chaveiro RSA - esta é a senha que você criou alguns minutos atrás quando gerou sua chave, e não a senha do roteador. O shell do roteador será carregado e você concluirá o prompt de comando. Você formou uma conexão segura entre o PuTTY e seu roteador doméstico. Agora precisamos instruir seus aplicativos sobre como acessar o PuTTY.
Nota: Se você deseja simplificar o processo ao preço de diminuir ligeiramente sua segurança, você pode gerar um par de chaves sem uma senha e definir o PuTTY para fazer o login na conta root automaticamente (você pode alternar esta configuração em Conectar -> Dados -> Login automático ) Isso reduz o processo de conexão do PuTTY para simplesmente abrir o aplicativo, carregar o perfil e clicar em Abrir.
Configurando seu navegador para se conectar ao PuTTY
Neste ponto do tutorial, seu servidor está instalado e funcionando, seu computador está conectado a ele e resta apenas uma etapa. Você precisa dizer aos aplicativos importantes para usar o PuTTY como um servidor proxy. Qualquer aplicativo que suporte MEIAS protocolo pode ser vinculado ao PuTTY - como Firefox, mIRC, Thunderbird e uTorrent, para citar alguns - se você não tiver certeza se um aplicativo suporta SOCKS, pesquise nos menus de opções ou consulte a documentação. Este é um elemento crítico que não deve ser esquecido: todo o seu tráfego não é roteado por meio do proxy PuTTY por padrão; isto devo ser conectado ao servidor SOCKS. Você poderia, por exemplo, ter um navegador da web em que ativou o SOCKS e um navegador em que não o fez - ambos na mesma máquina - e um criptografaria seu tráfego e o outro não.
Para nossos propósitos, queremos proteger nosso navegador da web, Firefox Portable, que é bastante simples. O processo de configuração do Firefox se traduz em praticamente qualquer aplicativo para o qual você precise conectar as informações do SOCKS. Abra o Firefox e navegue até Opções -> Avançado -> Configurações . De dentro do Configurações de conexão menu, selecione Configuração manual de proxy e sob o plug-in SOCKS Host 127.0.0.1 —Você está se conectando ao aplicativo PuTTY em execução no seu computador local, então você deve colocar o IP do host local, não o IP do seu roteador como você colocou em cada slot até agora. Defina a porta para 80 e clique ESTÁ BEM.
Temos um pequeno ajuste para aplicar antes de estar tudo pronto. O Firefox, por padrão, não encaminha solicitações de DNS por meio do servidor proxy. Isso significa que seu tráfego sempre será criptografado, mas alguém bisbilhotando a conexão veria todas as suas solicitações. Eles saberiam que você estava no Facebook.com ou Gmail.com, mas não conseguiriam ver mais nada. Se você deseja rotear suas solicitações de DNS por meio do SOCKS, será necessário ativá-lo.
Tipo sobre: config na barra de endereço e, em seguida, clique em “Terei cuidado, prometo!” se você receber um aviso severo sobre como você pode bagunçar seu navegador. Colar network.proxy.socks_remote_dns no Filtro: e, a seguir, clique com o botão direito na entrada para network.proxy.socks_remote_dns e Alternancia para Verdade . A partir daqui, tanto a sua navegação quanto as solicitações de DNS serão enviadas através do túnel SOCKS.
Embora estejamos configurando nosso navegador para SSH o tempo todo, você pode alternar facilmente suas configurações. O Firefox tem uma extensão útil, FoxyProxy , que torna muito fácil ativar e desativar seus servidores proxy. Ele suporta toneladas de opções de configuração, como alternar entre proxies com base no domínio em que você está, os sites que você está visitando, etc. em casa ou fora, por exemplo, FoxyProxy oferece cobertura. Os usuários do Chrome vão querer verificar Proxy Switchy! para uma funcionalidade semelhante.
Vamos ver se tudo funcionou conforme planejado, certo? Para testar as coisas, abrimos dois navegadores: Chrome (visto à esquerda) sem túnel e Firefox (visto à direita) recentemente configurado para usar o túnel.
À esquerda, vemos o endereço IP do nó Wi-Fi ao qual estamos nos conectando e à direita, cortesia de nosso túnel SSH, vemos o endereço IP de nosso roteador distante. Todo o tráfego do Firefox está sendo roteado por meio do servidor SSH. Sucesso!
Tem uma dica ou truque para proteger o tráfego remoto? Usar um servidor SOCKS / SSH com um aplicativo específico e amá-lo? Precisa de ajuda para descobrir como criptografar seu tráfego? Vamos ouvir sobre isso nos comentários.