Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O DevSecOps, também chamado de DevOps Seguro, baseia-se na prática do DevOps ao incorporar segurança em diferentes fases do ciclo de vida tradicional do DevOps. Incorporar segurança nas práticas DevOps para:
Torne as suas aplicações e sistemas mais seguros, proporcione visibilidade sobre ameaças de segurança e evite que vulnerabilidades cheguem aos ambientes implementados.
Aumente a consciencialização sobre segurança entre as suas equipas de desenvolvimento e operações.
Incorpore processos de segurança automatizados no seu ciclo de vida de desenvolvimento de software (SDLC).
Reduzir os custos de remediação detetando problemas de segurança logo nas fases de desenvolvimento e design.
Quando aplica DevSecOps ao Azure Kubernetes Service (AKS), cada função organizacional tem considerações específicas de segurança:
Os programadores constroem aplicações seguras que correm em AKS.
Os engenheiros cloud constroem infraestruturas AKS seguras.
As equipas de operações podem governar clusters ou monitorizar problemas de segurança.
Este artigo organiza orientações por fase do ciclo de vida do DevOps e fornece recomendações para controlos de segurança e melhores práticas. Abrange processos e ferramentas comuns para pipelines de integração contínua e entrega contínua (CI/CD), com foco em ferramentas integradas.
Fluxo do processo
Descarregue um ficheiro Visio desta arquitetura.
Note
Este artigo faz referência ao AKS e ao GitHub, mas pode aplicar estas recomendações a qualquer orquestração de contentores ou plataforma CI/CD. Os detalhes da implementação podem variar, mas a maioria dos conceitos e práticas para cada etapa ainda se aplica.
O Microsoft Entra ID é configurado como o provedor de identidade para o GitHub. Configure a autenticação multifator (MFA) para fornecer segurança adicional na autenticação.
Os programadores usam Visual Studio Code ou Visual Studio com extensões de segurança ativadas para analisar proativamente o seu código em busca de vulnerabilidades de segurança.
Os programadores comprometem o código da aplicação num repositório GitHub Enterprise detido e governado por empresas.
O GitHub Enterprise integra segurança automática e verificação de dependência por meio do GitHub Advanced Security.
Os pull requests desencadeiam compilações de integração contínua (CI) e testes automatizados via GitHub Actions.
O fluxo de trabalho de compilação CI via GitHub Actions gera uma imagem de contentor Docker e armazena-a no Azure Container Registry.
Pode adicionar aprovações manuais para implementações em ambientes específicos, como produção, como parte do fluxo de trabalho de entrega contínua (CD) no GitHub Actions.
As Ações do GitHub habilitam o CD no AKS. Use o GitHub Advanced Security para detetar segredos, credenciais e outras informações sensíveis na fonte da sua aplicação e nos ficheiros de configuração.
O Microsoft Defender analisa o Container Registry, o cluster AKS e o Azure Key Vault à procura de vulnerabilidades de segurança.
O Microsoft Defender for Containers analisa a imagem do contentor à procura de vulnerabilidades de segurança conhecidas quando o GitHub Actions a carrega no Container Registry.
O Defender for Containers também pode escanear o seu ambiente AKS e fornecer proteção contra ameaças em tempo de execução para os seus clusters AKS.
O Microsoft Defender for Key Vault deteta tentativas invulgares e suspeitas de aceder a contas de Key Vault.
Pode aplicar a Política Azure ao Container Registry e ao AKS para garantir o cumprimento das políticas. O Azure Policy inclui políticas de segurança incorporadas tanto para o Container Registry como para o AKS.
O Key Vault injeta segredos e credenciais de forma segura numa aplicação em tempo de execução sem os expor aos programadores.
O mecanismo de política de rede AKS é configurado para ajudar a proteger o tráfego entre pods de aplicativos usando políticas de rede do Kubernetes. Recomendamos o Azure CNI Powered by Cilium como motor de políticas de rede. Fornece aplicação alargada baseada no Berkeley Packet Filter (eBPF), política de camada 7 e filtragem totalmente qualificada de nomes de domínio (FQDN).
Pode configurar monitorização contínua do cluster AKS usando o Azure Monitor para recolher métricas Prometheus, registos de contentores e eventos Kubernetes. Use dashboards do Azure Managed Grafana para visualização e Log Analytics para alertas baseados em consultas.
O Azure Monitor recolhe métricas de desempenho através do Managed Prometheus e registos de aplicações e clusters através da recolha de registos de contentores.
Um espaço de trabalho de Log Analytics armazena os logs de diagnóstico e de aplicação para executar consultas de log.
Use o Microsoft Sentinel como a gestão centralizada de informação e eventos de segurança (SIEM) para correlacionar a telemetria do AKS com sinais do Microsoft Defender for Cloud, Microsoft Entra ID e recursos de rede. O Microsoft Sentinel fornece deteção, investigação e resposta automatizada a incidentes de segurança em todo o ambiente AKS.
Ferramentas de código aberto como o Zed Attack Proxy (ZAP) podem realizar testes de penetração para aplicações e serviços web.
O Defender for DevOps, um serviço disponível no Defender for Cloud, capacita as equipas de segurança a gerir a segurança DevOps em ambientes multipipeline, incluindo GitHub e Azure DevOps.
Visão geral e responsabilidades dos membros da equipe
Considere gerir a complexidade DevSecOps em implementações de soluções baseadas em Kubernetes, dividindo responsabilidades entre equipas. Esta secção descreve os papéis e responsabilidades dos programadores, operadores de aplicações como engenheiros de fiabilidade do local, operadores de clusters e equipas de segurança.
Developers
Os programadores escrevem o código da aplicação e comprometem-no no repositório designado. Eles criam e executam scripts para testes automatizados, garantindo que o seu código funciona como previsto e se integra com o resto da aplicação. Os programadores também definem e programam a construção de imagens de contentores como parte do pipeline de automação.
Operadores de aplicação (engenheiros de confiabilidade do local)
Construir aplicações utilizando contentores e Kubernetes pode simplificar o desenvolvimento, implementação e escalabilidade de aplicações. Mas essas abordagens de desenvolvimento também criam ambientes cada vez mais distribuídos que complicam a administração.
Os engenheiros de fiabilidade do local constroem soluções que automatizam a forma como as equipas supervisionam grandes sistemas de software. Servem como uma ponte entre as equipas de desenvolvimento e de operadores de cluster. Ajudam a estabelecer e monitorar objetivos de nível de serviço (SLOs) e orçamentos de erro. Os engenheiros de fiabilidade do local também ajudam a gerir implementações de aplicações e a escrever ficheiros de manifestos Kubernetes (YAML).
Operadores de cluster
Os operadores do cluster configuram e gerem a infraestrutura do cluster. Eles geralmente usam a infraestrutura como código (IaC) e as melhores práticas e frameworks como GitOps para provisionar e manter os seus clusters. Utilizam ferramentas de monitorização como o serviço gerido Azure Monitor para Prometheus e Azure Managed Grafana para monitorizar a saúde global do cluster. São responsáveis pela correção, atualizações do cluster, permissões e controlo de acesso baseado em funções (RBAC) no cluster. Nas equipas DevSecOps, os operadores de clusters colaboram com equipas de segurança para estabelecer padrões de segurança e garantir que os clusters cumprem esses requisitos.
Equipa de segurança
A equipa de segurança desenvolve e faz cumprir normas de segurança. Algumas equipas podem criar e selecionar definições de políticas Azure que aplicas entre as subscrições e grupos de recursos que contêm os clusters. As equipas de segurança monitorizam problemas de segurança e trabalham com outras equipas para priorizar a segurança ao longo de todo o processo DevSecOps.
Estágios do ciclo de vida do DevSecOps
Cada fase do SDLC implementa controlos de segurança. Estes controlos de segurança são centrais para o DevSecOps e para as práticas de 'shift-left'.
Descarregue um ficheiro Visio desta arquitetura.
Fase de planeamento
A fase de planeamento normalmente tem a menor quantidade de automação, mas tem importantes implicações de segurança que afetam fases posteriores do ciclo de vida do DevOps. Essa fase envolve a colaboração entre as equipes de segurança, desenvolvimento e operações. Para garantir que tem em conta ou mitiga requisitos e problemas de segurança, inclua os intervenientes de segurança nesta fase.
Boas práticas: Projetar uma plataforma de aplicação segura
Para construir uma carga de trabalho segura alojada por AKS, deve incorporar a segurança no sistema em todas as camadas, começando pela própria plataforma. A plataforma pode incluir componentes internos ao cluster, como agentes de segurança e políticas em tempo de execução, e componentes externos ao AKS, como firewalls de rede e registos de contentores.
Boa prática: Incorpore a modelação de ameaças no seu processo
A modelagem de ameaças geralmente é uma atividade manual que envolve equipes de segurança e desenvolvimento. Pode modelar e encontrar ameaças num sistema para resolver vulnerabilidades antes de desenvolver código ou fazer alterações. As equipas realizam modelação de ameaças em resposta a alterações significativas de software, alterações na arquitetura da solução ou incidentes de segurança.
Recomendamos o modelo de ameaça STRIDE. Esta metodologia começa com um diagrama de fluxo de dados e categoriza as ameaças utilizando o mnemónico STRIDE: Falsificação, Manipulação, Repudiação, Divulgação de Informação, Negação de Serviço e Elevação de Privilégio. As equipas utilizam estas categorias para identificar, mitigar e validar riscos. Uma ferramenta de modelação ajuda a notar e visualizar componentes do sistema, fluxos de dados e limites de segurança.
Integrar a modelação de ameaças no seu SDLC acrescenta sobrecarga de processos e exige que mantenha modelos de ameaça atualizados. No entanto, aborda a segurança cedo no desenvolvimento, o que reduz o custo de resolver problemas descobertos mais tarde.
Boa prática: Aplicar o Azure Well-Architected Framework
Aplicar as melhores práticas de Segurança que forneçam orientações para gestão de identidade, segurança de aplicações, proteção de infraestruturas, segurança de dados e DevOps conforme se aplica a ambientes cloud-native.
Aplique as melhores práticas de Excelência Operacional conforme estas se aplicam ao DevSecOps e à monitorização dos seus ambientes de produção.
Fase de desenvolvimento
Deslocar-se para a esquerda é um princípio fundamental da mentalidade DevSecOps. Este processo começa antes de comprometeres o código num repositório e o implementares através de um pipeline. Para resolver problemas de segurança mais cedo no ciclo de vida do desenvolvimento, adote as melhores práticas de codificação segura e utilize ferramentas e plugins de ambiente integrado de desenvolvimento (IDE) para análise de código durante a fase de desenvolvimento.
Melhores práticas: Aplicar normas de codificação seguras
Use as melhores práticas e listas de verificação estabelecidas em codificação segura para ajudar a proteger o seu código de vulnerabilidades comuns como injeção e design inseguro. A fundação Open Worldwide Application Security Project (OWASP) publica recomendações de codificação segura padrão da indústria que deve adotar ao escrever código. Estas orientações são especialmente importantes quando desenvolve aplicações ou serviços web voltados para o público.
Revise práticas de programação seguras para os runtimes específicos da sua linguagem de programação, como Java e .NET.
Aplicar normas de registo para proteger informações sensíveis de infiltrações nos registos de aplicação. A maioria dos frameworks de registo populares, como o Apache Log4j e o Apache log4net, fornecem filtros e plugins para mascarar informações sensíveis, como números de conta ou dados pessoais.
Melhores práticas: Usar ferramentas e plugins IDE para automatizar verificações de segurança
A maioria dos IDEs populares, como Visual Studio, VS Code, IntelliJ IDEA e Eclipse, suportam extensões que pode usar para obter feedback imediato e recomendações sobre potenciais problemas de segurança que introduz ao escrever código de aplicação.
SonarQube para IDE é um plugin de IDE para a maioria das linguagens e ambientes de desenvolvimento populares. O SonarQube para IDE fornece feedback e analisa automaticamente o seu código à procura de erros comuns de programação e potenciais problemas de segurança.
Outros plugins gratuitos e comerciais focam-se em itens específicos de segurança, como as 10 principais vulnerabilidades comuns do OWASP. O plugin Snyk também analisa o código-fonte da tua aplicação e dependências externas e alerta-te se encontrar vulnerabilidades.
O plugin Static Analysis Results Interchange Format (SARIF) para Visual Studio e VS Code permite-lhe visualizar facilmente vulnerabilidades de ferramentas populares de Static Application Security Testing (SAST) em vez de interpretar resultados de ficheiros de saída JSON brutos.
Boa prática: Estabelecer controlos nos seus repositórios de código-fonte
Estabeleça uma metodologia de ramificação para a consistência em toda a sua empresa. Metodologias como o Release flow e o GitHub Flow têm diretrizes estruturadas sobre como usar branches para apoiar o desenvolvimento em equipa e em paralelo. Essas metodologias podem ajudar as equipes a estabelecer padrões e controles para confirmações e fusões de código em seu fluxo de trabalho de CI/CD.
Certas ramificações, como a main, são ramificações duradouras que preservam a integridade do código-fonte da sua aplicação. Estabeleça políticas de fusão para estas ramificações antes de cometer ou realizar a fusão das alterações. Por exemplo, você pode:
Evite que outros desenvolvedores confirmem código diretamente na sua ramificação principal.
Estabeleça um processo de revisão por pares e exija um número mínimo de aprovações antes de fundir alterações numa agência principal. Configure e faça cumprir estes controlos usando o GitHub. Use o GitHub para designar, se necessário, grupos de aprovadores autorizados para ambientes controlados.
Use hooks de pré-commit para verificar informações sensíveis no código-fonte da sua aplicação e bloqueie commits quando detetam problemas de segurança.
- Utilize "hooks" de pré-commit internos fornecidos pelo GitHub. Configure-os facilmente para projetos específicos. Por exemplo, alguns hooks pré-configurados procuram segredos, chaves privadas e credenciais e bloqueiam um commit caso encontrem tais problemas.
Estabelece RBAC dentro do teu sistema de controlo de versões.
Crie papéis bem definidos usando o princípio do menor privilégio. Um pipeline CI/CD funciona como a sua cadeia de abastecimento para implementações em produção.
Aplique funções de usuário ou grupo estabelecidas em sua organização. Para agrupar indivíduos com base no seu papel e função específicos nos seus fluxos de trabalho CI/CD, crie funções como Administrador, Desenvolvedor, Administrador de Segurança e Operador.
Ative a auditoria dos seus fluxos de trabalho para fornecer transparência e rastreabilidade às alterações de configuração e outras mudanças nos seus pipelines de CI/CD.
Boa prática: Proteja as imagens dos seus contentores
Use imagens leves que tenham uma pegada mínima no sistema operativo para reduzir a superfície global de ataque. Considere imagens mínimas como Alpine ou imagens sem distribuição que contenham apenas a sua aplicação e o seu tempo de execução associado.
Use apenas imagens base confiáveis quando construir os seus contentores. Recupere estas imagens base de um registo privado que analisa frequentemente à procura de vulnerabilidades.
Use ferramentas de desenvolvedor para avaliar vulnerabilidades de imagem localmente. O Trivy é uma ferramenta de código aberto que analisa vulnerabilidades de segurança nas imagens dos seus contentores.
Impeça o acesso ou contexto de utilizador root para uma imagem. Por padrão, os contêineres são executados como root.
Para containers que necessitam de maior segurança, considere usar um perfil AppArmor ou seccomp dentro do seu cluster Kubernetes para reforçar ainda mais a segurança dos seus containers em funcionamento.
Fase de construção
Durante a fase de construção, os programadores trabalham com engenheiros de fiabilidade do site e equipas de segurança para integrar varreduras automáticas do código-fonte da sua aplicação nos seus pipelines de construção de CI. As equipas configuram os pipelines para permitir práticas de segurança, utilizando as ferramentas e extensões de segurança da plataforma CI/CD. Estas práticas incluem SAST, análise de composição de software (SCA) e verificação de segredos.
Melhores práticas: Realizar SAST para encontrar potenciais vulnerabilidades no código-fonte da sua aplicação
Utilize as capacidades de segurança avançadas do GitHub para análise de código e CodeQL.
A varredura de código é uma funcionalidade que analisa código num repositório do GitHub para encontrar vulnerabilidades de segurança e erros de programação. Mostra os problemas no GitHub Enterprise Cloud.
Se a análise de código encontrar uma potencial vulnerabilidade ou erro no seu código, o GitHub mostra um alerta no repositório.
Podes configurar regras de ramo para verificações de estado obrigatórias. Por exemplo, pode exigir que os ramos de funcionalidade estejam atualizados com o ramo base antes de mesclar novo código. Este requisito assegura o teste da sua ramificação com o código mais recente.
Ative o Copilot Autofix para receber sugestões de correções geradas por IA para alertas de leitura de código. O Copilot Autofix propõe remediação diretamente em pull requests, o que ajuda os programadores a resolver rapidamente as descobertas de segurança.
Use ferramentas como kube-score para analisar seus objetos de implantação do Kubernetes. Esta ferramenta faz análise estática do código das definições dos teus objetos Kubernetes. Apresenta uma lista de recomendações para tornar a sua aplicação mais segura e resiliente.
Melhor prática: Utilizar a varredura de segredos para detetar segredos guardados acidentalmente
Quando ativas a análise de segredos para um repositório, o GitHub analisa o código à procura de padrões que correspondem a segredos que muitos fornecedores de serviços utilizam.
O GitHub executa periodicamente uma varredura completa do histórico git do conteúdo existente nos repositórios e envia notificações de alerta.
Para Azure DevOps, o Defender for Cloud utiliza varredura de segredos para detetar credenciais, segredos, certificados e outros conteúdos sensíveis no seu código-fonte e na saída da compilação.
Pode correr a varredura secreta como parte da extensão Microsoft Security DevOps for Azure DevOps.
Melhores práticas: Utilizar ferramentas SCA para rastrear componentes open-source na base de código e detetar vulnerabilidades em dependências
A revisão de dependências permite-lhe detetar dependências inseguras antes de as introduzir no seu ambiente. Também fornece informações sobre a licença, dependentes e a idade das dependências. Apresenta alterações de dependência através de um diferencial rico na aba Ficheiros alterados de um pull request.
O Dependabot realiza uma varredura para detetar dependências inseguras e envia alertas do Dependabot quando um novo aviso é adicionado à Base de Dados de Aviso do GitHub ou quando o grafo de dependências de um repositório muda.
Boa prática: Gere um SBOM para as imagens dos teus contentores
Uma lista de materiais de software (SBOM, Software Bill of Materials) fornece um inventário completo dos componentes, bibliotecas e dependências que compõem as imagens do seu container. Use ferramentas de geração de SBOM como Microsoft sbom-tool ou Syft durante a compilação do CI para produzir um manifesto SPDX ou CycloneDX.
Anexe um SBOM às imagens dos seus contentores armazenadas no Registo de Contentores para permitir a análise de vulnerabilidades a jusante e o acompanhamento de conformidade de licenças ao longo da cadeia de abastecimento.
Melhores práticas: Analisar modelos IaC para detetar configurações incorretas antes da implementação
Monitorizar proativamente as configurações dos recursos cloud ao longo do ciclo de vida do desenvolvimento.
O Microsoft Defender for DevOps suporta repositórios GitHub e Azure DevOps e pode analisar templates IaC para identificar vulnerabilidades IaC.
Boa prática: Analise as imagens da carga de trabalho nos registos de contentores para identificar vulnerabilidades conhecidas
O Defender for Containers analisa os contentores no Container Registry e no Amazon Elastic Container Registry (ECR) para o notificar sobre vulnerabilidades conhecidas nas suas imagens.
Pode ativar o Azure Policy para fazer uma avaliação de vulnerabilidades nas imagens armazenadas no Container Registry e fornecer informações detalhadas sobre cada descoberta.
Boa prática: Criar novas imagens quando a imagem base é atualizada automaticamente
- As Tarefas de Registo de Contentores descobrem dinamicamente as dependências da imagem base quando constrói uma imagem de contentor. Quando deteta uma atualização na imagem base de uma imagem de aplicação, pode configurar uma tarefa de compilação para reconstruir automaticamente imagens de aplicação que fazem referência a essa imagem base.
Boa prática: Use o Registo de Containers, o Key Vault e a notação para assinar digitalmente as suas imagens de contentores e configure o cluster AKS para permitir apenas imagens validadas
O Key Vault armazena as chaves de assinatura que a ferramenta de notação utiliza. O plugin de notação Key Vault (azure-kv) acede a estas chaves para assinar e verificar imagens de contentores e outros artefactos. Pode anexar estas assinaturas às imagens do Container Registry usando os comandos da CLI do Azure.
Os contentores assinados garantem que as implementações vêm de uma fonte confiável e que os artefactos não são adulterados após a criação. O artefato assinado garante integridade e autenticidade antes que o usuário puxe um artefato para qualquer ambiente, o que ajuda a evitar ataques.
- O Ratify verifica os metadados de segurança dos artefactos e aplica políticas de admissão antes da implementação nos clusters Kubernetes. O AKS Image Integrity utiliza o Ratify como verificador incorporado para validar assinaturas de imagem e atestados SBOM antes de os pods serem admitidos no cluster.
Fase de implantação
Durante a fase de implementação, programadores, operadores de aplicações e equipas de operadores de cluster trabalham em conjunto para estabelecer os controlos de segurança adequados para os pipelines de CD. Estes controlos ajudam a implementar código num ambiente de produção de forma segura e automatizada.
Melhores práticas: Controlar o acesso e o fluxo de trabalho do pipeline de implementação
Você pode proteger ramificações importantes definindo regras de proteção de ramificação. Essas regras definem se os colaboradores podem eliminar ou forçar um push para a ramificação. Também definem requisitos para as submissões para a ramificação, como passar verificações de status ou manter um histórico linear de commits.
Use ambientes para implementação para configurar regras de proteção e segredos.
Use a funcionalidade de aprovações e portas para controlar o fluxo de trabalho do pipeline de implementação. Por exemplo, pode requerer aprovações manuais de uma equipa de segurança ou de operações antes de implementar num ambiente de produção.
Melhores práticas: Garantir credenciais de implantação
O OpenID Connect (OIDC) permite que seus fluxos de trabalho do GitHub Action acessem recursos no Azure sem a necessidade de armazenar as credenciais do Azure como segredos do GitHub de longa duração.
Use uma abordagem baseada em pull para CI/CD com GitOps para transferir credenciais de segurança para o seu cluster Kubernetes. Esta abordagem reduz a superfície de segurança e risco ao remover credenciais das suas ferramentas externas de CI. Você também pode reduzir as conexões de entrada permitidas e limitar o acesso em nível de administrador aos seus clusters do Kubernetes.
Boa prática: Execute o DAST para encontrar vulnerabilidades na sua aplicação em execução
Use Actions do GitHub em fluxos de trabalho de implantação para executar testes dinâmicos de segurança de aplicações (DAST).
Use ferramentas de código aberto, como ZAP , para fazer testes de penetração para vulnerabilidades comuns de aplicativos da Web.
Boa prática: Implementar imagens de contêineres apenas a partir de repositórios de confiança
Use o Defender para Contêineres para ativar o complemento do Azure Policy para o Kubernetes.
Configure o Azure Policy for Kubernetes para restringir as implementações de imagens de contentores a registos de confiança.
Fase de operação
Durante esta fase, realiza tarefas de monitorização operacional e de segurança para monitorizar, analisar e alertar proativamente sobre potenciais incidentes de segurança. Utilize ferramentas de observabilidade em produção como o Azure Monitor e o Microsoft Sentinel para monitorizar e garantir a conformidade com os padrões de segurança empresariais.
Boa prática: Use o Defender for Cloud para escanear e monitorizar automaticamente as suas configurações de produção
Execute uma verificação contínua para detetar desvios no estado de vulnerabilidade do seu aplicativo e implemente um processo para corrigir e substituir as imagens vulneráveis.
Implementar monitoramento de configuração automatizado para sistemas operacionais.
Use as recomendações de contentores no Defender for Cloud (em Computação e aplicações) para realizar análises de base para os seus clusters AKS. O Defender for Cloud apresenta quaisquer problemas de configuração ou vulnerabilidades no seu dashboard.
Use o Defender for Cloud e siga as suas recomendações de proteção de rede para ajudar a proteger os recursos de rede do seu cluster AKS.
Realize uma avaliação de vulnerabilidade para imagens armazenadas no Registro de contêiner.
- Implemente verificações contínuas para imagens em execução no Registo de Contentores ao ativar Defender for Containers.
Melhores práticas: Mantenha os seus clusters Kubernetes atualizados
A Kubernetes lança novas versões com frequência. Mantenha uma estratégia de gestão do ciclo de vida para manter os seus clusters suportados e atualizados. O AKS fornece ferramentas para gerir atualizações de cluster. Utilize as funcionalidades de manutenção planeada do AKS para controlar quando ocorrem janelas de manutenção e atualizações.
Atualize os nós de trabalho AKS frequentemente. O Azure lança atualizações semanais do sistema operativo e de runtime. Aplique estas atualizações automaticamente através do modo desatendido ou manualmente através do Azure CLI para mais controlo.
Boa prática: Use a Azure Policy para proteger e governar os seus clusters AKS
Depois de instalar o add-on Azure Policy para AKS, pode aplicar definições individuais de políticas ou grupos de definições de políticas, chamados iniciativas ou conjuntos de políticas, ao seu cluster.
Use políticas incorporadas do Azure para cenários comuns, como impedir a execução de containers privilegiados ou restringir endereços IP externos a uma lista de autorizações. Você também pode criar políticas personalizadas para casos de uso específicos.
Aplique definições de políticas ao seu cluster e verifique se a Política Azure aplica essas atribuições.
Use o Gatekeeper para configurar um controlador de admissão que permita ou negue implantações com base em regras especificadas. A Política do Azure estende o Gatekeeper.
Proteja o tráfego entre pods de carga de trabalho usando políticas de rede no AKS.
- Utilize Azure CNI Powered by Cilium como mecanismo de políticas de rede. O Cilium utiliza um plano de dados baseado em eBPF e suporta políticas nativas Kubernetes, políticas de camada 7 e filtragem FQDN.
Boa prática: Use o Azure Monitor para monitorização contínua e alertas
Utilize Azure Monitor para recolher logs e métricas do AKS. Recolha as métricas Prometheus através do serviço de monitorização gerido do Azure para Prometheus, consulte os logs de contentores e de plataformas no Log Analytics, e visualize a saúde do cluster através dos dashboards do Azure Managed Grafana.
O Azure Monitor estende a monitorização contínua aos pipelines de lançamento. Use os dados de monitorização para aprovar ou reverter os lançamentos. O Azure Monitor também ingere registos de segurança e alertas sobre atividade suspeita.
Integre suas instâncias AKS ao Azure Monitor e defina configurações de diagnóstico para seu cluster.
Para mais informações, consulte a base de segurança do Azure para AKS.
Melhores práticas: Use o Defender for Cloud para monitorização ativa de ameaças
O Defender for Cloud fornece monitorização ativa de ameaças para o AKS ao nível do nó (ameaças VM) e cargas de trabalho do cluster.
Use o Defender para DevOps para obter uma visibilidade abrangente de todos os pipelines CI/CD. Proporciona às equipas de segurança e operadores um painel centralizado. Beneficia especialmente desta visibilidade centralizada quando utiliza plataformas de múltiplos pipelines como Azure DevOps e GitHub ou executa pipelines em clouds públicas.
O Defender for Key Vault deteta tentativas invulgares e suspeitas de aceder a contas de Key Vault e pode enviar alertas aos administradores com base na configuração.
O Defender for Containers pode alertar sobre vulnerabilidades encontradas nas imagens dos seus contentores armazenadas no Container Registry.
Melhores práticas: Permitir a monitorização centralizada dos registos e utilizar produtos SIEM para monitorizar ameaças de segurança em tempo real
- Ligue os registos de diagnóstico do AKS ao Microsoft Sentinel para monitorização centralizada de segurança baseada em padrões e regras. O Microsoft Sentinel permite este acesso através de conectores de dados.
Melhores práticas: Ative o registo de auditoria para monitorizar a atividade nos seus clusters de produção
Use registos de atividade para monitorizar ações nos recursos AKS e visualizar toda a atividade e o seu estado. Determinar quem realizou que operações nos recursos.
Ative o registo de consultas do Sistema de Nomes de Domínio (DNS ) aplicando a configuração documentada no seu ConfigMap personalizado CoreDNS.
Monitore as tentativas de acessar credenciais desativadas.
Integrar autenticação de utilizadores para AKS com o Microsoft Entra ID. Crie definições de diagnóstico para o Microsoft Entra ID e envie os registos de auditoria e de início de sessão para um espaço de trabalho de Log Analytics. No espaço de trabalho Log Analytics, configure alertas para eventos de segurança, como tentativas de iniciar sessão de contas desativadas.
Melhores práticas: Ative diagnósticos nos seus recursos Azure
- Ative os diagnósticos Azure em todos os recursos da sua carga de trabalho para aceder aos registos da plataforma que fornecem informação detalhada de diagnóstico e auditoria. Pode integrar estes logs no Log Analytics ou numa solução SIEM como o Microsoft Sentinel para monitorização e alertas de segurança.
Contribuidores
A Microsoft mantém este artigo. Os seguintes colaboradores escreveram este artigo.
Autor principal:
- Adnan Khan | Arquiteto de Soluções em Nuvem Sr.
Outros contribuidores:
- Ayobami Ayodeji | Gestor de Programas 2
- Ahmed Bham | Arquiteto de Soluções de Nuvem Sênior
Chad Kittel | Engenheiro Principal de Software - Azure Patterns & Practices- John Poole | Arquiteto de Soluções Cloud Sr.
- Bahram Rushenas | Arquiteto de Soluções Sénior
- Abed Sau | Arquiteto Sénior de Soluções Cloud
Para ver perfis não públicos do LinkedIn, faça login no LinkedIn.
Passos seguintes
- Defensor para Contentores
- DevOps seguro
- Segurança em DevOps (DevSecOps)
- Segurança Avançada do GitHub