Servidor (ridiculamente simples) em Node para arquivos estáticos

Hoje em dia iniciar um projeto em JS é quase um casamento seu com suas ferramentas, no qual você tem que passar alguns bons minutos (ou horas) pra configurar tudo e deixar tudo perfeitinho.

A vantagem disso é que teoricamente você só vai precisar fazer esse trabalho uma vez; porém nem sempre a gente quer, ou precisa, ter esse trabalho. Um dos melhores amigos de quem trabalha com conteúdo estático é o SimpleHTTPServer do Python, que nos permite levantar um servidor HTTP com uma facilidade absurda, além da sua grande vantagem de já estar pré-instalado virtualmente em qualquer máquina com um sistema UNIX.

Ler o post completo

HTTP S2, addenda

A segunda parte de um texto que não sabia que teria uma segunda parte.

Aconteceu muita coisa desde o dia 19, quando publiquei “Seus sites seguros de graça sem custo nenhum e não pagando nada” nesta rede social Medium. Apesar de relevante pra situação atual da web, não esperava que acontecessem tantas coisas relacionadas, em tão poucos dias.

Com isso em mente, me sinto mais que na obrigação de informar o mais relevante que rolou. Vem, jovem:

O Chrome fará sites HTTP-only passar vergonha

Não se sabe com exatidão quando, mas eventualmente, o Google Chrome irá tratar sites sem HTTPS com um comportamento parecido de quando o site é inseguro ou possui um certificado falso: a ícone de cadeado na barra de navegação irá possuir um “X” vermelho. A diferença básica é que você conseguirá acessar o conteúdo normalmente, sem nenhum aviso que “sua conexão é insegura”.

A ideia do time do Chrome é justamente deixar claro que o simples fato de você não estar utilizando uma conexão HTTPS, por conseguinte não encriptada, já é inseguro o bastante.

Se você quiser testar no seu Chrome, vá em

chrome://flags

e procure por “mark non-secure as”, e selecione “mark non-secure origins as non-secure”. Reinicie o Chrome e veja o futuro.

O Firefox também não vai deixar sites sem HTTPS impunes

A partir do Firefox Developer Edition 46 (que já é a versão atual, no momento da publicação), sites que possuem formulário com campo de senha e não possuem HTTPS serão indicados como inseguros. A estratégia é bem menos violenta que a do Chrome, mas também deixa claro quando está tendo cheiro vacilo no ar.

Uma coisa bem interessante é que não basta você estar enviando os dados via HTTPs (pra um servidor num domínio diferente, por exemplo), você também tem que estar servindo via HTTPS, e isso impede vários tipos de ataques locais.

Let’s Encrypt comemora com o peito em festa e coração a gargalhar ter emitido mais de 500 mil certificados

Título de notícia do EGO, mas é bem verdade:

O maldito Facebook fechou o Parse

O Facebook provou mais uma vez que não é digno de confiança e fechou o (m)BaaS mais completo que existia. Existe um excelente texto refletindo o porquê. Mas no nosso contexto, destaco isso pois sugeri o Parse como um bom local para você hospedar seu site, e ainda vinha com HTTPs.

Tenho umas novidades pra me redimir.

Ainda mais opções para ter um HTTPS pra chamar de seu

Só seu e de mais ninguém.

Pancake.io

A Pancake.io é uma plataforma extremamente amigável, com um deploy tão fácil que dá pra fazer pelo Dropbox (literalmente). Mas se você é uma pessoa de bem e usa controle de versão, você pode usar Git também.

Os domínios *.pancakeapps.com tem HTTPS habilitados por padrão.

Google App Engine

Confesso que não mencionar o App Engine no post original foi realmente um ponto fora da curva. Mas é pra isso que adendos servem, correto?

Domínios *.appspot.com já tem certificado HTTPS. Você também pode fazer upload de um certificado SSL próprio, se for usar seu próprio domínio no App Engine.

Ferramentas bônus

Em barras de ouro, pois estas valem mais do que dinheiro.

Get HTTPS for Free

A cada dia que passa temos mais certezas que a internet veio pra ficar. Um cidadão automatizou o suficiente de todo o processo manual do Let’s Encrypt em um formulário simples.

badssl.com

Esse site é uma mão na roda para você que quer ver como os navegadores se comportam em diferentes situações. Se seu próprio HTTPS der algum problema, você tem uma base para comparar e descobrir o que está acontecendo.

Stairway to heaven

Parte do trabalho de desenvolvedores web é fazer a própria web evoluir. Não deixa de ser curioso como um assunto tão marginal gerou tanto conteúdo em tão pouco tempo.

Comentar sobre a importância de HTTPS não é de hoje. Porém ainda a muito a ser discutido e debatido sobre o assunto, e pelo que os indícios mostram, ele irá se tornar cada vez mais relevante.

Proponha uma discussão sobre HTTPS na sua comunidade, ele se encaixa em vários contextos. Me dê um ping no Twitter se eu puder ajudar em algo. Há um longo caminho a ser percorrido.

Seus sites seguros de graça sem custo nenhum e não pagando nada

ou A Grande Aventura de Como Obter Certificados SSL

A Internet está ai e — ao que tudo indica — veio pra ficar. Para vermos gifs de gatos em nossos dispositivos, mensagens são trocadas por uma pilha enorme de protocolos, que são basicamente os mesmos desde 1969.

O HTTPS é a versão mais atual do protocolo HTTP, com uma camada extra de segurança provida pelo protocolo SSL/TLS. Ou seja, é aquele cadeado verde que fica na barra de navegação.

