Coletar registros do AIDE (Advanced Intrusion Detection Environment)
Versão do analisador:1.0
Este documento explica como ingerir registros do AIDE (Advanced Intrusion Detection Environment) no Google Security Operations usando o Bindplane. O AIDE é uma ferramenta de monitoramento de integridade de arquivos que detecta mudanças em arquivos em sistemas Linux/Unix.
Antes de começar
Verifique se você tem os pré-requisitos a seguir:
- Uma instância do Google SecOps
- Um host Linux com o systemd executando o AIDE versão 0.18 ou mais recente (para suporte ao formato JSON)
- Se estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas de acordo com os requisitos do agente do Bindplane
- Acesso privilegiado aos arquivos de configuração do AIDE
Receber credenciais do Google SecOps para o agente do Bindplane
Para autenticar o agente do Bindplane no Google SecOps, escolha um dos seguintes métodos:
- Novas implantações: use a API Chronicle (opção 1).
- Implantações legadas: continue usando o arquivo de autenticação de ingestão (opção 2) até que a API Ingestion seja descontinuada em 20 de julho de 2027.
Opção 1: criar uma conta de serviço para a API Chronicle (recomendado)
- Faça login no Google Cloud console e selecione o Google Cloud projeto vinculado à sua instância do Google SecOps.
- Acesse IAM e administrador > Contas de serviço.
- Clique em Criar conta de serviço.
- Informe os seguintes detalhes de configuração:
- Nome da conta de serviço: insira um nome para a conta (por exemplo,
bindplane-ingest). - Descrição da conta de serviço: insira uma descrição (por exemplo,
Bindplane agent log ingestion).
- Nome da conta de serviço: insira um nome para a conta (por exemplo,
- Clique em Criar e continuar.
- Na seção Conceder a essa conta de serviço acesso ao projeto, clique em Selecionar um papel e escolha Editor do Chronicle.
- Clique em Continuar e depois em Concluído.
- Clique na conta de serviço criada e acesse a guia Chaves.
- Selecione Adicionar chave > Criar nova chave.
- Selecione JSON e clique em Criar. O arquivo de chave é baixado para o computador.
- Salve o arquivo de chave como
ingestion-auth.jsonno diretório do coletor do Bindplane (/opt/observiq-otel-collector/ingestion-auth.jsonno Linux ouC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.jsonno Windows) ou atualizecreds_file_pathemconfig.yamlpara corresponder ao caminho em que você o salva. - Acesse IAM e administrador > Configurações e copie o Número do projeto. Você vai precisar dele para a configuração do exportador.
Opção 2: baixar o arquivo de autenticação de ingestão (legado)
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Agentes de coleta.
- Baixe o arquivo de autenticação de ingestão.
- Salve o arquivo com segurança no sistema em que o agente do Bindplane será instalado.
Receber o ID de cliente do Google SecOps
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Perfil.
- Copie e salve o ID de cliente na seção Detalhes da organização.
Instalar o agente do Bindplane
Instale o agente do Bindplane no sistema operacional Linux de acordo com as instruções a seguir.
Instalação do Linux
- Abra um terminal com privilégios de raiz ou sudo.
Execute este comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Recursos de instalação adicionais
Para outras opções de instalação, consulte este guia de instalação.
Configurar o agente do Bindplane para ingerir o Syslog e enviar ao Google SecOps
Acesse o arquivo de configuração:
- Localize o arquivo
config.yaml. Normalmente, ele está no diretório/opt/observiq-otel-collector/no Linux. - Abra o arquivo usando um editor de texto (por exemplo,
nanoouvi).
- Localize o arquivo
Edite o arquivo
config.yamlda seguinte forma:receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: protocol: https # Region of your instance, for example us, europe, asia-southeast1 location: <LOCATION> # Project number of the Google Cloud project linked to the instance project: '<PROJECT_NUMBER>' compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <CUSTOMER_ID> endpoint: chronicle.googleapis.com # Add optional ingestion labels for better organization log_type: 'AIDE' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels- Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.
- Substitua
<LOCATION>pela região da sua instância do Google SecOps (por exemplo,us,europe, ouasia-southeast1). O exportador prefixachronicle.googleapis.comcom esse valor. - Substitua
<PROJECT_NUMBER>pelo número do projeto em IAM e administrador > Configurações. - Substitua
<CUSTOMER_ID>pelo ID de cliente real. - Atualize
/path/to/ingestion-authentication-file.jsonpara o caminho do arquivo em que o arquivo de chave da conta de serviço (opção 1) foi salvo na etapa 1.
Exportador da API Ingestion legada
Se você usar o arquivo de autenticação de ingestão da opção 2, substitua o bloco
exporterspelo seguinte. Definacreds_file_pathcomo o caminho para o arquivo de autenticação de ingestão e, se a instância estiver fora dos EUA, substituamalachiteingestion-pa.googleapis.compelo endpoint regional (por exemplo,europe-malachiteingestion-pa.googleapis.com).exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <CUSTOMER_ID> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'AIDE' raw_log_field: body ingestion_labels:
Reiniciar o agente do Bindplane para aplicar as mudanças
Para reiniciar o agente do Bindplane no Linux, execute o seguinte comando:
sudo systemctl restart observiq-otel-collector
Configurar o encaminhamento do Syslog no AIDE
Abra o arquivo de configuração do AIDE:
sudo vi /etc/aide/aide.confAcesse a seção de relatórios.
Adicione a seguinte configuração:
- report_level: insira
list_entries. - report_format: insira
json(para AIDE 0.18 ou mais recente) ouplain. - report_url: insira
syslog:authpriv.
Exemplo de configuração:
```ini report_level=list_entries report_format=json report_url=syslog:authpriv ```- report_level: insira
Salve a configuração.
Configure o rsyslog para encaminhar registros do AIDE ao agente do Bindplane. Abra a configuração do rsyslog:
sudo vi /etc/rsyslog.d/aide-forward.confAdicione a seguinte configuração para encaminhar registros de recursos
authprivao agente do Bindplane:authpriv.* @<BINDPLANE_AGENT_IP>:514- Substitua
<BINDPLANE_AGENT_IP>pelo endereço IP do host do agente do Bindplane. - Use
@para encaminhamento de UDP ou@@para TCP.
- Substitua
Reinicie o rsyslog:
sudo systemctl restart rsyslogInicialize o banco de dados do AIDE se esta for uma nova instalação:
sudo aide --init sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.dbTeste a configuração:
sudo aide --checkConfigure verificações automatizadas usando o cron:
sudo crontab -eAdicione a seguinte linha para executar o AIDE diariamente às 4h05:
05 4 * * * root /usr/sbin/aide --check
Tabela de mapeamento de UDM
| Campo de registro | Mapeamento de UDM | Lógica |
|---|---|---|
added_label |
principal.asset.attribute.labels |
Mesclado |
changed_label |
principal.asset.attribute.labels |
Mesclado |
old_acl_label |
principal.asset.attribute.labels |
Mesclado |
old_md5_label |
principal.asset.attribute.labels |
Mesclado |
old_perms_label |
principal.asset.attribute.labels |
Mesclado |
old_sha256_label |
principal.asset.attribute.labels |
Mesclado |
old_ts_label |
principal.asset.attribute.labels |
Mesclado |
removed_label |
principal.asset.attribute.labels |
Mesclado |
total_label |
principal.asset.attribute.labels |
Mesclado |
file_path |
principal.file.full_path |
Mapeado diretamente |
path |
principal.file.full_path |
Mapeado diretamente |
old_size |
principal.file.size |
Mapeado diretamente |
host |
principal.hostname |
Mapeado diretamente |
sr |
security_result |
Mesclado |
new_acl_label |
target.asset.attribute.labels |
Mesclado |
new_md5_label |
target.asset.attribute.labels |
Mesclado |
new_perms_label |
target.asset.attribute.labels |
Mesclado |
new_sha256_label |
target.asset.attribute.labels |
Mesclado |
new_ts_label |
target.asset.attribute.labels |
Mesclado |
path |
target.file.full_path |
Mapeado diretamente |
new_size |
target.file.size |
Mapeado diretamente |
| N/A | metadata.event_type |
Constante: GENERIC_EVENT |
| N/A | metadata.product_name |
Constante: AIDE |
| N/A | metadata.vendor_name |
Constante: AIDE |
| N/A | principal.application |
Constante: aide |
| N/A | principal.file.size |
Constante: sizedata |
| N/A | target.file.size |
Constante: sizedata_target |
total_files", "added_files", "removed_files", "changed_files", "old_timestamp", "old_perms", "old_sha256", "old_md5", and "old_acl |
principal.asset.attribute.labels |
Mapeado do registro de alterações |
new_timestamp", "new_perms", "new_sha256", "new_md5", and "new_acl |
target.asset.attribute.labels |
Mapeado do registro de alterações |
Registro de alterações
Consulte o registro de alterações deste analisador
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.