Nos dias de hoje, profissionais de segurança da informação enfrentam um desafio constante: manter a infraestrutura atualizada e protegida contra ameaças cada vez mais sofisticadas, ao mesmo tempo em que precisam lidar com o gerenciamento de ativos, controle de versões de software e, claro, evitar o movimento lateral dentro da rede em caso de uma violação.
Quando criei o blog.serto.io, decidi adotar uma arquitetura serverless (sem servidor) que utilizava Hugo e Cloudflare Pages. Essa escolha foi guiada por um objetivo claro: eliminar a necessidade de gerenciar servidores e reduzir drasticamente os riscos associados ao movimento lateral, vulnerabilidades em servidores web, e falhas na atualização de softwares.
Neste post, vou compartilhar como essa solução reduz a superfície de ataque, simplifica o gerenciamento de ativos e melhora a segurança operacional de forma significativa.
1. Arquitetura Serverless: Simplicidade e Segurança
Para o blog.serto.io, utilizei uma combinação de Hugo (um gerador de sites estáticos), GitHub (para versionamento de código), e Cloudflare Pages (para deploy e entrega via CDN). Esse conjunto de ferramentas me permitiu criar um site que não depende de servidores dinâmicos, eliminando a necessidade de manter infraestrutura complexa e servidores rodando continuamente.
Aqui está a arquitetura básica:
- Hugo gera conteúdo estático localmente, convertendo textos em HTML estático.
- O código é versionado e armazenado no GitHub.
- O conteúdo estático é distribuído globalmente por meio da Cloudflare Pages, aproveitando a rede de entrega de conteúdo (CDN) da Cloudflare.
Essa abordagem oferece uma solução poderosa e segura, removendo a necessidade de servidores web dinâmicos. Mas, além disso, ela simplifica imensamente o gerenciamento de ativos e elimina riscos associados a falhas na atualização de software.
2. Redução da Superfície de Ataque e Eliminação de Servidores Web
O gerenciamento de ativos é um dos pilares da segurança cibernética. Quando a infraestrutura é composta por múltiplos servidores, cada um executando diferentes versões de software, o risco de uma vulnerabilidade explorável aumenta significativamente.
Ao optar por uma solução sem servidor, eliminamos a necessidade de monitorar versões de sistemas operacionais, servidores web (como Apache ou Nginx), e bancos de dados, que são comuns em arquiteturas tradicionais. Isso, por si só, reduz a superfície de ataque da infraestrutura.
Por exemplo:
- Servidores Dinâmicos: Sites que dependem de servidores dinâmicos requerem manutenção constante e atualizações frequentes para prevenir ataques baseados em vulnerabilidades de dia zero. Se um servidor web não estiver atualizado, ele pode se tornar uma porta de entrada para invasores.
- Arquitetura Serverless: Ao usar uma CDN para distribuir conteúdo estático, como no caso do Cloudflare Pages, você remove completamente a dependência de servidores web dentro da sua infraestrutura, eliminando um ponto comum de ataque.
Essa abordagem também mitiga o risco de movimento lateral. Em um ataque típico, um invasor pode comprometer um servidor web e depois tentar se mover lateralmente para acessar outros servidores ou dados sensíveis. Ao ter menos servidores para gerenciar, o risco de que um atacante explore vulnerabilidades e se mova através da rede diminui significativamente.
3. Controle de Versões de Software e Atualizações
Gerenciar diferentes versões de software em servidores é um desafio constante para equipes de segurança. Se um servidor não for atualizado regularmente, ele pode se tornar uma vulnerabilidade aberta. Manter a versão correta de um servidor web ou de um CMS (como WordPress) é um trabalho contínuo que demanda tempo e recursos, especialmente em ambientes que exigem alta disponibilidade.
Um bom exemplo desse desafio são as vulnerabilidades de CMSs dinâmicos, como o WordPress, que exige atualizações frequentes de plugins, temas e do próprio núcleo do sistema. Essa complexidade aumenta ainda mais quando múltiplos servidores estão em jogo, cada um com diferentes versões e dependências.
Em contraste, na arquitetura utilizada no blog.serto.io, todo o conteúdo é gerado estaticamente pelo Hugo e hospedado na Cloudflare Pages. Isso significa que não há sistemas operacionais ou softwares que precisem ser atualizados periodicamente, já que tudo é armazenado em uma CDN, distribuindo conteúdo de forma eficiente e segura.
Além disso, a utilização do GitHub para versionamento de código facilita o controle de mudanças. Qualquer modificação no site passa por um pipeline automatizado, garantindo que o conteúdo esteja sempre atualizado, enquanto reduz a necessidade de intervenção manual.
4. Eliminação do Risco de Movimento Lateral
Outro aspecto fundamental de segurança que muitas vezes é negligenciado em arquiteturas tradicionais é o risco de movimento lateral dentro de uma rede. Quando um invasor compromete um servidor, ele pode tentar se mover lateralmente para acessar outros ativos, explorando vulnerabilidades internas.
Ao adotar uma arquitetura serverless, como no blog.serto.io, onde todo o conteúdo é estático e não há interação entre servidores dinâmicos, você elimina quase completamente o risco de movimento lateral. Isso porque, ao remover servidores da infraestrutura interna, você está limitando o número de sistemas vulneráveis que um invasor poderia tentar comprometer após o primeiro ponto de falha.
Além disso, a Cloudflare oferece proteção adicional contra ataques DDoS e outras ameaças, atuando como uma camada de defesa robusta na frente da CDN. Dessa forma, não só o conteúdo estático é distribuído rapidamente para os usuários, como também a infraestrutura se torna mais resistente a tentativas de intrusão.
5. Benefícios para a Segurança Operacional
A adoção de uma arquitetura sem servidor, como no blog.serto.io, não apenas simplifica o gerenciamento de ativos e elimina a necessidade de atualizações de software, mas também oferece benefícios operacionais significativos:
- Menor Custo de Manutenção: Não há necessidade de gerenciar servidores ou sistemas operacionais, o que reduz os custos operacionais e libera recursos para focar em atividades estratégicas.
- Alta Disponibilidade: Com o uso da CDN da Cloudflare, o site está disponível globalmente, com baixa latência e alta resiliência contra falhas ou ataques distribuídos.
- SSL Automático: Certificados SSL são gerenciados automaticamente pela Cloudflare, garantindo que todas as conexões sejam seguras sem a necessidade de intervenção manual.
Conclusão
Criar o blog.serto.io com Hugo e Cloudflare Pages provou ser uma abordagem eficiente para reduzir riscos, simplificar o gerenciamento de ativos e eliminar a necessidade de gerenciar servidores dinâmicos. Ao remover esses componentes, a superfície de ataque da infraestrutura é drasticamente reduzida, enquanto o risco de movimento lateral em um possível incidente de segurança é praticamente eliminado.
Profissionais de segurança da informação que lidam com sites institucionais ou corporativos devem considerar essa abordagem serverless como uma maneira eficaz de reduzir o custo e a complexidade operacional, ao mesmo tempo em que aumentam a segurança. Em um mundo onde o gerenciamento de ativos e versões de software pode ser um pesadelo contínuo, migrar para uma arquitetura sem servidor pode ser a chave para manter a segurança sem sacrificar a eficiência.
Fernando Serto
Líder Visionário em Segurança e Infraestrutura de TI | CISO/CTO | Especialista em Segurança Ofensiva e Defensiva e Redução de Riscos | Evangelista | Keynote Speaker