Esta página descreve como exportar registros do Google Distributed Cloud (GDC) isolado para um sistema externo de gerenciamento de informações e eventos de segurança (SIEM, na sigla em inglês). Essa integração permite a análise centralizada de registros e o monitoramento de segurança aprimorado.
O principal da exportação de registros envolve a implantação de um recurso personalizado SIEMOrgForwarder.
Esse recurso atua como um arquivo de configuração, especificando os detalhes da instância SIEM externa designada para receber os registros. Ao definir esses parâmetros no arquivo SIEMOrgForwarder, os administradores podem estabelecer um pipeline de exportação de registros simplificado e seguro.
Antes de começar
Para receber as permissões necessárias para gerenciar recursos personalizados SIEMOrgForwarder, peça ao administrador do IAM da organização para conceder a você um dos papéis da organização de exportação de SIEM associados.
Dependendo do nível de acesso e das permissões necessárias, você pode receber papéis de criador, editor ou leitor para esse recurso no namespace do projeto. Para mais informações, consulte Preparar permissões do IAM.
Depois de receber as permissões necessárias, conclua estas etapas antes de exportar registros para um sistema SIEM externo:
Estabelecer conectividade: verifique se há uma conexão entre o GDC e o destino SIEM externo. Se necessário, colabore com o operador de infraestrutura (IO) para estabelecer uma conexão de uplink com a rede do cliente.
Definir variáveis de ambiente: defina as seguintes variáveis de ambiente para executar os comandos desta página:
O caminho do arquivo kubeconfig:
export KUBECONFIG=KUBECONFIG_PATHSubstitua
KUBECONFIG_PATHpelo caminho do arquivo kubeconfig do servidor da API Management.O namespace do projeto:
export PROJECT_NAMESPACE=PROJECT_NAMESPACE
Configurar a exportação de registros
Exportar registros para um sistema SIEM externo:
Forneça um token para conectar a pilha de registros ao sistema SIEM. Para realizar essa ação, crie um secret no namespace do projeto para armazenar o token no caso do Splunk e a senha no caso do Elastic SIEM:
cat <<EOF | kubectl --kubeconfig=${KUBECONFIG} apply -f - apiVersion: v1 kind: Secret metadata: name: SECRET_NAME namespace: ${PROJECT_NAMESPACE} type: Opaque stringData: SECRET_FIELD: FIELD_VALUE EOFSubstitua:
SECRET_NAME: o nome do secret.SECRET_FIELD: o nome do campo em que você quer armazenar o secret. É o nome de usuário no caso do Elastic.FIELD_VALUE: FIELD_VALUE é o token no caso do Splunk e a senha para o Elastic.TOKEN: seu token.
Implante o recurso personalizado
SIEMOrgForwarderno namespace do projeto. Você precisa especificar o tipo de registro escolhendo entre registros de auditoria ou operacionais. Para configurar a exportação de registros para os dois tipos de registro, implante um recursoSIEMOrgForwarderpara cada tipo.[!WARNING] A partir da versão 1.17, não é possível especificar
splunkOutputsdiretamente emspec. Você precisa usarsplunkOutputsno campodestinations.O exemplo a seguir mostra como aplicar uma configuração a um recurso personalizado
SIEMOrgForwarderpara o Splunk:cat <<EOF | kubectl --kubeconfig=${KUBECONFIG} apply -f - apiVersion: logging.gdc.goog/v1 kind: SIEMOrgForwarder metadata: name: SIEM_ORG_FORWARDER namespace: ${PROJECT_NAMESPACE} spec: source: LOG_TYPE destinations: splunkOutputs: - host: SIEM_HOST token: name: SECRET_NAME field: SECRET_FIELD tls: "TLS" netConnectTimeout: NET_CONNECT_TIMEOUT EOFSubstitua:
SIEM_ORG_FORWARDER: o nome do arquivo de definiçãoSIEMOrgForwarder.LOG_TYPE: o tipo de registro que você está exportando. Os valores aceitos sãoauditeoperational.SIEM_HOST: o nome do host SIEM.SECRET_NAME: o nome do secret.SECRET_FIELD: o nome do campo em que você armazenou o secret.TLS: o status do Transport Layer Security (TLS). Os valores aceitos são"On"e"Off".NET_CONNECT_TIMEOUT: o tempo máximo em segundos para aguardar o estabelecimento de uma conexão. Por exemplo, um valor de180significa aguardar 180 segundos.
O exemplo a seguir mostra como aplicar uma configuração a um recurso personalizado
SIEMOrgForwarderpara o Elastic:cat <<EOF | kubectl --kubeconfig=${KUBECONFIG} apply -f - apiVersion: logging.gdc.goog/v1 kind: SIEMOrgForwarder metadata: name: SIEM_ORG_FORWARDER namespace: ${PROJECT_NAMESPACE} spec: source: LOG_TYPE destinations: elasticOutputs: - host: SIEM_HOST port: SIEM_PORT http_credential: http_user: HTTP_USER_NAME http_passwd: SECRET_NAME tls: "TLS" netConnectTimeout: NET_CONNECT_TIMEOUT index: INDEX EOFSubstitua:
SIEM_ORG_FORWARDER: o nome do arquivo de definiçãoSIEMOrgForwarder.LOG_TYPE: o tipo de registro que você está exportando. Os valores aceitos sãoauditeoperational.SIEM_HOST: o nome do host SIEM.SIEM_PORT: a porta da instância SIEM.HTTP_USER_NAME: o nome de usuário da instância SIEM.SECRET_NAME: o nome do secret.TLS: o status do Transport Layer Security (TLS). Os valores aceitos são"On"e"Off".NET_CONNECT_TIMEOUT: o tempo máximo em segundos para aguardar o estabelecimento de uma conexão. Por exemplo, um valor de180significa aguardar 180 segundos.INDEX: o índice da instância Elastic. Se não for especificado, o tipo de registro (auditouoperational) será usado. Este campo é opcional.
Verifique o status do recurso personalizado
SIEMOrgForwarderimplantado:kubectl --kubeconfig=${KUBECONFIG} describe siemorgforwarder/SIEM_ORG_FORWARDER \ -n ${PROJECT_NAMESPACE}De acordo com o tipo de registro, verifique o seguinte status:
- Registros de auditoria: verifique o status
AuditLoggingReady. Registros operacionais: verifique o status
OperationalLoggingReady.
- Registros de auditoria: verifique o status