Ligação à Internet via SSH em Android

A segurança é um ponto crítico em qualquer sistema e nunca deve ser descurada, assim e regresando aos tutorias aqui no blog o tema é a segurança no acesso à Internet a partir do Android em redes Wi-Fi.

Com a actual proliferação de smartphones e tablets o acesso à Internet torna-se fundamental para tirar total partido destes equipamentos, além das redes móveis (com tarifários “curtos” em tráfego web) a alternativa são as redes Wi-Fi que se encontram um pouco por todo o lado como em cafés/restaurantes, universidades ou centros comerciais.

O problema destas redes Wi-Fi está em desconhecermos como são geridas e que outros utilizadores a ela têm acesso, daí que utilizá-las sem a mínima segurança pode representar um risco para o utilizador.

No Android algumas aplicações como o Gmail por exemplo, usam SSL nas ligações o que garante segurança na comunicação, mas nem todas as apps seguem esse exemplo e como tal este tutorial irá abordar a configuração de um servidor SSH e a sua utilização através de um equipamento Android.

Como uma imagem (neste caso um esquema) vale mais do que 1000 palavras o objectivo  é ter algo deste tipo:

Android «— SSH —» SSH Server/Proxy «— Clear Text —» Internet

Para começar, a configuração do servidor SSH/Proxy que será o elo de ligação entre o Android e a Internet, em Ubuntu é necessário instalar estes pacotes: openssh-server e openssh-client, em Fedora à partida já vêm instalados e prontos a usar.

Por omissão o servidor SSH estará em funcionamento no porto 22, convém dar alguma atenção aos privilégios da conta do utilizador e às configurações do servidor SSH, uma leitura aconselhada aqui.

Como requisitos, o servidor terá de estar ligado à Internet ou a uma rede privada conforme o objectivo e devidamente acessível a partir do exterior podendo ser necessário configurar o router e/ou a firewall da máquina, se o IP for dinâmico convém ter um serviço  de nomes (Dynamic DNS) para aceder, exemplos o Dyn ou o No-IP.

Do lado do servidor o trabalho está feito, no Android é necessário acesso ao root e a aplicação gratuita SSH Tunnel muito fácil de configurar e utilizar.

Available in Android Market

Com esta aplicação é possível criar uma ligação segura e cifrada entre o Android e o servidor SSH configurado anteriormente, garantindo assim que todos os dados (ou apenas algumas aplicações) se liguem à Internet de forma segura, isto é, um “túnel privado” entre os equipamentos que garante segurança mesmo em redes desconhecidas.

No SSH Tunnel basta configurar o host (IP ou domínio) e o porto onde o servidor SSH está à escuta, as credenciais (user/password) e o port forwarding utilizando SOCKS Proxy ou escolhendo outro proxy, tem disponível um widget 1×1 para maior facilidade.

E se tudo estiver nos eixos está pronto a funcionar, dando assim garantias que mesmo em redes inseguras a ligação à Internet é segura e privada longe de olhares indiscretos, qualquer dúvida, opinião ou sugestão é bem vinda… :)

P.S. Um extra à segurança passa também por utilizar servidores de DNS fidedignos, aconselho os do Google ou OpenDNS, a opção VPN é uma alternativa.


Leave a Reply