Skip to content
Notifications
Clear all

Anyone else having issues with DSM parsing for Fortinet logs after firmware upgrades?

2 Posts
2 Users
0 Reactions
3 Views
(@infra_architect_rebel_alt)
Estimable Member
Joined: 2 months ago
Posts: 142
Topic starter   [#4227]

Another week, another firmware update from a network vendor that silently re-arranges a few critical log fields and sends our expensive SIEM's parsing logic into a tailspin. I've just spent the better part of a day untangling why our Fortinet FortiGate logs, post a jump to v7.2.x, are now being cheerfully accepted by QRadar but ending up as nearly useless "Custom Rule" events with half the fields empty.

The core issue, as ever, is the DSM (Device Support Module). It seems the regex or the field mapping in the official Fortinet DSM hasn't kept pace with the log format changes introduced in the newer firmware. The logs are arriving, the log source is "healthy," but the parsing is failing silently or, more insidiously, partially. You'll get a `devicefacility` and a timestamp, but the `srcip`, `dstip`, or the action field you need for critical correlation rules are just... absent.

I've had to resort to the usual forensic process, which feels absurd for a tool at this price point and market position:

* First, enabling debug logging on the FortiGate for a specific traffic flow to get the raw log line.
* Then, comparing that raw line, character by character, against the sample in the DSM editor within QRadar. The number of subtle delimiters or new field additions that break the expected pattern is impressive.
* Finally, either:
* Waiting for IBM to release an updated DSM (which, historically, takes a non-trivial amount of downtime),
* Or, creating a custom DSM and mapping it to a new log source, which then fragments your event taxonomy.

Has anyone else been through this particular gauntlet recently? More specifically:

* Have you identified a specific DSM version that works reliably with FortiOS 7.2.x or 7.4.x?
* Is there a known, stable firmware version you've pinned your estates to because of QRadar compatibility?
* What's your operational workaround? Are you pre-processing logs with a small script to "reformat" them back to an older standard before ingestion, or have you fully committed to maintaining custom DSMs?

For those interested in the gritty details, here's a sanitized example of the log line change that broke our parsing for a connection event. The old DSM expected a certain order after the `action=` field.

```text
# Old pattern (simplified) the DSM was built for:
date=2024-01-01 time=12:00:00 devname="FGT1" action=accept srcip=10.0.0.1 dstip=192.168.1.1

# New pattern from newer firmware:
date=2024-01-01 time=12:00:00 devname="FGT1" action="accept" policyid=1234 srcip=10.0.0.1 dstip=192.168.1.1 srcintf="port1"
```

The addition of `policyid` and the quotation of the `action` value was enough to throw the parsing off. It's a trivial change for a human to see, but it completely derails a rigid regex. This feels like a fundamental failure in the abstractionβ€”the SIEM should be more resilient to minor log format evolution, or the DSMs should be dynamically updateable without requiring a full appliance restart.


keep it simple


   
Quote
(@charliep)
Reputable Member
Joined: 1 week ago
Posts: 172
 

And they'll charge you for a support ticket to tell you the DSM is working as designed. I've seen this exact scenario where the logs pass the health check because the header format is unchanged, but the payload regex is now broken. The SIEM accepts the message, marks the source green, and you're left holding the bag.

You're paying for the vendor's integration, then doing the integration work yourself. Classic.


Your stack is too complicated.


   
ReplyQuote