Arquivos para posts com tag: segurança

Segue um tutorial para criar um túnel SSH para acessar o seu roteador DD-WRT a partir de uma máquina Windows, usando o PuTTY. Com algumas modificações esse tutorial pode ser adaptado para outras combinações de sistemas cliente e servidor, a lógica para a abertura do túnel permanece a mesma em quaisquer sistemas.

O que é possível fazer usando um túnel SSH?

  • Acessar, criptografando toda a comunicação, quaisquer máquinas de sua rede interna a partir de qualquer ponto da internet;
  • Esquivar-se de bloqueios draconianos ao acesso à internet em redes nas quais você não é o administrador;
  • Garantir que todas as suas comunicações estão sendo criptografadas independentemente do protocolo utilizado, evitando coisas como isso.

Panorama:

Em poucas palavras, o procedimento a seguir estabelece uma comunicação entre duas máquinas, uma cliente e outra servidor, usando o protocolo SSH. Depois de estabelecer a conexão, com a autenticação da máquina cliente e do usuário, é possível fazer com que o seu navegador, mensageiro, cliente vnc e outros programas direcionem suas comunicações à porta do túnel, o que faz com que elas sejam automaticamente criptografadas e redirecionadas ao seu servidor, antes de prosseguirem para o destino final. Neste tutorial, o roteador fará o papel de servidor e a máquina Windows será a cliente.

Requisitos:

  1. Um roteador com a firmware DD-WRT ou congênere;
  2. Um cliente SSH (pré-instalado em máquinas Linux, para windows use o puTTy).

Configurando o roteador pela interface web:

  1. Vá ao endereço http://192.168.1.1;
  2. Clique na aba serviços e na sub-aba serviços;
  3. Na seção SecureShell, habilite o SSHd;
  4. O SSH TCP Portforwarding pode permanecer desabilitado;
  5. A porta pode continuar sendo a 22;
  6. Crie uma senha ou use o sistema de chaves de autenticação;
  7. Clique no botão Apply Settings;
  8. Vá à aba Administration e à sub-aba Management;
  9. Na seção Remote Access, habilite o SSH Management;
  10. Escolha a porta que pretende usar para acessar o seu roteador (as portas 80, 443, 8080 e 8888 são boas dicas já que são nelas que o acesso http geralmente ocorre. As portas abaixo de 1000 são de acesso restrito ao administrador);
  11. Clique no botão Apply Settings.

Configurando a máquina Windows:

  1. Baixe, instale e execute o PuTTy (Se além de estar confinado a uma rede fechada, você também não for o administrador de sua máquina Windows, instale o putty no seu pendrive em uma máquina em que seja o administrador e depois use-o naquela em que é usuário sem privilégios – link portableapps);
  2. Na categoria Session, informe o número IP ou o hostname do seu roteador;
  3. Informe o mesmo número de porta informado no item 10 acima;
  4. Configure o tipo de conexão para SSH;
  5. Vá para a seção Connection -> Data e configure o Auto-login username para root, assim você não precisará digitar o nome de usuário a cada nova conexão;
  6. Vá para a seção Connection -> SSH – > Tunnels e digite 8080 na Source Port;
  7. Clique no Dynamic;
  8. Clique no botão Add, para adicionar a porta acima.
  9. Se você está usando o método da chave de autenticação, vá para Connection -> SSH -> Auth e informe o local em que está a sua chave de acesso;
  10. Volte para Session e crie um nome para esse conjunto de configurações, informe-o no Saved Sessions e clique no botão Save;
  11. Agora basta clicar duas vezes no nome da sessão e acessar seu roteador informando a senha do usuário ou a passphrase para a sua chave de acesso. Será preciso abrir o PuTTY e iniciar uma nova sessão toda vez que quiser usar o túnel.

Como configurar os aplicativos para usarem o túnel?

Para fazer com que um aplicativo utilize o túnel, procurar a seção “Rede”, “Comunicação” ou Proxy, clicar no modo de configuração manual e, usando a opção SOCKSv5, informar a máquina “localhost” e a porta Source Port acima. No caso do firefox em especial, é preciso também alterar o valor da variável network.proxy.socks_remote_dns no endereço about:config, para obrigar as suas buscas de dns a saírem pelo túnel SSH.

Opcional. Como usar o método de autenticação por chaves?

