Hi
Oleh,
I believe you need to create custom decoders and rules to extract and generate alerts on the Wazuh side.
If that is capable of forwarding logs using syslog, I suggest you follow these steps to verify.
Once you configured it from the
checkpoint side, you can configure the Wazuh manager to receive the logs.
You can add this configuration to the Wazuh manager ossec.conf file.
<remote>
<connection>syslog</connection>
<port>514</port>
<protocol>tcp</protocol>
<allowed-ips>**.***.**.**/32</allowed-ips>
</remote>
To have an proper idea related to remote code block you can refer to this.
https://documentation.wazuh.com/current/user-manual/capabilities/log-data-collection/syslog.html#configuring-syslog-on-the-wazuh-serverOnce you configured then enable the archive logs in Wazuh manager to verify logs reaching the manager.
You can enable the archive log by editing the
/var/ossec/etc/ossec.conf file.
<ossec_config>
<global>
----
<logall>no</logall>
<logall_json>yes</logall_json>
-----
</global>
-----
</ossec_config>
Then restart the Wazuh manager to apply changes.
systemctl restart wazuh-managerAnd then check the full log of your SEPM server. and share the output of this.
cat /var/ossec/logs/archives/archives.json | grep -i -E "<part_of_your_checkpoint_log>"Note: Don't forget to disable the logall parameter once you have finished troubleshooting. Leaving it enabled could lead to high disk space consumption.
Ref:
https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/global.html#logall-jsonIf you found checkpoint-related logs in
archives.json Once you confirm you can test your logs and apply any custom decoders and rules to extract the fields and generate alerts.
You can simply copy the sample log and paste it after executing the below command. This will give you an idea it will apply any decoders and rules.
/var/ossec/bin/wazuh-logtestPlease make sure you are testing logs after the full_log field from
/var/ossec/logs/archives/archives.json.
We recommend creating custom rules and decoders based on archives.json because in these logs we can see the field full_log, which is the one being parsed by analysis. One of the
archives.json events should look like this (the field of interest is in bold):
For example, if the log is like this
archives.json.{"timestamp":"2025-01-25T10:19:40.221+0100","agent":{"id":"000","name":"TESTWAZUH"},"manager":{"name":"TESTWAZUH"},"id":"1737796780.79261954","full_log":"1 2025-01-25T10:19:37+01:00 firewall.xxx-yyyyyy.local ulogd 7516 - - DROP: (DEFAULT DROP) IN=A1 OUT= MAC=ff:ff:ff:ff:ff:ff:5c:aa:fd:44:62:04:08:00 SRC=192.168.215.207 DST=255.255.255.255 LEN=770 TOS=00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=40144 DPT=1900 LEN=750 MARK=0 ","decoder":{},"location":"192.168.201.17"}
You need to test the logs using wash-logtest is this.
1 2025-01-25T10:19:37+01:00 firewall.xxx-yyyyyy.local ulogd 7516 - - DROP: (DEFAULT DROP) IN=A1 OUT= MAC=ff:ff:ff:ff:ff:ff:5c:aa:fd:44:62:04:08:00 SRC=192.168.215.207 DST=255.255.255.255 LEN=770 TOS=00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=40144 DPT=1900 LEN=750 MARK=0 Further, you can learn more about how to create custom decoders and rules by following documents.
https://documentation.wazuh.com/current/user-manual/ruleset/decoders/custom.htmlhttps://documentation.wazuh.com/current/user-manual/ruleset/ruleset-xml-syntax/decoders.htmlhttps://documentation.wazuh.com/current/user-manual/ruleset/ruleset-xml-syntax/rules.htmlhttps://documentation.wazuh.com/current/user-manual/ruleset/rules/custom.html#custom-ruleshttps://wazuh.com/blog/creating-decoders-and-rules-from-scratch/If you need further assistance, Please share some sample full logs from
archives.json file.
Regards,
Hasitha Upekshitha