Recolha registos do ManageEngine ADAudit Plus
Este documento explica como carregar registos do ManageEngine ADAudit Plus para o Google Security Operations através de um agente do Bindplane. O analisador processa registos do ADAudit Plus, convertendo-os no formato UDM. Usa padrões grok para extrair campos de mensagens formatadas de chave/valor e SYSLOG (CEF), mapeando-os para campos UDM com base em tipos de eventos derivados de perfis de alertas e relatórios, e enriquecendo os dados com contexto adicional. O analisador também processa cenários específicos, como falhas de início de sessão, alterações de utilizadores e modificações de ficheiros, ajustando o mapeamento da UDM em conformidade.
Antes de começar
- Certifique-se de que tem uma instância do Google SecOps.
- Certifique-se de que está a usar o Windows 2016 ou posterior, ou um anfitrião Linux com
systemd. - Se estiver a executar o serviço através de um proxy, certifique-se de que as portas da firewall estão abertas.
- Certifique-se de que tem acesso privilegiado ao ManageEngine ADAudit.
Obtenha o ficheiro de autenticação de carregamento do Google SecOps
- Inicie sessão na consola Google SecOps.
- Aceda a Definições do SIEM > Agentes de recolha.
- Transfira o ficheiro de autenticação de carregamento. Guarde o ficheiro de forma segura no sistema onde o Bindplane vai ser instalado.
Obtenha o ID de cliente do Google SecOps
- Inicie sessão na consola Google SecOps.
- Aceda a Definições do SIEM > Perfil.
- Copie e guarde o ID do cliente da secção Detalhes da organização.
Instale o agente do Bindplane
Instalação do Windows
- Abra a Linha de comandos ou o PowerShell como administrador.
Execute o seguinte comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Instalação do Linux
- Abra um terminal com privilégios de raiz ou sudo.
Execute o seguinte 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 ver opções de instalação adicionais, consulte este guia de instalação.
Configure o agente Bindplane para carregar o Syslog e enviá-lo para o Google SecOps
Aceda ao ficheiro de configuração:
- Localize o ficheiro
config.yaml. Normalmente, encontra-se no diretório/etc/bindplane-agent/no Linux ou no diretório de instalação no Windows. - Abra o ficheiro com um editor de texto (por exemplo,
nano,viou Bloco de notas).
- Localize o ficheiro
Edite o ficheiro
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: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds: '/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 ingestion_labels: log_type: ADAUDIT_PLUS raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labelsSubstitua a porta e o endereço IP conforme necessário na sua infraestrutura.
Substitua
<customer_id>pelo ID de cliente real.Atualize
/path/to/ingestion-authentication-file.jsonpara o caminho onde o ficheiro de autenticação foi guardado na secção Obtenha o ficheiro de autenticação de carregamento do Google SecOps.
Reinicie o agente do Bindplane para aplicar as alterações
Para reiniciar o agente do Bindplane no Linux, execute o seguinte comando:
sudo systemctl restart bindplane-agentPara reiniciar o agente do Bindplane no Windows, pode usar a consola Services ou introduzir o seguinte comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configurar o Syslog do ManageEngine ADAudit Plus
- Inicie sessão na IU Web do ManageEngine ADAudit Plus.
- Aceda a Administração > Configuração > Integração do SIEM.
- Selecione Ativar para enviar os registos do ADAudit Plus.
- Selecione o formato ArcSight (CEF).
- Indique os seguintes detalhes de configuração:
- Endereço IP: endereço IP do agente do Bindplane.
- Porta: número da porta do Bindplane; por exemplo,
514para UDP. - Tipo de destino: selecione UDP (também pode selecionar TCP, consoante a configuração do agente Bindplane).
- Clique em Guardar.
Tabela de mapeamento da UDM
| Campo de registo | Mapeamento de UDM | Lógica |
|---|---|---|
ACCOUNT_DOMAIN |
principal.administrative_domain |
O valor de ACCOUNT_DOMAIN do registo não processado é atribuído a este campo UDM. |
ACCOUNT_NAME |
principal.user.userid |
O valor de ACCOUNT_NAME do registo não processado é atribuído a este campo UDM. |
ALERT_PROFILE |
security_result.summary |
O valor de ALERT_PROFILE do registo não processado é atribuído a este campo UDM. |
APPLICATION_NAME |
target.resource.name |
O valor de APPLICATION_NAME do registo não processado é atribuído a este campo UDM. Também define target.resource.resource_type como TASK e has_target_resource como verdadeiro. |
CALLER_DISPLAY_NAME |
target.user.user_display_name |
O valor de CALLER_DISPLAY_NAME do registo não processado é atribuído a este campo UDM. |
CALLER_USER_NAME |
target.user.userid |
O valor de CALLER_USER_NAME do registo não processado é atribuído a este campo UDM. |
CALLER_USER_SID |
target.group.windows_sid |
O valor de CALLER_USER_SID do registo não processado é atribuído a este campo UDM após a remoção dos carateres [%,{,}]. Isto só é feito se o valor corresponder a um padrão SID do Windows. |
Category |
metadata.product_event_type |
O valor de Category do registo não processado é atribuído a este campo UDM. |
CLIENT_HOST_NAME |
target.hostname, target.asset.hostname |
O valor de CLIENT_HOST_NAME do registo não processado é atribuído a estes campos de UDM. |
CLIENT_IP_ADDRESS |
target.ip, target.asset.ip |
O valor de CLIENT_IP_ADDRESS do registo não processado é atribuído a estes campos UDM depois de validar que se trata de um endereço IP válido. |
CLIENT_PORT |
target.port |
O valor de CLIENT_PORT do registo não processado é atribuído a este campo de UDM depois de o converter num número inteiro. |
DOMAIN |
target.administrative_domain |
O valor de DOMAIN do registo não processado é atribuído a este campo UDM. Este valor pode ser substituído posteriormente por ACCOUNT_DOMAIN, se estiver presente. |
FILE_LOCATION |
target.file.full_path |
O valor de FILE_LOCATION do registo não processado é atribuído a este campo UDM. |
FILE_NAME |
target.file.full_path |
O valor de FILE_NAME do registo não processado é atribuído a este campo UDM se FILE_LOCATION não estiver presente. |
FORMAT_MESSAGE |
security_result.description |
O valor de FORMAT_MESSAGE do registo não processado é atribuído a este campo UDM. Podem ser usadas partes deste campo para preencher outros campos da UDM e, em seguida, removidas da descrição. |
IP |
principal.ip, principal.asset.ip |
O valor de IP do registo não processado é atribuído a estes campos UDM depois de validar que se trata de um endereço IP válido. |
loggerHost |
intermediary.hostname, intermediary.asset.hostname |
O valor de loggerHost extraído do campo de mensagem do registo não processado é atribuído a estes campos de UDM. |
login_name |
target.user.userid ou target.user.email_addresses ou target.user.user_display_name |
Se o valor contiver @, é tratado como um endereço de email. Se contiver espaços, é tratado como um nome a apresentar. Caso contrário, é tratado como um ID do utilizador. Também define event_type como USER_LOGIN, extensions.auth.type como MACHINE e extensions.auth.mechanism como USERNAME_PASSWORD. |
RECORD_NUMBER |
principal.process.pid |
O valor de RECORD_NUMBER do registo não processado é atribuído a este campo UDM. |
REPORT_PROFILE |
metadata.description |
O valor de REPORT_PROFILE do registo não processado é atribuído a este campo UDM. |
SEVERITY |
security_result.severity |
O valor de SEVERITY determina o valor deste campo UDM: 1 é mapeado para LOW, 2 é mapeado para MEDIUM e 3 é mapeado para HIGH. |
SOURCE |
principal.hostname, principal.asset.hostname |
O valor de SOURCE do registo não processado, combinado com DOMAIN se SOURCE não contiver uma parte do domínio, é atribuído a estes campos de UDM. Também define has_principal_host como verdadeiro. |
TIME_GENERATED |
metadata.event_timestamp.seconds |
O valor de TIME_GENERATED do registo não processado é usado como a data/hora do evento. |
UNIQUE_ID |
metadata.product_log_id |
O valor de UNIQUE_ID do registo não processado é atribuído a este campo UDM. |
USERNAME |
principal.user.userid |
O valor de USERNAME do registo não processado é atribuído a este campo UDM se ACCOUNT_NAME não estiver presente. |
USER_OU_GUID |
metadata.product_log_id |
O valor de USER_OU_GUID do registo não processado, após a remoção das chavetas, é atribuído a este campo UDM se UNIQUE_ID não estiver presente. |
access_mode |
security_result.detection_fields.value |
O valor de access_mode do registo não processado é atribuído a este campo de UDM, com a chave definida como ACCESS_MODE. |
action_name |
security_result.description |
O valor de action_name do registo não processado é atribuído a este campo UDM. |
domain_name |
principal.administrative_domain |
O valor de domain_name do registo não processado é atribuído a este campo UDM. |
event.idm.read_only_udm.extensions.auth.mechanism |
event.idm.read_only_udm.extensions.auth.mechanism |
Defina como USERNAME_PASSWORD se login_name estiver presente ou se event_type for USER_LOGIN. |
event.idm.read_only_udm.extensions.auth.type |
event.idm.read_only_udm.extensions.auth.type |
Defina como MACHINE se login_name estiver presente ou se event_type for USER_LOGIN. |
event.idm.read_only_udm.metadata.event_type |
event.idm.read_only_udm.metadata.event_type |
Determinado pelo analisador com base nos valores de ALERT_PROFILE, REPORT_PROFILE e FORMAT_MESSAGE. Pode ser um de vários valores, incluindo USER_CHANGE_PERMISSIONS, USER_STATS, USER_LOGIN, USER_CHANGE_PASSWORD, SETTING_MODIFICATION, FILE_DELETION, FILE_MODIFICATION, STATUS_SHUTDOWN, SCHEDULED_TASK_CREATION, FILE_READ, NETWORK_CONNECTION, GENERIC_EVENT, USER_UNCATEGORIZED ou STATUS_UPDATE. |
event.idm.read_only_udm.metadata.log_type |
event.idm.read_only_udm.metadata.log_type |
Está sempre definido como ADAUDIT_PLUS. |
event.idm.read_only_udm.metadata.product_name |
event.idm.read_only_udm.metadata.product_name |
Está sempre definido como ADAudit Plus. |
event.idm.read_only_udm.metadata.vendor_name |
event.idm.read_only_udm.metadata.vendor_name |
Está sempre definido como Zoho Corporation. |
host |
principal.hostname, principal.asset.hostname |
O valor de host do registo não processado é atribuído a estes campos de UDM. Também define has_principal_host como verdadeiro. |
intermediary.hostname, intermediary.asset.hostname |
intermediary.hostname, intermediary.asset.hostname |
Definido para o valor de loggerHost. |
principalHost |
principal.hostname, principal.asset.hostname |
O valor de principalHost do registo não processado é atribuído a estes campos de UDM após verificar se é um IP. Também define has_principal_host como verdadeiro. |
security_result.action |
security_result.action |
Defina como ALLOW se outcome ou msg_data_2 contiver Success ou se FORMAT_MESSAGE contiver Status:Success. Definido como BLOCK se status contiver denied, locked out, incorrect, does not meet ou Unable to validate. Definido como BLOCK se ALERT_PROFILE for Logon Failures for Admin Users. |
security_result.category |
security_result.category |
Defina como POLICY_VIOLATION se event_type for USER_STATS ou se ALERT_PROFILE for Logon Failures for Admin Users. |
security_result.rule_name |
security_result.rule_name |
Extraído do campo FORMAT_MESSAGE se contiver Reason:. |
status |
security_result.summary |
O valor de status do registo não processado é atribuído a este campo UDM. |
targetHost |
target.hostname, target.asset.hostname ou target.ip, target.asset.ip |
O valor de targetHost do registo não processado é atribuído a estes campos de UDM após verificar se é um IP. |
targetUser |
target.user.userid |
O valor de targetUser do registo não processado é atribuído a este campo UDM. |
_CNtargetUser |
target.user.user_display_name |
O valor de _CNtargetUser do registo não processado é atribuído a este campo UDM. |
_user |
principal.user.userid ou target.user.userid |
O valor de _user do registo não processado é atribuído a principal.user.userid, a menos que event_type seja USER_CHANGE_PASSWORD. Nesse caso, é atribuído a target.user.userid. |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.