Considerações sobre segurança para o Red Hat Enterprise Linux no Azure
Este artigo descreve considerações e recomendações para implementar a segurança em seu ambiente Red Hat Enterprise Linux (RHEL). Para fornecer segurança para os sistemas RHEL, use uma abordagem direcionada a várias áreas. A segurança requer que todas as equipes trabalhem juntas para proteger suas cargas de trabalho. Os produtos ou as plataformas que você implanta não podem apenas garantir a segurança do seu ambiente.
Implemente e siga um processo rigoroso que englobe componentes comportamentais, administrativos e de engenharia. Ao implantar o RHEL em uma zona de destino do Azure, você precisa avaliar diversos fatores de segurança. Para criar um ambiente de nuvem seguro e resiliente, implemente uma abordagem estratégica que aplica mecanismos de segurança do Azure e da Red Hat.
Considerações sobre o design
Para fornecer segurança para sistemas RHEL, no Azure ou em outro lugar, certifique-se de começar com conteúdo verificado e validado. Em ambientes de nuvem modernos, binários e código podem se originar de uma ampla variedade de fontes. Como sua primeira consideração para sua implantação, proteja a cadeia de suprimentos de software.
Proteger imagens
Você pode encontrar imagens no Azure Marketplace e nas seções de oferta de produtos privados nas quais a Red Hat ou a Red Hat Limited nas regiões da Europa, do Oriente Médio e da África (EMEA) publica o registro. A Red Hat e a Microsoft verificam e validam essas imagens para garantir a integridade da origem e fornecer configurações padrão seguras para instâncias do sistema operacional RHEL.
Para atender aos requisitos de segurança de tempo de execução da sua organização para a carga de trabalho de destino, configure corretamente as instâncias que você cria a partir dessas imagens. Para ajudar a simplificar as medidas de segurança, use imagens publicadas da Red Hat do Azure Marketplace para implantar seus sistemas RHEL. Siga as orientações da Red Hat para obter especificações de sistema e imagem para sua carga de trabalho. Para reduzir a superfície de ataque, comece com uma imagem mínima do RHEL otimizada para Azure. Você não precisa criar e configurar todas as instâncias a partir dessa imagem base. Para atender a vários requisitos de proteção, recomendamos usar componentes combináveis para criar imagens específicas da carga de trabalho.
Você também pode usar as práticas do GitOps para desenvolver pipelines de imagem. Essa abordagem é uma metodologia superior. Esses pipelines colocam em camada os componentes combináveis, definidos como código de configuração, na imagem inicial para gerar as imagens de carga de trabalho.
Para usar imagens com eficiência, implemente as seguintes considerações:
Crie uma imagem base protegida que siga o modelo de privilégio mínimo para fornecer uma base sólida.
Coloque a configuração de software e segurança em camadas para promover a reutilização e seguir o ambiente operacional padrão e as melhores práticas de DevSecOps.
Use modelos de composição para imagens, a fim de reduzir o esforço de teste e qualificação e diminuir os custos de manutenção.
Use modelos de composição para aumentar a flexibilidade e acelerar o tempo de entrega para novas cargas de trabalho.
Automatize o processo de criação, teste e entrega de imagens para o modelo.
Atualizar imagens
Você também deve atualizar as imagens regularmente. É bem provável que as instâncias efêmeras tenham uma imagem mais atualizada porque você geralmente as implanta a partir de uma imagem atual. Porém, você deve atualizar regularmente as instâncias mais antigas usando um sistema central de aplicação de patch. Essa etapa ajuda você a pesquisar a condição de sistemas com patch aplicado em seu ambiente. Quando você minimiza a variabilidade da implantação, o ruído de monitoramento é reduzido e você pode identificar anomalias com mais precisão e rapidez. Essa abordagem aumenta a taxa de sucesso dos esforços de detecção e correção automatizadas.
Para manter controles de acesso rígidos, considere implementar um sistema centralizado. Muitos projetos de código aberto e aplicativos commercial off-the-shelf fornecem exemplos de implantação simples que usam contas locais ou chaves públicas implantadas localmente. Estes exemplos podem fornecer uma configuração segura, mas à medida que o volume de nuvem se expande, o esforço para manter a configuração localizada, mesmo com automação, pode se tornar problemático. A carga de automação aumenta linearmente com cada instância, mas a carga de registro e monitoramento de segurança pode aumentar a uma taxa exponencial. Essas alterações geram uma carga excessiva nos recursos de computação, armazenamento e análise. O controle de acesso centralizado reduz os pontos de configuração, o que reduz a carga de automação e registro, minimiza a alteração e simplifica a capacidade de auditoria, mantendo controles rígidos sobre o acesso a recursos.
Nas áreas em que sua carga de trabalho requer conformidade com padrões criptográficos e linhas de base de conformidade, considere usar recursos de plataforma integrados que dão suporte a padrões abertos para garantir a compatibilidade com as cargas de trabalho na nuvem. A Red Hat e a Microsoft aderem e participam de organizações de padronização mundiais e fornecem as ferramentas apropriadas. Por exemplo, muitos arquivos de configuração em uma instância individual têm configuração de codificação criptográfica para serviços e aplicativos do sistema. A variação pode ocorrer facilmente entre sistemas dentro de uma carga de trabalho de destino e em uma frota. Para definir suas medidas de conformidade, considere usar padrões abertos. As ferramentas da Red Hat e da Microsoft consomem formatos de arquivo padronizados para fornecer os dados de vulnerabilidade e configuração mais recentes. A Red Hat fornece feeds atualizados de Open Vulnerability and Assessment Language (OVAL) da equipe de Segurança de Produtos da Red Hat para os componentes da plataforma Red Hat.
O Azure apresenta oportunidades exclusivas para usar recursos específicos da nuvem e manter as melhores práticas de segurança e conformidade. Os recursos e serviços de segurança na infraestrutura do Azure incluem:
Início confiável para VMs: BIOS e configuração de instância segura. Você pode usar o início confiável para VMs para proteger o processo de inicialização, o que garante que as VMs sejam iniciadas com código verificado.
Azure Disk Encryption no Azure Key Vault: criptografar dados inativos. Para proteger os dados inativos, use o Azure Disk Encryption no Key Vault para gerenciar chaves e segredos de criptografia. O Key Vault oferece suporte a dois tipos de contêineres: cofres e pools HSM (módulo de segurança de hardware) gerenciados. Você pode armazenar software, chaves com suporte a HSM, segredos e certificados em cofres.
Microsoft Defender para Nuvem: garantir a auditoria centralizada do sistema. O Defender para Nuvem pode fornecer um visor centralizado para gerenciamento de segurança unificado e proteção contra ameaças.
Recomendações de design
Quando você projetar ambientes RHEL no Azure, aproveite os recursos de segurança nativos da Red Hat e os recursos de segurança da nuvem do Azure para garantir uma implantação robusta, segura e eficiente. Comece com uma imagem que você protege e cria com binários validados conhecidos. As imagens do RHEL no Azure Marketplace são simplificadas para fins de desempenho e segurança da nuvem. Se você tiver requisitos de segurança específicos para sua empresa, comece com sua própria imagem personalizada e protegida que você cria a partir de binários originados pela Red Hat. O Red Hat Satellite pode manter e gerenciar o código da Red Hat, da Microsoft e de parceiros ou seu código de aplicativo personalizado. O Satellite pode validar o código por meio de credenciais e assinaturas de conteúdo gerenciado. O RHEL verifica a consistência e a autenticidade do software desde a origem até o disco.
Quando você usa as ferramentas de gerenciamento do Azure e da Red Hat para desenvolver fluxos de trabalho automatizados, a Red Hat recomenda usar coleções da Ansible Automation Platform certificadas.
Verifique se seus fluxos de trabalho:
- Geram, mantêm e testam imagens de linha de base e carga de trabalho.
- Testam e implantam instâncias efêmeras.
- Testam o ciclo de patch e fornecem instâncias de VM persistente.
- Usam pipelines de automação. Os pipelines de automação reduzem significativamente o esforço de gerenciamento, garantem a imposição consistente de políticas, melhoram a detecção de anomalias e aceleram a correção em todas as zonas de destino do RHEL.
Considere também usar a Galeria de Computação do Azure. Você pode criar sua imagem do Red Hat com todos os mecanismos de segurança necessários que usa em sua organização, bem como pode criar uma imagem dessa VM. Em seguida, você pode compartilhar imagens em conformidade com a segurança entre assinaturas e regiões em seu ambiente do Azure. Você também pode usar o controle de versão para maior controle granular sobre imagens de VM. Essa abordagem ajuda a unificar os patches de segurança da instância de computação e as ferramentas que você usa em seu ambiente.
Considere implementar o Gerenciador de Atualizações do Azure como parte do processo de gerenciamento de atualizações. O Gerenciador de Atualizações é um serviço unificado que você pode usar para monitorar atualizações em suas implantações. Use o Gerenciador de Atualizações para pesquisar toda a sua frota de computadores no Azure, no local e em outras nuvens.
Gerenciar identidade e acesso
Para impor centralmente políticas de acesso rígidas, integre o Red Hat Identity Management (IdM). O IdM usa relações de confiança e integrações do OpenID Connect para consolidar a implementação nativa do Linux dos seguintes recursos em um modelo de segurança corporativa sem sincronização de credenciais.
- RBAC (controle de acesso baseado em função)
- Controle de acesso baseado em host
- Política de elevação de privilégio
- Política de mapeamento de usuário do SELinux
- Outros serviços críticos do Linux
Em comparação com as implantações tradicionais do Linux, essa abordagem gera benefícios, como:
- Controle simplificado de alterações por meio da redução de pontos de toque de automação.
- Diminuição da carga relacionada ao registro e à análise.
- Conformidade com os requisitos de auditoria de autenticação.
- Consistência da política.
O IdM oferece vantagens para gerenciar a política de segurança centralizada do Linux.
A Red Hat recomenda que você habilite e execute o SELinux em todas as instâncias baseadas em RHEL, incluindo ambientes de desenvolvimento, teste e produção. Por padrão, todas as imagens e instalações produzidas pela Red Hat podem executar o SELinux no modo de imposição. Ao projetar implantações de carga de trabalho, você pode executar o SELinux no modo permissivo para toda a instância ou para serviços individuais dentro da instância. Em seguida, as equipes de desenvolvimento, segurança e operações podem determinar as características de acesso dos aplicativos e usar os dados do log de auditoria com as ferramentas do SELinux para gerar a política apropriada do SELinux para a carga de trabalho de destino.
As ferramentas de geração de política do SELinux podem gerar arquivos de política baseados em RPM para incluir em repositórios de conteúdo para implantação de imagens padronizadas. As equipes de desenvolvimento, segurança e operações podem fornecer artefatos upstream de maneira iterativa no pipeline. Depois que o teste determinar que nenhuma violação do SELinux foi gerada, você poderá definir a configuração do SELinux para o modo de imposição. As violações do SELinux geradas durante a produção denotam um desvio significativo do comportamento aceitável do aplicativo. Você deve sinalizar e investigar essas violações. Use o SELinux para proporcionar visibilidade abrangente e gerenciamento proativo de ameaças.
Para definir as funções RBAC que você atribui aos computadores RHEL, entenda as funções e responsabilidades de sua equipe. As equipes relevantes podem precisar de acesso elevado às máquinas virtuais (VMs). Considere o Colaborador de Máquina Virtual, o Leitor da Máquina Virtual e as funções semelhantes para acessar as VMs. Considere o acesso just-in-time se você não precisar de acesso permanente. Considere as identidades gerenciadas se o sistema RHEL precisar se autenticar com o Azure. As identidades gerenciadas atribuídas pelo sistema proporcionam mais segurança do que as entidades de serviço e estão associadas ao recurso de VM. Além das funções RBAC, considere o acesso condicional para pessoas que precisam de acesso ao seu ambiente do Azure. Use o acesso condicional para restringir o acesso do usuário ao seu ambiente do Azure com base no local, no endereço IP e em outros critérios.
Usar software antivírus
Verifique se você tem o software antivírus apropriado no computador RHEL. Considere integrar o Microsoft Defender para Ponto de Extremidade no Linux para obter proteção contra as vulnerabilidades mais recentes. Tenha em mente que você não deve habilitar o Defender para Nuvem Standard nos computadores RHEL que você usa para hospedar bancos de dados SAP. Verifique se cada computador RHEL e carga de trabalho podem executar seu software de proteção de ponto de extremidade.
Gerenciar segredos
A Red Hat recomenda que você defina uma política de criptografia em todo o sistema em todas as instâncias, sempre que possível. Você pode caracterizar implantações de nuvem por diversidade. As equipes de carga de trabalho escolhem suas próprias bibliotecas, linguagens, utilitários e provedores de criptografia para atender às necessidades de suas soluções específicas. A implementação de padrões, a fatoração de componentes de aplicativos, a capacidade de composição e outras técnicas podem reduzir a variabilidade, mas você define configurações de criptografia para aplicativos e serviços em vários locais em uma determinada instância.
Para configurar novos componentes de forma sensata, é necessário um esforço significativo e, muitas vezes, um profundo conhecimento em criptografia. Políticas de criptografia desatualizadas ou configuradas incorretamente criam riscos. Uma política de criptografia em todo o sistema alinha a configuração dos principais subsistemas de criptografia, abrangendo os protocolos TLS, IPSec, DNSSEC (Extensões de Segurança do Sistema de Nomes de Domínio) e Kerberos. Uma política DEFAULT de criptografia em todo o sistema RHEL implementa uma configuração conservadora que elimina toda uma classe de ameaças, desabilitando protocolos de comunicação legados, como TLS v1.1 e versões anteriores. As políticas FUTURE e FIPS fornecem configurações mais rígidas. Você também pode criar políticas personalizadas.
Você pode incorporar ferramentas de conformidade de segurança e auditoria do sistema RHEL. Concentre-se na verificação e correção automatizadas que se alinham aos padrões do setor.
O daemon de auditoria do RHEL é auditd e o daemon de log central é journald. O Azure Monitor pode ingerir dados de auditd e journald para monitorar eventos de segurança do sistema RHEL e alimentar o Microsoft Sentinel ou outros serviços de SIEM (gerenciamento de eventos e informações de segurança).
Os sistemas RHEL que precisam atender à conformidade com o Guia de implementação técnica de segurança da Agência de Sistemas de Informação de Defesa (DISA-STIG) requerem o utilitário Advanced Intrusion Detection Environment (AIDE). Você deve registrar em log a saída do AIDE no Azure.
Monitore e integre-se ao Ansible Automation Platform para identificar, alertar e corrigir arquivos críticos do sistema.
Use componentes complementares no nível do sistema operacional em todas as instâncias de RHEL baseadas no Azure.
Impor a política de execução de código: use o daemon fapolicyd para limitar os aplicativos que podem ser executados na instância do RHEL.
Gerenciar tráfego de entrada e saída da instância: use o firewalld com NSGs (grupos de segurança de rede) do Azure para gerenciar com eficiência o tráfego para o norte e para o sul para as VMs.
Gerenciar centralmente a configuração por meio da automação: use a metodologia GitOps para garantir o gerenciamento consistente da configuração durante a implantação e continuamente durante as operações de manutenção de cargas de trabalho do RHEL.
Implementar o modo de conformidade FIPS para cargas de trabalho do governo: verifique se as instâncias RHEL designadas são executadas no modo FIPS para cumprir os padrões de criptografia. Use as ofertas de conformidade do Azure para ter uma postura de conformidade abrangente.
Sempre executar o SELinux: use o SELinux no modo permissivo para identificar perfis de acesso de carga de trabalho e garantir a política adequada para executar o SELinux no modo de imposição em VMs RHEL. O SELinux reduz significativamente a superfície de ataque em aplicativos e serviços executados no Azure.
Registre os servidores RHEL no Red Hat Insights por meio do Red Hat Satellite. O Red Hat Insights aproveita a análise do banco de dados de resolução de problemas da Red Hat. O Insights usa essa análise para identificar e gerar correções proativamente para problemas de implantação e configuração antes que eles afetem as operações. Essa estratégia aprimora a postura de segurança e a eficiência operacional. Toda assinatura do RHEL inclui o Insights. Todas as subscrições baseadas na nuvem do RHEL incluem uma assinatura do Red Hat Satellite. Ou então, você pode adquirir uma assinatura do Red Hat Satellite com suas assinaturas do RHEL do Cloud Access.
Observação
O Insights envia informações do sistema de telemetria fora do Azure.
Configurar a rede
Você pode aplicar NSGs ao nível de adaptador de rede ou nível de sub-rede. Recomendamos o nível de sub-rede, a menos que requisitos específicos exijam um NSG no nível de adaptador de rede. Essa abordagem simplifica o gerenciamento de comunicação da rede. Você pode usar grupos de segurança de aplicativos para permitir a comunicação de aplicativos, o que segmenta de forma holística a comunicação entre as sub-redes. Determine qual abordagem melhor se adapta ao seu cenário e verifique se os computadores RHEL têm acesso apropriado à Internet para os repositórios necessários. Talvez seja necessário incluir URLs na lista de permissões desses repositórios nos ambientes mais bloqueados. Os pontos de extremidade privados garantem que o único tráfego que um recurso do Azure pode receber por padrão seja o tráfego originado da rede do Azure, incluindo conexões locais se você tiver um gateway do Azure.
Implementar ferramentas SIEM ou SOAR
Considere o Microsoft Sentinel para ferramentas de orquestração, automação e resposta de segurança (SOAR) ou ferramentas SIEM para seus sistemas RHEL. O Microsoft Sentinel usa IA para adaptar a forma como ele detecta ameaças ao sistema. Você pode automatizar respostas a ataques por meio de runbooks. Use o Microsoft Sentinel para detecção proativa de ameaças, busca de ameaças e resposta a ameaças.
Considerar computação confidencial
O RHEL apresenta uma imagem confidencial para certas opções do sistema operacional RHEL. Considere os casos de uso da computação confidencial.