Skip to content

Monitoramento e Segurança de Arquiteturas Serverless

A arquitetura Serverless oferece uma boa quantidade de benefícios, mas também alguns riscos de segurança e problemas que devem ser resolvidos. 

A arquitetura Serverless se tornou um método de entrega de aplicação muito popular; ele permite que as organizações implementem as aplicações sem a necessidade de gerenciar uma infraestrutura de back-end. As organizações normalmente adotam a arquitetura Serverless para reduzir custos, melhorar a produtividade do desenvolvedor, escalabilidade e muito mais.

Neste artigo discutiremos o monitoramento, que é um aspecto importante da segurança da arquitetura Serverless. A complexidade dessa arquitetura requer soluções de log e monitoramento focadas em simplificar a observabilidade. Veremos por que as arquiteturas Serverless são importantes, os desafios inerentes de usá-la e algumas das melhores práticas a se seguir, finalizando com algumas ferramentas populares a serem consideradas.

Por que o monitoramento da Arquitetura Serverless é importante?

Os mecanismos de segurança tradicionais não se aplicam às aplicações Serverless. Logo, os desenvolvedores não podem baixar a guarda; vulnerabilidades que seriam raras em um framework tradicional devem ser antecipadas e prevenidas em um contexto de Arquitetura Serverless. O monitoramento tem papel fundamental nisso.

Não pode interceptar potenciais ataques

As brechas mais sérias normalmente começam com uma fase de reconhecimento, onde os atacantes procuram por vulnerabilidades nos alvos. Se um sistema de monitoramento em tempo real não estiver ativo, a vítima não saberá que o reconhecimento está acontecendo e as equipes de segurança não podem se preparar para prevenir os ataques.

Não consegue bloquear tentativas de penetração

O monitoramento inadequado de eventos de aplicações Serverless pode dizer que as falhas de login, rejeições de controle de acesso e falha de validação de entrada por parte do servidor se mantêm não identificadas e não registradas. Os atacantes podem tentar múltiplos métodos de passar pela autenticação até que eles obtenham sucesso em acessar a aplicação alvo e os dados sensíveis.

Resposta mais lenta quando ataques ocorrem

Mecanismos de visibilidade apropriados incluem alertas e mensagens de erro quando uma atividade maliciosa for detectada. Aplicações Serverless com monitoramento configurado de forma inapropriada podem ser facilmente comprometidas, já que as equipes não podem responder de forma rápida e eficiente a alertas de erros de eventos perdidos, não claros ou inadequados.

Mais dano causado por ataques bem sucedidos

Quando uma aplicação Serverless é atacada, o autor malicioso tipicamente começa injetando comandos de entrada no fluxo de eventos. Se os eventos não forem monitorados de perto, um ataque bem sucedido pode penetrar muito mais fundo sem ser descoberto, e muitas vezes o atacante pode converter uma única exploração em um comprometimento de diversos componentes de sistemas.

Dificuldade de melhorar a postura de segurança

Além dos problemas descritos acima, o monitoramento inadequado pode criar problemas a longo prazo. Por exemplo, sem o log e monitoramento detalhado dos eventos, se torna mais difícil rastrear as atividades das contas maliciosas e as equipes de segurança não podem analisar ou contextualizar o comportamento do usuário comum.

+ Conteúdo: Como Ter Visibilidade Completa do Tráfego Web

Desafios de monitorar um framework Serverless

Claramente, o monitoramento é uma parte crucial da segurança do servidor. Entretanto comparado às implementações tradicionais, as aplicações Serverless apresentam desafios únicos para o monitoramento.

Leia também:  E-Commerce: Como manter seguro?

Primeiramente, as aplicações Serverless são uma coleção de uma ou mais funções isoladas e efêmeras. Enquanto essa natureza distribuída ajuda com a escalabilidade aprimorada e a eficiência, também torna difícil a provisão de análise de dados de eventos padrões para serem ingeridos e apresentados em logs de aplicação. A computação Serverless é um conceito relativamente novo (o primeiro serviço disponível publicamente foi o AWS Lambda, lançado em 2014); a indústria ainda não tem um stack maduro para habilitar o monitoramento de ponta-a-ponta para visibilidade da aplicação.

Além disso, a natureza efêmera das funções de arquitetura Serverless tornam difícil o rastreamento ou a reprodução de eventos em caso de incidentes de segurança. As organizações também encontram dificuldades em implementar uma solução de monitoramento Serverless que se integre facilmente aos pipelines de CI/CD enquanto automatizam a visibilidade e instrumentação do código.

Para mitigar esses problemas, os principais provedores de nuvem oferecem algumas ferramentas especializadas. Entretanto, elas não são necessariamente produtos feitos para arquiteturas Serverless; algumas são apenas extensões de outros serviços dos CSPs. Além disso, eles são úteis apenas para as organizações que quiserem ficar exclusivamente com um provedor de nuvem para todas as suas necessidades, o que é cada vez mais incomum nos dias atuais.

Dito isso, esse é um espaço em rápido crescimento. Ao fim deste artigo, listamos algumas ferramentas que podem valer a pena a investigação.

Antes disso, discutiremos algumas práticas que as ferramentas devem te ajudar a cumprir.

Melhores práticas para a arquitetura Serverless

Monitorar uma aplicação Serverless apresenta alguns desafios únicos. O número de pontos de dados para logs de evento Serverless torna a visibilidade de segurança e a administração difíceis, pois as equipes podem ser pegas de surpresa com a enorme quantidade de dados de evento. Abaixo estão algumas das melhores práticas para ajudar nessas situações.

Aplique mecanismos de visibilidade de perímetro a nível de função

As funções de arquitetura Serverless se dividem em pequenos componentes modulares que são executados usando eventos e gatilhos. Isso cria potenciais vetores de ataques que os hackers podem usar. Os desenvolvedores e as equipes de segurança devem tratar cada função como um sistema independente (que são) e assegurar os perímetros como se eles fossem uma aplicação integrada. Isso inclui configurar mecanismos para eventos, funções e serviços para serem capazes de detectar e remediar instantaneamente atividades maliciosas.

Criar e monitorar funções com privilégio mínimo para cada função

Cada função deve ter suas funções atribuídas com o mínimo de privilégios necessários. O monitoramento pode então ser usado para avaliar continuamente as tentativas de acesso a recursos (ou usar o mecanismo de auto-remediação) para garantir que cada função tenha os privilégios necessários, mas não mais do que isso.

Monitore múltiplas categorias de evento

Alguns eventos têm implicações de segurança óbvias, enquanto outros não são tão claros. Abaixo está uma lista mínima de categorias de eventos que devem ser monitorados e que consigam gerar logs; alguns deles também devem gerar alertas. (Essa lista é para propósitos de ilustração e não necessariamente deve ser exaustiva; um sistema de produção normalmente faria muito mais do que isso.)

  • Autenticação: Tentativas de falha de login são uma necessidade para se rastrear. Logins bem sucedidos também podem ser úteis.
  • Autorização: Tentativas não sucedidas (por conta dos privilégios inadequados) para invocar funções de arquitetura Serverless ou acessar recursos podem ser importantes.
  • Comunicação: As comunicações de saída de funções Serverless podem ser significativas.
  • Administração: Idealmente, as mais significantes daqui iriam engatilhar alertas: eventos como alterações a arquivos/permissões de recursos, permissões de funções, funções de execução e muito mais. Outros eventos, como implementações bem sucedidas, podem ter apenas os logs.
  • Relatórios de falhas e erros: Alguns desses relatórios devem engatilhar alertas (por exemplo, tentativas de acesso de fontes não autorizadas ou por um fluxo de dados suspeito), enquanto outros podem apenas ter os logs registrados (como tempo limite de execução da função ou limites simultâneos sendo excedidos).
  • Segurança: Uma boa solução de segurança web deve mostrar automaticamente os logs de eventos gerados (como por exemplo, “uma tentativa de SQL injection foi bloqueada”). As melhores soluções também se integram com uma variedade de outros sistemas, permitindo que você consolide todos os logs e monitoramento na sua solução de relatório escolhida. + Conteúdo: Como Escolher A Solução Certa para Segurança Web
Leia também:  Como a Segurança web em nuvem funciona (e por que ela é melhor)

proteção serverless

Tome vantagem dos recursos dos seus provedores de nuvem

Cada um dos maiores CSPs oferecem alguns recursos para usar as suas plataformas para uma arquitetura Serverless.

Ferramentas populares para segurança de arquitetura Serverless

Para muitas organizações, a segurança da arquitetura Serverless ainda é parcialmente um esforço próprio, especialmente na área de monitoramento. De qualquer forma, existem algumas ferramentas que podem ajudar. Abaixo listamos algumas ferramentas que podem ser consideradas.

CloudWatch

O CloudWatch é uma ferramenta de logs e monitoramento que se integra nativamente com os produtos AWS. O CloudWatch permite a investigação de problemas de performance e de arranque frio. A solução funciona de forma inovadora para usuários do AWS Lambda e pode integrar com algumas outras plataformas de arquitetura Serverless para aplicações customizadas.

Epsagon

O Epsagon é uma plataforma de monitoramento Serverless leve que visualiza instantaneamente os serviços de forma automática. O Epsagon tem ferramentas de gerenciamento de nuvem e logs customizáveis que permitem ver detalhes da performance da aplicação em execução. A plataforma depende de mapas de serviço, rastreamento granular e dashboards customizadas para aprimorar o produto e desenvolver produtividade.

Snyk

O Snyk é uma plataforma que prioriza o desenvolvedor que usa um banco de dados de vulnerabilidades personalizadas para fornecer inteligência de segurança às equipes de software. Com o Snyk, as equipes de software podem encontrar, priorizar e corrigir as fraquezas no código open source e nas dependências. O Snyk se integra com stacks de desenvolvimento existentes e permite a correção proativa de vulnerabilidades para aplicações de segurança otimizadas.

Reblaze

O Reblaze oferece segurança nativa na nuvem de forma robusta e que funciona tanto para arquiteturas Serverless quanto para arquiteturas tradicionais. Ele inclui WAF de next-gen, proteção contra DDoS, gerenciamento de bots hostis, prevenção contra ATO (account takeover), Segurança de API e muito mais. Fale conosco para aprender mais sobre a solução ou agendar uma demonstração.

proteção serverless

Resumo

As arquiteturas Serverless possuem alguns desafios únicos nos desafios de segurança. O monitoramento e a visibilidade são aspectos importantes, mas normalmente são negligenciados. Os desenvolvedores e as equipes de segurança que implementam o monitoramento robusto e mecanismos de alertas podem melhorar grandemente suas posturas de segurança de arquiteturas Serverless, e ao fazer isso, podem ajudar as suas organizações a usufruir dos benefícios da computação Serverless.

Comente o que achou do artigo