Verificações de conformidade em AWS OpsWorks for Chef Automate - AWS OpsWorks

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Verificações de conformidade em AWS OpsWorks for Chef Automate

Importante

AWS OpsWorks O Chef Automate chegou ao fim da vida útil em 5 de maio de 2024 e foi desativado para clientes novos e existentes. Recomendamos que os clientes existentes migrem para o Chef SaaS ou uma solução alternativa. Se você tiver dúvidas, pode entrar em contato com a AWS Support equipe no AWS re:POST ou por meio do Premium AWS Support.

As verificações de conformidade permitem acompanhar a conformidade de nós gerenciados na infraestrutura com base em políticas predefinidas, também chamadas de regras. As visualizações de conformidade permitem que você audite regularmente os aplicativos em busca de vulnerabilidades e configurações fora de conformidade. O Chef oferece mais de 100 perfis de conformidade predefinidos – coleções de regras que se aplicam a configurações de nó específicas – que você pode usar nas verificações de conformidade. Você também pode usar a InSpec linguagem Chef para criar seus próprios perfis personalizados.

Se o servidor ainda não estiver executando o Chef Automate 2.0, você poderá configurar o Chef Compliance manualmente instalando o livro de receitas de auditoria.

nota

A versão mínima suportada do software de agente cliente Chef Infra (chef-client) nos nós associados a um AWS OpsWorks for Chef Automate servidor é 13. x. Recomendamos executar a chef-client versão mais atual e estável, ou pelo menos a 14.10.9.

Conformidade no Chef Automate 2.0

Se o seu AWS OpsWorks for Chef Automate servidor estiver executando o Chef Automate 2.0, configure o Chef Compliance usando os procedimentos desta seção.

Executar tarefas de verificação de conformidade com o Chef Automate 2.0

O Chef Automate 2.0 inclui o recurso de InSpec verificação de conformidade do Chef que anteriormente exigia configuração manual e configuração do livro de receitas. Você pode executar trabalhos de digitalização em um AWS OpsWorks for Chef Automate servidor que esteja executando o Chef Automate 2.0. As tarefas podem ser executadas imediatamente (uma vez), programadas para um horário posterior ou programadas para serem executadas em intervalos específicos, como diariamente ou a cada duas horas. Os resultados de uma tarefa de verificação são enviados para geração de relatórios de conformidade. Você pode visualizar e tomar atitudes com base nos resultados de verificação de conformidade no painel do Chef Automate. Para abrir a guia Compliance (Conformidade) e visualizar relatórios, na guia Scan Jobs (Tarefas de verificação) do painel do Chef Automate, escolha Report (Relatório) à direita de uma linha de nós gerenciados.

Para executar tarefas de verificação em nós gerenciados, você deve ter os itens a seguir.

  • Pelo menos um perfil de conformidade instalado no namespace.

  • Pelo menos um nó de destino, adicionado manualmente, ou uma instância do EC2 adicionada automaticamente.

Em AWS OpsWorks for Chef Automate, os trabalhos de digitalização são suportados nos seguintes alvos.

  • Nós adicionados manualmente

  • Instâncias aws-ec2

  • Regiões da AWS

Para obter instruções detalhadas sobre como executar tarefas de verificação, consulte Tarefas de verificação do Chef Automate na documentação do Chef.

(Opcional, Chef Automate 2.0) Configuração de conformidade com o livro de receitas de auditoria

Você pode configurar a conformidade em qualquer AWS OpsWorks for Chef Automate servidor. Depois de iniciar um servidor do AWS OpsWorks for Chef Automate , você poderá instalar perfis pelo painel do Chef Automate ou adicionar perfis desejados a atributos do livro de receitas de auditoria no arquivo de política Policyfile.rb. Um arquivo Policyfile.rb pré-preenchido está incluído no Starter Kit.

Depois de editar Policyfile.rb com perfis como atributos do livro de receitas de auditoria, execute comandos chef push para fazer o upload do livro de receitas de auditoria e outros livros de receitas especificados em Policyfile.rb no servidor do Chef Automate. A instalação do livro de receitas de auditoria também instala a gema do Chef InSpec, uma estrutura de teste e auditoria de código aberto produzida pelo Chef. Para o Chef Automate 2.0, escolha a versão 7.1.0 ou posterior do livro de receitas de auditoria. O InSpec gem deve ser da versão 2.2.102 ou posterior.

