From ab983c45e64b5290c9673097af6cf3fd4fef3ab1 Mon Sep 17 00:00:00 2001 From: Durand Fabrice Date: Wed, 25 Dec 2024 18:11:35 -0500 Subject: [PATCH 01/11] Parse FortiGate DHCP Syslog --- go/detectparser/fortigate_dhcp.go | 78 +++++++++++++++++++ go/detectparser/fortigate_dhcp_test.go | 30 +++++++ go/detectparser/parser.go | 8 +- .../Form/Config/Pfdetect/fortigate_dhcp.pm | 50 ++++++++++++ .../eventHandlers/_components/TheForm.vue | 1 + .../Configuration/eventHandlers/config.js | 1 + .../Controller/Config/EventHandlers.pm | 2 + lib/pf/constants/pfdetect.pm | 1 + 8 files changed, 168 insertions(+), 3 deletions(-) create mode 100644 go/detectparser/fortigate_dhcp.go create mode 100644 go/detectparser/fortigate_dhcp_test.go create mode 100644 html/pfappserver/lib/pfappserver/Form/Config/Pfdetect/fortigate_dhcp.pm diff --git a/go/detectparser/fortigate_dhcp.go b/go/detectparser/fortigate_dhcp.go new file mode 100644 index 000000000000..a20f13df20d6 --- /dev/null +++ b/go/detectparser/fortigate_dhcp.go @@ -0,0 +1,78 @@ +package detectparser + +import ( + "regexp" + + "github.com/inverse-inc/go-utils/sharedutils" +) + +var fortiGateDhcpRegexPattern1 = regexp.MustCompile(`\s+`) +var fortiGateDhcpRegexPattern2 = regexp.MustCompile(`\=`) + +type FortiGateDhcpParser struct { + Pattern1, Pattern2 *regexp.Regexp + parser +} + +func (s *FortiGateDhcpParser) Parse(line string) ([]ApiCall, error) { + matches := s.Pattern1.Split(line, -1) + var mac, ip, lease, hostname, ack string + var err error + for _, str := range matches { + args := s.Pattern2.Split(str, 2) + if len(args) <= 1 { + continue + } + + if args[0] == "mac" { + mac = args[1] + } else if args[0] == "ip" { + ip = args[1] + } else if args[0] == "lease" { + lease = args[1] + } else if args[0] == "hostname" { + hostname = args[1] + } else if args[0] == "dhcp_msg" { + ack = args[1] + } + } + + if ack == "" || ack != "Ack" { + return nil, nil + } + + if ip, err = sharedutils.CleanIP(ip); err != nil { + return nil, nil + } + + if err := s.NotRateLimited(mac + ":" + ip); err != nil { + return nil, err + } + + return []ApiCall{ + &PfqueueApiCall{ + Method: "update_ip4log", + Params: []interface{}{ + "mac", mac, + "ip", ip, + "lease_length", lease, + }, + }, + &PfqueueApiCall{ + Method: "modify_node", + Params: []interface{}{ + "mac", mac, + "computername", hostname, + }, + }, + }, nil + +} + +func NewFortiGateDhcpParser(config *PfdetectConfig) (Parser, error) { + return &FortiGateDhcpParser{ + Pattern1: fortiGateDhcpRegexPattern1, + Pattern2: fortiGateDhcpRegexPattern2, + parser: setupParser(config), + }, nil +} diff --git a/go/detectparser/fortigate_dhcp_test.go b/go/detectparser/fortigate_dhcp_test.go new file mode 100644 index 000000000000..e35907729ba8 --- /dev/null +++ b/go/detectparser/fortigate_dhcp_test.go @@ -0,0 +1,30 @@ +package detectparser + +import ( + "testing" +) + +func TestFortiGateDhcpParse(t *testing.T) { + parser, _ := NewFortiGateDhcpParser(nil) + var parseTests = []ParseTest{ + { + Line: `date=2024-12-24 time=11:56:25 devname="FGT50E3U16014289" devid="FGT50E3U16014289" logid="0100026001" type="event" subtype="system" level="information" vd="root" eventtime=1735059387564643583 tz="-0500" logdesc="DHCP Ack log" interface="VLAN_41" dhcp_msg="Ack" mac="B0:2A:43:C1:97:DC" ip=192.168.41.249 lease=300 hostname="N/A" msg="DHCP server sends a DHCPACK"`, + Calls: []ApiCall{ + &PfqueueApiCall{ + Method: "event_add", + Params: []interface{}{ + "srcip", "172.21.5.11", + "events", map[string]interface{}{ + "detect": "0316013057", + }, + }, + }, + }, + }, + { + Line: `date=2024-12-24 time=11:56:25 devname="FGT50E3U16014289" devid="FGT50E3U16014289" logid="0100026001" type="event" subtype="system" level="information" vd="root" eventtime=1735059387564643583 tz="-0500" logdesc="DHCP Ack log" interface="VLAN_41" dhcp_msg="Ack" mac="B0:2A:43:C1:97:DC" ip=192.168.41.249 lease=300 hostname="N/A" msg="DHCP server sends a DHCPACK"`, + Calls: nil, + }, + } + RunParseTests(parser, parseTests, t) +} diff --git a/go/detectparser/parser.go b/go/detectparser/parser.go index 0aa546e29020..f9d5f75c492a 100644 --- a/go/detectparser/parser.go +++ b/go/detectparser/parser.go @@ -3,10 +3,11 @@ package detectparser import ( "context" "fmt" + "time" + cache "github.com/fdurand/go-cache" "github.com/inverse-inc/packetfence/go/pfconfigdriver" "github.com/inverse-inc/packetfence/go/pfqueueclient" - "time" ) type PfdetectRegexRule struct { @@ -99,8 +100,8 @@ func (*JsonRpcApiCall) Call() error { } type PfqueueApiCall struct { - Method string - Params interface{} + Method string + Params interface{} } func (c *PfqueueApiCall) Call() error { @@ -140,6 +141,7 @@ type ParserCreater func(*PfdetectConfig) (Parser, error) var parserLookup = map[string]ParserCreater{ "dhcp": NewDhcpParser, "fortianalyser": NewFortiAnalyserParser, + "fortigate_dhcp": NewFortiGateDhcpParser, "regex": NewGenericParser, "security_onion": NewSecurityOnionParser, "snort": NewSnortParser, diff --git a/html/pfappserver/lib/pfappserver/Form/Config/Pfdetect/fortigate_dhcp.pm b/html/pfappserver/lib/pfappserver/Form/Config/Pfdetect/fortigate_dhcp.pm new file mode 100644 index 000000000000..312f1cb9e50f --- /dev/null +++ b/html/pfappserver/lib/pfappserver/Form/Config/Pfdetect/fortigate_dhcp.pm @@ -0,0 +1,50 @@ +package pfappserver::Form::Config::Pfdetect::fortigate_dhcp; + +=head1 NAME + +pfappserver::Form::Config::Pfdetect::fortigate_dhcp - Web form for a pfdetect detector + +=head1 DESCRIPTION + +Form definition to create or update a pfdetect detector. + +=cut + +use HTML::FormHandler::Moose; +extends 'pfappserver::Form::Config::Pfdetect'; +with qw(pfappserver::Base::Form::Role::PfdetectRateLimit); + +has_field '+type' => + ( + default => 'fortigate_dhcp', + ); + +=over + +=back + +=head1 COPYRIGHT + +Copyright (C) 2005-2024 Inverse inc. + +=head1 LICENSE + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +USA. + +=cut + +__PACKAGE__->meta->make_immutable unless $ENV{"PF_SKIP_MAKE_IMMUTABLE"}; +1; diff --git a/html/pfappserver/root/src/views/Configuration/eventHandlers/_components/TheForm.vue b/html/pfappserver/root/src/views/Configuration/eventHandlers/_components/TheForm.vue index ba7e06c46c8b..c87de635ad06 100644 --- a/html/pfappserver/root/src/views/Configuration/eventHandlers/_components/TheForm.vue +++ b/html/pfappserver/root/src/views/Configuration/eventHandlers/_components/TheForm.vue @@ -41,6 +41,7 @@ export const setup = (props) => { switch(unref(type)) { case 'dhcp': case 'fortianalyser': + case 'fortigate_dhcp': case 'nexpose': case 'security_onion': case 'snort': diff --git a/html/pfappserver/root/src/views/Configuration/eventHandlers/config.js b/html/pfappserver/root/src/views/Configuration/eventHandlers/config.js index 9da6d575b253..3ba96df69be6 100644 --- a/html/pfappserver/root/src/views/Configuration/eventHandlers/config.js +++ b/html/pfappserver/root/src/views/Configuration/eventHandlers/config.js @@ -4,6 +4,7 @@ import i18n from '@/utils/locale' export const types = { dhcp: i18n.t('DHCP'), fortianalyser: i18n.t('FortiAnalyzer'), + fortigate_dhcp: i18n.t('FortiGate DHCP'), nexpose: i18n.t('Nexpose'), regex: i18n.t('Regex'), security_onion: i18n.t('Security Onion'), diff --git a/lib/pf/UnifiedApi/Controller/Config/EventHandlers.pm b/lib/pf/UnifiedApi/Controller/Config/EventHandlers.pm index b7ef0dc14a34..4ac87111892b 100644 --- a/lib/pf/UnifiedApi/Controller/Config/EventHandlers.pm +++ b/lib/pf/UnifiedApi/Controller/Config/EventHandlers.pm @@ -29,6 +29,7 @@ use pf::ConfigStore::Pfdetect; use pfappserver::Form::Config::Pfdetect; use pfappserver::Form::Config::Pfdetect::dhcp; use pfappserver::Form::Config::Pfdetect::fortianalyser; +use pfappserver::Form::Config::Pfdetect::fortigate_dhcp; use pfappserver::Form::Config::Pfdetect::regex; use pfappserver::Form::Config::Pfdetect::nexpose; use pfappserver::Form::Config::Pfdetect::security_onion; @@ -41,6 +42,7 @@ our %TYPES_TO_FORMS = ( map { $_ => "pfappserver::Form::Config::Pfdetect::$_" } qw( dhcp fortianalyser + fortigate_dhcp nexpose regex security_onion diff --git a/lib/pf/constants/pfdetect.pm b/lib/pf/constants/pfdetect.pm index 32cabd0e5cd6..4247bfca0546 100644 --- a/lib/pf/constants/pfdetect.pm +++ b/lib/pf/constants/pfdetect.pm @@ -18,6 +18,7 @@ use warnings; our @TYPES = qw( dhcp fortianalyser + fortigate_dhcp nexpose regex security_onion From 9c5c337fc2b6d50b16949296f14669f577a4e110 Mon Sep 17 00:00:00 2001 From: Durand Fabrice Date: Wed, 25 Dec 2024 18:20:11 -0500 Subject: [PATCH 02/11] Node modify only on hostname defined --- go/detectparser/fortigate_dhcp.go | 13 +++++++------ go/detectparser/fortigate_dhcp_test.go | 20 +++++++++++++------- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/go/detectparser/fortigate_dhcp.go b/go/detectparser/fortigate_dhcp.go index a20f13df20d6..538d325c5044 100644 --- a/go/detectparser/fortigate_dhcp.go +++ b/go/detectparser/fortigate_dhcp.go @@ -48,8 +48,7 @@ func (s *FortiGateDhcpParser) Parse(line string) ([]ApiCall, error) { if err := s.NotRateLimited(mac + ":" + ip); err != nil { return nil, err } - - return []ApiCall{ + apiCall := []ApiCall{ &PfqueueApiCall{ Method: "update_ip4log", Params: []interface{}{ @@ -58,15 +57,17 @@ func (s *FortiGateDhcpParser) Parse(line string) ([]ApiCall, error) { "lease_length", lease, }, }, - &PfqueueApiCall{ + } + if hostname != "N/A" { + apiCall = append(apiCall, &PfqueueApiCall{ Method: "modify_node", Params: []interface{}{ "mac", mac, "computername", hostname, }, - }, - }, nil - + }) + } + return apiCall, nil } func NewFortiGateDhcpParser(config *PfdetectConfig) (Parser, error) { diff --git a/go/detectparser/fortigate_dhcp_test.go b/go/detectparser/fortigate_dhcp_test.go index e35907729ba8..bc9247e7f40c 100644 --- a/go/detectparser/fortigate_dhcp_test.go +++ b/go/detectparser/fortigate_dhcp_test.go @@ -8,21 +8,27 @@ func TestFortiGateDhcpParse(t *testing.T) { parser, _ := NewFortiGateDhcpParser(nil) var parseTests = []ParseTest{ { - Line: `date=2024-12-24 time=11:56:25 devname="FGT50E3U16014289" devid="FGT50E3U16014289" logid="0100026001" type="event" subtype="system" level="information" vd="root" eventtime=1735059387564643583 tz="-0500" logdesc="DHCP Ack log" interface="VLAN_41" dhcp_msg="Ack" mac="B0:2A:43:C1:97:DC" ip=192.168.41.249 lease=300 hostname="N/A" msg="DHCP server sends a DHCPACK"`, + Line: `date=2024-12-24 time=11:56:25 devname="FGT50E3U16014289" devid="FGT50E3U16014289" logid="0100026001" type="event" subtype="system" level="information" vd="root" eventtime=1735059387564643583 tz="-0500" logdesc="DHCP Ack log" interface="VLAN_41" dhcp_msg="Ack" mac="B0:2A:43:C1:97:DC" ip=192.168.41.249 lease=300 hostname="Laptop" msg="DHCP server sends a DHCPACK"`, Calls: []ApiCall{ &PfqueueApiCall{ - Method: "event_add", + Method: "update_ip4log", Params: []interface{}{ - "srcip", "172.21.5.11", - "events", map[string]interface{}{ - "detect": "0316013057", - }, + "mac", "B0:2A:43:C1:97:DC", + "ip", "192.168.41.249", + "lease_length", "300", + }, + }, + &PfqueueApiCall{ + Method: "modify_node", + Params: []interface{}{ + "mac", "B0:2A:43:C1:97:DC", + "computername", "Laptop", }, }, }, }, { - Line: `date=2024-12-24 time=11:56:25 devname="FGT50E3U16014289" devid="FGT50E3U16014289" logid="0100026001" type="event" subtype="system" level="information" vd="root" eventtime=1735059387564643583 tz="-0500" logdesc="DHCP Ack log" interface="VLAN_41" dhcp_msg="Ack" mac="B0:2A:43:C1:97:DC" ip=192.168.41.249 lease=300 hostname="N/A" msg="DHCP server sends a DHCPACK"`, + Line: `date=2024-12-24 time=11:56:25 devname="FGT50E3U16014289" devid="FGT50E3U16014289" logid="0100026001" type="event" subtype="system" level="information" vd="root" eventtime=1735059387564643583 tz="-0500" logdesc="DHCP Ack log" interface="VLAN_41" dhcp_msg="Ack" mac="B0:2A:43:C1:97:DC" ip=192.168.41.249 lease=300 hostname="Laptop" msg="DHCP server sends a DHCPACK"`, Calls: nil, }, } From 082b258ef31dd9bf3d685d5f045da7d2e9be9317 Mon Sep 17 00:00:00 2001 From: Durand Fabrice Date: Tue, 31 Dec 2024 10:35:22 -0500 Subject: [PATCH 03/11] Added draft doc --- ...sion_detection_system_integration.asciidoc | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/docs/installation/intrusion_detection_system_integration.asciidoc b/docs/installation/intrusion_detection_system_integration.asciidoc index 1e3f725be67b..7de6da9d83a7 100644 --- a/docs/installation/intrusion_detection_system_integration.asciidoc +++ b/docs/installation/intrusion_detection_system_integration.asciidoc @@ -53,6 +53,31 @@ Action - modify_node: mac, $mac, notes, $notes +=== FortiGate DHCP Parser + +PacketFence is able to receive DHCP information from the FortiGate firewall. + + +On the PacketFence server: + +Modify rsyslog configuration to allow incoming UDP packets by uncommenting the following two lines in [filename]`/etc/rsyslog.conf`: + + $ModLoad imudp + $UDPServerRun 514 + +Configure [filename]`/etc/rsyslog.d/fortigate.conf` so it contains the following which will redirect fortigate log entries and stop further processing of current matched message: + + if $fromhost-ip=='192.168.40.1' then /usr/local/pf/var/fortigate + & ~ + +Make sure the receiving alert pipe (FIFO) exists + + mkfifo /usr/local/pf/var/fortigate + +Restart the rsyslog daemon + + service rsyslog restart + === Suricata IDS PacketFence already contains a event handler for Suricata. This is an example to raise a security event from a syslog alert on the Suricata SID. From d8220f98833eda77ab3910dc4a706c135911ba5b Mon Sep 17 00:00:00 2001 From: Durand Fabrice Date: Tue, 31 Dec 2024 13:04:08 -0500 Subject: [PATCH 04/11] Fixed regex --- go/detectparser/fortigate_dhcp.go | 40 +++++++++++++++++-------------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/go/detectparser/fortigate_dhcp.go b/go/detectparser/fortigate_dhcp.go index 538d325c5044..438396b7b7d4 100644 --- a/go/detectparser/fortigate_dhcp.go +++ b/go/detectparser/fortigate_dhcp.go @@ -6,8 +6,7 @@ import ( "github.com/inverse-inc/go-utils/sharedutils" ) -var fortiGateDhcpRegexPattern1 = regexp.MustCompile(`\s+`) -var fortiGateDhcpRegexPattern2 = regexp.MustCompile(`\=`) +var fortiGateDhcpRegexPattern1 = regexp.MustCompile(`(\w+)="([^"]*)"|(\w+)=([^\s]+)`) type FortiGateDhcpParser struct { Pattern1, Pattern2 *regexp.Regexp @@ -15,25 +14,31 @@ type FortiGateDhcpParser struct { } func (s *FortiGateDhcpParser) Parse(line string) ([]ApiCall, error) { - matches := s.Pattern1.Split(line, -1) + matches := s.Pattern1.FindAllStringSubmatch(line, -1) var mac, ip, lease, hostname, ack string var err error - for _, str := range matches { - args := s.Pattern2.Split(str, 2) - if len(args) <= 1 { - continue + + attributes := make(map[string]string) + + for _, match := range matches { + if match[1] != "" { + attributes[match[1]] = match[2] + } else { + attributes[match[3]] = match[4] } + } - if args[0] == "mac" { - mac = args[1] - } else if args[0] == "ip" { - ip = args[1] - } else if args[0] == "lease" { - lease = args[1] - } else if args[0] == "hostname" { - hostname = args[1] - } else if args[0] == "dhcp_msg" { - ack = args[1] + for key, value := range attributes { + if key == "mac" { + mac = value + } else if key == "ip" { + ip = value + } else if key == "lease" { + lease = value + } else if key == "hostname" { + hostname = value + } else if key == "dhcp_msg" { + ack = value } } @@ -73,7 +78,6 @@ func (s *FortiGateDhcpParser) Parse(line string) ([]ApiCall, error) { func NewFortiGateDhcpParser(config *PfdetectConfig) (Parser, error) { return &FortiGateDhcpParser{ Pattern1: fortiGateDhcpRegexPattern1, - Pattern2: fortiGateDhcpRegexPattern2, parser: setupParser(config), }, nil } From 2e2862aa92d7a18813522678897c8e58d2f2b756 Mon Sep 17 00:00:00 2001 From: Durand Fabrice Date: Tue, 31 Dec 2024 13:09:17 -0500 Subject: [PATCH 05/11] Updated the documentation --- docs/images/fortigate_syslog.png | Bin 0 -> 124701 bytes ...usion_detection_system_integration.asciidoc | 7 +++++-- 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 docs/images/fortigate_syslog.png diff --git a/docs/images/fortigate_syslog.png b/docs/images/fortigate_syslog.png new file mode 100644 index 0000000000000000000000000000000000000000..ebd9cb0e966f60fb6b79bcb6554e48d717ae619d GIT binary patch literal 124701 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

dhPn2X?sY(#BJcxJj<`>2^*h;!qNv7N)~vAJnQC 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

CW}6ogu1AMglfv(h6U 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 Nd_4TzTin8~{|PY;I-URk literal 0 HcmV?d00001 diff --git a/docs/installation/intrusion_detection_system_integration.asciidoc b/docs/installation/intrusion_detection_system_integration.asciidoc index 7de6da9d83a7..87f4cdb2e83d 100644 --- a/docs/installation/intrusion_detection_system_integration.asciidoc +++ b/docs/installation/intrusion_detection_system_integration.asciidoc @@ -57,7 +57,6 @@ Action - PacketFence is able to receive DHCP information from the FortiGate firewall. - On the PacketFence server: Modify rsyslog configuration to allow incoming UDP packets by uncommenting the following two lines in [filename]`/etc/rsyslog.conf`: @@ -65,7 +64,7 @@ Modify rsyslog configuration to allow incoming UDP packets by uncommenting the f $ModLoad imudp $UDPServerRun 514 -Configure [filename]`/etc/rsyslog.d/fortigate.conf` so it contains the following which will redirect fortigate log entries and stop further processing of current matched message: +Configure [filename]`/etc/rsyslog.d/fortigate.conf` so it contains the following which will redirect fortigate log entries and stop further processing of current matched message (in that case 192.168.40.1 is the ip of the FortiGate): if $fromhost-ip=='192.168.40.1' then /usr/local/pf/var/fortigate & ~ @@ -78,6 +77,10 @@ Restart the rsyslog daemon service rsyslog restart +On the FortiGate side make sure to configure the syslog configuration as the following: + +image::fortigate_syslog.png[scaledwidth="100%",alt="FortiGate Syslog"] + === Suricata IDS PacketFence already contains a event handler for Suricata. This is an example to raise a security event from a syslog alert on the Suricata SID. From 52fd3425d676ab65c5b715c48b0c906268db73d8 Mon Sep 17 00:00:00 2001 From: Durand Fabrice Date: Thu, 2 Jan 2025 19:21:15 -0500 Subject: [PATCH 06/11] Fir for PR --- go/detectparser/fortigate_dhcp.go | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/go/detectparser/fortigate_dhcp.go b/go/detectparser/fortigate_dhcp.go index 438396b7b7d4..8fe4e3b1b9f8 100644 --- a/go/detectparser/fortigate_dhcp.go +++ b/go/detectparser/fortigate_dhcp.go @@ -1,7 +1,9 @@ package detectparser import ( + "errors" "regexp" + "strings" "github.com/inverse-inc/go-utils/sharedutils" ) @@ -9,7 +11,7 @@ import ( var fortiGateDhcpRegexPattern1 = regexp.MustCompile(`(\w+)="([^"]*)"|(\w+)=([^\s]+)`) type FortiGateDhcpParser struct { - Pattern1, Pattern2 *regexp.Regexp + Pattern1 *regexp.Regexp parser } @@ -19,7 +21,7 @@ func (s *FortiGateDhcpParser) Parse(line string) ([]ApiCall, error) { var err error attributes := make(map[string]string) - + hostname = "N/A" for _, match := range matches { if match[1] != "" { attributes[match[1]] = match[2] @@ -30,7 +32,7 @@ func (s *FortiGateDhcpParser) Parse(line string) ([]ApiCall, error) { for key, value := range attributes { if key == "mac" { - mac = value + mac = strings.ToLower(value) } else if key == "ip" { ip = value } else if key == "lease" { @@ -42,12 +44,12 @@ func (s *FortiGateDhcpParser) Parse(line string) ([]ApiCall, error) { } } - if ack == "" || ack != "Ack" { - return nil, nil + if ack != "Ack" { + return nil, errors.New("Not an Ack message") } if ip, err = sharedutils.CleanIP(ip); err != nil { - return nil, nil + return nil, errors.New("Invalid IP") } if err := s.NotRateLimited(mac + ":" + ip); err != nil { @@ -63,7 +65,7 @@ func (s *FortiGateDhcpParser) Parse(line string) ([]ApiCall, error) { }, }, } - if hostname != "N/A" { + if hostname != "N/A" || hostname != "" { apiCall = append(apiCall, &PfqueueApiCall{ Method: "modify_node", Params: []interface{}{ From 2c0a710b8b002923d218302c7db83f775198c379 Mon Sep 17 00:00:00 2001 From: Durand Fabrice Date: Thu, 2 Jan 2025 19:25:42 -0500 Subject: [PATCH 07/11] Silent return to avoid spamming logs --- go/detectparser/fortigate_dhcp.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/go/detectparser/fortigate_dhcp.go b/go/detectparser/fortigate_dhcp.go index 8fe4e3b1b9f8..53a7f82411db 100644 --- a/go/detectparser/fortigate_dhcp.go +++ b/go/detectparser/fortigate_dhcp.go @@ -45,7 +45,8 @@ func (s *FortiGateDhcpParser) Parse(line string) ([]ApiCall, error) { } if ack != "Ack" { - return nil, errors.New("Not an Ack message") + // Silent error to avoid spamming logs + return nil, nil // errors.New("Not an Ack") } if ip, err = sharedutils.CleanIP(ip); err != nil { From 8912874148c392939937d0df421658c62fccedac Mon Sep 17 00:00:00 2001 From: Durand Fabrice Date: Thu, 2 Jan 2025 19:30:28 -0500 Subject: [PATCH 08/11] Fixed logic --- go/detectparser/fortigate_dhcp.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/detectparser/fortigate_dhcp.go b/go/detectparser/fortigate_dhcp.go index 53a7f82411db..0c69431e6544 100644 --- a/go/detectparser/fortigate_dhcp.go +++ b/go/detectparser/fortigate_dhcp.go @@ -66,7 +66,7 @@ func (s *FortiGateDhcpParser) Parse(line string) ([]ApiCall, error) { }, }, } - if hostname != "N/A" || hostname != "" { + if hostname != "N/A" && hostname != "" { apiCall = append(apiCall, &PfqueueApiCall{ Method: "modify_node", Params: []interface{}{ From 0cf3509cbb80aa6725b769ee2d1ec2c0a772a249 Mon Sep 17 00:00:00 2001 From: Durand Fabrice Date: Thu, 2 Jan 2025 19:33:01 -0500 Subject: [PATCH 09/11] Lower case mac address --- go/detectparser/fortigate_dhcp_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/go/detectparser/fortigate_dhcp_test.go b/go/detectparser/fortigate_dhcp_test.go index bc9247e7f40c..9bffd3233b29 100644 --- a/go/detectparser/fortigate_dhcp_test.go +++ b/go/detectparser/fortigate_dhcp_test.go @@ -13,7 +13,7 @@ func TestFortiGateDhcpParse(t *testing.T) { &PfqueueApiCall{ Method: "update_ip4log", Params: []interface{}{ - "mac", "B0:2A:43:C1:97:DC", + "mac", "b0:2a:43:c1:97:dc", "ip", "192.168.41.249", "lease_length", "300", }, @@ -21,7 +21,7 @@ func TestFortiGateDhcpParse(t *testing.T) { &PfqueueApiCall{ Method: "modify_node", Params: []interface{}{ - "mac", "B0:2A:43:C1:97:DC", + "mac", "b0:2a:43:c1:97:dc", "computername", "Laptop", }, }, From 7866acb260a647f5ff1e249b5220eb490a7339cc Mon Sep 17 00:00:00 2001 From: James Rouzier Date: Mon, 6 Jan 2025 20:02:30 +0000 Subject: [PATCH 10/11] Fix tests --- go/detectparser/fortigate_dhcp_test.go | 2 +- go/detectparser/utils_test.go | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/go/detectparser/fortigate_dhcp_test.go b/go/detectparser/fortigate_dhcp_test.go index 9bffd3233b29..d808e7a14921 100644 --- a/go/detectparser/fortigate_dhcp_test.go +++ b/go/detectparser/fortigate_dhcp_test.go @@ -28,7 +28,7 @@ func TestFortiGateDhcpParse(t *testing.T) { }, }, { - Line: `date=2024-12-24 time=11:56:25 devname="FGT50E3U16014289" devid="FGT50E3U16014289" logid="0100026001" type="event" subtype="system" level="information" vd="root" eventtime=1735059387564643583 tz="-0500" logdesc="DHCP Ack log" interface="VLAN_41" dhcp_msg="Ack" mac="B0:2A:43:C1:97:DC" ip=192.168.41.249 lease=300 hostname="Laptop" msg="DHCP server sends a DHCPACK"`, + Line: `date=2024-12-24 time=11:56:25 devname="FGT50E3U16014289" devid="FGT50E3U16014289" logid="0100026001" type="event" subtype="system" level="information" vd="root" eventtime=1735059387564643583 tz="-0500" logdesc="DHCP Ack log" interface="VLAN_41" dhcp_msg="Nak" mac="B0:2A:43:C1:97:DC" ip=192.168.41.249 lease=300 hostname="Laptop" msg="DHCP server sends a DHCPACK"`, Calls: nil, }, } diff --git a/go/detectparser/utils_test.go b/go/detectparser/utils_test.go index 27c2d4e76400..785b34e07d52 100644 --- a/go/detectparser/utils_test.go +++ b/go/detectparser/utils_test.go @@ -1,21 +1,24 @@ package detectparser import ( - "github.com/google/go-cmp/cmp" + "errors" "testing" + + "github.com/google/go-cmp/cmp" ) type ParseTest struct { Line string Calls []ApiCall + Err error } func RunParseTests(p Parser, tests []ParseTest, t *testing.T) { for i, test := range tests { calls, err := p.Parse(test.Line) - if err != nil { - t.Errorf("Error Parsing %d) %s", i, test.Line) - continue + + if !errors.Is(test.Err, err) { + t.Errorf("Got expected error expected: `%v` got: `%v`", test.Err, err) } if !cmp.Equal(calls, test.Calls) { From 13accba1d14d5e76d11cf8b11c213fd66a42a52f Mon Sep 17 00:00:00 2001 From: Durand Fabrice Date: Mon, 6 Jan 2025 16:34:55 -0500 Subject: [PATCH 11/11] Removed the loop --- go/detectparser/fortigate_dhcp.go | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/go/detectparser/fortigate_dhcp.go b/go/detectparser/fortigate_dhcp.go index 0c69431e6544..63e7ed1422b6 100644 --- a/go/detectparser/fortigate_dhcp.go +++ b/go/detectparser/fortigate_dhcp.go @@ -30,18 +30,20 @@ func (s *FortiGateDhcpParser) Parse(line string) ([]ApiCall, error) { } } - for key, value := range attributes { - if key == "mac" { - mac = strings.ToLower(value) - } else if key == "ip" { - ip = value - } else if key == "lease" { - lease = value - } else if key == "hostname" { - hostname = value - } else if key == "dhcp_msg" { - ack = value - } + if value, ok := attributes["mac"]; ok { + mac = strings.ToLower(value) + } + if value, ok := attributes["ip"]; ok { + ip = value + } + if value, ok := attributes["lease"]; ok { + lease = value + } + if value, ok := attributes["hostname"]; ok { + hostname = value + } + if value, ok := attributes["dhcp_msg"]; ok { + ack = value } if ack != "Ack" {