Coletar registros do Fortinet Firewall
Neste documento, explicamos como coletar e processar registros do Fortinet no Google Security Operations usando o Bindplane. O analisador extrai campos de registros, processando formatos JSON e SYSLOG (com par de chave-valor). Ele normaliza os campos extraídos no modelo de dados unificado (UDM, na sigla em inglês), incluindo conexões de rede, atividade do usuário, eventos de DNS e descobertas de segurança, além de processar vários formatos de registro e casos extremos.
Antes de começar
- Verifique se você tem uma instância do Google Security Operations.
- Verifique se você está usando o Windows 2016 ou uma versão mais recente ou um host Linux com
systemd
. - Se estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas.
- Verifique se você tem acesso privilegiado a um dispositivo de firewall Fortinet.
Receber o arquivo de autenticação de ingestão do Google SecOps
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Agentes de coleta.
- Faça o download do arquivo de autenticação de transferência. Salve o arquivo com segurança no sistema em que o 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 do cliente na seção Detalhes da organização.
Instalar o agente do Bindplane
Instalação do Windows
- Abra o Prompt de Comando ou o PowerShell como administrador.
Execute este 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 este comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Outros recursos de instalação
- Para mais opções de instalação, consulte este guia de instalação.
Configurar o agente do Bindplane para processar o Syslog e enviar ao Google SecOps
Acesse o arquivo de configuração:
- Localize o arquivo
config.yaml
. Normalmente, ele está no diretório/etc/bindplane-agent/
no Linux ou no diretório de instalação no Windows. - Abra o arquivo usando um editor de texto (por exemplo,
nano
,vi
ou Notepad).
- Localize o arquivo
Edite o arquivo
config.yaml
da seguinte forma:```yaml 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: FORTINET_FIREWALL raw_log_field: body 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
<customer_id>
pelo ID real do cliente.Atualize
/path/to/ingestion-authentication-file.json
para o caminho em que o arquivo de autenticação foi salvo na seção Receber o arquivo de autenticação de transferência do Google SecOps.
Reinicie o agente do Bindplane para aplicar as mudanças
Para reiniciar o agente do Bindplane no Linux, execute o seguinte comando:
sudo systemctl restart bindplane-agent
Para reiniciar o agente do Bindplane no Windows, use o console Services ou digite o seguinte comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configurar o Syslog no FortiGate usando a CLI
- Faça login na interface de linha de comando no seu dispositivo Fortinet FortiGate.
Digite os comandos a seguir na mesma ordem (substitua as variáveis por valores que se alinhem ao seu ambiente).
sh full-configuration | grep -f syslogd config log syslogd setting set status enable set server IP_ADDRESS set mode udp set port PORT set facility LOCAL set reliable enable or disable set source-ip FIEWALL_IP end
Atualize os seguintes valores:
IP_ADDRESS
: insira o endereço IPv4 do agente do Bindplane.PORT
: insira o número da porta do agente do Bindplane. Por exemplo,514
.LOCAL
: defina o nível da instalação como local6. Você também pode selecionar outros comolocal0
,local1
,local2
,local3
,local4
,local5
oulocal7
para registros informativos.enable or disable
: insiradisable
para enviar dados como UDP. Se você definir o valor de confiável comoenable
, os dados serão enviados como TCP.FIEWALL_IP
: insira o endereço IPv4 do firewall.
Configurar o Syslog no FortiGate usando a GUI
- Faça login na interface da Web do Fortinet Fortigate.
- Acesse Registro e relatório > Configurações de registro.
- Edite as seguintes configurações:
- Enviar registros para o Syslog: selecione Ativar.
- Endereço IP / FQDN: insira o endereço IPv4 do agente do Bindplane.
- Registro de eventos: selecione Todas.
- Registro de tráfego local: selecione Tudo.
Acesse Política e objetos > Política de firewall.
- Ative o nível de registro como Todos (não defina como "Desativar e UTM") para cada política de firewall.
- Verifique se a política Negar implicitamente também está no nível de registro Todos.
Abra a CLI e digite os seguintes comandos.
Receba o IP do dispositivo de firewall:
Show full-configuration | grep -f syslogd
Defina o IP e a instalação de origem:
LOCAL
: defina o nível da instalação como local6. Você também pode selecionar outros comolocal0
,local1
,local2
,local3
,local4
,local5
oulocal7
para registros informativos.FIEWALL_IP
: insira o endereço IPv4 do firewall.config log syslogd setting set source-ip FIEWALL_IP set facility LOCAL end
Ative o resolve-ip para cada dispositivo Fortigate:
config log setting set resolve-ip enable
Repita o processo para cada dispositivo que precisa ser integrado ao Google SecOps.
Opcional: outras opções de configuração do Fortigate Syslog
Para ativar os registros estendidos no FortiGate v5.X, execute os seguintes comandos:
config antivirus profile edit default set extended-utm-log enable end config application edit default set extended-utm-log enable end config webfilter edit default set extended-utm-log enable end config spamfilter edit default set extended-utm-log enable end config dlp edit default set extended-utm-log enable end config ips edit default set extended-utm-log enable end
Tabela de mapeamento do UDM
Campo de registro | Mapeamento do UDM | Lógica |
---|---|---|
action |
security_result.action_details |
O valor é extraído diretamente do campo action no registro bruto. |
act |
security_result.action_details |
Se o campo action estiver vazio, o valor será retirado do campo act no registro bruto. |
agent |
network.http.user_agent , network.http.parsed_user_agent |
O valor é retirado do campo agent . O campo parsed_user_agent é uma versão analisada do campo user_agent . |
appid |
security_result1.rule_id |
O valor é retirado do campo appid . |
app |
target.application , network.application_protocol , additional.fields |
Se o campo service estiver vazio, o valor será retirado do campo app . Se service for HTTPS, HTTP, DNS, DHCP ou SMB, o valor será usado para preencher network.application_protocol . Caso contrário, será usado para target.application . Um campo extra com a chave app e o valor de string do campo app é adicionado a additional.fields . |
appact |
additional.fields |
Um campo extra com a chave appact e o valor de string do campo appact é adicionado a additional.fields . |
appcat |
additional.fields |
Um campo extra com a chave appcat e o valor de string do campo appcat é adicionado a additional.fields . |
applist |
additional.fields |
Um campo extra com a chave applist e o valor de string do campo applist é adicionado a additional.fields . |
apprisk |
additional.fields |
Um campo extra com a chave apprisk e o valor de string do campo apprisk é adicionado a additional.fields . |
attack |
security_result.category_details , security_result.threat_name , security_result.summary , security_result.detection_fields |
O valor é adicionado a security_result.category_details . Para eventos de IPS/anomalia, ele também é usado para security_result.summary e security_result.threat_name . Um campo de detecção com a chave attack e o valor do campo attack é adicionado a security_result.detection_fields . |
attackid |
security_result.threat_id , security_result1.rule_id , security_result.detection_fields |
Para eventos de IPS, o valor é usado para security_result.threat_id . Para outros eventos, ele é usado para security_result1.rule_id . Um campo de detecção com a chave attackId e o valor do campo attackid é adicionado a security_result.detection_fields . |
cat |
security_result1.rule_id |
Para eventos de filtro da Web, o valor é usado para security_result1.rule_id . |
catdesc |
security_result.description , security_result1.rule_name , security_result.category_details |
Se presente, ele é anexado ao campo msg para criar o security_result.description . Ele também é usado para security_result1.rule_name . O valor é adicionado a security_result.category_details . |
changes |
security_result.summary |
O campo changes é analisado como pares de chave-valor. O valor mode do changes analisado é usado para security_result.summary . |
connection_type |
metadata.product_event_type |
O valor é anexado ao metadata.product_event_type , se presente. |
craction |
security_result.about.labels |
Um rótulo com a chave craction e o valor do campo craction é adicionado a security_result.about.labels . |
crlevel |
security_result.severity , event.idm.is_alert , event.idm.is_significant |
Se crlevel for CRÍTICO ou level for um alerta, is_alert e is_significant serão definidos como VERDADEIRO. O valor é mapeado para security_result.severity com base no seguinte mapeamento: ALTO para HIGH , MÉDIO para MEDIUM , BAIXO para LOW e CRÍTICO para CRITICAL . |
crscore |
security_result.severity_details |
Para eventos de IPS, o valor é usado para security_result.severity_details . |
cs6 |
principal.user.group_identifiers |
O valor é adicionado a principal.user.group_identifiers . |
date , time |
timestamp |
Os campos date e time são combinados e analisados para criar o timestamp . |
devid |
security_result.detection_fields |
Um campo de detecção com a chave devid e o valor do campo devid é adicionado a security_result.detection_fields . |
devname |
intermediary.hostname , target.hostname , target.asset.hostname , principal.hostname , principal.asset.hostname |
Se dvchost estiver presente, dvchost será usado para intermediary.hostname . Caso contrário, devname será usado. Para eventos de VPN com type como event , ele é usado para target.hostname . Para eventos de criação de usuários, é usado para principal.hostname . |
deviceSeverity |
level |
O valor é usado para preencher o campo level . |
device_product |
metadata.product_name |
O valor é usado para metadata.product_name . Se não estiver presente, Fortigate será usado como padrão. |
device_vendor |
metadata.vendor_name |
O valor é usado para metadata.vendor_name . Se não estiver presente, Fortinet será usado como padrão. |
device_version |
metadata.product_version |
O valor é usado para metadata.product_version . |
dhcp_msg |
network.dhcp.type , metadata.event_type , network.application_protocol |
Se o valor for Ack , network.dhcp.type será definido como ACK , metadata.event_type será definido como NETWORK_DHCP e network.application_protocol será definido como DHCP . |
dir |
direction |
Se direction estiver vazio, o valor será retirado do campo dir . |
direction |
network.direction |
O valor é mapeado para network.direction com base no seguinte mapeamento: INBOUND para incoming , inbound e response ; OUTBOUND para outgoing , outbound e request . |
dst |
target.ip , target.asset.ip |
O valor é analisado como um endereço IP e usado para target.ip . |
dstauthserver |
target.hostname , target.asset.hostname |
O valor é usado para target.hostname . |
dstcountry |
target.location.country_or_region |
Se o valor não for Reserved ou vazio, ele será usado para target.location.country_or_region . |
dstip |
target.ip , target.asset.ip |
O valor é analisado como um endereço IP e usado para target.ip . |
dstinetsvc |
security_result.detection_fields |
Um campo de detecção com a chave dstinetsvc e o valor do campo dstinetsvc é adicionado a security_result.detection_fields . |
dstintf |
security_result.detection_fields |
Um campo de detecção com a chave dstintf e o valor do campo dstintf é adicionado a security_result.detection_fields . |
dstintfrole |
security_result.detection_fields |
Um campo de detecção com a chave dstintfrole e o valor do campo dstintfrole é adicionado a security_result.detection_fields . |
dstmac |
target.mac |
O valor é analisado como um endereço MAC e usado para target.mac . |
dstosname |
target.platform |
Se o valor for WINDOWS , target.platform será definido como WINDOWS . |
dstport |
target.port |
O valor é convertido em um número inteiro e usado para target.port . |
dstswversion |
target.platform_version |
O valor é usado para target.platform_version . |
dstuuid |
target.resource.product_object_id |
O valor é usado para target.resource.product_object_id . |
dstuser |
target.user.userid |
O valor é usado para target.user.userid . |
dtype |
security_result.category_details |
O valor é adicionado a security_result.category_details . |
duration |
network.session_duration.seconds |
Se o valor não estiver vazio ou 0 , ele será convertido em um número inteiro e usado para network.session_duration.seconds . |
duser |
principal.user.userid , target.user.userid , target.user.user_display_name |
Para eventos de endpoint/sistema, ele é usado para principal.user.userid . Para eventos de login do usuário, ele é usado para target.user.userid . Para registros formatados CEF, ele é usado para target.user.user_display_name . |
dvchost |
devname |
O valor é usado para substituir o campo devname . |
d_uid |
target.user.userid |
O valor extraído do campo request é usado para target.user.userid . |
error |
security_result.severity_details |
Se level for error e error estiver presente, o valor será usado para security_result.severity_details . |
eventtime |
timestamp , metadata.event_timestamp |
O valor é analisado para criar timestamp e metadata.event_timestamp . |
eventtype |
security_result1.rule_type , security_result.detection_fields |
O valor é usado para security_result1.rule_type . Para eventos de IPS, também é usado para security_result.detection_fields . |
filename |
target.file.full_path |
O valor é usado para target.file.full_path . |
group |
principal.user.group_identifiers |
Se o valor não for N/A ou vazio, ele será adicionado a principal.user.group_identifiers . |
hostname |
target.hostname , target.asset.hostname , principal.hostname , principal.asset.hostname |
O valor é usado para target.hostname . Para eventos DHCP Ack, ele é usado para principal.hostname . |
httpmethod |
network.http.method |
O valor é usado para network.http.method . |
in |
network.received_bytes |
O valor é convertido em um número inteiro sem sinal e usado para network.received_bytes . |
incidentserialno |
security_result.about.labels |
Um rótulo com a chave incidentserialno e o valor do campo incidentserialno é adicionado a security_result.about.labels . |
ip |
principal.ip , principal.asset.ip , network.dhcp.yiaddr |
Para eventos de endpoint/sistema, o valor é adicionado a principal.ip . Para eventos DHCP Ack, ele é usado para network.dhcp.yiaddr . |
ipaddr |
intermediary.ip |
O valor é analisado como uma lista de endereços IP separados por vírgulas e adicionado a intermediary.ip . |
level |
security_result.severity , security_result.severity_details , event.idm.is_alert , event.idm.is_significant |
Se crlevel for CRITICAL ou level for um alerta, is_alert e is_significant serão definidos como TRUE. O valor é mapeado para security_result.severity com base no seguinte mapeamento: ALTO para warning , MÉDIO para notice , BAIXO para information e info , ERRO para error . security_result.severity_details está definida como level: <value> . |
locip |
principal.ip , principal.asset.ip |
Para eventos de VPN, o valor é adicionado a principal.ip . |
locport |
dstport |
O valor é usado para substituir o campo dstport . |
logdesc |
metadata.description |
O valor é usado para metadata.description . |
logid |
metadata.product_log_id , additional.fields |
O valor é usado para metadata.product_log_id . Um campo extra com a chave logid e o valor de string do campo logid é adicionado a additional.fields . |
log_id |
metadata.product_log_id |
O valor é usado para metadata.product_log_id . |
metadata.event_type |
metadata.event_type |
O valor é definido com base no tipo de evento e em outros campos. O padrão é GENERIC_EVENT. Pode ser definido como NETWORK_CONNECTION, USER_UNCATEGORIZED, NETWORK_HTTP, USER_LOGIN, USER_LOGOUT, NETWORK_DNS, NETWORK_DHCP, STATUS_UNCATEGORIZED, NETWORK_UNCATEGORIZED, USER_CREATION, USER_DELETION. |
metadata.log_type |
metadata.log_type |
O valor é definido como FORTINET_FIREWALL . |
metadata.product_event_type |
metadata.product_event_type |
O valor é definido como <type> - <subtype> . Se connection_type estiver presente, ele será anexado ao valor. Para registros formatados CEF, ele é definido como [<device_event_class_id>] - <event_name> <severity> . |
metadata.product_name |
metadata.product_name |
O valor é definido como Fortigate por padrão. Se device_product estiver presente, esse valor será usado. |
metadata.product_version |
metadata.product_version |
O valor é retirado do campo device_version , se presente. |
metadata.vendor_name |
metadata.vendor_name |
O valor é definido como Fortinet por padrão. Se device_vendor estiver presente, esse valor será usado. |
mode |
security_result.summary |
O valor extraído do campo changes é usado para security_result.summary . |
msg |
metadata.description , security_result.summary , security_result.description , security_result1.rule_name |
Se logdesc não estiver presente, o valor será usado para metadata.description . Para eventos do sistema, ele é usado para security_result.summary . Para eventos de filtro da Web, ele é adicionado antes de security_result.description . Para eventos de vírus em que msg é File is infected. , ele é usado com virus para preencher security_result.summary . Para eventos de app-ctrl, ele é usado para security_result1.rule_name . |
name |
principal.hostname , principal.asset.hostname |
O valor é usado para principal.hostname . |
nas |
principal.nat_ip |
O valor é analisado como um endereço IP e usado para principal.nat_ip . |
operation |
security_result.action_details , security_result.action |
O valor é usado para security_result.action_details . Ela também é mapeada para security_result.action com base no seguinte mapeamento: PERMITIR para accept , passthrough , pass , permit , detected , close e edit ; BLOQUEAR para deny , dropped e blocked ; FALHA para timeout ; UNKNOWN_ACTION para outros valores. |
os |
principal.platform , principal.platform_version |
Se o valor contiver Windows , principal.platform será definido como WINDOWS e a versão será extraída e usada para principal.platform_version . |
osname |
principal.platform |
Se o valor for WINDOWS , principal.platform será definido como WINDOWS . |
osversion |
principal.platform_version |
O valor é usado para principal.platform_version . |
out |
network.sent_bytes |
O valor é convertido em um número inteiro sem sinal e usado para network.sent_bytes . |
path |
security_result.description |
O valor é usado para security_result.description . |
performed_on |
security_result.about.application |
O valor é usado para security_result.about.application . |
policyid |
security_result.rule_id |
O valor é usado para security_result.rule_id . |
policyname |
security_result.rule_name |
O valor é usado para security_result.rule_name . |
policytype |
security_result.rule_type |
O valor é usado para security_result.rule_type . |
poluuid |
additional.fields |
Um campo extra com a chave poluuid e o valor de string do campo poluuid é adicionado a additional.fields . |
pri |
security_result.severity_details |
O valor é usado para security_result.severity_details . |
profile |
target.resource.name , target.resource.resource_type |
O valor é usado para target.resource.name e target.resource.resource_type é definido como ACCESS_POLICY . |
proto |
network.ip_protocol |
O valor é mapeado para network.ip_protocol com base no seguinte mapeamento: UDP para 17 , TCP para 6 , IP6IN4 para 41 , ICMP para 1 e quando service é PING ou contém ICMP . |
protocol |
network.application_protocol |
Se o valor for udp , network.ip_protocol será definido como UDP . Se o valor for tcp , network.ip_protocol será definido como TCP . Caso contrário, se não estiver vazio, ele será analisado e usado para network.application_protocol . |
qclass |
network.dns.questions.class |
Se o valor for IN , network.dns.questions.class será definido como 1 . |
qname |
network.dns.questions.name |
O valor é usado para network.dns.questions.name . |
qtypeval |
network.dns.questions.type |
O valor é convertido em um número inteiro sem sinal e renomeado para network.dns.questions.type . |
rcvdbyte |
network.received_bytes |
O valor é convertido em um número inteiro sem sinal e usado para network.received_bytes . |
rcvdpkt |
additional.fields |
Um campo extra com a chave receivedPackets e o valor de string do campo rcvdpkt é adicionado a additional.fields . |
reason |
security_result.description |
Se o valor não for N/A ou vazio, ele será usado para security_result.description . |
referralurl |
network.http.referral_url |
O valor é usado para network.http.referral_url . |
ref |
metadata.url_back_to_product |
O valor é usado para metadata.url_back_to_product . |
remip |
principal.ip , principal.asset.ip |
Para eventos de VPN, o valor é adicionado a principal.ip . |
remport |
srcport |
O valor é usado para substituir o campo srcport . |
request |
target.user.userid |
Se o valor contiver duid , o duid será extraído e usado para target.user.userid . |
sentbyte |
network.sent_bytes |
O valor é convertido em um número inteiro sem sinal e usado para network.sent_bytes . |
sentpkt |
additional.fields |
Um campo extra com a chave sentPackets e o valor de string do campo sentpkt é adicionado a additional.fields . |
server |
target.hostname , target.asset.hostname |
Para eventos do usuário, o valor é usado para target.hostname . |
service |
network.application_protocol , target.application |
Se o valor for HTTPS, HTTP, DNS, DHCP ou SMB, ele será usado para network.application_protocol . Caso contrário, será usado para target.application . |
sessionid |
network.session_id |
O valor é usado para network.session_id . |
session_id |
network.session_id |
O valor é usado para network.session_id . |
severity |
security_result.severity , security_result.detection_fields |
Para registros formatados em CEF, o valor é usado para security_result.severity . Um campo de detecção com a chave severity e o valor do campo severity é adicionado a security_result.detection_fields . |
Alterações
2025-02-24
Melhoria:
dstname
foi mapeado paratarget.hostname
.saddr
foi mapeado paraprincipal.ip
.
2025-02-18
Melhoria:
- Quando
action
éclear_session
,security_result.action
é mapeado paraBLOCK
.
2025-01-31
Melhoria:
- O mapeamento de
remip
foi alterado deprincipal.ip
paratarget.ip
.
2025-01-24
Melhoria:
- Se srcip estiver associado a uma interface do usuário (IU) ou ao tráfego SSH, mapeie srcip para
principal.ip
.
2025-01-20
Melhoria:
- Mapeamos
ui
,cfgpath
,cfgobj
,cfgattr
emsg
paraadditional.fields
.
2025-01-08
Melhoria:
- Quando type=
event
e subtype=vpn
,metadata.event_type
é mapeado paraSTATUS_UPDATE
. - Quando type=
event
subtype=vpn
e action=tunnel-stats
,metadata.event_type
foi mapeado paraNETWORK_UNCATEGORIZED
.
2025-01-01
Melhoria:
devid
emtarget.user.userid
foi substituído porprincipal.asset.hardware.serial_number
.
2024-12-20
Melhoria:
- Reorganizou o padrão GROK.
- Adição de um padrão GROK para analisar novos tipos de registros.
2024-12-04
Melhoria:
ipaddr
foi mapeado paranetwork.dns.answers
.fortihost
foi mapeado paraintermidiary.ip
.
2024-11-28
Melhoria:
- Mapeou
metadata.event_type
paraUSER_CREATION
quandoaction
éAdd
. - Mapeou
metadata.event_type
paraUSER_DELETION
quandoaction
éDelete
. - Mapeou
metadata.event_type
paraDEVICE_CONFIG_UPDATE
quandoaction
éEdit
. - O mapeamento de
devid
foi alterado desecurity_result.detection_fields
paratarget.user.userid
.
2024-11-28
Melhoria:
- Mapeou
metadata.event_type
paraUSER_CREATION
quandoaction
éAdd
. - Mapeou
metadata.event_type
paraUSER_DELETION
quandoaction
éDelete
. - Mapeou
metadata.event_type
paraDEVICE_CONFIG_UPDATE
quandoaction
éEdit
. - O mapeamento de
devid
foi alterado desecurity_result.detection_fields
paratarget.user.userid
.
2024-11-27
Melhoria:
- Se
utmaction
estiver presente, mapeieaction
parasecurity_result_1.action_details
.
2024-11-21
Melhoria:
- O mapeamento de
msg
foi alterado demetadata.description
parasecurity_result.summary
. logdesc
foi mapeado parametadata.description
.
2024-11-08
Melhoria:
- Mapeamento de
ui
paraprincipal.ip
eprincipal.asset.ip
.
2024-11-08
Melhoria:
- Mapeamento de
ui
paraprincipal.ip
eprincipal.asset.ip
.
2024-10-15
Melhoria:
type
,subtype
elevel
foram mapeados paraadditional.fields
.
2024-09-20
Melhoria:
- Quando
dstosname
for igual aDEBIAN
, definatarget.platform
comoLINUX
.
2024-09-19
Melhoria:
- Quando
service
ékernel
, a tag de exclusão é removida. mac
foi mapeado paraprincipal.mac
.
2024-09-13
Melhoria:
- Foi adicionada uma verificação condicional para
ssl-login-fail
eauth-logon
antes de mapear o valor do campo UDMsecurity_result.action
.
2024-08-29
Melhoria:
- Se
action
fornegotiate
, definasecurity_result.action
comoBLOCK
. - Se
action
fortunnel-down
,tunnel-stats
,tunnel-up
essl-new-con
, definasecurity_result.action
comoALLOW
. - Se
action
for quase igual atunnel
ouaction
fornegotiate
, definametadata.event_type
comoNETWORK_CONNECTION
.
2024-08-16
Melhoria:
- O mapeamento de
security_result.action
foi alterado deFAIL
paraBLOCK
quandoaction
étimeout
2024-08-13
Melhoria:
logid
foi mapeado parametadata.product_log_id
.vd
foi mapeado paraprincipal.administrative_domain
.srcintfrole
foi mapeado parasecurity_result.detection_fields
.dstintfrole
foi mapeado parasecurity_result.detection_fields
.- Mapeamos
sentpkt
,rcvdpkt
,vpntype
,authserver
,crlevel
,trandisp
,policyid
eappcat
paraadditional.fields
. policytype
foi mapeado parasecurity_result.rule_type
.craction
foi mapeado parasecurity_result.about.labels
.crscore
foi mapeado parasecurity_result.severity_details
.group
foi mapeado paraprincipal.user.group_identifiers
.
2024-08-06
Melhoria:
- Mapeou
auditid
,auditscore
,auditid
,criticalcount
,highcount
,mediumcount
,lowcount
,passedcount
,criticalcount
,srccountry
,direction
,dstcountry
,dstintf
,dstintfrole
,xid
,qtype
,qtypeval
,qclass
,cat
,rcode
elicense_limit
parasecurity_result.detection_fields
. cpu
,mem
,disk
,bandwidth
,disklograte
,fazlograte
,freediskstorage
,sysuptime
,waninfo
,trandisp
,used_for_type
,connection_type
,count
efctuid
foram mapeados paraadditional.fields
.totalsession
foi mapeado paranetwork.session_duration.seconds
.incidentserialno
foi mapeado paranetwork.tls.client.certificate.serial
.scertcname
foi mapeado paranetwork.tls.client.certificate.subject
.scertissuer
foi mapeado paranetwork.tls.client.certificate.issuer
.- Mapeamento de
authserver
paraprincipal.hostname
eprincipal.asset.hostname
. dstserver
edst_host
foram mapeados paratarget.hostname
etarget.asset.hostname
.dsthwvendor
foi mapeado paratarget.resource.attribute.labels
.eventtime
foi mapeado parametadata.event_timestamp
.- Mapeou
reqtype
,rcvdbyte
,ratemethod
,outintf
,cookies
,useralt
,xauthuser
,xauthgroup
,assignip
,vpntunnel
,init
,stage
,role
,advpnsc
,tunneltype
,tunnelid
enextstat
paraprincipal.resource.attribute.labels
. policyid
foi mapeado parasecurity_result.rule_id
.policytype
foi mapeado parasecurity_result.rule_type
.date
,time
etz
foram mapeados parametadata.ingested_timestamp
.- Mapeamento de
profile
paratarget.resource.name
etarget.resource.resource_type
. - Se
user
for um IP válido, mapeieuser
paraprincipal.ip
eprincipal.asset.ip
. group
foi mapeado paraprincipal.user.group_identifiers
.mode
foi mapeado parasecurity_result.summary
.result
foi mapeado parasecurity_result.description
.
2024-07-29
Melhoria:
- Adicionamos uma verificação condicional para o campo
success
antes de mapear o camposecurity_result.action
do UDM.
2024-07-17
Melhoria:
gsub
foi adicionado para analisar registros syslog não analisados.
2024-07-02
Melhoria:
FTNTFGTappcat
foi mapeado paraadditional.fields
.FTNTFGTduration
foi mapeado paranetwork.session_duration.seconds
.- Mapeamento de
FTNTFGTsentpkt
paraadditional.fields
enetwork.sent_packets
. - Mapeamento de
FTNTFGTrcvdpkt
paraadditional.fields
enetwork.received_packets
. FTNTFGTdstintfrole
foi mapeado parasecurity_result.detection_fields
.FTNTFGTsrcintfrole
foi mapeado parasecurity_result.detection_fields
.FTNTFGTpoluuid
foi mapeado parasecurity_result.rule_id
.FTNTFGTvd
foi mapeado paraprincipal.administrative_domain
.
2024-05-21
Melhoria:
gsub
foi adicionado para analisar registros JSON.
2024-04-19
Melhoria:
Mapped correct
shostvalue to
principal.hostnameby adding gsub function for
fw_versionfield.
Correção de bugs:- Adição de suporte a registros que não têm o campo
jsonPayload.message
.
2024-03-07
Melhoria:
httpmethod
foi mapeado paranetwork.http.method
.- Mapeamento de
agent
paranetwork.http.user_agent
enetwork.http.parsed_user_agent
. - Mapeamentos alinhados para
principal.ip
eprincipal.asset.ip
. - Mapeamentos alinhados para
principal.hostname
eprincipal.asset.hostname
. - Mapeamentos alinhados para
target.ip
etarget.asset.ip
. - Mapeamentos alinhados para
target.hostname
etarget.asset.hostname
.
2023-11-21
Correção de bugs:
dstuser
foi mapeado paraevent.idm.read_only_udm.target.user.userid
.dstauthserver
foi mapeado paraevent.idm.read_only_udm.target.hostname
.poluuid
foi mapeado paraevent.idm.read_only_udm.additional.fields
.srcuuid
foi mapeado paraevent.idm.read_only_udm.principal.resource.product_object_id
.dstuuid
foi mapeado paraevent.idm.read_only_udm.target.resource.product_object_id
.attack
foi mapeado paraevent.idm.read_only_udm.security_result.category_details
.- Se o valor de
type
forutm
e o valor desubtype
forwaf
, mudeevent.idm.read_only_udm.metadata.event_type
deNETWORK_UNCATEGORIZED
paraNETWORK_CONNECTION
. - Se o valor de
direction
forrequest
, definaevent.idm.read_only_udm.network.direction
comoOUTBOUND
. - Se o valor de
direction
forresponse
,definaevent.idm.read_only_udm.network.direction
comoINBOUND
.
2023-11-20
Correção de bugs:
transip
foi mapeado paraprincipal.nat_ip
.transport
foi mapeado paraprincipal.nat_port
.tranport
foi mapeado paratarget.nat_port
.
2023-07-10
Melhoria:
- Registros brutos analisados do tipo
Added FTP Server
.
2023-06-01
Melhoria:
log_id
foi mapeado parametadata.product_log_id
.operation
foi mapeado comosecurity_result.action_details
esecurity_result.action
comoALLOW
.performed_on
foi mapeado parasecurity_result.about.application
.path
foi mapeado parasecurity_result.description
.pri
foi mapeado parasecurity_result.severity_details
.mode
foi mapeado parasecurity_result.summary
.desc
foi mapeado parametadata.description
.userfrom
foi mapeado paraprincipal.ip
.
2023-05-24
Melhoria:
severity
foi mapeado parasecurity_result.detection_fields
.
2023-04-19
Melhoria:
srcinetsvc
edstinetsvc
foram mapeados parasecurity_result.detection_fields
.
2023-03-06
Melhoria:
- Quando
type
=event
esubtype
=vpn
mapeados: event_type
paraUSER_LOGIN
.extensions.auth.type
paraVPN
.devname
paratarget.hostname
.- Mapeou
action
parasecurity_result.action
, se presente, ouutmaction
. No início, era feito o contrário.
2023-02-22
- O
metadata.event_type
foi mapeado comoUSER_UNCATEGORIZED
em vez deGENERIC_EVENT
quando o campouser
está presente. msg
foi mapeado parasecurity_result.summary
.nas
foi mapeado paraprincipal.nat_ip
.- O grok foi modificado para analisar dados de
target.user.userid
quandologdesc
contémGUI_ENTRY_DELETION
.
2023-01-13
shost
foi mapeado paraprincipal.hostname
.
2022-11-24
Melhoria:
tranip
foi mapeado paratarget.nat_ip
.- O mapeamento de
msg
foi modificado desecurity_result.description
parasecurity_result.summary
.
2022-10-21
Melhoria:
suser
foi mapeado paraprincipal.user.user_display_name
.duser
foi mapeado paratarget.user.user_display_name
.suid
foi mapeado paraprincipal.user.userid
.duid
foi mapeado paratarget.user.userid
.
2022-10-20
Correção de bugs:
- O mapeamento
security_result.action
mudou deBLOCK
paraALLOW
quandoaction=close
.
2022-10-13
Melhoria:
- O mapeamento de
metadata.event_type
foi alterado deGENERIC_EVENT
paraUSER_DELETION
quandologdesc
éGUI_ENTRY_DELETION
- Mapeou
msg
parasecurity_result.description
- Mapeou
devname
paraprincipal.hostname
- Mapeou
user_name
paratarget.user.userid
- Mapeou
level
parasecurity_result.severity_details
2022-10-13
Melhoria:
- O mapeamento de
metadata.event_type
foi alterado deGENERIC_EVENT
paraUSER_DELETION
quandologdesc
éGUI_ENTRY_DELETION
- Mapeou
msg
parasecurity_result.description
- Mapeou
devname
paraprincipal.hostname
- Mapeou
user_name
paratarget.user.userid
- Mapeou
level
parasecurity_result.severity_details
2022-10-06
Correção de bugs:
- Foi adicionada uma verificação condicional para os campos "utmaction" e "action".
- O campo "utmaction" foi mapeado para "security_result.action", se presente, ou para "action", caso contrário.
2022-10-06
Correção de bugs:
- Foi adicionada uma verificação condicional para os campos "utmaction" e "action".
- O campo "utmaction" foi mapeado para "security_result.action", se presente, ou para "action", caso contrário.
2022-09-21
Melhoria:
- O campo "protocol" foi associado a "network.ip_protocol" se o protocolo contiver tcp e udp. Caso contrário, ele foi associado a "network.application_protocol".
- Foram adicionadas gsubs e aprimorado o analisador para analisar os registros do formato CEF com nomes de campos diferentes.
2022-09-09
Melhoria:
- Os analisadores específicos do cliente foram migrados para o analisador padrão.
- Adição de suporte a registros com formato CEF.
- O campo "cs6" foi mapeado para "principal.user.group_identifiers".
- O campo "start" foi mapeado para "metadata.event_timestamp".
- O campo "dvchost" foi mapeado para "intermediary.hostname".
- O campo "dhost" foi mapeado para "target.hostname".
- O campo "src" foi mapeado para "principal.ip".
- O campo "spt" foi mapeado para "principal.port".
- O campo "sourceTranslatedAddress" foi mapeado para "principal.nat_ip".
- O campo "sourceTranslatedPort" foi mapeado para "principal.nat_port".
- O campo "dst" foi mapeado para "target.ip".
- O campo "dpt" foi mapeado para "target.port".
- O campo "out" foi mapeado para "network.sent_bytes".
- O campo "in" foi mapeado para "network.received_bytes".
- O campo "deviceSeverity" foi mapeado para "security_result.severity".
- O campo "act" foi associado a "security_result.action" e "security_result.action_details".
- O campo "sentpkt" foi mapeado para "additional.fields".
- O campo "rcvdpkt" foi mapeado para "additional.fields".
- Foram adicionadas verificações de null condicionais para os campos "metadata.product_name", "metadata.vendor_name", "sentbyte", "rcvdbyte" e "intermediary".
- O campo "metadata.event_type" foi modificado para os seguintes casos:
- "GENERIC_EVENT" para "NETWORK_UNCATEGORIZED", em que principal.ip e target.ip não são nulos.
- "GENERIC_EVENT" para "STATUS_UNCATEGORIZED", em que principal.ip não é nulo.
2022-08-22
Melhoria:
- Adição de suporte a registros com formato CEF.
- O campo "vd" foi mapeado para "principal.administrative_domain".
- O campo "status" foi mapeado para "security_result.summary".
- O campo "msg" foi mapeado para "security_result1.description".
- Mapeou o campo "ip_address" para "principal.ip", em que o campo "msg" está presente.
- O mapeamento do campo "devname" para "principal.hostname" foi removido.
2022-08-11
Melhoria:
- O campo
app
é mapeado paraadditional.fields[n]
. - Foi adicionada uma verificação de condição nula para o campo
remip
.
2022-07-21
Melhoria:
- O mapeamento de
group
foi modificado deprincipal.user.groupid
paraprincipal.user.group_identifiers
.
2022-07-13
Melhoria:
- Mapeamentos adicionados para novos campos.
appcat
foi mapeado para event.idm.read_only_udm.additional.fields.apprisk
foi mapeado para event.idm.read_only_udm.additional.fields.applist
foi mapeado para event.idm.read_only_udm.additional.fields.appact
foi associado a event.idm.read_only_udm.additional.fields.devid
foi mapeado para event.idm.read_only_udm.additional.fields.
2022-06-20
Melhoria:
- Mapeou
security_result.action
comoALLOW
quando o valor do campoaction
ouutmaction
édetected
.
2022-05-20
Melhoria:
- Mapeamentos adicionados para novos campos;
action
eutmaction
foram mapeados parasecurity_result.action_details
.- Foram adicionadas verificações de validação para
principal.ip
etarget.ip
.
2022-04-29
Melhoria:
Adição de suporte a action = timeout/close para o UDM.
O nome do desenvolvedor foi mapeado para principal.hostname quando o campo principal está vazio.
2022-04-12
Melhoria:
- Mapeamentos adicionados para novos campos.
- attackid mapeado para security_result.rule_id
- crlevel mapeado para security_result.severity
- incidentserialno mapeado para metadata.product_log_id
- craction mapeado para metadata.product_deployment_id
- dstintf mapeado para additional.fields
- dstintfrole mapeado para additional.fields
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.