Estar em um site com SSL ativo é uma garantia de que os dados enviados estão sendo criptografados entre o cliente e website, evitando, por exemplo, que um terceiro obtenha aquelas informações fazendo um ataque “no meio do caminho” entre o usuário e o servidor.

Conseguir um HTTPS há algum tempo atrás não era das tarefas mais fáceis, além de que era virtualmente impossível você conseguir sem pagar uma boa quantia para tal.

Para ter um cadeado verde pra chamar de seu, você precisa de um Certificado SSL. Tal qual domínios, que você pode comprar de Registrars, você também compra de companhias que tem autorização de emitir e vender tais certificados. Os certificados possuem uma chave única, atrelada a você, os dados do seu domínio, e a sua emissora.

O uso de HTTPS é extremamente importante para Progressive Apps pois algumas das funcionalidades mais interessantes, como os ServiceWorkers e WebWorkers, requerem obrigatoriamente o uso de conexões seguras para funcionar. Descobriremos mais sobre essas funcionalidades futuramente.

Vamos aprender como ter nossos sites seguros usando serviços gratuitos. É bem provável que você já use algum deles, mas talvez não conheça todo o potencial.

0800:

GitHub Pages

Usado por 9 a cada 10 dentistas, o GitHub pode não ser o paraíso, mas é o herói que nós merecíamos. Páginas com o domínio *.github.io tem certificado SSL habilitado. Se você hospeda algo lá, experimente trocar de http:// para https://, vai funcionar bonitinho.

Surge.sh

O Surge é algo tão maravilhoso que deve ter sido feito pelo Zack Snyder ou pelo Elon Musk. Não existe nada melhor para fazer aquele deploy instantâneo naquele projetinho estático que você acabou de fazer. Todos os domínios *.surge.sh também tem SSL ativo.

O Surge é tão incrível que farei um post sobre ele em breve. Me cobrem.

Firebase

Banco de dados nunca mais foram os mesmos desde que o Firebase apareceu com essa mania maravilhosa de deixar tudo em tempo real. Os domínios *.firebaseapp.com tem HTTPS por padrão, se você quiser dar deploy no seu app por lá.

Parse

O Parse continua a ser meu predileto na categoria everything-you-need-for-make-apps-in-a-box. Domínios *.parseapp.com também possuem SSL.

Domínio próprio

Se você é dos meus e curte ter uma ~identidade própria, ou quer dar aquele tom opressor no rolê, você deve ter um domínio próprio, tanto no pessoal quanto no profissional.

Como já mencionado, a chave do SSL está ligada diretamente ao domínio, então os certificados acima não vão funcionar no seu domínio.

Porém não há razão para o choro, veja a solução a seguir:

Se você não tem um domínio próprio e quer pagar bem barato em um, sugiro o Namecheap. No momento de publicação desse post, domínios .xyz e domínios .club estavam a $1 e $0.88 (88 centavos de dólar) respectivamente.

Muito barato maluco.

CloudFlare

A CloudFlare é uma das maiores e mais renomadas CDNs que podemos citar. Além disso, ela também oferece um serviço de DNS que adiciona uma proteção SSL ao seu domínio, gratuitamente.

Entretanto, existe um ponto importante a ressaltar: por ser uma CDN o CloudFlare entra “no meio” da conexão entre o usuário e o host do seu domínio. O SSL que a CloudFlare oferece criptografa apenas a primeira parte dessa conexão, entre o usuário e os servidores da CloudFlare. Apesar de ser bem melhor do que não ter HTTPS nenhum, ele não oferece uma segurança 100% criptografada. Tenha isso em mente.

Com o DNS configurado no CloudFlare, você pode usar seu próprio Registrar e Hosting, tendo controle total sobre os servidores.

StartSSL

O StartSSL é uma das companhias autorizadas a emitir certificados digitais como o SSL/TLS. No tier mais simples, ela oferece por um ano uma versão básica do certificado, totalmente gratuito. O certificado da SmartSLL oferece criptografia ponto a ponto completa, o que não é o caso do CloudFlare.

Após um ano, se quiser continuar com o certificado, terá que usar os meios tradicionais e pagar por ele.

Let’s Encrypt

Os certificados sempre foram algo caro pra se obter pois a licença de emissão é muito cara para as empresas. The Internet Serious Business. Como HTTPS é uma demanda crescente — e mais do que tudo necessária — empresas de internet se juntaram para prover um serviço de emissão pública de certificados.

Empresas como a Mozilla, Google, Facebook, Cisco se juntaram com a Linux Foundation e criaram o Let’s Encrypt para ser esse emissor.

Como praticamente tudo ligado a Linux, o processo não é nem tranquilo nem favorável: espere muito trabalho manual e configurações trabalhosas de fazer no seu servidor. Também tal qual o Linux, é 100% gratuito e o que lhe dá mais controle sobre o certificado.

Os certificados gerados duram de 30–90 dias e tem que ser renovados “manualmente” para continuarem funcionando. Sempre de graça. Se você não lembra a última vez que fez um cron-job, tá ai uma oportunidade.

Use cinto de segurança

Ser web developer não é das tarefas mais fáceis hoje em dia, já que felizmente toda a internet está se derretendo com os 38 frameworks que são lançados por dia. Por outro lado, viver no futuro nos permite criar coisas incríveis. Não custa nada (literalmente) mantê-las seguras também.

No entanto, lhe vendo um conselho por um tweet desse post: tudo dito acima só deve ser usado em testes ou em produtos com uma base de usuários pequena. Se você está planejando escalar, tire o escorpião do bolso e compre um certificado. Segurança é tão importante quanto ter a melhor estrutura de servidores do mundo, principalmente para o seu usuário.

Até os próximos posts!

Pin It on Pinterest