As instruções nesta seção mostram como implementar o livro de receitas opsworks-audit. O livro de receitas de auditoria baixa perfis especificados do servidor Chef Automate, avalia os nós em relação ao perfil DevSec SSH Baseline e relata o resultado das verificações de conformidade em cada execução. chef-client

Para instalar perfis de conformidade
  1. Se você ainda não tiver feito isso, acesse o painel baseado na Web do Chef Automate. Use as credenciais que você recebeu quando fez download do Starter Kit ao criar o servidor do AWS OpsWorks for Chef Automate .

  2. No painel do Chef Automate, escolha a guia Asset Store (Loja de ativos).

    Perfis de conformidade
  3. Escolha a guia Disponível para ver perfis predefinidos.

  4. Pesquise a lista de perfis. Escolha um perfil que corresponda ao sistema operacional e à configuração de pelo menos um de seus nós gerenciados. Para visualizar detalhes sobre o perfil, incluindo uma descrição das violações direcionadas do perfil e o código da regra subjacente, escolha > à direita da entrada do perfil. Você pode escolher vários perfis. Se você estiver configurando o exemplo no Starter Kit, escolha DevSec SSH Baseline.

    Visualização detalhada do perfil de conformidade do Chef
  5. Para instalar os perfis selecionados no seu servidor Chef Automate, escolha Get (Obter).

  6. Depois que você instalar os perfis, eles serão mostrados na guia Profiles (Perfis) do painel do Chef Automate.

Para instalar livros de receita com Policyfile.rb
  1. Visualize Policyfile.rb no Starter Kit para ver quais atributos do livro de receitas de auditoria especificam o perfil ssh-baseline em ['profiles'].

    # Define audit cookbook attributes default["opsworks-demo"]["audit"]["reporter"] = "chef-server-automate" default["opsworks-demo"]["audit"]["profiles"] = [ { "name": "DevSec SSH Baseline", "compliance": "admin/ssh-baseline" } ]
  2. Faça o download e instale os livros de receitas definidos em Policyfile.rb.

    chef install

    Todos os livros de receitas têm versionamento no arquivo metadata.rb do livro de receitas. Sempre que altera um livro de receitas, você deve aumentar a versão dele que está no metadata.rb.

  3. Envie a política opsworks-demo, definida em Policyfile.rb, para o servidor.

    chef push opsworks-demo
  4. Verifique a instalação da política. Execute o seguinte comando .

    chef show-policy

    Os resultados devem ser semelhantes ao seguinte:

    opsworks-demo-webserver ======================= * opsworks-demo: ec0fe46314
  5. Adicione nós ao servidor para gerenciar, se você ainda não tiver feito isso. Para conectar seu primeiro nó ao AWS OpsWorks for Chef Automate servidor, use o userdata.sh script incluído neste Starter Kit. Ele usa a AWS OpsWorks AssociateNode API para conectar um nó ao seu servidor.

    Você pode automatizar a associação de nós seguindo as etapas em Adicione nós automaticamente em AWS OpsWorks for Chef Automate ou adicionar nós, um de cada vez, seguindo as etapas em Adicione nós individualmente.

  6. Depois de atualizar a lista de execução de seus nós, o agente chef-client executará as receitas especificadas na próxima execução. Por padrão, isso ocorre a cada 1.800 segundos (30 minutos). Depois da execução, você poderá visualizar e tomar medidas com base nos resultados da guia Compliance (Conformidade) no painel do Chef Automate.

    Resultados da verificação de conformidade do Chef

Execução de uma verificação de conformidade

Você deverá ver os resultados de verificação de conformidade no painel do Chef Automate logo depois da primeira execução do agente ocorrida depois de configurar listas de execução de nós.

Visualização da página de relatórios de conformidade do Chef

No painel do Chef Automate, escolha a guia Compliance (Conformidade). No painel de navegação à esquerda, escolha Relatórios. Escolha a guia Profiles (Perfis), selecione Scan Results (Resultados da verificação) e escolha um nó com falhas de verificação para saber mais sobre as regras nas quais o nó falhou.

Lista de resultados com falha de conformidade

Normalmente, você vê resultados de varredura incompatíveis, porque os novos nós ainda não satisfazem todas as regras no perfil DevSec SSH Baseline. O DevSec Hardening Framework, um projeto baseado na comunidade, oferece livros de receitas para corrigir problemas que violam as regras do perfil SSH Baseline. DevSec

(Opcional) resolução de resultados não compatíveis

O kit inicial inclui um livro de receitas de código aberto,ssh-hardening, que você pode executar para corrigir resultados não compatíveis de execuções no perfil SSH Baseline. DevSec

nota

O ssh-hardening livro de receitas faz alterações em seus nós para cumprir as regras de linha de base do DevSec SSH. Antes de executar este livro de receitas em qualquer nó de produção, revise os detalhes sobre o perfil DevSec SSH Baseline no console do Chef Automate para entender as violações de regras que o livro de receitas visa. Revise as informações sobre o livro de receitas de código-fonte aberto ssh-hardening antes de executá-lo em qualquer um dos nós de produção.

Para executar o livro de receitas ssh-hardening
  1. Em um editor de texto, anexe o livro de receitas ssh-hardening à lista de execução de Policyfile.rb. A lista de execução Policyfile.rb deve corresponder ao seguinte.

    run_list 'chef-client', 'opsworks-webserver', 'audit', 'ssh-hardening'
  2. Atualize Policyfile.rb e o envie para o servidor do AWS OpsWorks for Chef Automate .

    chef update Policyfile.rb chef push opsworks-demo
  3. Os nós associados à política opsworks-demo atualizam a lista de execução automaticamente e aplicarão o livro de receitas ssh-hardening na próxima execução de chef-client.

    Como você está usando o livro de receitas chef-client, o nó é verificado em intervalos regulares (por padrão, a cada 30 minutos). No próximo check-in, o ssh-hardening livro de receitas é executado e ajuda a melhorar a segurança dos nós para atender às regras do perfil DevSec SSH Baseline.

  4. Após a execução inicial do livro de receitas ssh-hardening, aguarde 30 minutos para que uma verificação de conformidade seja executada novamente. Visualize os resultados no painel do Chef Automate. Os resultados não compatíveis que ocorreram na execução inicial da verificação de linha de base do DevSec SSH devem ser resolvidos.

Conformidade no Chef Automate 1.x

Se o seu AWS OpsWorks for Chef Automate servidor estiver executando o Chef Automate 1. x, configure o Chef Compliance usando os procedimentos desta seção.

(Opcional, Chef Automate 1.x) Configuração do Chef Compliance

Você pode configurar o Chef Compliance em qualquer AWS OpsWorks for Chef Automate servidor. Depois de iniciar um servidor AWS OpsWorks for Chef Automate , escolha os perfis que você deseja executar a partir dos perfis no painel do Chef Automate. Depois de instalar perfis, execute comandos berks para carregar o livro de receitas de auditoria para o servidor Chef Automate. A instalação do livro de receitas de auditoria também instala o gem for InSpec, uma estrutura de teste de código aberto produzida pelo Chef que permite integrar testes automatizados em qualquer estágio do seu pipeline de implantação. Para o Chef Automate 1.x, escolha a versão 5.0.1 ou posterior do livro de receitas de auditoria. O InSpec gem deve ser da versão 1.24.0 ou posterior.

O kit AWS OpsWorks for Chef Automate inicial inclui um livro de receitas embaladoopsworks-audit, que baixa e instala a versão correta do livro de receitas do Chef's Audit para você. O opsworks-audit livro de receitas também instrui o chef-client agente a avaliar os nós em relação ao perfil DevSecSSH Baseline que você instala a partir do console de conformidade do Chef posteriormente neste tópico. Você pode configurar o Compliance usando o livro de receitas para atender suas preferências. As instruções nesta seção mostram como implementar o livro de receitas opsworks-audit.

Para instalar perfis do Compliance
  1. Se você ainda não tiver feito isso, acesse o painel baseado na Web do Chef Automate. Use as credenciais que você recebeu ao baixar o Starter Kit ao criar seu AWS OpsWorks for Chef Automate servidor.

  2. No painel do Chef Automate, escolha a guia Compliance (Conformidade).

    Perfis do Chef Compliance
  3. Na barra de navegação à esquerda, escolha Armazenamento de perfis e, em seguida, selecione a guia Disponível para ver os perfis predefinidos.

  4. Pesquise a lista de perfis. Escolha um perfil que corresponda ao sistema operacional e à configuração de pelo menos um de seus nós gerenciados. Para visualizar detalhes sobre o perfil, incluindo uma descrição das violações direcionadas do perfil e o código da regra subjacente, escolha > à direita da entrada do perfil. Você pode escolher vários perfis.

    Visualização de detalhes do perfil do Chef Compliance
  5. Para instalar os perfis selecionados no seu servidor Chef Automate, escolha Get (Obter).

  6. Quando o download estiver concluído, vá para o próximo procedimento.

Para instalar e configurar o livro de receitas opsworks-audit
  1. Esta etapa é opcional, mas economiza tempo na Etapa 6, quando você está adicionando receitas às listas de execução de nós. Edite o arquivo roles/opsworks-example-role.rb que está incluído no starter kit que você baixou durante a criação do servidor AWS OpsWorks for Chef Automate . Adicione as linhas a seguir. A última linha é comentada, pois é opcional a adição do livro de receitas ssh-hardening e da receita para resolver nós não compatíveis após as execuções de verificação do Compliance.

    run_list( "recipe[chef-client]", "recipe[apache2]", "recipe[opsworks-audit]" # "recipe[ssh-hardening]" )
  2. Use um editor de texto para especificar os livros de receita desejados no seu Berksfile. Um Berksfile de exemplo é fornecido para você no starter kit. Neste exemplo, instalamos o livro de receitas cliente do Chef Infra (chef-client), o livro de receitas apache2 e o livro de receitas opsworks-audit. Seu Berksfile deve se parecer com o seguinte.

    source 'https://supermarket.chef.io cookbook 'chef-client' cookbook 'apache2', '~> 5.0.1' cookbook 'opsworks-audit', path: 'cookbooks/opsworks-audit', '~> 1.0.0'

    Todos os livros de receitas têm versionamento no arquivo metadata.rb do livro de receitas. Sempre que altera um livro de receitas, você deve aumentar a versão dele que está no metadata.rb.

  3. Execute o comando a seguir para baixar e instalar os livros de receitas na pasta cookbooks do seu computador local ou de trabalho.

    berks vendor cookbooks
  4. Execute o comando a seguir para carregar os livros de receitas do fornecedor no servidor AWS OpsWorks for Chef Automate .

    knife upload .
  5. Execute o comando a seguir para verificar a instalação do livro de receitas opsworks-audit mostrando uma lista de livros de receitas que estão disponíveis atualmente no servidor.

    knife cookbook list
  6. Adicione nós ao servidor para gerenciar, se você ainda não tiver feito isso. Você pode automatizar a associação de nós seguindo as etapas em Adicione nós automaticamente em AWS OpsWorks for Chef Automate ou adicionar nós, um de cada vez, seguindo as etapas em Adicione nós individualmente. Edite a lista de execução de seus nós para adicionar a função que você especificou na Etapa 1, opsworks-example-role. Neste exemplo, edite o atributo RUN_LIST no script userdata que você usa para automatizar a associação de nós.

    RUN_LIST="role[opsworks-example-role]"

    Se você ignorou a Etapa 1 e não configurou a função, adicione os nomes das receitas individuais à lista de execuções. Salve as alterações e siga as etapas em Etapa 3: Criar instâncias com um script de associação autônoma para aplicar o script de dados do usuário às instâncias do Amazon EC2.

    RUN_LIST="recipe[chef-client],recipe[apache2],recipe[opworks-audit]"
  7. Depois de atualizar a lista de execução de seus nós, o agente chef-client executará as receitas especificadas na próxima execução. Por padrão, isso ocorre a cada 1.800 segundos (30 minutos). Após a execução, os seus resultados do Compliance ficam visíveis no painel do Chef Automate.

Execução de uma verificação de conformidade

Você deve ver os resultados de verificação de conformidade no painel do Chef Automate logo após a primeira execução do agente daemon que ocorre depois de configurar listas de execução de nós.

Visualização da página de relatórios do Chef Compliance

No painel do Chef Automate, escolha a guia Compliance (Conformidade). No painel de navegação à esquerda, escolha Relatórios. Escolha a guia Profiles (Perfis), selecione Scan Results (Resultados da verificação) e escolha um nó com falhas de verificação para saber mais sobre as regras nas quais o nó falhou.

Lista de resultados com falha do Chef Compliance

Normalmente, você vê resultados de varredura incompatíveis, porque os novos nós ainda não satisfazem todas as regras no perfil DevSec SSH Baseline. O DevSec Hardening Framework, um projeto baseado na comunidade, oferece livros de receitas para corrigir problemas que violam as regras do perfil SSH Baseline. DevSec

(Opcional) resolução de resultados não compatíveis

O kit inicial inclui um livro de receitas de código aberto,ssh-hardening, que você pode executar para corrigir resultados não compatíveis de execuções no perfil SSH Baseline. DevSec

nota

O ssh-hardening livro de receitas faz alterações em seus nós para cumprir as regras de linha de base do DevSec SSH. Antes de executar este livro de receitas em qualquer nó de produção, revise os detalhes sobre o perfil DevSec SSH Baseline no console do Chef Automate para entender as violações de regras que o livro de receitas visa. Revise as informações sobre o livro de receitas de código-fonte aberto ssh-hardening antes de executá-lo em qualquer um dos nós de produção.

Para executar o livro de receitas ssh-hardening
  1. Em um editor de texto, anexe o livro de receitas ssh-hardening ao seu Berksfile. Seu Berksfile deve se parecer com o seguinte.

    source 'https://supermarket.chef.io' cookbook 'chef-client' cookbook 'apache2', '~> 5.0.1' cookbook 'opsworks-audit', path: 'cookbooks/opsworks-audit', '~> 1.0.0' # optional cookbook 'ssh-hardening'
  2. Execute os comandos a seguir para baixar o livro de receitas ssh-hardening na sua pasta local de livros de receitas e, em seguida, carregue-o no servidor AWS OpsWorks for Chef Automate .

    berks vendor cookbooks knife upload .
  3. Adicione a receita ssh-hardening à lista de execução de nós conforme descrito nas Etapas 1 e 6 de Para instalar e configurar o livro de receitas opsworks-audit.

    Se você atualizar o arquivo opsworks-example-role.rb, carregue as alterações no servidor executando o comando a seguir.

    knife upload .

    Se você atualizar a lista de execuções diretamente, carregue as alterações no servidor executando o comando a seguir. O nome do nó geralmente é o ID da instância.

    knife node run_list add <node name> 'recipe[ssh-hardening]'
  4. Como você está usando o livro de receitas chef-client, o nó é verificado em intervalos regulares (por padrão, a cada 30 minutos). No próximo check-in, o ssh-hardening livro de receitas é executado e ajuda a melhorar a segurança dos nós para atender às regras do perfil DevSec SSH Baseline.

  5. Após a execução inicial do livro de receitas ssh-hardening, aguarde 30 minutos para que uma verificação do Compliance seja executada novamente. Visualize os resultados no painel do Chef Automate. Os resultados não compatíveis que ocorreram na execução inicial da verificação de linha de base do DevSec SSH devem ser resolvidos.

Atualizações feitas na conformidade

Em um AWS OpsWorks for Chef Automate servidor, a funcionalidade de conformidade é atualizada automaticamente pela manutenção programada do sistema. À medida que as versões atualizadas do Chef Automate, Chef Infra Server e Chef InSpec se tornam disponíveis para seu AWS OpsWorks for Chef Automate servidor, talvez seja necessário verificar e atualizar as versões suportadas do livro de receitas Audit e do Chef InSpec gem que estão sendo executadas em seu servidor. Os perfis que você já instalou no seu AWS OpsWorks for Chef Automate servidor não são atualizados como parte da manutenção.

Perfis de conformidade e comunidade personalizados

O Chef atualmente inclui mais de 100 perfis de verificação de conformidade. Você pode adicionar perfis personalizados e de comunidade à lista, fazer o download e executar verificações de conformidade com base nesses perfis, da mesma forma que faria para perfis incluídos. Os perfis de conformidade baseados em comunidade estão disponíveis no Chef Supermarket. Os perfis personalizados são programas baseados no Ruby que incluem uma pasta de controles que especificam as regras de verificação.

Consulte também