Como usar o Open Policy Agent (OPA) para segurança e conformidade na nuvem
9 de outubro de 2019
0 minutos de leituraNota do editor
Este blog foi publicado originalmente em fugue.co. A Fugue se juntou à Snyk em 2022 e é um componente essencial do Snyk IaC.
Assim como os desafios de gerenciar grandes operações de infraestrutura em nuvem levaram ao desenvolvimento da infraestrutura como código, garantir a segurança e a conformidade desses ambientes levou à criação das políticas como código. Os ambientes de infraestrutura em nuvem são simplesmente vastos, complexos e dinâmicos demais para serem protegidos com abordagens tradicionais, como auditorias manuais e listas de verificação.
Infelizmente, a maioria das linguagens de políticas como código é proprietária e de código fechado, oferecida por provedores de nuvem. Isso cria dependência do fornecedor, gera incompatibilidade com outros frameworks de políticas que a empresa talvez use e pode dificultar muito a aplicação dessas linguagens a casos de uso específicos.
O Open Policy Agent (OPA) é um mecanismo de políticas de código aberto e uso geral, e Rego é a linguagem declarativa de políticas do OPA. Com o Fugue, ele oferece máxima flexibilidade na implementação de políticas para a infraestrutura em nuvem. Em abril de 2019, a Cloud Native Computing Foundation (CNCF) aceitou o OPA como um projeto hospedado em nível de incubação.
Na Fugue, usamos OPA e Rego como framework de políticas como código na nossa solução SaaS de segurança e conformidade na nuvem — e os resultados são incríveis. Embora grande parte do foco do OPA tenha sido o desenvolvimento de políticas de acesso para Kubernetes, nós o usamos amplamente em uma variedade muito maior de casos de uso de infraestrutura em nuvem na Amazon Web Services (AWS) e no Microsoft Azure. Leia nosso anúncio aqui.
Ao adotar OPA e Rego, conseguimos oferecer aos nossos clientes recursos poderosos e flexíveis de políticas como código, inclusive a possibilidade de criar políticas personalizadas para a infraestrutura em nuvem com rapidez e facilidade.
Os recursos de regras personalizadas da Fugue, que usam OPA, permitem que os usuários:
Criem e gerenciem regras personalizadas de infraestrutura em nuvem, definidas pelos próprios usuários, em OPA Rego, usando a API, a CLI e a interface web da Fugue
Validem e testem regras personalizadas durante a criação, com mensagens de erro úteis que economizam tempo
Validem continuamente e gerem relatórios de conformidade para regras personalizadas e frameworks de políticas prontos para uso
Veja alguns exemplos de políticas personalizadas que usam OPA com Fugue:
Verificar se há buckets S3 públicos e sem criptografia
Definir quais regiões de nuvem são permitidas
Definir quais imagens de máquina (por exemplo, AMIs) são permitidas
Garantir que os logs de fluxo da VPC estejam configurados
Definir quais tamanhos de instância (por exemplo, EC2) são permitidos
Verificar se as políticas do IAM seguem o princípio do menor privilégio
Definir quais regras de entrada são permitidas para grupos de segurança
Por exemplo, se um grupo de segurança não deve permitir que a porta 9200 fique aberta para qualquer pessoa, a regra pode ser expressa assim:
A maioria das organizações também precisa seguir um ou mais frameworks de conformidade. Por isso, a Fugue oferece suporte pronto para uso com OPA para os CIS Foundations Benchmarks (AWS e Azure), GDPR, HIPAA, ISO 27001, NIST 800-53, PCI e SOC 2.
A Fugue executa milhões de avaliações de regras de segurança todos os dias com OPA. Por isso, investimos bastante em ferramentas para desenvolvedores e vamos contribuir com todo esse trabalho para a comunidade de código aberto. Estamos empolgados com o OPA e com a oportunidade de participar ainda mais desse importante projeto de código aberto.
Segurança de IaC pensada para quem desenvolve
A Snyk protege sua infraestrutura como código do ciclo de vida do desenvolvimento de software até a execução na nuvem, com um mecanismo unificado de políticas como código para que todas as equipes possam desenvolver, implantar e operar com segurança.
