Hi everyone,
Is anyone else struggling with Fortigate / FortiAnalyser decoders after a recent FortiOS update? (My is on 7.2.2) It seems the log format changed, and values like date, time, and others are now often enclosed in double quotes (e.g., date="2026-02-25" vs the old date=2026-02-25).
I am completely stuck trying to update the parent decoder. Because os_regex is so restrictive and doesn't support optional quantifiers (like ?), I can't find a reliable way to match both the old and new formats.
Even a basic prematch like this is failing for me on the new logs:
</decoder>
via https://github.com/wazuh/wazuh/blob/master/ruleset/decoders/0100-fortigate_decoders.xml
The issue seems to be that os_regex doesn't handle the potential double quote after the equals sign gracefully when you're trying to maintain compatibility.
Is anyone else working on a new decoder for FortiOS 7.x, or have you found a workaround for handling these quotes without breaking everything else?
Any help or shared snippets would be greatly appreciated!
examples:
Start by copying the default decoder file into the custom decoder directory using:
cp /var/ossec/ruleset/decoders/0100-fortigate_decoders.xml /var/ossec/etc/decoders/0100-fortigate_decoders.xmlNext, edit the Wazuh configuration file (/var/ossec/etc/ossec.conf) to exclude the default decoder so the custom one takes precedence. Add the following inside the <ruleset> block:
<ruleset>Now open the copied decoder file:
vi /var/ossec/etc/decoders/0100-fortigate_decoders.xmlNow, locate the FortiGate firewall-v6 decoder and add the double quotes like, "\d\d\d\d-\d\d-\d\d". This will resolve the issue. The decoder will be like: