Proteja sua senha do Ghost com criptografia

por em Cloud,TecnoPapo Nenhum comentário

No post anterior, ensinei a instalar o Ghost na nuvem. Hoje, abordarei uma configuração importante após finalizar seu 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.

blog ghost senha

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 SSL inseguro no Chrome

Exemplo de aviso no Chrome

Exemplo de aviso no Firefox

Exemplo de aviso 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:

# service 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.

21 de agosto de 2014: um dia histórico na minha vida

por em MuriloGun Nenhum comentário

Dia 21 de agosto de 2014 vai ser um dia histórico para mim.

Foi o dia que encerrou a mais fantástica experiência de vida que já tive: passar 10 semanas dormindo, comendo, bebendo, brincando, estudando e trabalhando com 80 pessoas fantásticas de 35 países dentro do NASA Research Park, no Vale do Silício.

E mais: tive a grande oportunidade de ser eleito o class speaker, sentar ao lado de Ray Kurzweil e Peter Diamandis, fazer um discurso no Computer History Museum para mais de 400 pessoas (incluindo minha esposa e amigos brasileiros), fazê-las rir e chorar (em inglês) e ser aplaudido de pé com meus colegas gritando o meu nome.

Em breve a Singularity vai postar o vídeo oficial, mas exclusivamente para a galera que acompanhou esse blog, segue link privado para a gravação que minha sócia Susan fez no celular: https://www.youtube.com/watch?v=ZrjGwXEIt8Y

Obrigado a todos os meus colegas, speakers, staff e a minha esposa.

1908054_10152654373964935_574106000334653787_n (1)

20140821_185657

class-speaker

IMG-20140824-WA0000 IMG-20140824-WA0002

 

 

Zona de conforto e Zona de crescimento

por em MuriloGun Nenhum comentário

full-exterior-Computer-History-Museum

Sou bastante acostumado a falar em público, para as mais diversas platéias e em centenas de palcos. Mas hoje vai ser uma experiência bem diferente. 

Vou fazer um discurso, em inglês, em nome da minha turma da Singularity University para uma platéia de 400 pessoas do Vale do Silício no palco do Computer History Museum, onde vários dos meus ídolos da inovação já se apresentaram.

Como eu sempre digo “Quando a gente sai da zona de conforto, a gente não entra na zona de desconforto, e sim na zona de aprendizagem.”

A grande lição que aprendi na Singularity University

por em MuriloGun (1) comentário

Ontem rolaram as apresentações finais dos projetos na Singularity. Foram 20 projetos e o meu time foi selecionado entre os 5 melhores para se apresentar amanhã na cerimônia de encerramento.

Muito orgulho dessas pessoas: a cientista australiana Susan Graham, o empreendedor francês Alex Terrien e o business “The Rumba” executive Paul Niel.

Aqui na Singularity passamos 10 semanas estudando robótica, biotecnologia, nanotecnologia, inteligência artificial, etc.. Mas a grande lição que aprendi é: it’s all about people.

peared black10559727_10152652028454935_1422370925530188576_n 10577018_10152648846984935_4203329853841017029_n 10624641_10152642837904935_5525806761050553576_n