Partilhar via


Alinhamento de imagem do Ubuntu do AKS (Serviço de Kubernetes do Azure) com o parâmetro de comparação DO CIS (Center for Internet Security)

Como um serviço seguro, o AKS (Serviço de Kubernetes do Azure) está em conformidade com os padrões SOC, ISO, PCI DSS e HIPAA. Este artigo aborda a configuração do sistema operacional de segurança aplicada à imagem do Ubuntu usada pelo AKS. Essa configuração de segurança se baseia na linha de base de segurança do Linux do Azure, que se alinha com o parâmetro de comparação CIS. Para saber mais sobre a segurança do AKS, confira Conceitos de segurança para aplicativos e clusters no AKS (Serviço de Kubernetes do Azure). Para saber mais sobre a segurança do AKS, confira Conceitos de segurança para aplicativos e clusters no AKS (Serviço de Kubernetes do Azure). Para obter mais informações sobre o benchmark do CIS, consulte Benchmarks do CIS (Center for Internet Security). Para obter mais informações sobre as linhas de base de segurança do Azure para Linux, consulte Linha de base de segurança do Linux.

Ubuntu LTS 18.04

Os clusters do AKS são implantados em máquinas virtuais do host, que executam um sistema operacional com configurações seguras internas. Esse sistema operacional é usado para contêineres em execução no AKS. Esse sistema operacional do host é baseado em uma imagem Ubuntu 18.04.LTS com configurações de segurança aplicadas.

Como parte do sistema operacional com otimização de segurança:

  • O AKS fornece um sistema operacional de host com otimização de segurança por padrão, mas nenhuma opção para selecionar um sistema operacional alternativo.
  • O sistema operacional do host otimizado para segurança é criado e mantido especificamente para o AKS e não tem suporte fora da plataforma AKS.
  • Alguns drivers de módulo de kernel desnecessários foram desabilitados no sistema operacional para reduzir a área de superfície de ataque.

Observação

Não relacionado aos parâmetros de comparação CIS, Azure aplica patches diários (incluindo patches de segurança) a hosts de máquina virtual do AKS.

O objetivo da configuração segura criada no sistema operacional do host é reduzir a área de ataque e otimizar para a implantação de contêineres de maneira segura.

A seguir estão os resultados das recomendações do Ubuntu do CIS 18.04 Parâmetro de Comparação do LTS v2.1.0.

As recomendações podem ter um dos seguintes motivos:

  • Impacto potencial da operação – A recomendação não foi aplicada porque teria um efeito negativo sobre o serviço.
  • Coberto em outro lugar – A recomendação é coberta por outro controle na computação em nuvem do Azure.

Veja a seguir as regras de CIS implementadas:

Número de parágrafo CIS Descrição da recomendação Status Motivo
1 Configuração inicial
1,1 Configuração do Filesystem
1.1.1 Desabilitar filesystems não utilizados
1.1.1.1 Verifique se a montagem dos sistemas de arquivos cramfs está desabilitada Aprovado
1.1.1.2 Verifique se a montagem dos sistemas de arquivos freevxfs está desabilitada Aprovado
1.1.1.3 Verifique se a montagem dos sistemas de arquivos jffs2 está desabilitada Aprovado
1.1.1.4 Verifique se a montagem dos sistemas de arquivos hfs está desabilitada Aprovado
1.1.1.5 Verifique se a montagem dos sistemas de arquivos hfsplus está desabilitada Aprovado
1.1.1.6 Verifique se a montagem dos sistemas de arquivos udf está desabilitada Falha Impacto operacional potencial
1.1.2 Verifique se /tmp está configurado Falha
1.1.3 Verifique se a opção nodev foi definida na partição /tmp Falha
1.1.4 Verifique se a opção nosuid foi definida na partição /tmp Aprovado
1.1.5 Verifique se a opção noexec está definida na partição /tmp Aprovado
1.1.6 Verifique se /dev/shm está configurado Aprovado
1.1.7 Verifique se a opção nodev foi definida na partição /dev/shm Aprovado
1.1.8 Verifique se a opção nosuid foi definida na partição /dev/shm Aprovado
1.1.9 Verifique se a opção noexec foi definida na partição /dev/shm Falha Impacto operacional potencial
1.1.12 Verifique se a partição /var/tmp inclui a opção nodev Aprovado
1.1.13 Verifique se a partição /var/tmp inclui a opção nosuid Aprovado
1.1.14 Verifique se a partição /var/tmp inclui a opção noexec Aprovado
1.1.18 Verifique se a partição /home inclui a opção nodev Aprovado
1.1.19 Verifique se a opção nodev está definida nas partições de mídia removíveis Não Aplicável
1.1.20 Verifique se a opção nosuid está definida nas partições de mídia removíveis Não Aplicável
1.1.21 Verifique se a opção noexec está definida nas partições de mídia removíveis Não Aplicável
1.1.22 Verifique se o bit fixo está definido em todos os diretórios graváveis universais Falha Impacto potencial da operação
1.1.23 Desabilitar a montagem automática Aprovado
1.1.24 Desabilitar Armazenamento USB Aprovado
1.2 Configurar as atualizações de software
1.2.1 Verifique se os repositórios do gerenciador de pacotes estão configurados Aprovado Coberto em outro lugar
1.2.2 Verifique se as chaves GPG estão configuradas Não Aplicável
1,3 Verificação de integridade do Filesystem
1.3.1 Verifique se o AIDE está instalado Falha Coberto em outro lugar
1.3.2 Verifique se a integridade do filesystem é verificada regularmente Falha Coberto em outro lugar
1.4 Configurações de Inicialização Segura
1.4.1 Certifique-se de que as permissões na configuração do carregador de inicialização não sejam substituídas Falha
1.4.2 Verifique se a senha do bootloader está definida Falha Não Aplicável
1.4.3 Verifique se as permissões na configuração do carregador de inicialização foram definidas Falha
1.4.4 Verifique a autenticação necessária para o modo de usuário único Falha Não Aplicável
1.5 Proteção de processo adicional
1.5.1 Verifique se o suporte ao XD/NX está habilitado Não Aplicável
1.5.2 Verifique se o ASLR (layout de espaço de endereço aleatório) está habilitada Aprovado
1.5.3 Verifique se o Prelink está desabilitado Aprovado
1.5.4 Verifique se os despejos de núcleo são restritos Aprovado
1.6 Controle de Acesso Obrigatório
1.6.1 Configurar AppArmor
1.6.1.1 Verifique se AppArmor está instalado Aprovado
1.6.1.2 Verifique se AppArmor está habilitado na configuração do bootloader Falha Impacto potencial da operação
1.6.1.3 Verifique se todos os Perfis AppArmor estão no modo de aplicação ou reclamação Aprovado
1.7 Faixas de aviso de linha de comando
1.7.1 Verifique se a mensagem do dia está configurada corretamente Aprovado
1.7.2 Verifique se as permissões em /etc/issue.net foram configuradas Aprovado
1.7.3 Verifique se as permissões em /etc/issue foram configuradas Aprovado
1.7.4 Verifique se as permissões em /etc/motd foram configuradas Aprovado
1.7.5 Verifique se a faixa de aviso de logon remoto foi configurada corretamente Aprovado
1.7.6 Verifique se a faixa de aviso de logon local foi configurada corretamente Aprovado
1.8 Gerenciador de Exibição do GNOME
1.8.2 Verifique se a faixa logon do GDM está configurada Aprovado
1.8.3 Verifique se a disable-user-list está habilitado Aprovado
1.8.4 Certifique-se de que o XDCMP não esteja habilitado Aprovado
1,9 Verifique se as atualizações, patches e softwares de segurança adicionais estão instalados Aprovado
2 Serviços
2.1 Serviços de Finalidade Especial
2.1.1 Sincronização de horário
2.1.1.1 Verifique se a sincronização de tempo está em uso Aprovado
2.1.1.2 Verifique se systemd-timesyncd está configurado Não Aplicável O AKS usa ntpd para timesync
2.1.1.3 Verifique se chrony está configurado Falha Coberto em outro lugar
2.1.1.4 Verifique se ntp está configurado Aprovado
2.1.2 Certifique-se de que o Sistema Windows X não esteja instalado Aprovado
2.1.3 Certifique-se de que o Servidor Avahi não esteja instalado Aprovado
2.1.4 Certifique-se de que o CUPS não esteja instalado Aprovado
2.1.5 Certifique-se de que o servidor DHCP não esteja instalado Aprovado
2.1.6 Certifique-se de que o servidor LDAP não esteja instalado Aprovado
2.1.7 Certifique-se de que o NFS não esteja instalado Aprovado
2.1.8 Certifique-se de que o servidor DNS não esteja instalado Aprovado
2.1.9 Certifique-se de que o servidor FTP não esteja instalado Aprovado
2.1.10 Certifique-se de que o servidor HTTP não esteja instalado Aprovado
2.1.11 Certifique-se de que os servidores IMAP e POP3 não estão instalados Aprovado
2.1.12 Certifique-se de que o Samba não esteja instalado Aprovado
2.1.13 Certifique-se de que o servidor proxy HTTP não esteja instalado Aprovado
2.1.14 Certifique-se de que o servidor SNMP não esteja instalado Aprovado
2.1.15 Verifique se o agente de transferência de email está configurado para o modo somente local Aprovado
2.1.16 Certifique-se de que o serviço rsync não esteja instalado Falha
2.1.17 Certifique-se de que o servidor NIS não esteja instalado Aprovado
2.2 Clientes de serviço
2.2.1 Certifique-se de que o cliente NIS não esteja instalado Aprovado
2.2.2 Certifique-se de que o cliente rsh não esteja instalado Aprovado
2.2.3 Certifique-se de que o cliente do Talk não esteja instalado. Aprovado
2.2.4 Certifique-se de que o cliente telnet não esteja instalado Falha
2.2.5 Certifique-se de que o cliente LDAP não esteja instalado Aprovado
2.2.6 Certifique-se de que o RPC não esteja instalado Falha Impacto operacional potencial
2.3 Verifique se os serviços não essenciais foram removidos ou mascarados Aprovado
3 Configuração de rede
3.1 Desabilitar protocolos e dispositivos de rede não utilizados
3.1.2 Verifique se as interfaces sem fio estão desabilitadas Aprovado
3.2 Parâmetros de rede (somente host)
3.2.1 Verifique se o envio de redirecionamento de pacotes foi desabilitado Aprovado
3.2.2 Verifique se o encaminhamento IP está desabilitado Falha Não Aplicável
3.3 Parâmetros de rede (host e roteador)
3.3.1 Certifique-se de que os pacotes roteados de origem não sejam aceitos Aprovado
3.3.2 Certifique-se de que os redirecionamentos ICMP não sejam aceitos Aprovado
3.3.3 Certifique-se de que os redirecionamentos ICMP seguros não sejam aceitos Aprovado
3.3.4 Verifique se pacotes suspeitos estão sendo registrados Aprovado
3.3.5 Verifique se as solicitações ICMP de difusão são ignoradas Aprovado
3.3.6 Verifique se as respostas falsas do ICMP foram ignoradas Aprovado
3.3.7 Verifique se a Filtragem de Caminho Reverso está habilitada Aprovado
3.3.8 Verifique se os Cookies SYN do TCP estão habilitados Aprovado
3.3.9 Certifique-se de que os anúncios do roteador IPv6 não sejam aceitos Aprovado
3.4 Protocolos de rede incomuns
3,5 Configuração do firewall
3.5.1 Configurar UncomplicatedFirewall
3.5.1.1 Verifique se ufw está instalado Aprovado
3.5.1.2 Verifique se iptables-persistent não está instalado com ufw Aprovado
3.5.1.3 Verifique se o serviço ufw está habilitado Falha Coberto em outro lugar
3.5.1.4 Verifique se o tráfego de loopback do ufw está configurado Falha Coberto em outro lugar
3.5.1.5 Verifique se as conexões de saída do ufw estão configuradas Não Aplicável Coberto em outro lugar
3.5.1.6 Verifique se existem regras de firewall do ufw para todas as portas abertas Não Aplicável Coberto em outro lugar
3.5.1.7 Verifique a política de firewall de negação padrão ufw Falha Coberto em outro lugar
3.5.2 Configurar nftables
3.5.2.1 Verifique se iptables está instalado Falha Coberto em outro lugar
3.5.2.2 Verifique se ufw está desinstalado ou desabilitado com nftables Falha Coberto em outro lugar
3.5.2.3 Verifique se iptables são liberados com nftables Não Aplicável Coberto em outro lugar
3.5.2.4 Verifique se existe uma tabela nftables Falha Coberto em outro lugar
3.5.2.5 Verifique e existem cadeias base de nftables Falha Coberto em outro lugar
3.5.2.6 Verifique se o tráfego de loopback de nftables está configurado Falha Coberto em outro lugar
3.5.2.7 Verifique se as conexões de saída e estabelecidas de nftables estão configuradas Não Aplicável Coberto em outro lugar
3.5.2.8 Verifique a política de firewall de negação padrão de nftables Falha Coberto em outro lugar
3.5.2.9 Verifique se o serviço nftables está habilitado Falha Coberto em outro lugar
3.5.2.10 Verifique se as regras de nftables são permanentes Falha Coberto em outro lugar
3.5.3 Configurar iptables
3.5.3.1 Configurar o software iptables
3.5.3.1.1 Verifique se os pacotes iptables estão instalados Falha Coberto em outro lugar
3.5.3.1.2 Verifique se nftables não estão instalados com iptables Aprovado
3.5.3.1.3 Verifique se ufw está desinstalado ou desabilitado com iptables Falha Coberto em outro lugar
3.5.3.2 Configurar iptables IPv4
3.5.3.2.1 Verifique a política de firewall de negação padrão de iptables Falha Coberto em outro lugar
3.5.3.2.2 Verifique se o tráfego de loopback de iptables está configurado Falha Não Aplicável
3.5.3.2.3 Verifique se as conexões de saída e estabelecidas de iptables estão configuradas Não Aplicável
3.5.3.2.4 Verifique se existem regras de firewall de iptables para todas as portas abertas Falha Impacto potencial da operação
3.5.3.3 Configurar ip6tables IPv6
3.5.3.3.1 Verifique a política de firewall de negação padrão de ip6tables Falha Coberto em outro lugar
3.5.3.3.2 Verifique se o tráfego de loopback de ip6tables está configurado Falha Coberto em outro lugar
3.5.3.3.3 Verifique se as conexões de saída e estabelecidas de ip6tables estão configuradas Não Aplicável Coberto em outro lugar
3.5.3.3.4 Verifique se existem regras de firewall de ip6tables para todas as portas abertas Falha Coberto em outro lugar
4 Registro em log e auditoria
4.1 Configurar a Contabilidade do Sistema (auditd)
4.1.1.2 Verifique se a auditoria está habilitada
4.1.2 Configurar retenção de dados
4.2 Configurar o registro em log
4.2.1 Configurar o rsyslog
4.2.1.1 Verifique se rsyslog está instalado Aprovado
4.2.1.2 Verifique se o serviço rsyslog está habilitado Aprovado
4.2.1.3 Verifique se o registro em log foi configurado Aprovado
4.2.1.4 Verifique se as permissões de arquivo padrão do rsyslog estão configuradas Aprovado
4.2.1.5 Verifique se o rsyslog está configurado para enviar logs para um host de log remoto Falha Coberto em outro lugar
4.2.1.6 Verifique se as mensagens rsyslog remotas são aceitas somente em hosts de log designados. Não Aplicável
4.2.2 Configurar journald
4.2.2.1 Verifique se journald está configurado para enviar logs para rsyslog Aprovado
4.2.2.2 Verifique se journald está configurado para compactar arquivos de log grandes Falha
4.2.2.3 Verifique se journald está configurado para gravar logfiles em disco persistente Aprovado
4.2.3 Verifique se as permissões em todos os logfiles estão configuradas Falha
4.3 Verifique se logrotate está configurado Aprovado
4.4 Verifique se logrotate atribui permissões apropriadas Falha
5 Acesso, autenticação e autorização
5.1 Configurar agendadores de trabalho baseados em tempo
5.1.1 Verifique se cron daemon está habilitado e em execução Aprovado
5.1.2 Verifique se as permissões em /etc/crontab foram configuradas Aprovado
5.1.3 Verifique se as permissões em /etc/cron.hourly foram configuradas Aprovado
5.1.4 Verifique se as permissões em /etc/cron.daily foram configuradas Aprovado
5.1.5 Verifique se as permissões em /etc/cron.weekly foram configuradas Aprovado
5.1.6 Verifique se as permissões em /etc/cron.monthly foram configuradas Aprovado
5.1.7 Verifique se as permissões em /etc/cron.d foram configuradas Aprovado
5.1.8 Verifique se cron está restrito aos usuários autorizados Falha
5.1.9 Verifique se at está restrito aos usuários autorizados Falha
5.2 Configurar sudo
5.2.1 Verifique se sudo está instalado Aprovado
5.2.2 Verifique se os comandos sudo usam pty Falha Impacto operacional potencial
5.2.3 Verifique se o arquivo de log sudo exista Falha
5,3 Configurar SSH Server
5.3.1 Verifique se as permissões em /etc/ssh/sshd_config foram definidas Aprovado
5.3.2 Verifique se as permissões nos arquivos chave de host SSH privado estão configuradas Aprovado
5.3.3 Verifique se as permissões nos arquivos chave de host SSH público estão configuradas Aprovado
5.3.4 Garantir que o acesso SSH seja limitado Aprovado
5.3.5 Verifique se SSH LogLevel é apropriado Aprovado
5.3.7 Verifique se o MaxAuthTries do SSH está definido como 4 ou menos Aprovado
5.3.8 Verifique se SSH IgnoreRhosts está habilitado Aprovado
5.3.9 Verifique se SSH HostbasedAuthentication está desabilitado Aprovado
5.3.10 Verifique se o logon raiz do SSH está desabilitado Aprovado
5.3.11 Verifique se o SSH PermitEmptyPasswords está desabilitado Aprovado
5.3.12 Verifique se o PermitUserEnvironment do SSH está desabilitado Aprovado
5.3.13 Verifique se apenas criptografias fortes são usadas Aprovado
5.3.14 Verifique se apenas algoritmos MAC fortes são usados Aprovado
5.3.15 Verifique se apenas algoritmos Key Exchange fortes são usados Aprovado
5.3.16 Verifique se o intervalo de tempo limite de ociosidade do SSH está configurado Falha
5.3.17 Verifique se o LoginGraceTime do SSH está definido para um minuto ou menos Aprovado
5.3.18 Verifique se a faixa de aviso do SSH está configurada Aprovado
5.3.19 Verifique se o SSH PAM está habilitado Aprovado
5.3.21 Verifique se o SSH MaxStartups está configurado Falha
5.3.22 Verifique se o SSH MaxSessions está limitado Aprovado
5.4 Configurar PAM
5.4.1 Verifique se os requisitos de criação de senha foram configurados Aprovado
5.4.2 Verifique se o bloqueio de tentativas de senha com falha foi configurado Falha
5.4.3 Verifique se a reutilização de senha é limitada Falha
5.4.4 Verifique se o algoritmo de hash da senha é SHA-512 Aprovado
5.5 Contas de usuário e ambiente
5.5.1 Definir parâmetros do Shadow Password Suite
5.5.1.1 Verifique se o mínimo de dias entre as alterações de senha foi configurado Aprovado
5.5.1.2 Verifique se a expiração da senha é de 365 dias ou menos Aprovado
5.5.1.3 Verifique se o tempo de aviso de expiração da senha é de 7 dias ou mais Aprovado
5.5.1.4 Verifique se o bloqueio de senha inativa é de 30 dias ou menos Aprovado
5.5.1.5 Verifique se a última data de alteração de senha de todos os usuários está no passado Falha
5.5.2 Verifique se as contas do sistema estão seguras Aprovado
5.5.3 Verifique se o grupo padrão da conta raiz é GID 0 Aprovado
5.5.4 Verifique se o usuário padrão umask é 027 ou mais restritivo Aprovado
5.5.5 Verifique se o tempo limite padrão do shell do usuário é de 900 segundos ou menos Falha
5.6 Verifique se o logon raiz está restrito ao console do sistema Não Aplicável
5.7 Verifique se o acesso ao comando su está restrito Falha Impacto potencial da operação
6 Manutenção do sistema
6.1 Permissões de arquivo do sistema
6.1.2 Verifique se as permissões em /etc/passwd foram configuradas Aprovado
6.1.3 Verifique se as permissões em /etc/passwd- foram configuradas Aprovado
6.1.4 Verifique se as permissões em /etc/group foram configuradas Aprovado
6.1.5 Verifique se as permissões em /etc/group- foram configuradas Aprovado
6.1.6 Verifique se as permissões em /etc/shadow foram configuradas Aprovado
6.1.7 Verifique se as permissões em /etc/shadow- foram configuradas Aprovado
6.1.8 Verifique se as permissões em /etc/gshadow foram configuradas Aprovado
6.1.9 Verifique se as permissões em /etc/gshadow- foram configuradas Aprovado
6.1.10 Verifique se não existe arquivo gravável mundial Falha Impacto potencial da operação
6.1.11 Verifique se não existe arquivo ou diretório sem dono Falha Impacto potencial da operação
6.1.12 Verifique se não existe arquivo ou diretório desagrupado Falha Impacto potencial da operação
6.1.13 Auditar arquivos executáveis SUID Não Aplicável
6.1.14 Auditar arquivos executáveis SGID Não Aplicável
6.2 Configurações de usuário e grupo
6.2.1 Verifique se as contas em /etc/passwd usam senhas sombreadas Aprovado
6.2.2 Certifique-se de que os campos de senha não estejam vazios Aprovado
6.2.3 Verifique se todos os grupos em /etc/passwd existem em /etc/Group Aprovado
6.2.4 Verifique se existem todos os diretórios base Aprovado
6.2.5 Verifique se os usuários possuem os diretórios base Aprovado
6.2.6 Verifique se as permissões de diretórios base dos usuários são 750 ou mais restritivas Aprovado
6.2.7 Verifique se os arquivos dot dos usuários não são editáveis por um grupo ou de usuários ou qualquer usuário Aprovado
6.2.8 Verifique se os usuários não possuem arquivos .netrc Aprovado
6.2.9 Verifique se os usuário não possuem arquivos .forward Aprovado
6.2.10 Verifique se os usuários não possem arquivos .rhosts Aprovado
6.2.11 Verifique se a raiz é a única conta UID 0 Aprovado
6.2.12 Verifique a integridade raiz do PATH Aprovado
6.2.13 Verifique se não existem UIDs duplicados Aprovado
6.2.14 Verifique se não existem GIDs duplicados Aprovado
6.2.15 Verifique se não existem nomes de usuário duplicados Aprovado
6.2.16 Verifique se não existem nomes de grupos duplicados Aprovado
6.2.17 Verifique se o grupo de sombra está vazio Aprovado

Próximas etapas

Para saber mais sobre a segurança do AKS, confira os seguintes artigos: