O vRealize Automation SaltStack SecOps é um complemento para o SaltStack Config que fornece duas bibliotecas de segurança. Ambas as bibliotecas de conteúdo são atualizadas regularmente conforme as normas de segurança são alteradas. Você pode configurar conteúdo para baixar (ou consumir) automaticamente conforme as normas de segurança são alteradas, o que é recomendado para a maioria dos sistemas padrão.

Os seguintes tipos de conteúdo são fornecidos como parte do SaltStack SecOps:

  • Conformidade - Detecção e correção automatizadas da conformidade para a sua infraestrutura. A biblioteca de conteúdo de conformidade consiste em conteúdo de segurança e conformidade relacionado a boas práticas do setor, como CIS.
  • Vulnerabilidade - Gerencia vulnerabilidades em todos os sistemas do seu ambiente. Sua biblioteca de conteúdo inclui comunicados com base nas entradas mais recentes do sistema Common Vulnerabilities and Exposures (CVE).

Como alternativa, a biblioteca inclui a opção de baixar conteúdo manualmente ou de acessar conteúdo do nó RaaS via proxy HTTP(s). O consumo manual é útil para sistemas isolados, enquanto o download via proxy é útil para evitar baixar o conteúdo diretamente da Internet. O download via proxy também oferece mais controle e visibilidade do que está sendo baixado e onde.

Antes de começar

A configuração do SaltStack SecOps é uma etapa pós-instalação de uma série de várias etapas que devem ser seguidas em uma ordem específica. Primeiro, conclua um dos cenários de instalação e depois leia as seguintes páginas pós-instalação:

Instalar as bibliotecas rpm do Python 3

O SaltStack SecOps usa as bibliotecas rpm do Python 3 para comparar versões de pacotes de maneira confiável. Esses programas precisam da maior precisão fornecida por essas bibliotecas para determinar a conformidade da versão ou avaliar vulnerabilidades.

Atualmente, qualquer subordinado que use o RedHat ou CentOS 7 pode precisar das bibliotecas rpm do Python 3 para executar avaliações precisas de conformidade ou vulnerabilidades. Se você pretende executar avaliações em subordinados que usam essas versões do RedHat ou do CentOS, precisará instalar manualmente a biblioteca rpm do Python 3 nessas máquinas.

Observação:

Outras soluções alternativas estão disponíveis. Se precisar de uma solução alternativa, consulte Entrar em contato com o suporte.

Para instalar a biblioteca rpm do Python 3 no mestre Salt que executa o Master Plugin:

  1. Instale o repositório EPEL usando o seguinte comando:
    yum install -y epel-release
  2. Instale a biblioteca rpm do Python 3:
    yum install -y python3-rpm

Consumo automático de conteúdo para sistemas padrão

Para sistemas RaaS não isolados, o conteúdo é baixado e consumido periodicamente, conforme determinado pelas definições no arquivo de configuração. Por padrão, o consumo automático de conteúdo já está configurado no SaltStack Config, e nenhuma ação extra é necessária.

Se você tiver instalado o SaltStack Config manualmente, siga estas etapas para configurar o consumo automático de conteúdo do SaltStack SecOps:

  1. Adicione o seguinte ao arquivo de configuração do serviço RaaS /etc/raas/raas na seção sec, adaptando-o conforme necessário:
    sec:
      stats_snapshot_interval: 3600
      username: secops
      content_url: https://enterprise.saltstack.com/secops_downloads
      ingest_saltstack_override: true
      ingest_custom_override: true
      locke_dir: locke
      post_ingest_cleanup: true
      download_enabled: true
      download_frequency: 86400
      compile_stats_interval: 10
      archive_interval: 300
      old_policy_file_lifespan: 2
      delete_old_policy_files_interval: 86400
      ingest_on_boot: true
      content_lock_timeout: 60
      content_lock_block_timeout: 120
  2. Salve o arquivo.
  3. Reinicie o serviço RaaS:
    systemctl restart raas

    Após a reinicialização do serviço, o conteúdo do SaltStack SecOps começará a ser baixado. Isso pode levar até cinco minutos, dependendo da sua conexão com a Internet.

Consumindo conteúdo via proxy http(s)

Para consumo via proxy, será necessário criar uma substituição para o serviço RaaS e adicionar novas variáveis de ambiente para httpproxy e httpsproxy.

Para configurar o nó RaaS para usar um proxy https:

  1. Conclua as etapas anteriores para ativar o consumo automático.
  2. Na linha de comando do mestre, edite o serviço RaaS:
    systemctl edit raas
  3. Adicione as seguintes linhas ao arquivo gerado.
    [Service]
    Environment="http_proxy=http://<hostname>:234"
    Environment="https_proxy=https://<hostname>:234"
    Environment="HTTP_PROXY=http://<hostname>:234"
    Environment="HTTPS_PROXY=http://<hostname>:234"
  4. Se o proxy exigir autenticação por senha, talvez seja necessário definir isso como parte das variáveis de ambiente do proxy. Por exemplo:
    Environment="HTTP_PROXY=http://USER:PASSWORD@<hostname>:234"
  5. Se o seu proxy usar uma Autoridade de Certificação interna, talvez também seja necessário definir uma variável de ambiente REQUESTS_CA_BUNDLE para garantir que o proxy possa usá-la. Por exemplo:
    Environment="REQUESTS_CA_BUNDLE=/etc/pki/tls/certs/ca-bundle.crt"
  6. Reinicie o serviço RaaS:
    systemctl restart raas

Após a reinicialização do serviço, o conteúdo começará a ser baixado. Isso pode levar até 20 minutos.

Consumo manual de conteúdo para o SaltStack SecOps Compliance

Se o seu ambiente estiver isolado, o que significa que ele não pode se conectar a um site externo para baixar atualizações, você deverá atualizar manualmente o conteúdo do SaltStack SecOps Compliance baixando o tarball do Customer Connect e transferindo-o para o seu nó RaaS.

Além disso, se o sistema estiver isolado, altere a configuração de download no arquivo de configuração RaaS para False:

sec:
  download_enabled: False

O arquivo de configuração RaaS está localizado em /etc/raas/raas. Talvez também seja necessário reiniciar o serviço RaaS depois de aplicar estas definições de configuração:

systemctl restart raas

Para ingerir manualmente o tarball do SaltStack SecOps Compliance:

  1. Baixe o conteúdo do SaltStack SecOps Compliance.
  2. Faça login em um nó RaaS.
  3. Copie o tarball do conteúdo de conformidade para o nó RaaS na pasta tmp.

    Esse conteúdo pode ser enviado por e-mail ou por qualquer outro meio.

  4. Verifique se as permissões de locke.tar.gz.e estão definidas como raas:raas.
  5. Consumo o conteúdo do tarball.
    su - raas -c "raas ingest /path/to/locke.tar.gz.e"

    Isso retorna:

    Extracting: /tmp/locke.tar.gz -> /tmp/extracted-1551290468.5497127
    
    Cleaning up: /tmp/extracted-1551290468.5497127
    
    Results:
    
    {'errors': [], 'success': True}

Consumo manual de conteúdo para o SaltStack SecOps Vulnerability

Se o seu ambiente estiver isolado, o que significa que ele não pode se conectar a um site externo para baixar atualizações, você deverá atualizar manualmente o conteúdo do SaltStack SecOps Vulnerability baixando o tarball do Customer Connect e transferindo-o para o seu nó RaaS.

Além disso, se o sistema estiver isolado, altere a configuração de download no arquivo de configuração RaaS para False:

sec:
  download_enabled: False

O arquivo de configuração RaaS está localizado em /etc/raas/raas. Talvez também seja necessário reiniciar o serviço RaaS depois de aplicar estas definições de configuração:

systemctl restart raas

Para ingerir manualmente o tarball do SaltStack SecOps Vulnerability:

  1. Baixe o conteúdo do SaltStack SecOps Vulnerability.
  2. Faça login em um nó RaaS.
  3. Copie o tarball do conteúdo de vulnerabilidade para o nó RaaS na pasta tmp.

    Esse conteúdo pode ser enviado por e-mail ou por qualquer outro meio.

  4. Verifique se as permissões de locke.tar.gz.e estão definidas como raas:raas.
  5. Consuma o conteúdo do tarball, substituindo o nome do tarball neste comando pelo nome de arquivo exato do tarball:
    su - raas -c "raas vman_ingest /tmp/vman_date_example123.tar.gz.e"

    Isso retorna:

    'adv': {'error': 0, 'success': 60334},
      'adv_cve_xref': {'error': 0, 'success': 243781},
      'cve': {'error': 0, 'success': 162251},
      'pkgfile': {'error': 0, 'success': 42},
      'py': {'error': 0, 'success': 7},
      'sls': {'error': 0, 'success': 3}

Solucionando problemas de ingestão manual

Se você tentar executar os comandos de ingestão manual para conteúdo do SaltStack SecOps Compliance ou do SaltStack SecOps Vulnerability, poderá ver uma mensagem de erro semelhante a esta:

/home/centos/locke_date_example123.tar.gz.e not found or not readable

Às vezes, essa mensagem de erro aparecerá se você não colocar o tarball na pasta tmp. Colocar o tarball na pasta tmp resolve o problema.

Configurar a integração com o Splunk

O SaltStack Config integra a biblioteca de vulnerabilidades ao Splunk para ajudar você a otimizar e proteger sua infraestrutura digital usando o Complemento do SaltStack Config para Splunk Enterprise. Esse complemento está disponível no Splunkbase e requer o SaltStack Config versão 6.3 ou superior.

O complemento SaltStack Config no Splunk aproveita um endpoint de métricas compatível com o Prometheus que informa mais de 25 métricas exclusivas do SaltStack Config. Essas métricas fornecem insights sobre a integridade da sua infraestrutura. Acessá-las no Splunk é útil para monitorar paralisações, identificar atividades anormais e muito mais. Ele também oferece a capacidade de tomar medidas automatizadas com base em um evento específico de Splunk usando o SaltStack Config.

Para obter instruções sobre como instalar e configurar o complemento, consulte a documentação integral do complemento na base de conhecimento da VMware.

Para obter mais informações sobre o endpoint de métricas do SaltStack Config, consulte a documentação do produto para o SaltStack SecOps.

Opções de configuração

A tabela a seguir descreve as opções de configuração disponíveis para o conteúdo de conformidade:

Opção Descrição
stats_snapshot_interval Com que frequência (em segundos) as estatísticas do SaltStack SecOps Compliance serão coletadas
compile_stats_interval Com que frequência (em segundos) as estatísticas do SaltStack SecOps Compliance serão compiladas
username Nome de usuário a ser usado ao se conectar ao SaltStack Config para baixar o conteúdo do SaltStack SecOps Compliance mais recente (padrão: secops)
content_url URL usada para baixar conteúdo do SaltStack SecOps Compliance
ingest_override Ao consumir novo conteúdo, sobrescreva os parâmetros de comparação e verificações existentes (padrão: True)
locke_dir Caminho no qual o consumo espera encontrar conteúdo novo (padrão: locke). Se você usar um caminho relativo (sem / inicial), ele será relativo ao diretório de cache do serviço RaaS /var/lib/raas/cache
post_ingest_cleanup Remova o conteúdo expandido do sistema de arquivos após o consumo (padrão: True)
download_enabled Se o download do conteúdo do SaltStack SecOps Compliance é ou não permitido (padrão: True). Defina como False para sistemas isolados.
download_frequency Com que frequência o serviço RaaS tentará baixar o conteúdo do SaltStack SecOps Compliance (padrão: 86400 por 24 horas)
ingest_on_boot O serviço RaaS deve tentar baixar o conteúdo do SaltStack SecOps Compliance na inicialização? (padrão: True)
content_lock_timeout Qual será a duração em segundos dos bloqueios de download de conteúdo (padrão: 60)
content_lock_block_timeout Por quanto tempo, em segundos, os bloqueios de download de conteúdo ficarão em vigor antes de falharem (padrão: 120)

A tabela a seguir descreve as opções de configuração que estão disponíveis para conteúdo de vulnerabilidade:

Opção Descrição
vman_dir Local onde o conteúdo do SaltStack SecOps Vulnerability é expandido antes do consumo. Se o caminho for relativo (sem / inicial), ele será relativo ao diretório de cache do serviço RaaS /var/lib/raas/cache
download_enabled Se for True, os downloads de conteúdo do SaltStack SecOps Vulnerability estarão ativados. Defina como False para sistemas isolados.
download_frequency A frequência, em segundos, de downloads e consumo automatizados de conteúdo do SaltStack SecOps Vulnerability
username Nome de usuário usado para fazer login em enterprise.saltstack.com e obter conteúdo
content_url URL da qual o conteúdo do SaltStack SecOps Vulnerability será baixado
ingest_on_boot Se for True, o conteúdo do SaltStack SecOps Vulnerability será baixado e consumido logo após a inicialização do serviço RaaS (padrão: True)
compile_stats_interval Com que frequência (em segundos) as estatísticas do SaltStack SecOps Vulnerability serão compiladas
stats_snapshot_interval Com que frequência (em segundos) as estatísticas do SaltStack SecOps Vulnerability serão coletadas
old_policy_file_lifespan Vida útil (em dias) dos arquivos de política antigos que permanecerão no sistema de arquivos RaaS
delete_old_policy_files_interval Com que frequência (em segundos) os arquivos de política do SaltStack SecOps Vulnerability serão excluídos do sistema de arquivos RaaS
tenable_asset_import_enabled Se for True, os grãos de subordinados do SaltStack Config serão enviados ao Tenable.io para correspondência de ativos (padrão: True)
tenable_asset_import_grains

Lista de grãos de subordinados a serem enviados ao Tenable.io, se a importação de ativos estiver ativada.

O SaltStack SecOps Vulnerability oferece suporte imediato apenas para fqdn, ipv4, ipv6 e hostname, mas você pode enviar outras informações definindo grãos personalizados. Para obter mais informações sobre grãos, incluindo como escrever grãos personalizados, consulte a Documentação do Salt sobre grãos (em inglês).

Se você tiver apenas chaves de subconjunto nos seus dados de grãos, apenas as que estiverem nesse subconjunto serão sincronizadas.

fqdn e ipv4 serão enviados, mesmo que você não os liste aqui.

Para obter mais informações, consulte a documentação sobre Importação de ativos Tenable (em inglês).

Perguntas frequentes

  • P: Com que frequência são feitos novos lançamentos de conteúdo do SaltStack SecOps?
    • A: A frequência de lançamento atual é cerca de uma vez por trimestre. No entanto, lançamentos de conteúdo podem ocorrer com mais frequência no futuro.
  • Posso obter acesso ao novo conteúdo mais cedo usando o consumo automático de conteúdo em vez do consumo manual?
    • R: O mesmo conteúdo está disponível, independentemente de você consumir manualmente ou automaticamente.

      No entanto, usando o consumo manual, você precisa planejar a verificação de atualizações de conteúdo de segurança e desenvolver um processo para consumir conteúdo atualizado manualmente quando ele estiver disponível.

O que fazer em seguida

Após a configuração do SaltStack SecOps, pode haver etapas adicionais pós-instalação. Verifique a lista de etapas pós-instalação para garantir que você tenha concluído todas as etapas necessárias.