Benchmark do Azure Linux do Center for Internet Security (CIS)
A configuração do SO de segurança aplicada à imagem do Azure Linux Container Host for AKS baseia-se na linha de base de segurança do Azure Linux, que se alinha com o benchmark CIS. Como um serviço seguro, o AKS está em conformidade com as normas SOC, ISO, PCI DSS e HIPAA. Para obter mais informações sobre a segurança do Host de Contêiner Linux do Azure, consulte Conceitos de segurança para clusters no AKS. Para saber mais sobre o benchmark CIS, consulte Center for Internet Security (CIS) Benchmarks. 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.
Azure Linux 2.0
Este sistema operacional Azure Linux Container Host é baseado na imagem do Azure Linux 2.0 com configurações de segurança internas aplicadas.
Como parte do sistema operacional com segurança otimizada:
- O AKS e o Azure Linux fornecem um sistema operacional host otimizado para segurança por padrão, sem opção para selecionar um sistema operacional alternativo.
- O sistema operacional host otimizado para segurança é construído e mantido especificamente para o AKS e não é suportado fora da plataforma AKS.
- Drivers de módulo do kernel desnecessários foram desativados no sistema operacional para reduzir a superfície de ataque.
Recomendações
A tabela abaixo tem quatro seções:
- ID do CIS: O ID da regra associada a cada uma das regras de linha de base.
- Descrição da recomendação: Descrição da recomendação emitida pelo índice de referência do SIA.
- Nível: L1, ou Nível 1, recomenda requisitos básicos essenciais de segurança que podem ser configurados em qualquer sistema e devem causar pouca ou nenhuma interrupção do serviço ou funcionalidade reduzida.
- Estado:
- Passe - A recomendação foi aplicada.
- Reprovado - A recomendação não foi aplicada.
- N/A - A recomendação refere-se aos requisitos de permissão de arquivo de manifesto que não são relevantes para o AKS.
- Depende do ambiente - A recomendação é aplicada no ambiente específico do usuário e não é controlada pelo AKS.
- Controlo equivalente - A recomendação foi implementada de uma forma equivalente diferente.
- Motivo:
- Potencial impacto da operação - A recomendação não foi aplicada porque teria um efeito negativo no serviço.
- Coberto em outro lugar - A recomendação é coberta por outro controle na computação em nuvem do Azure.
A seguir estão os resultados das recomendações do CIS Azure Linux 2.0 Benchmark v1.0 com base nas regras do CIS:
CIS ID | Descrição da recomendação | Status | Razão |
---|---|---|---|
1.1.4 | Desativar a montagem automática | Aprovação | |
1.1.1.1 | Verifique se a montagem de sistemas de arquivos cramfs está desativada | Aprovação | |
1.1.2.1 | Verifique se /tmp é uma partição separada | Aprovação | |
1.1.2.2 | Verifique se a opção nodev está definida na partição /tmp | Aprovação | |
1.1.2.3 | Certifique-se de que a opção nosuid esteja definida na partição /tmp | Aprovação | |
1.1.8.1 | Garantir que a opção nodev esteja definida na partição /dev/shm | Aprovação | |
1.1.8.2 | Certifique-se de que a opção nosuid esteja definida na partição /dev/shm | Aprovação | |
1.2.1 | Verifique se o DNF gpgcheck está ativado globalmente | Aprovação | |
1.2.2 | Verifique se o TDNF gpgcheck está ativado globalmente | Aprovação | |
1.5.1 | Verifique se o armazenamento de dump principal está desativado | Aprovação | |
1.5.2 | Garantir que os backtraces de despejo principais estejam desativados | Aprovação | |
1.5.3 | Verifique se a ASLR (randomização do layout do espaço de endereço) está habilitada | Aprovação | |
1.7.1 | Verifique se o banner de aviso de login local está configurado corretamente | Aprovação | |
1.7.2 | Verifique se o banner de aviso de login remoto está configurado corretamente | Aprovação | |
1.7.3 | Verifique se as permissões em /etc/motd estão configuradas | Aprovação | |
1.7.4 | Verifique se as permissões em /etc/issue estão configuradas | Aprovação | |
1.7.5 | Verifique se as permissões em /etc/issue.net estão configuradas | Aprovação | |
2.1.1 | Garantir que a sincronização de tempo esteja em uso | Aprovação | |
2.1.2 | Verifique se a cronia está configurada | Aprovação | |
2.2.1 | Verifique se o xinetd não está instalado | Aprovação | |
2.2.2 | Verifique se o xorg-x11-server-common não está instalado | Aprovação | |
2.2.3 | Certifique-se de que o avahi não está instalado | Aprovação | |
2.2.4 | Verifique se um servidor de impressão não está instalado | Aprovação | |
2.2.5 | Verifique se um servidor dhcp não está instalado | Aprovação | |
2.2.6 | Verifique se um servidor dns não está instalado | Aprovação | |
2.2.7 | Verifique se o cliente FTP não está instalado | Aprovação | |
2.2.8 | Verifique se um servidor ftp não está instalado | Aprovação | |
2.2.9 | Verifique se um servidor tftp não está instalado | Aprovação | |
2.2.10 | Verifique se um servidor Web não está instalado | Aprovação | |
2.2.11 | Verifique se o servidor IMAP e POP3 não está instalado | Aprovação | |
2.2.12 | Verifique se o Samba não está instalado | Aprovação | |
2.2.13 | Verifique se o Servidor Proxy HTTP não está instalado | Aprovação | |
2.2.14 | Verifique se o net-snmp não está instalado ou se o serviço snmpd não está habilitado | Aprovação | |
2.2.15 | Verifique se o servidor NIS não está instalado | Aprovação | |
2.2.16 | Verifique se o servidor telnet não está instalado | Aprovação | |
2.2.17 | Verifique se o agente de transferência de email está configurado para o modo somente local | Aprovação | |
2.2.18 | Verifique se o nfs-utils não está instalado ou se o serviço nfs-server está mascarado | Aprovação | |
2.2.19 | Verifique se o rsync-daemon não está instalado ou se o serviço rsyncd está mascarado | Aprovação | |
2.3.1 | Verifique se o NIS Client não está instalado | Aprovação | |
2.3.2 | Verifique se o cliente rsh não está instalado | Aprovação | |
2.3.3 | Verifique se o cliente de conversa não está instalado | Aprovação | |
2.3.4 | Verifique se o cliente telnet não está instalado | Aprovação | |
2.3.5 | Verifique se o cliente LDAP não está instalado | Aprovação | |
2.3.6 | Verifique se o cliente TFTP não está instalado | Aprovação | |
3.1.1 | Verifique se o IPv6 está habilitado | Aprovação | |
3.2.1 | Verifique se o envio de redirecionamento de pacotes está desativado | Aprovação | |
3.3.1 | Verifique se os pacotes roteados de origem não são aceitos | Aprovação | |
3.3.2 | Verifique se os redirecionamentos ICMP não são aceitos | Aprovação | |
3.3.3 | Garantir que redirecionamentos ICMP seguros não sejam aceitos | Aprovação | |
3.3.4 | Garantir que pacotes suspeitos sejam registrados | Aprovação | |
3.3.5 | Verifique se as solicitações ICMP de difusão são ignoradas | Aprovação | |
3.3.6 | Garantir que respostas ICMP falsas sejam ignoradas | Aprovação | |
3.3.7 | Verifique se a Filtragem de Caminho Inverso está ativada | Aprovação | |
3.3.8 | Verifique se os cookies TCP SYN estão ativados | Aprovação | |
3.3.9 | Verifique se os anúncios do roteador IPv6 não são aceitos | Aprovação | |
3.4.3.1.1 | Verifique se o pacote iptables está instalado | Aprovação | |
3.4.3.1.2 | Verifique se o nftables não está instalado com iptables | Aprovação | |
3.4.3.1.3 | Verifique se o firewalld não está instalado ou mascarado com iptables | Aprovação | |
4.2 | Verifique se o logrotate está configurado | Aprovação | |
4.2.2 | Verifique se todos os arquivos de log têm o acesso apropriado configurado | Aprovação | |
4.2.1.1 | Verifique se o rsyslog está instalado | Aprovação | |
4.2.1.2 | Verifique se o serviço rsyslog está ativado | Aprovação | |
4.2.1.3 | Verifique se as permissões de arquivo padrão rsyslog estão configuradas | Aprovação | |
4.2.1.4 | Verifique se o registro em log está configurado | Aprovação | |
4.2.1.5 | Verifique se o rsyslog não está configurado para receber logs de um cliente remoto | Aprovação | |
5.1.1 | Verifique se o daemon cron está ativado | Aprovação | |
5.1.2 | Verifique se as permissões em /etc/crontab estão configuradas | Aprovação | |
5.1.3 | Verifique se as permissões em /etc/cron.hourly estão configuradas | Aprovação | |
5.1.4 | Verifique se as permissões em /etc/cron.daily estão configuradas | Aprovação | |
5.1.5 | Verifique se as permissões em /etc/cron.weekly estão configuradas | Aprovação | |
5.1.6 | Verifique se as permissões em /etc/cron.monthly estão configuradas | Aprovação | |
5.1.7 | Verifique se as permissões em /etc/cron.d estão configuradas | Aprovação | |
5.1.8 | Certifique-se de que o cron é restrito a usuários autorizados | Aprovação | |
5.1.9 | Certifique-se de que é restrito a usuários autorizados | Aprovação | |
5.2.1 | Verifique se as permissões em /etc/ssh/sshd_config estão configuradas | Aprovação | |
5.2.2 | Verifique se as permissões nos arquivos de chave de host privado SSH estão configuradas | Aprovação | |
5.2.3 | Verifique se as permissões nos arquivos de chave de host pública SSH estão configuradas | Aprovação | |
5.2.4 | Garantir que o acesso SSH seja limitado | Aprovação | |
5.2.5 | Verifique se o SSH LogLevel é apropriado | Aprovação | |
5.2.6 | Verifique se o SSH PAM está habilitado | Aprovação | |
5.2.7 | Verifique se o login raiz SSH está desativado | Aprovação | |
5.2.8 | Verifique se a autenticação baseada em host SSH está desabilitada | Aprovação | |
5.2.9 | Verifique se o SSH PermitEmptyPasswords está desativado | Aprovação | |
5.2.10 | Verifique se o SSH PermitUserEnvironment está desativado | Aprovação | |
5.2.11 | Verifique se o SSH IgnoreRhosts está habilitado | Aprovação | |
5.2.12 | Certifique-se de que apenas cifras fortes sejam usadas | Aprovação | |
5.2.13 | Certifique-se de que apenas algoritmos MAC fortes sejam usados | Aprovação | |
5.2.14 | Certifique-se de que apenas algoritmos fortes de troca de chaves sejam usados | Aprovação | |
5.2.15 | Verifique se o banner de aviso SSH está configurado | Aprovação | |
5.2.16 | Verifique se o SSH MaxAuthTries está definido como 4 ou menos | Aprovação | |
5.2.17 | Verifique se o SSH MaxStartups está configurado | Aprovação | |
5.2.18 | Certifique-se de que SSH LoginGraceTime está definido para um minuto ou menos | Aprovação | |
5.2.19 | Verifique se o SSH MaxSessions está definido como 10 ou menos | Aprovação | |
5.2.20 | Verifique se o intervalo de tempo limite ocioso SSH está configurado | Aprovação | |
5.3.1 | Verifique se o sudo está instalado | Aprovação | |
5.3.2 | Garantir que a reautenticação para escalonamento de privilégios não esteja desabilitada globalmente | Aprovação | |
5.3.3 | Verifique se o tempo limite de autenticação sudo está configurado corretamente | Aprovação | |
5.4.1 | Verifique se os requisitos de criação de senha estão configurados | Aprovação | |
5.4.2 | Verifique se o bloqueio para tentativas de senha com falha está configurado | Aprovação | |
5.4.3 | Verifique se o algoritmo de hash de senha é SHA-512 | Aprovação | |
5.4.4 | Verifique se a reutilização da senha é limitada | Aprovação | |
5.5.2 | Garantir que as contas do sistema estejam seguras | Aprovação | |
5.5.3 | Verifique se o grupo padrão para a conta raiz é GID 0 | Aprovação | |
5.5.4 | Verifique se o usuário padrão umask é 027 ou mais restritivo | Aprovação | |
5.5.1.1 | Verifique se a expiração da senha é de 365 dias ou menos | Aprovação | |
5.5.1.2 | Garantir que o número mínimo de dias entre as alterações de senha esteja configurado | Aprovação | |
5.5.1.3 | Verifique se os dias de aviso de expiração da senha são 7 ou mais | Aprovação | |
5.5.1.4 | Verifique se o bloqueio de senha inativo é de 30 dias ou menos | Aprovação | |
5.5.1.5 | Verifique se a data da última alteração de senha de todos os usuários está no passado | Aprovação | |
6.1.1 | Verifique se as permissões em /etc/passwd estão configuradas | Aprovação | |
6.1.2 | Verifique se as permissões em /etc/passwd- estão configuradas | Aprovação | |
6.1.3 | Verifique se as permissões em /etc/group estão configuradas | Aprovação | |
6.1.4 | Verifique se as permissões em /etc/group- estão configuradas | Aprovação | |
6.1.5 | Verifique se as permissões em /etc/shadow estão configuradas | Aprovação | |
6.1.6 | Verifique se as permissões em /etc/shadow- estão configuradas | Aprovação | |
6.1.7 | Verifique se as permissões em /etc/gshadow estão configuradas | Aprovação | |
6.1.8 | Verifique se as permissões em /etc/gshadow- estão configuradas | Aprovação | |
6.1.9 | Certifique-se de que não existem arquivos ou diretórios não pertencentes ou não agrupados | Aprovação | |
6.1.10 | Garantir que os arquivos e diretórios graváveis do mundo estejam protegidos | Aprovação | |
6.2.1 | Verifique se os campos de senha não estão vazios | Aprovação | |
6.2.2 | Certifique-se de que todos os grupos em /etc/passwd existam em /etc/group | Aprovação | |
6.2.3 | Certifique-se de que não existem UIDs duplicados | Aprovação | |
6.2.4 | Certifique-se de que não existem GIDs duplicados | Aprovação | |
6.2.5 | Certifique-se de que não existem nomes de utilizador duplicados | Aprovação | |
6.2.6 | Certifique-se de que não existem nomes de grupo duplicados | Aprovação | |
6.2.7 | Garantir a integridade do PATH raiz | Aprovação | |
6.2.8 | Verifique se root é a única conta UID 0 | Aprovação | |
6.2.9 | Verifique se todos os diretórios base dos usuários existem | Aprovação | |
6.2.10 | Garantir que os usuários possuam seus diretórios base | Aprovação | |
6.2.11 | Verifique se as permissões dos diretórios base dos usuários são 750 ou mais restritivas | Aprovação | |
6.2.12 | Certifique-se de que os arquivos de pontos dos usuários não sejam graváveis em grupo ou no mundo | Aprovação | |
6.2.13 | Verifique se os arquivos .netrc dos usuários não estão acessíveis em grupo ou no mundo | Aprovação | |
6.2.14 | Certifique-se de que nenhum usuário tenha arquivos .forward | Aprovação | |
6.2.15 | Certifique-se de que nenhum usuário tenha arquivos .netrc | Aprovação | |
6.2.16 | Certifique-se de que nenhum usuário tenha arquivos .rhosts | Aprovação |
Próximos passos
Para obter mais informações sobre a segurança do Azure Linux Container Host, consulte os seguintes artigos:
Azure Kubernetes Service