Mostrando postagens com marcador criptografia. Mostrar todas as postagens
Mostrando postagens com marcador criptografia. Mostrar todas as postagens

terça-feira, 19 de agosto de 2014

Proteja sua senha do Ghost com criptografia


No post anterior, ensinei a instalar o Ghost na nuvem. Hoje abordarei uma configuração importante após finalizar o processo de instalação. Cada vez que você digita sua senha para ter acesso ao painel administrativo de seu blog, o navegador envia essa senha para o seu servidor, para que ele autentique seu acesso ao sistema. Se você não utiliza nenhuma criptografia nesse processo, seu navegador irá enviar a senha em formato texto puro (“plain text”), o que significa que, qualquer um poderá ver sua senha, caso esteja utilizando uma técnica chamada de “sniffing”. Isso é particularmente problemático caso esta pessoa esteja na mesma rede que você, principalmente em locais com acesso wifi público, como cafeterias, lan-houses, etc.

Por isso mesmo, é essencial ativar a criptografia SSL/TLS na tela de login de seu site Ghost, fazendo com que o envio da senha ocorra de forma criptografada. Para isso, você precisará de um certificado SSL. Há diversos fornecedores no mercado e os preços variam bastante. Na prática, todos eles fornecem o mesmo nível de segurança, independente de quem tenha vendido o certificado para você. O maior diferencial se encontra nas classes (1, 2, 3) dos certificados que podem ser adquiridos.

Há também a possibilidade de criar um certificado auto-assinado ou mesmo de adquirí-lo sem nenhum custo em instituições como a CaCert. O único problema é que alguns navegadores não possuem o certificado raiz da CaCert instalado por padrão, o que faz com que o navegador exiba aquela tela de “site inseguro”, ao acessar uma página com “https” com esses certificados. O mesmo acontece com os certificados auto-assinados.

Exemplo de aviso no Chrome
Exemplo de certificado inseguro no Chrome
Exemplo de aviso no Firefox
Exemplo de alerta de certificado no Firefox

No meu caso, optei por utilizar SSL apenas na tela de login, de forma a proteger o envio da senha sem comprometer a carga no servidor. Como não temos o objetivo de utilizar o certificado para checar a autenticidade do site, não haveria problema em utilizar um certificado autoassinado ou emitido pela CaCert. No nosso caso, um certificado classe 1 é mais do que suficiente, e normalmente permite sua utilização nas versões nossodominio.com.br e www.nossodominio.com.br.
Também não abordarei aqui a criação do certificado, mas sua instalação e configuração no Ghost. Mãos há obra!

Instalação do certificado


A está altura você já deve ter 2 arquivos (um do certificado e outro da chave) com diferentes extensões: meusite.crt e meusite.pem. Nomeie os arquivos de forma a identificar para qual site eles pertencem, isso será útil caso você tenha mais de um site instalado no mesmo servidor.

Crie a pasta /etc/nginx/ssl e salve os arquivos nela. Eu costumo utilizar sftp por considerar mais simples e seguro do que um ftp convencional. Depois que os arquivos estiverem salvos nesta pasta, é hora de habilitar o tráfego https no Nginx.

  • Abra o arquivo de configuração com o editor da sua preferência (eu costumo usar o vim, mas você pode usar o nano):
    vim /etc/nginx/sites-available/default
  • Encontre a seção entitulada “HTTPS server” que encontra-se toda comentada.
  • Retire os # do início da linha e edite as configurações de forma que elas fiquem semelhantes ao exemplo abaixo:


server {
    listen 443 ssl;
    server_name SEUDOMINIO.com.br www.SEUDOMINIO.com.br;
    root html;
    index index.html index.htm;

    ssl_certificate /etc/nginx/ssl/SEU_CERTIFICADO.crt;
    ssl_certificate_key /etc/nginx/ssl/SUA_CHAVE.pem;

    ssl_session_timeout 15m;

    ssl_protocols SSLv3 TLSv1.2;
    ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
    ssl_prefer_server_ciphers on;

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass       http://127.0.0.1:2368;
    }
}


Atente à substituição do endereço do seu domínio no campo server_name e no nome dos arquivos .pem e .crt que você salvou no diretório /etc/nginx/ssl. Eu também me limitei a utilizar apenas as versões mais recentes dos protocolos SSL e TLS. Agora basta reiniciar o Nginx:

# sevice nginx restart

Configuração do Ghost


Depois de configurado nosso servidor web, é a vez de dizermos ao Ghost que ele deve utilizar o protocolo https para a tela de login. Fazemos isso editando o arquivo config.js que no nosso caso, encontra-se na pasta /var/www. Par isso basta acrescentar a opção forceAdminSSL: true, dentro da seção production.

Depois de salvar o arquivo, reinicie o Ghost. Ao acessar a URL seudomínio.com.br/ghost você verá que a requisição será redirecionada para o tráfego HTTPS e o navegador normalmente exibirá um cadeado ao lado do endereço. Pronto! Sua tela de login já está bem mais segura do que anteriormente.

quinta-feira, 20 de fevereiro de 2014

Telegram: muito melhor que o WhatsApp

Telegram: taking back you privacy
Eu nunca entendi muito toda essa hype em torno do WhatsApp, uma vez que, do meu ponto de vista, sempre houveram alternativas melhores: Viber e Skype sempre ofereceram ligações gratuitas via voip, além das mensagens de texto.

O Hangouts do Google, quando chegou recentemente, trouxe uma novidade interessante que foi o acesso web e integração com o Gmail, o que do meu ponto de vista sempre foi muito atraente, pois nunca gostei de ficar "sacando" o celular a cada 30 segundos para responder a uma conversa com alguém. Algumas pessoas viam no Facebook Messanger a mesma utilidade.

Pois eis que chegou o Snowden e suas denúncias relativas à espionagem da NSA e tudo isso se tornou menos atraente: a ideia de governos e indivíduos espionando a sua comunicação pessoal não agrada a ninguém, mesmo àqueles que utilizam esses aplicativos para nada mais do que mandar a lista de compras para o companheiro(a) ao sair do trabalho.

O Facebook nunca foi famoso pelo respeito à privacidade dos seus usuários; e agora que o WhatsApp foi comprado pelo Facebook, ele perdeu ainda mais atrativos para mim.

A alternativa


Já estou utilizando o Telegram há algum tempo e gostando bastante. Ele não recursos de ligação via voip, mas cumpre a função do WhatsApp com diversas vantagens e possui foco na privacidade (até o site é https por padrão):

  • as mensagens são criptografadas de ponta a ponta
  • possui recursos semelhantes ao SnapChat, onde você cria uma sala privada e decide depois de quanto tempo o conteúdo vai se destruir: sem histórico, sem vestígios e sem armazenamento nos servidores.
  • tem o código aberto e uma API aberta, o que faz com que qualquer um possa implementar um app do Telegram seja em que plataforma for.
  • por conta disso, ele possui acesso web e via aplicativo desktop

Se tudo isso não bastasse, os autores do projeto criaram um novo protocolo que consegue ser extremamente rápido, apesar da criptografia. Você envia e a mensagem chega rapidinho, mesmo em conexões do tipo EDGE. Os criadores estão tão confiantes na tecnologia, que lançaram um desafio para  pagar 200 mil dólares para qualquer um que conseguir quebrar a segurança do protocolo.

Os builds oficiais do projeto são para Android e iOS, mas já há implementações para a Web, Windows Phone, extensão para Chrome e até aplicativos de linha de comando para o Linux.

Tudo isso sem anúncios e com a garantia de que ele nunca será cobrado. Algo que é ainda mais promissor e um grande passo em direção à uma maior privacidade e liberdade é a promessa de que também o código server side do programa será gradualmente liberado, na medida que o desenvolvimento for avançando, pois trata-se ainda de um programa em estágio beta.

Por todas essas razões, eu creio que o Telegram tenha grandes chances de se tornar um protocolo padrão para o envio de mensagens utilizando a Internet e dispositivos móveis. Se você se preocupa com a sua privacidade, deve pensar seriamente em dar uma chance para utilizar o Telegram.

O funcionamento é o mesmo do WhatsApp e após a instalação ele perguntará qual o seu número de telefone e enviará um SMS para confirmar se o número é mesmo seu. Após a confirmação você poderá ver quais pessoas que possui na agenda do seu telefone que já tem o Telegram instalado.

 Se quiser conhecer mais sobre o Telegram, o protocolo criado ou a tecnologia envolvida, acesse o site do Telegram e não deixe de ler a seção FAQ: www.telegram.org.

Comente clicando!