Usando o PuTTYgen, siga os seguintes passos:

  1. Selecione SSH-2 RSA e informe um tamanho de chave (algo entre 1024 e 4096);
  2. Informe algum comentário que identifique a chave (root@ddwrt seria uma boa escolha);
  3. Informe uma frase de segurança para a sua chave (para evitar que alguém possa usá-la caso tenha acesso a ela);
  4. Salve o par de chaves;
  5. Copie o texto da chave pública para um arquivo texto comum;
  6. Na interface web do roteador (http://192.168.1.1), cole o texto da chave na aba Management, SSHD.
  7. Desabilite o acesso por senha;
  8. Informe ao PuTTY o local em que está armazenada a sua chave (cf. passo 9 acima).

Cliente GNU/Linux

Se você quiser acessar o servidor a partir de uma máquina GNU/Linux, basta abrir o shell e informar o seguinte comando:

ssh -p 8080 -N -C -L porta_local:ip_remoto:porta_remota root@ip_remoto

Fontes:

http://hetos.de/sshtut.html

http://www.dd-wrt.com/wiki/index.php/Easy_SSH_tunnels

Tem dias em que eu acordo pensando o quanto de paranóia não há na minha preocupação com segurança de dados e privacidade na rede. Hoje não é desses dias.

Segundo uma matéria publicada no site da bbc, uma escola na Inglaterra deu a milhares de seus alunos laptops para uso pessoal que poderiam ser levados para suas casas. Esqueceu, porém, de avisar que nas máquinas encontrava-se instalado um software que permitia que a escola acionasse as webcams embutidas nas máquinas e registrasse as imagens, sem que o usuário tomasse conhecimento do que estava acontecendo. A descoberta veio quando um aluno foi repreendido por seus professores por conta de sua conduta em sua casa.

A justificativa apresentada pela escola foi que o software era apenas uma medida de segurança, que seria acionada em caso de furto das máquinas, para auxiliar em sua localização. Aparentemente, termo de responsabilidade pelo extravio ou mau uso dos equipamentos saiu de moda.

A notícia é deixar pasmo. Quem acha que a ameaça exposta na ficção orwelliana e a vigilância disciplinar foucaultiana estão ultrapassadas neste século XXI, think twice. Cookies, flash cookies, IPs, CPFs, cartões de débito e crédito, etc. Talvez o direito à intimidade é que tenha se tornado obsoleto nesse novo milênio.

Surpreende que não tenha sido usada a velha desculpa da pornografia infantil ou do abuso sexual de menores. Os assuntos geralmente aparecem de mãos dadas: restrição das liberdades civis na rede e repressão aos delitos contra crianças. “Ora, se você não ceder esse pequeno espaço de intimidade, os grandes monstros molestadores de criancinhas terão a sua cobertura para continuar a praticar estes delitos horrendos. Você não quer compactuar com essas pessoas, não é? Se é um cidadão de bem, não tem o que temer.”

A tática é velha, nomeia-se um monstro invisível (terroristas, pedófilos, etc.) e para combatê-lo todos são convocados a ceder suas liberdades. Como a ameaça nunca deixará de existir, vez que o inimigo é anônimo e sua atuação difícil de detectar, a restrição excepcional de direitos nunca tem um fim.

Mas o que mais assusta é a indiferença com que cedemos pouco a pouco esse nosso espaço de liberdade individual, quão alegremente nós cedemos estas informações, como se fossem um preço baixo pelo suposto bem estar que as novas tecnologias nos oferecem.

Em um Estado Democrático de Direito, é garantida aos indivíduos a mais ampla defesa de seus direitos, em especial nos casos em que são penalmente perseguidos pelo Estado. Um dos desdobramentos desta garantia é o direito de não ser coagido a produzir provas contra si próprio, que tradicionalmente implica o direito ao silêncio (sim, aquele dos filmes policiais hollywoodianos), direito de não depor sobre fatos que possam incriminá-lo. A origem histórica desta garantia está ligada à repressão a tortura, que se tentou elidir desvalorizando o quantum probatório da confissão – outrora tida como prova régia -, mas também está ligada ao reconhecimento da imensa desproporção de poder existente entre o indivíduo penalmente perseguido e o Estado perseguidor.

No mundo digitalizado, onde quase tudo sobre nossas vidas está catalogado em bits, este direito de não produzir provas contra si ganha ainda outro aspecto, o direito de não ser forçado a revelar um conhecimento que possa levar à produção de uma prova que o incrimine, o direito de não revelar suas chaves de criptografia.

Pois bem, eis que hoje me deparei com a seguinte chamada:

Two people have been successfully prosecuted for refusing to provide authorities with their encryption keys, resulting in landmark convictions that may have carried jail sentences of up to five years.

Em outras palavras, duas pessoas tiveram suprimida sua garantia fundamental à ampla defesa. Ocorreu um ataque a um dos fundamentos do Estado Democrático de Direito, sem que se seguisse qualquer comoção; nossas garantias individuais mais básicas foram negadas, sem que se seguisse qualquer manifestação de revolta. As notícias na verdade são antigas, foram publicadas agora apenas em um relatório governamental anual do Comissário Chefe de Vigilância na Inglaterra.

E o mais sutil:

The former High Court judge did not provide details of the crimes being investigated in the case of either individual – neither of whom were necessarily suspects – nor of the sentences they received.

Ou seja, a Corte Britânica nega-se a publicar o conteúdo e circunstâncias destas decisões. Não se sabe se existe sequer um juízo de valor sobre os valores que se visa proteger com o ataque à garantia fundamental ou se são simplesmente violadas as garantias por não se imaginar que a atuação do Estado deve ter limites. Não se sabe quem eram essas pessoas, do que eram acusadas quando foram obrigadas a revelar suas chaves de criptografia – obrigadas a produzir uma prova que o Estado perseguidor fora incapaz.

Aqui está o lado bom da notícia. Não se sabe quais algoritmos foram usados para criptografar os dados pessoais dos dois condenados, mas acho que é razoável supor que tenham usado algum dentre os publicamente disponíveis, de forma que os casos são uma evidência da qualidade dos softwares de criptografia, que puderam resistir aos ataques dos técnicos do governo. A informação é vaga, mas há algo de animador no panorama da desgraça. As informações que se queria proteger restaram protegidas.

Algumas pessoas têm ressalvas com o software livre por uma questão de confiança. “A Microsoft eu sei quem é, uma multinacional internacionalmente conhecida e respeitada, posso confiar no trabalho deles, tenho certeza de que contratarão as pessoas mais capacitadas”.

Por outro lado, “como posso confiar em um software desenvolvido por uma comunidade de programadores desconhecida do público geral, espalhada pelo mundo e de difícil identificação”? Outra: “se esses programadores fossem competentes estariam trabalhando na própria Microsoft ou no Google”.

Esse tipo de receio é difícil de ser combatido em uma argumentação abstrata. Felizmente, de quando em quando alguns exemplos concretos ajudam a ilustrar a falácia. Foi noticiado ontem (20081216) no site da BBC que uma falha de segurança grave foi encontrada no Internet Explorer da Micro$oft. A notícia não descreve suficientemente a falha (talvez em nome da simplicidade, talvez em nome da segurança ou talvez por simples mau desempenho da função de informar), mas relata que por meio dela é possível tomar o controle do computador invadido e descobrir os usuários e senhas informados ao navegador.

Peritos em segurança computacional recomendam que os usuários do IE migrem, ao menos temporariamente, para outros navegadores imunes à falha, como o Firefox, e alertam que o defeito no software da M$ é antigo e se encontra presente em todas as versões do software. A empresa, entretanto, alega não ser capaz de resolver o problema a curto prazo, mas não recomenda a migração. Por que será? Será porque bug não é grave ou será porque a empresa tem consciência de que essa migração temporária se tornaria definitiva para a maior parte dos usuários?

Praticamente qualquer software encontra-se sujeito a erros. Ocorre que quando o código-fonte do programa é aberto, todos podem estudá-lo, perceber os erros de quem o elaborou e alertar a todos sobre a falha (bug report) quando não for capaz de enviar diretamente a correção (patch). Esta é uma das melhores garantias de segurança que se pode dar. O problema é que ela não tem apelo. Para o usuário comum o fato de o código ser aberto ou fechado passa muito longe de qualquer cogitação, já que de qualquer forma ele não irá sequer tentar entendê-lo.

Logo, entre confiar essa tarefa à comunidade, aos que se interessam desinteressadamente pelo assunto, ou confiá-la ao BigMoney, ao poder econômico declaradamente interesseiro, privilegia-se este em detrimento da coletividade. Apesar do senso comum de que o poder corrompe, é preferível depositar nossa confiança nos mesmos interesseiros de sempre – de caras conhecidas, ternos caros e hábitos extravagantes – a deixá-la com o semelhante, tão suspeito quanto um espelho.

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.