Coletar registros do SonicWall
Neste documento, descrevemos como coletar registros do SonicWall usando um encaminhador do Google Security Operations.
Para mais informações, consulte Ingestão de dados no Google Security Operations.
Um rótulo de ingestão identifica o analisador que normaliza dados de registro brutos
para o formato UDM estruturado. As informações neste documento se aplicam ao analisador com o rótulo de ingestão SONIC_FIREWALL.
Configurar o dispositivo de segurança SonicWall
- Faça login no console do SonicWall.
- Acesse Log > Syslog.
- Na seção Servidores Syslog, clique em Adicionar. A janela Adicionar servidor syslog é exibida.
- No campo Nome ou Endereço IP, informe o nome do host ou o endereço IP do encaminhador do Google Security Operations.
- Se a configuração do syslog não usar a porta 514 padrão, especifique o número da porta no campo Número da porta.
- Clique em OK.
- Clique em Aceitar para salvar todas as configurações do servidor Syslog.
Configurar o encaminhador do Google Security Operations e o syslog para ingerir registros do SonicWall
- Acesse Configurações > Gerenciamento de dados > Encaminhadores. Se você estiver em uma plataforma somente SIEM, acesse Configurações > Encaminhadores.
- Clique em Adicionar novo encaminhador.
- No campo Nome do encaminhador, insira um nome exclusivo para o encaminhador.
- Clique em Enviar. O encaminhador é adicionado e a janela Adicionar configuração do coletor é exibida.
- No campo Nome do coletor, digite um nome.
- Selecione SonicWall como o Tipo de registro.
- Selecione Syslog como o Tipo de coletor.
- Configure os seguintes parâmetros de entrada obrigatórios:
- Protocolo: especifique o protocolo de conexão que o coletor vai usar para detectar dados do syslog.
- Endereço: especifique o endereço IP ou o nome do host de destino em que o coletor reside e detecta dados do syslog.
- Porta: especifique a porta de destino em que o coletor reside e detecta dados do syslog.
- Clique em Enviar.
Para mais informações sobre os encaminhadores do Google Security Operations, consulte a documentação sobre encaminhadores do Google Security Operations.
Para informações sobre os requisitos de cada tipo de encaminhador, consulte Configuração do encaminhador por tipo.
Se você tiver problemas ao criar encaminhadores, entre em contato com o suporte do Google Security Operations.
Referência de mapeamento de campos
Esse analisador extrai pares de chave-valor das mensagens de syslog do firewall do SonicWall, normaliza vários campos, como carimbos de data/hora, endereços IP e portas, e os mapeia para o formato UDM. Ele lida com endereços IPv4 e IPv6, distingue entre eventos permitidos e bloqueados e extrai detalhes relevantes para a segurança, como nomes e descrições de regras.
Exemplos de registros compatíveis do SonicWall
Evento de firewall padrão
{ "type": "SONIC_FIREWALL", "log": "<134> id=SONICWALL_FIREWALL\n" " sn=DEADD00D1234\n" " time=\"2020-04-08 13:28:45\"\n" " fw=192.0.2.1\n" " pri=6\n" " c=1024\n" " gcat=2\n" " m=97\n" " msg=\"Web site hit\"\n" " srcMac=00:00:5E:00:53:01\n" " src=192.0.2.10:12345:X0\n" " srcZone=LAN\n" " natSrc=192.0.2.10:12345\n" " dstMac=00:00:5E:00:53:02\n" " dst=198.51.100.20:443:X0\n" " dstZone=WAN\n" " natDst=198.51.100.20:443\n" " proto=tcp/https\n" " sent=1247\n" " rcvd=59996\n" " rule=\"14 (LAN->WAN)\"\n" " app=49175\n" " appName=\"General HTTP\"\n" " op=1\n" " dstname=sanitized-host.com\n" " arg=/sanitized/path/file.cab?id=REDACTED\n" " code=27\n" " Category=\"Information Technology/Computers\"\n" " n=3451648" }Evento de sessão SSL-VPN
{ "type": "SONIC_FIREWALL", "log": "<181>SSLVPN: id=sslvpn\n" " sn=DEADD00D1234\n" " time=\"2020-04-10 10:07:11\"\n" " vp_time=\"2020-04-10 08:07:11 UTC\"\n" " fw=192.0.2.1\n" " pri=5\n" " m=2\n" " c=102\n" " src=203.0.113.50\n" " dst=192.0.2.1\n" " user=\"internal_user@company.com\"\n" " usr=\"internal_user@company.com\"\n" " msg=\"NetExtender disconnected\"\n" " rule=access-policy\n" " duration=731\n" " bytesIn=47360\n" " bytesOut=10\n" " agent=\"SonicWALL NetExtender for Windows (REDACTED)\"" }Controle avançado de ameaças/apps
{ "type": "SONIC_FIREWALL", "log": "<129> id=PD_Firewall sn=DEADD00D1234 time=\"2024-03-06 12:33:40\"\n" " fw=192.0.2.1 pri=1 c=0 m=1154 msg=\"Application Control Detection\n" " Alert: PROTOCOLS DNS Protocol -- Standard Query A\" sid=5183\n" " appcat=\"PROTOCOLS DNS Protocol -- Standard Query A\" appid=1283 catid=74\n" " n=3235773 src=192.0.2.15:58482:X0 dst=203.0.113.1:53:X2\n" " srcMac=00:00:5E:00:53:03 dstMac=00:00:5E:00:53:04 proto=udp/dns\n" " fw_action=\"NA\"" }
Tabela de mapeamento de UDM
| Campo de registro | mapeamento de UDM | Lógica |
|---|---|---|
| agente | event.idm.read_only_udm.network.http.user_agent |
O valor do campo agent é atribuído ao campo do UDM. |
| appcat | event.idm.read_only_udm.security_result.summary |
O valor do campo appcat é atribuído ao campo do UDM. Se appcat contiver "PROXY-ACCESS", event.idm.read_only_udm.security_result.category será definido como "POLICY_VIOLATION" e event.idm.read_only_udm.security_result.action será definido como "BLOCK". |
| appid | event.idm.read_only_udm.security_result.rule_id |
O valor do campo appid é atribuído ao campo do UDM. |
| arg | event.idm.read_only_udm.target.resource.name |
O valor do campo arg é atribuído ao campo do UDM. |
| avgThroughput | event.idm.read_only_udm.target.resource.attribute.labels |
Um rótulo com a chave "avgThroughput" e o valor do campo avgThroughput é adicionado ao campo do UDM. |
| bytesIn | event.idm.read_only_udm.network.received_bytes |
O valor do campo bytesIn é convertido em um número inteiro sem sinal e atribuído ao campo do UDM. |
| bytesOut | event.idm.read_only_udm.network.sent_bytes |
O valor do campo bytesOut é convertido em um número inteiro sem sinal e atribuído ao campo do UDM. |
| bytesTotal | event.idm.read_only_udm.target.resource.attribute.labels |
Um rótulo com a chave "bytesTotal" e o valor do campo bytesTotal é adicionado ao campo do UDM. |
| Categoria | event.idm.read_only_udm.security_result.category_details |
O valor do campo Category é atribuído ao campo do UDM. |
| cdur | event.idm.read_only_udm.security_result.detection_fields |
Um campo de detecção com a chave "Duração da conexão (milissegundos)" e o valor do campo cdur é adicionado ao campo do UDM. |
| dst | event.idm.read_only_udm.target.ip, event.idm.read_only_udm.target.port |
O IP e a porta são extraídos do campo dst. Se dstV6 não estiver vazio, o IP será extraído de dstV6. |
| dstMac | event.idm.read_only_udm.target.mac |
O valor do campo dstMac é atribuído ao campo do UDM. |
| dstV6 | event.idm.read_only_udm.target.ip |
O IP é extraído do campo dstV6. |
| dstname | event.idm.read_only_udm.target.hostname |
Se dstname não for um endereço IP, o valor dele será atribuído ao campo do UDM. |
| duration | event.idm.read_only_udm.network.session_duration.seconds |
O valor do campo duration é convertido em um número inteiro e atribuído ao campo do UDM. |
| fw | event.idm.read_only_udm.principal.ip |
O valor do campo fw é atribuído ao campo do UDM. Se fw contiver "-", um rótulo com a chave "fw" e o valor do campo fw será adicionado a event.idm.read_only_udm.additional.fields. |
| fw_action | event.idm.read_only_udm.security_result.action_details, event.idm.read_only_udm.security_result.summary, event.idm.read_only_udm.security_result.action |
O valor do campo fw_action é atribuído a event.idm.read_only_udm.security_result.action_details. Se fw_action for "drop", event.idm.read_only_udm.security_result.action será definido como "BLOCK" e event.idm.read_only_udm.security_result.summary será definido como o valor de msg. |
| gw | event.idm.read_only_udm.intermediary.ip |
O endereço IP é extraído do campo gw e atribuído ao campo do UDM. |
| ID | event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname |
O valor do campo id é atribuído aos dois campos do UDM. |
| maxThroughput | event.idm.read_only_udm.target.resource.attribute.labels |
Um rótulo com a chave "maxThroughput" e o valor do campo maxThroughput é adicionado ao campo do UDM. |
| msg | event.idm.read_only_udm.security_result.summary, event.idm.read_only_udm.metadata.description |
Se fw_action não for "drop" ou appcat estiver vazio, o valor do campo msg será atribuído a event.idm.read_only_udm.security_result.summary. Caso contrário, ele será atribuído a event.idm.read_only_udm.metadata.description. |
| natDst | event.idm.read_only_udm.target.nat_ip |
O endereço IP é extraído do campo natDst e atribuído ao campo do UDM. |
| natSrc | event.idm.read_only_udm.principal.nat_ip |
O endereço IP é extraído do campo natSrc e atribuído ao campo do UDM. |
| nota | event.idm.read_only_udm.security_result.description |
O valor do campo note, após a extração de dstip, srcip, gw e sec_desc, é atribuído ao campo do UDM. |
| packetsIn | event.idm.read_only_udm.target.resource.attribute.labels |
Um rótulo com a chave "packetsIn" e o valor do campo packetsIn é adicionado ao campo do UDM. |
| packetsOut | event.idm.read_only_udm.target.resource.attribute.labels |
Um rótulo com a chave "packetsOut" e o valor do campo packetsOut é adicionado ao campo do UDM. |
| packetsTotal | event.idm.read_only_udm.target.resource.attribute.labels |
Um rótulo com a chave "packetsTotal" e o valor do campo packetsTotal é adicionado ao campo do UDM. |
| pri | event.idm.read_only_udm.security_result.severity |
O valor do campo pri determina o valor do campo UDM: 0, 1, 2 -> CRITICAL; 3 -> ERROR; 4 -> MEDIUM; 5, 7 -> LOW; 6 -> INFORMATIONAL. |
| proto | event.idm.read_only_udm.network.ip_protocol, event.idm.read_only_udm.network.application_protocol, event.idm.read_only_udm.metadata.event_type |
Se proto contiver "udp", o UDM ip_protocol será definido como "UDP" e event_type será definido como "NETWORK_CONNECTION". Se proto contiver "https", o application_protocol do UDM será definido como "HTTPS". |
| rcvd | event.idm.read_only_udm.network.received_bytes |
O valor do campo rcvd é convertido em um número inteiro sem sinal e atribuído ao campo do UDM. |
| regra | event.idm.read_only_udm.security_result.rule_name |
O valor do campo rule é atribuído ao campo do UDM. |
| sec_desc | event.idm.read_only_udm.security_result.description |
O valor do campo sec_desc é atribuído ao campo do UDM. |
| enviado | event.idm.read_only_udm.network.sent_bytes |
O valor do campo sent é convertido em um número inteiro sem sinal e atribuído ao campo do UDM. |
| sessão | event.idm.read_only_udm.security_result.detection_fields |
Um campo de detecção com a chave "Tipo de sessão" e o valor do campo sess é adicionado ao campo do UDM. |
| sn | event.idm.read_only_udm.additional.fields |
Um rótulo com a chave "SN" e o valor do campo sn é adicionado ao campo do UDM. |
| spkt | event.idm.read_only_udm.network.sent_packets |
O valor do campo spkt é convertido em um número inteiro e atribuído ao campo do UDM. |
| src | event.idm.read_only_udm.principal.ip, event.idm.read_only_udm.principal.port |
O IP e a porta são extraídos do campo src. Se srcV6 não estiver vazio, o IP será extraído de srcV6. |
| srcMac | event.idm.read_only_udm.principal.mac |
O valor do campo srcMac é atribuído ao campo do UDM. |
| srcV6 | event.idm.read_only_udm.principal.ip |
O IP é extraído do campo srcV6. |
| srcip | event.idm.read_only_udm.additional.fields, event.idm.read_only_udm.principal.ip |
Se srcip contiver "-", um rótulo com a chave "srcip" e o valor do campo srcip será adicionado a event.idm.read_only_udm.additional.fields. Caso contrário, o valor de srcip é atribuído a event.idm.read_only_udm.principal.ip. |
| tempo | event.idm.read_only_udm.metadata.event_timestamp |
O valor do campo time é analisado e convertido em um carimbo de data/hora, que é atribuído ao campo do UDM. |
| tipo | event.idm.read_only_udm.network.ip_protocol |
Se o campo proto for "icmp", o campo do UDM será definido como "ICMP". |
| user/usr | event.idm.read_only_udm.principal.user.email_addresses, event.idm.read_only_udm.principal.user.user_display_name, event.idm.read_only_udm.principal.user.userid |
Se user estiver vazio, o valor de usr será usado. Se o valor tiver "@", ele será tratado como um endereço de e-mail e adicionado a email_addresses. Se houver um espaço, ele será tratado como um nome de exibição. Caso contrário, ele será tratado como um ID de usuário. |
| vpnpolicy | event.idm.read_only_udm.security_result.detection_fields |
Um campo de detecção com a chave "vpnpolicy" e o valor do campo vpnpolicy é adicionado ao campo do UDM. Fixado no código como "SonicWall". Fixado no código como "Firewall". Fixado no código como "SONIC_FIREWALL". Determinado pela lógica com base nos valores de outros campos. O padrão é "GENERIC_EVENT", mas pode ser "STATUS_UPDATE", "NETWORK_CONNECTION" ou "NETWORK_HTTP". |
op |
event.idm.read_only_udm.network.http.method |
Mapeado do registro de alterações |
appName |
event.idm.read_only_udm.target.application |
Mapeado do registro de alterações |
srcZone |
event.idm.read_only_udm.principal.location.name |
Mapeado do registro de alterações |
dstZone |
event.idm.read_only_udm.target.location.name |
Mapeado do registro de alterações |
change |
event.idm.read_only_udm.security_result.detection_fields |
Mapeado do registro de alterações |
app |
event.idm.read_only_udm.metadata.product_log_id |
Mapeado do registro de alterações |
Network_data |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
dpi |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
src_interface |
event.idm.read_only_udm.principal.resource.attribute.labels |
Mapeado do registro de alterações |
dst_interface |
event.idm.read_only_udm.target.resource.attribute.labels |
Mapeado do registro de alterações |
syslog_priority |
event.idm.read_only_udm.security_result.detection_fields |
Mapeado do registro de alterações |
net_application |
event.idm.read_only_udm.network.application_protocol |
Mapeado do registro de alterações |
firewall_serial_number |
intermediary.asset_id |
Mapeado do registro de alterações |
vpnpolicyDst |
additional.fields |
Mapeado do registro de alterações |
FileId |
additional.fields |
Mapeado do registro de alterações |
firewall_hostname |
intermediary.hostname |
Mapeado do registro de alterações |
sn |
intermediary.asset_id |
Mapeado do registro de alterações |
fw |
observer.ip |
Mapeado do registro de alterações |
id |
target.resource.id |
Mapeado do registro de alterações |
Registro de alterações
Confira o registro de alterações deste analisador
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.