O ACK oferece o recurso de inspeção para verificar riscos de segurança nas configurações dos workloads do seu cluster. Após a execução de uma tarefa de inspeção, o sistema gera um relatório. Com esse relatório, você visualiza e trata itens de risco, além de monitorar o estado de integridade dos workloads em tempo real.
Pré-requisitos
O cluster deve executar o Kubernetes v1.14 ou posterior. Para atualizar seu cluster, consulte Atualizar manualmente um cluster ACK.
-
Se você for um usuário RAM, conclua a autorização RAM e a autorização RBAC conforme descrito nas seções a seguir.
-
Autorização RAM
Conclua a autorização RAM na página Inspections para garantir que o usuário RAM atual tenha permissões de uso da página Inspections no cluster atual. Caso contrário, as permissões serão insuficientes e não será possível utilizar os recursos da página Inspections. Para mais informações, consulte Conceder permissões para acessar clusters e recursos de nuvem usando o RAM.
Para utilizar o recurso de relatório de inspeção, conceda ao usuário RAM permissões de leitura no projeto especificado do Simple Log Service (SLS). Esse projeto é utilizado pelo componente de coleta de logs do seu cluster. Sem essas permissões, a visualização dos relatórios de inspeção ficará bloqueada. Para mais informações, consulte Exemplos de autorização RAM personalizada.
-
Autorização RBAC
Conclua a autorização RBAC para os recursos na página Inspections a fim de conceder permissões de administrador do cluster especificado ao usuário RAM. Isso garante que o usuário RAM tenha permissão para operar nos recursos Kubernetes da página Inspections. Para mais informações, consulte Usar RBAC para autorizar operações em recursos dentro de um cluster.
-
Executar uma inspeção
Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em .
-
Opcional: Siga as instruções na tela para instalar ou atualizar o componente de inspeção.
O componente security-inspector é gratuito, mas consome recursos de pod. Para mais informações sobre o componente e suas notas de versão, consulte security-inspector.
-
Execute uma inspeção.
ImportanteRecomendamos executar inspeções fora dos horários de pico.
Por padrão, a inspeção verifica todos os itens suportados. No canto superior direito da página Inspections, clique em Configure Periodic Inspection para especificar os itens a serem verificados. Para mais informações, consulte Itens de inspeção.
Para executar uma inspeção imediata, no canto superior direito da página Inspections, clique em Inspect.
Para executar inspeções periódicas, no canto superior direito da página Inspections, clique em Configure Periodic Inspection. Em seguida, selecione Configure Periodic Inspection e configure o período de inspeção.
Após a conclusão da inspeção, na aba Inspections, localize o resultado desejado e clique em Details na coluna Actions.
Detalhes da inspeção
A página Inspections lista resultados detalhados da inspeção para diferentes workloads. A página oferece os seguintes recursos:
Filtre resultados por critérios como Passed or Failed, Namespace e Workload Type, e visualize a Number of Passed Items e os Risk Item de cada workload.
Visualize detalhes de cada item inspecionado, incluindo o status da verificação (aprovado ou reprovado) nos níveis de pod e contêiner, descrição detalhada e sugestões de correção. Se um item reprovado não exigir correção, adicione-o à lista de permissões.
Consulte o arquivo YAML de um workload.
Relatórios de inspeção
A página Reports exibe os resultados da inspeção mais recente. A página inclui as seguintes informações:
Visão geral dos resultados da varredura, incluindo o número total de itens inspecionados, a quantidade e a porcentagem de cada tipo de recurso verificado e a pontuação geral de integridade.
Estatísticas das principais categorias de varredura, abrangendo verificações de integridade, imagens, rede, recursos e segurança.
Resultados detalhados da varredura para cada configuração de workload, incluindo tipo de recurso, nome do recurso, namespace, tipo de verificação, item de inspeção e resultado.
Itens de inspeção
O recurso de inspeção de configuração verifica e exibe resultados para os seguintes itens.
ID da verificação | Item de verificação | Descrição e risco de segurança | Correção |
hostNetworkSet | Impedir que contêineres compartilhem o namespace de rede do host | Verifica se | Modifique a especificação do pod para remover o campo Exemplo: |
hostIPCSet | Impedir que contêineres compartilhem o namespace IPC do host | Verifica se | Modifique a especificação do pod para remover o campo Exemplo: |
hostPIDSet | Impedir que contêineres compartilhem o namespace PID do host | Verifica se | Modifique a especificação do pod para remover o campo Exemplo: |
hostPortSet | Impedir que processos de contêiner escutem em portas de nó | Verifica se | Modifique a especificação do pod para remover o campo Exemplo: |
runAsRootAllowed | Impedir que contêineres executem como usuário root | Verifica se | Modifique a especificação do pod para adicionar Exemplo: |
runAsPrivileged | Impedir que contêineres executem em modo privilegiado | Verifica se | Modifique a especificação do pod para remover o campo Exemplo: |
privilegeEscalationAllowed | Impedir escalonamento de privilégios em contêineres | Verifica se | Modifique a especificação do pod para adicionar o campo Exemplo: |
capabilitiesAdded | Remover capabilities Linux desnecessárias | Verifica o campo | Modifique a especificação do pod para adicionar apenas as capabilities Linux necessárias e remover todas as outras. Se nenhuma capability Linux extra for necessária, remova todas elas. Exemplo: Se capabilities específicas forem necessárias, adicione apenas as indispensáveis e remova as demais. Exemplo: |
notReadOnlyRootFilesystem | Usar sistema de arquivos raiz somente leitura para contêineres | Verifica se | Modifique a especificação do pod para adicionar Exemplo: Se precisar modificar arquivos em um diretório específico, utilize um campo Exemplo: |
cpuRequestsMissing | Definir solicitações de cpu para contêineres | Verifica se | Modifique a especificação do pod para adicionar um campo Exemplo: |
cpuLimitsMissing | Definir limites de cpu para contêineres | Verifica se | Modifique a especificação do pod para adicionar um campo Exemplo: |
memoryRequestsMissing | Definir solicitações de memória para contêineres | Verifica se | Modifique a especificação do pod para adicionar um campo Exemplo: |
memoryLimitsMissing | Definir limites de memória para contêineres | Verifica se | Modifique a especificação do pod para adicionar um campo Exemplo: |
readinessProbeMissing | Configurar sondas de prontidão para contêineres | Verifica se uma | Modifique a especificação do pod para adicionar um campo Exemplo: |
livenessProbeMissing | Configurar sondas de atividade para contêineres | Verifica se uma | Modifique a especificação do pod para adicionar um campo Exemplo: |
tagNotSpecified | Usar uma tag de imagem específica para contêineres | Verifica se o campo | Modifique o campo Exemplo: |
anonymousUserRBACBinding | Proibir acesso de usuários anônimos ao cluster | Verifica as vinculações de Controle de Acesso Baseado em Função (RBAC) no cluster para encontrar configurações que concedam acesso a usuários anônimos. Se o acesso anônimo for permitido, usuários mal-intencionados poderão roubar informações sensíveis ou atacar o cluster. | Modifique as vinculações RBAC para remover quaisquer permissões que permitam a usuários anônimos acessar recursos do cluster. Exemplo: |
Eventos
Tipo de evento | Nome do evento | Exemplo de conteúdo | Descrição | Ações |
Normal | SecurityInspectorConfigAuditStart | Starting config audit | A tarefa de inspeção foi iniciada. | Nenhuma ação necessária. |
Normal | SecurityInspectorConfigAuditFinished | Config audit finished | A tarefa de inspeção foi concluída. | Nenhuma ação necessária. |
Warning | SecurityInspectorConfigAuditHighRiskFound | Found 2 high-risk items after config audit | Após a inspeção, foram encontrados itens de alto risco não mitigados em alguns workloads. |
|