Standalone PDF
Standalone PDF
Standalone PDF
FORTINET BLOG
https://blog.fortinet.com
NSE INSTITUTE
https://training.fortinet.com
FORTIGUARD CENTER
https://fortiguard.com/
FEEDBACK
1/19/2024
FortiSIEM - User's Guide
TABLE OF CONTENTS
Overview 37
Scale-Out Architecture 37
Multi-tenancy 37
FortiSIEM Versions 42
New Features 42
Known Issues 43
Linux Agent 43
New Features 45
Key Enhancements 45
Known Issues 50
Slow Upgrade 51
New Features 54
Disaster Recovery 54
Elasticsearch Enhancements 55
Known Issues 65
Slow Event Database Operations Using Azure Managed NFS File Share Service 66
New Features 69
Key Enhancements 71
Infrastructure Upgrade 72
Known Issues 78
Slow Event Database Operations Using Azure Managed NFS File Share Service 79
Need to set Account Environment in Azure Cloud Support Access Credentials after Upgrade 80
New Features 84
Known Issues 86
New Features 90
Key Enhancements 92
Elasticsearch Enhancements 92
System Upgrade 95
Upgrade Overview 95
Elasticsearch 108
Licensing 191
Dashboards 198
Step 6 - (Optional) Check Full Admin Organization Users for Service Provider Deployments 202
Step 9 - (Optional) Set Event Upload Destination for the Collector(s) 203
Step 14 - Check CMDB and Performance Monitors for Discovered Devices 204
Step 23 - Set Home Page and Complete Your User Profile 206
Administration 231
Setup 231
Overview 234
Creating New Device Types, Event Attribute Types, and Event Types 353
Creating New Device Types, Event Attributes, and Event Types 358
Performance Object Configuration for Event Type PH_DEV_MON_CUST_INTF_STAT 359
Creating New Device Types, Event Attribute Types, and Event Types 361
Creating New Device Types, Event Attribute Types, and Event Types 367
Creating New Device Types, Event Attributes, and Event Types 374
Health 379
Viewing Cloud Health 380
Open Tunnel Re-Configuration Required after 6.3.0 or later Upgrade/Fresh Install 387
License 390
Settings 400
UI Settings 402
Tags 418
Devices 511
Applications 518
Users 519
Reports 532
Rules 547
Network 558
Protocols 569
Working with Custom Threat Feeds that use HTTPS Connectivity 578
Prerequisites 579
Custom Threat Feed Websites - CSV Data - One-time Manual Import 580
Custom Threat Feed Websites - STIX Formatted Data and TAXII Import 582
Remediations 600
Prerequisites 633
Requirements 634
Step 2: Construct the Outer CMDB Query by Referring to the Query in Step 1 647
Appendix 686
Steps 704
Issues 705
phExportESEvent 710
TestESSplitter 714
Dashboard 719
Analytics 722
Incidents 722
CMDB 723
Admin 723
Events 775
Overview
FortiSIEM is an advanced Security Information and Event Management (SIEM) solution that combines advanced log
and traffic analysis with performance/availability monitoring, change analysis, and accurate knowledge of the infra-
structure to provide accurate threat detection, remediation, incident response and compliance reporting.
FortiSIEM can be deployed as a hardware appliance, a virtual appliance, or as a cluster of virtual appliances to scale-
out to large infrastructure deployments.
Scale-Out Architecture
FortiSIEM scales seamlessly from small enterprises to large and geographically distributed enterprises and service
providers.
For smaller deployments, FortiSIEM can be deployed as a single all-in-one hardware or virtual appliance that contains
full functionality of the product. The virtual appliance can run on most common hypervisors including VMware ESX,
Microsoft Hyper-V, and RedHat KVM, and can be deployed on premise or in Amazon AWS Cloud. For larger envir-
onments needing greater event handling throughput and storage, FortiSIEM can be deployed in cluster mode. There
are three types of FortiSIEM nodes – Collector, Worker and Supervisor.
Collectors are used to scale data collection from various geo-separated network environments potentially behind a
firewall. Collectors communicate to the devices, collect the data, parse the data, and send it to the Worker nodes over
a compressed secure HTTP(S) channel. Supervisor and Worker nodes reside inside the data center and perform data
analysis functions using distributed co-operative algorithms. For scalable event storage, FortiSIEM provides two solu-
tions – FortiSIEM NoSQL event database with data residing on a NFS Server and Elasticsearch.
As compute or storage needs grow, you can add Collector nodes, Worker nodes, disks on the NFS server and Elastic-
search Data Nodes.
FortiSIEM also provides Windows Agents that enable log collection from a large number of Windows Servers. Win-
dows Agents can be configured to send events to Collectors in a highly available load balanced manner.
Multi-tenancy
FortiSIEM allows you to manage multiple groups of devices and users (Organizations) within a single FortiSIEM install-
ation. Devices and IP addresses can overlap between Organizations. FortiSIEM provides strict logical separation
between organizations at the application layer. Users of one Organization cannot see another Organization’s data
including devices, users and logs. Users belonging to a Manage Service Provider Organization can see all Organ-
izations.
For complete situational awareness, the user needs to know the network and server infrastructure in depth.
FortiSIEM’s inbuilt discovery engine can explore an IT infrastructure (on premise and cloud, physical and virtual), dis-
cover and categorize network devices, servers, users and applications in depth. A wide range of information is dis-
covered including hardware information, serial numbers and licenses, installed software, running applications and
User Guide 37
Fortinet Inc.
High Performance Log Collection and Flexible Parsing Overview
services, and device configurations. Some special topological relationships can be discovered, for example - WLAN
Access Points to WLAN Controllers, and VMware guests to physical hosts. This rich information populates an integ-
rated configuration management database (CMDB), which is kept up to date through scheduled rediscoveries.
A novel aspect of FortiSIEM discovery is that the system automatically discovers what can be monitored and which
log can be pulled using the provided credentials. This approach reduces human error, since FortiSIEM autonomously
learns the true network configuration state.
FortiSIEM has a flexible distributed log collection and parsing architecture. For logs pushed to FortiSIEM (such as Sys-
log), devices can load balance the logs across various Workers or Collectors. For logs pulled by FortiSIEM (such as
Windows WMI or Cloud services via REST API), the pulling functionality is automatically load balanced across Work-
ers and Collectors. Logs are immediately parsed at the point at which they are received. This distributed processing
speeds up log collection and analysis.
FortiSIEM has a patented XML based log parsing language that is both flexible and computationally efficient. Flex-
ibility comes from the fact that users can easily write their own parsers (XML files) or edit system provided ones using
the FortiSIEM GUI. The parser XML files are compiled at run-time and executed as an efficient code. This makes log
parsing very efficient, almost as efficient as writing code in native programming languages.
Zero-day malware can create performance issues on a server, for example, malware can consume large memory, or
ransomware scanning and encrypting files can slow the performance of other applications. By shutting down certain
services and creating excessive network traffic, malware can cause availability issues. To properly detect and remedi-
ate security issues, an investigator needs to know the performance and availability trends of critical infrastructure ser-
vices. Powered by its discovery capabilities, FortiSIEM can seamlessly collect a rich variety of performance and
availability metrics to help the investigator hunt for threats. FortiSIEM can also alert users when it receives metrics out-
side a normal profile, correlating such violations with security issues to create high fidelity alerts.
Unauthorized or inadvertent changes to key system configuration files (such as httpd.conf) or router/firewall con-
figuration can lead to security issues. Malware can modify key system files. Bad actors (for example, insider threats)
can steal forbidden files. It is important to maintain control of key files and directories.
FortiSIEM provides mechanisms for tracking and detecting key file changes. It can monitor start-up and running con-
figuration of network devices via SSH. It can monitor configuration files on servers. FortiSIEM agents can efficiently
monitor large server infrastructures. An alert is created when a file changes from one version to another or deviates
from a blessed hardened configuration.
38 User Guide
Fortinet Inc.
Overview Custom Device and Application Support
While FortiSIEM provides turnkey support for a large number of devices and applications, users can build their own
full-fledged support from the GUI. System log parsers, performance monitors, and configuration change detectors can
be modified. New device and application types, performance monitors, and configurations change detectors can be
defined, and new log parsers can be integrated to work with FortiSIEM.
By combining DHCP logs, VPN logs, WLAN logs, and Domain Controller logon events, FortiSIEM is able to maintain
an audit trail for IP address to user and geo-location mappings over time. While IP address to User mapping is import-
ant for look-up purposes by its own right, this feature enables FortiSIEM to detect stolen credentials as they tend to get
used from distant locations over a short period of time.
FortiSIEM has a flexible framework to connect to a wide variety of threat sources (both free and paid), efficiently down-
loading this information and find matches in real-time in the environment it is running. Some threat sources can have a
large number (millions) of bad IPs and URLs. FortiSIEM’s distributed search and rule engines find matches with such
large sets of data at a very high event rate.
FortiSIEM has a distributed event correlation engine that can detect complex threats in near real-time. Threats are
users or machine behavioral anomalies and can be specified in terms of event patterns sequenced over time. A threat
can be alternatively looked at as a SQL query evaluated in a streaming mode. FortiSIEM has an inbuilt profiling engine
that can handle threats defined using statistical thresholds, using mean and standard deviation.
What makes the FortiSIEM rule engine powerful is (a) the ability to include any data in a rule, for example: per-
formance and change metrics along with security logs, (b) distributed in-memory computation (patent-pending)
involving Supervisor and Worker nodes for near real-time performance with high event rates, (c) the ability for a rule to
generate a dynamic watch list which can be used recursively in a new rule to create a nested rule hierarchy, (d) use of
CMDB Objects in Rule definition, and (e) unified XML based language for rules and reports which makes it easy to
convert a report into a rule and vice-versa.
Several machine learning based UEBA models are part of the FortiSIEM inbuilt rule library – (a) detection of sim-
ultaneous logins from two different countries, (b) detection of simultaneous logins from two improbable geo-locations,
User Guide 39
Fortinet Inc.
Device and User Risk Scoring Overview
(c) login behavior anomaly – logins to servers at times that one does not typically log on, etc., (d) detection of traffic to
dynamically generated domains.
FortiSIEM has a large number of in-built behavioral anomaly rules that work out of the box, but can also be adapted by
the user for their own environment. A framework is provided where the user can write new rules via the GUI, test them
with real events, and then deploy in the system.
By combining with asset criticality, user role and importance, incident severity, frequency of occurrence and vul-
nerabilities found, FortiSIEM assigns a risk score to users and machines. This score is displayed in a dashboard with
drill-down capabilities to identify the underlying factors.
FortiSIEM provides a number of mitigation scripts that can run an action when an incident happens. The scripts can be
invoked automatically when an incident happens or can be invoked on-demand. Some examples include blocking an
IP or a MAC, deactivating a user from active directory, removing an infected file, putting a user into a watch list, restart-
ing a process or rebooting a server, and so on. You can also write your own mitigation scripts and deploy on a running
system.
FortiSIEM provides a flexible and unified search framework. The user can search data based on keywords or in a
structured way using FortiSIEM parsed attributes. In real-time mode, the matched data streaming in from devices is
displayed. In Historical mode, events in the event database are searched. Supervisor and Worker nodes perform
search in a distributed manner.
A large number of inbuilt reports (search templates) are provided, based on the device type, and functionality, such as
availability, performance, change and security.
Two novel aspects of FortiSIEM search are event unification and drill-down or threat hunting capabilities. With event
unification, all data is analyzed and presented the same way, whether it is presentation aspects (real-time search,
reports, rules) or context (performance and availability metrics, change events or security logs). Using drill-down, you
can start from a specific context, such as Top Authentication Failed Users, and select attributes to further analyze data
and iteratively, get to the root cause of a problem. As an example, the investigation of 'Top Authentication Failed
users' could be followed by picking a specific user from the list and selecting Destination IP, and Ports to see which
machines the user communicated with, followed by selecting the raw logs for real evidence.
FortiSIEM contains a wide selection of compliance reports out of the box – PCI, COBIT, SOX, ISO, ISO 27001,
HIPAA, GLBA, FISMA, NERC, GPG13, SANS Critical Control, NIST800-53, and NIST800-171.
FortiSIEM provides a wide variety of visual dashboards for the data it collects and for incidents that have triggered -
Summary dashboards, Widget dashboards, Business Service dashboard, Incident dashboard, and Identity and Loca-
tion dashboard.
40 User Guide
Fortinet Inc.
Overview Internal Ticketing System and Two-way Third-party Ticketing Integration
FortiSIEM has a built-in ticketing system for managing incidents via tickets. It supports the full ticket life cycle of open-
ing, escalating, closing, reopening and creating cases with attachments for evidence.
FortiSIEM can also integrate with third-party ticketing systems. When an incident occurs in FortiSIEM, a ticket can be
created in the external ticketing system and linked to an existing device or a new device can be created in the external
system. You can customize various FortiSIEM incident fields to the external ticketing system field. When the ticket is
closed in the external ticketing system, the ticket is closed in FortiSIEM.
Several third-party external ticketing systems are supported out of the box, for example, ServiceNow, Salesforce, Con-
nectWise and Remedy. An API is provided so that other integrations can be built.
Business Service enables you to prioritize incidents and view performance/availability metrics from a business service
perspective. A Business Service is defined within FortiSIEM as a smart container of relevant devices and applications
serving a common business purpose. Once defined, all monitoring and analysis are presented from a business ser-
vice perspective.
FortiSIEM enables you to easily define and maintain a Business Service. Since FortiSIEM automatically discovers the
applications running on the servers as well as the network connectivity and the traffic flow, you can easily choose the
applications and respective servers and be intelligently guided to choose the rest of components of the Business Ser-
vice.
User Guide 41
Fortinet Inc.
What's New in 6.3.3 FortiSIEM Versions
FortiSIEM Versions
The following sections provide release specific information about new features, enhancements, and resolved issues:
This release includes a new feature, fixes, enhancements, and known issue.
l New Features
l Bug Fixes and Enhancements
l Known Issues
New Features
l Windows Discovery, Monitoring and Log Collection via OMI
42 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.3.3
Note: If FortiSIEM is set up in FIPS mode, then OMI based communication between FortiSIEM and Windows servers
will not work. This is because current OMI code uses NTLM authentication via RC4 encryption which is not FIPS com-
pliant. In future releases, Kerberos based authentication may be used to make it work in FIPS mode.
For details on OMI, see https://github.com/microsoft/omi.
Known Issues
Linux Agent
Linux Agent does not work for this release. Since Linux Agent is not vulnerable to log4j vulnerability (CVE-2021-
44228), you can keep using Linux Agents from earlier versions (6.3.2 or earlier) to work with the Supervisor, Workers
and Collectors in version 6.3.3. In other words:
l For 6.3.3 fresh install environments, use 6.3.2 Linux Agents.
l For upgrade situations, upgrade the Supervisor, Workers and Collectors to 6.3.3, but do not upgrade Linux
Agents.
User Guide 43
Fortinet Inc.
What's New in 6.3.2 FortiSIEM Versions
PUT fortisiem-event-*/_settings
{
"index" : {
"max_terms_count" : "1000000"
}
}
Case 2. For new indices that are going to be created in the future, update fortisiem-event-template so those
new indices will have a higher max_terms_count setting
1. cd /opt/phoenix/config/elastic/7.7
...
3. Navigate to ADMIN > Storage > Online and perform Test and Deploy.
4. Test new indices have the updated terms limit by executing the following simple REST API call.
GET fortisiem-event-*/_settings
This document describes the additions for the FortiSIEM 6.3.2 release.
l New Features
l Key Enhancements
l New Device Support
l Bug Fixes and Minor Enhancements
l Rule and Report Modifications since 6.3.1
l Known Issues
44 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.3.2
New Features
l Bi-Directional Elasticsearch Cross-Cluster Replication Support
Key Enhancements
l Improved Elasticsearch to HDFS Archiving
l Automated CMDB Disk Space Management
l Kafka Consumer Authentication
l Incident Event for Every Incident Trigger
l Show All Incident Trigger Events via Pagination
l Elasticsearch Event Export Tool
l REST API to Return Worker Queue State
l Alert when Entity Risk Reaches Pre-Defined Threshold
User Guide 45
Fortinet Inc.
What's New in 6.3.2 FortiSIEM Versions
l cmdb_disk_space_high_threshold (in MB): When disk management kicks in, incidents are purged until
CMDB disk space reaches this defined threshold (default value 100MB).
46 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.3.2
Two rules are included. By default, these rules are off and need to be turned on based on your environment.
l Host/User risk increased and crossed Medium threshold
l Host/User risk increased and crossed High threshold
752220 Minor App Server A Report Bundle, when run in the background, may stop running and
not produce results.
743631 Minor App Server A discovered device may not be added to CMDB Network Segment.
738677 Minor App Server ph_dwl_entry_incident table filled up the CMDB disk space making
FortiSIEM unaccessible via GUI.
746760 Minor App Server After restarting app server, old closed incidents to ServiceNow may
be reopened.
748434 Minor Data Source and Destination Host Name were parsed incorrectly in Incid-
User Guide 47
Fortinet Inc.
What's New in 6.3.2 FortiSIEM Versions
ent events.
750890 Minor Data Barracuda WAF Firewall Parser -- Include eventAction attribute in
some ACL and Web Firewall logs.
749293 Minor Data Office365 Parser did not parse "Subject" or "Receiver" information
from email log.
748351 Minor Data "DARKSIDE Domain Traffic Detected" rule with heavy regex needs to
be optimized.
737257 Minor Elasticsearch For HDFS archive, it must only delete an Elasticsearch event index
AFTER it is archived successfully.
744341 Minor GUI Incident Target field sometimes showed data from another incident.
741741 Minor GUI Elasticsearch ILM Settings in ADMIN > Settings > Database > Online
Settings for AWS ES and ES Cloud is meaningless.
746758 Minor GUI Notification policy page did not load where there were a large number
of CMDB Objects in each policy.
742893 Minor Parser phParser CPU was sometimes high for parsing JSON events at EPS
around 1800.
745198 Minor Parser IP enrichment for US IP addresses displayed "United States of Amer-
ica" when Country Group looked for "United States".
742922 Minor Query Engine QueryMaster to Worker communication stopped because of Inter-
rupted system call.
749132 Minor System Expired Self signed Certificate was in FortiSIEM 6.3.1 OVA - ESX
install file.
750351 Minor System Prevent phDataManager from resetting shared buffer when it falls
behind.
745379 Minor System fortigate_block_ip_after_5.4.py did not check the result properly, res-
ulting in remediation progress staying at 0%.
48 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.3.2
User Guide 49
Fortinet Inc.
What's New in 6.3.2 FortiSIEM Versions
Known Issues
50 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.3.2
On Supervisor Node
i. log4j-core-2.8.2.jar
ii. log4j-api-2.8.2.jar
iii. log4j-slf4j-impl-2.6.1.jar
4. Mitigating phFortiInsightAI module:
a. Delete these log4j jar files under /opt/fortiinsight-ai/lib/
i. log4j-core-2.13.0.jar
ii. log4j-api-2.13.0.jar
5. Restart all Java Processes by running: “killall -9 java”
On Worker Node
Slow Upgrade
Release 6.3.2 upgrade contains some SQL commands to cleanup some incident tables in CMDB. These commands
may be slow to execute if your CMDB has a large number of incidents (millions). This may slow the upgrade, which
may appear to be stuck.
Please follow the following steps to complete the upgrade. There are two cases:
l Case 1: 6.3.2 Upgrade has not started yet
l Case 2: 6.3.2 Upgrade appears stuck and Supervisor snapshot is not available
Follow the steps below if you have not started the 6.3.2 upgrade. If you failed on an upgrade, and recovered from a
snapshot, then you can follow these steps as well.
User Guide 51
Fortinet Inc.
What's New in 6.3.2 FortiSIEM Versions
Case 2: 6.3.2 Upgrade appears stuck and Supervisor snapshot is not available
In this case, the upgrade has started but it is running for an extensive period of time with the following display.
[10:44:34] migrate-database : DATABASE | Create Super User | localhost | SKIPPED |
46ms
[10:44:34] migrate-database : DATABASE | Give ALL ACCESS to USER | localhost |
SKIPPED | 46ms
52 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.3.1
PUT fortisiem-event-*/_settings
{
"index" : {
"max_terms_count" : "1000000"
}
}
Case 2. For new indices that are going to be created in the future, update fortisiem-event-template so those
new indices will have a higher max_terms_count setting
1. cd /opt/phoenix/config/elastic/7.7
...
3. Navigate to ADMIN > Storage > Online and perform Test and Deploy.
4. Test new indices have the updated terms limit by executing the following simple REST API call.
GET fortisiem-event-*/_settings
This document describes the additions for the FortiSIEM 6.3.1 release.
l New Features
l Key Enhancements / Bug Fixes
l New Device Support
User Guide 53
Fortinet Inc.
What's New in 6.3.1 FortiSIEM Versions
New Features
l Disaster Recovery
l Install and Upgrade in IPv6 Networks
l Backup and Restore for Hardware Appliances
Disaster Recovery
This release adds back the Disaster Recovery feature that was present in FortiSIEM 5.4 release.
To set up Disaster Recovery, the user needs to set up two identical FortiSIEM instances, each with a separate license.
Then FortiSIEM will replicate the CMDB (in PostgreSQL database), Configuration data (in SVN-lite), Profile database
(in SQLite database) and FortiSIEM EventDB from Primary to Secondary. For Elasticsearch based deployments, pro-
cedures for out-of-band unidirectional Cross-cluster replication (CCR) is provided.
When the Primary fails, the user has to be manually convert the Secondary FortiSIEM to Primary. When the original
Primary is back up, the user has to first make it Secondary and switch roles to make it Primary again.
Secondary is in hot Standby mode. While the user can log in to the Secondary GUI, permissions that involve writing to
the PostgreSQL database are not permitted. Hence Analytical queries in the Secondary FortiSIEM is not permitted.
Disaster Recovery works for all EventDB based software deployments and hardware appliances (2000F, 3500F and
3500G) and Elasticsearch deployments using uni-directional Cross-cluster replication.
Details for Disaster Recovery Operations in EventDB based environments is available here.
Details for Disaster Recovery Operations in Elasticsearch based environments is available here.
54 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.3.1
Elasticsearch Enhancements
l Dynamic Elasticsearch Shard Adjustment to Handle EPS Burst
l Per Organization Elasticsearch Insert
A shard is the unit of parallelism for Elasticsearch deployments. When EPS is high, you want more shards to be
spread across many Data Nodes to keep up with the incoming EPS. This release adds a dynamic shard adjustment
mechanism to handle EPS surges. Every 5 minutes, a decision of whether to allocate more shards is made based on
the incoming EPS.
This is an internal feature, so no user configuration is required.
In Service Provider deployments, you can choose to have separate Elasticsearch indices for every Organization. In
earlier releases, the Worker nodes combined events from all Organizations into a single HTTPS POST insert request
to Elasticsearch. This may introduce a Head-Of-Line Blocking effect – if Elasticsearch is slow in inserting one Organ-
ization’s events, then all other Organization’s event inserts may be delayed. This release prevents this situation by
inserting different Organization’s events in different HTTPS POST requests to Elasticsearch.
User Guide 55
Fortinet Inc.
What's New in 6.3.1 FortiSIEM Versions
1. When FortiSIEM monitors DNS Analytical logs, Windows Event Log service memory utilization may be high.
2. Windows Agent may stop sending events if both the Supervisor and Collector go down for more than 10
minutes and then come up.
1. File handle leak while interfacing with local SQLite database could cause Windows Agent memory usage to
grow over time.
2. File handle leak while interfacing with Windows registry could cause Windows Agent memory usage to grow
over time.
1. File handle leak while interfacing with local SQLite database could cause Windows Agent memory usage to
grow over time.
2. File handle leak while interfacing with Windows registry could cause Windows Agent memory usage to grow
over time.
56 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.3.1
636110 Major Discovery In AD User Discovery, the Last Login Value was incorrect if the
user was not set (did not log in) to the AD Server.
749499 Major Windows The log file contained a plain text password used to register the
Agent agent to the Supervisor. This password was not used for any
other purposes. Additionally, an authenticated Windows user
could run arbitrary Powershell scripts with Administrator per-
missions.
748252 Major Windows File handle leak while interfacing with Windows registry could
Agent cause Windows Agent memory usage to grow over time.
746978 Major Windows File handle leak while interfacing with local SQLite database could
Agent cause Windows Agent memory usage to grow over time.
727872 Major Windows Windows Agent may stop sending events if both the Supervisor
Agent and Collector go down for more than 10 minutes and then come
up.
723147 Major Windows When FortiSIEM monitors DNS Analytical logs, Windows Event
Agent Log service memory utilization may be high.
739811 Minor App Server Incident dashboard queries could be slow for non-admin users
when there were incidents over many months.
737188 Minor App Server External LDAP Authentication did not work after upgrading from
5.3.2 to 6.3.0 for CA Directory LDAP Server.
731150 Minor App Server Organization info was set incorrectly in PH_DEV_MON_LOG_
DEVICE_DELAY_HIGH events from Multi-tenant Collectors.
728925 Minor App Server Excessive errors on 2000F were caused by short user field in post-
greSQL.
726689 Minor App Server Out-of-Range Integer error occurred when trying to change
device status in CMDB.
726068 Minor App Server Logged In User list in database was not cleared when the Super-
visor rebooted or the session closed.
724935 Minor App Server Windows agent events were still received after deleting an Org
with windows agent.
722997 Minor App Server The timeline date format in exported query results did not display
the chosen time format in the GUI.
722650 Minor App Server The CMDB Export to ServiceNow via custom transform file did not
work.
User Guide 57
Fortinet Inc.
What's New in 6.3.1 FortiSIEM Versions
722130 Minor App Server Pull Event Monitor Summary Reports appeared blank at org level
(PDF and CSV).
722003 Minor App Server Technique and Tactics attributes needed to be added to the Incid-
ent XSL for customers to parse the field into ServiceNow.
721572 Minor App Server Incident Export (PDF) did not correctly show Tactics and Tech-
nique values.
680663 Minor App Server Devices in CMDB with triggered incidents could sometimes not be
deleted .
514406 Minor App Server External Authentication via LDAP did not work for users with $ in
their username.
738867 Minor GUI Allow Incident Firing on Approved devices only did not take effect;
incidents were firing on pending device
729459 Minor GUI With the UI Setting set as Dark Theme, the headings in the lower
table under CMDB > Devices were illegible.
728440 Minor GUI From INCIDENTS > Overview, if a user clicked a link, went back
to INCIDENTS > Overview, and then switched to
INCIDENTS > List View, a filtered list would be displayed.
Note: The filter should be reset when switching.
727304 Minor GUI With the UI Setting set as Dark Theme, Diff under Installed Soft-
ware/Configure in the lower table on the CMDB > Devices page
was illegible.
727217 Minor GUI When both VirusTotal and RiskIQ integration policies were
invoked on an incident, only one policy's comment was added.
726972 Minor GUI The user was unable to select an org level reporting device for an
event dropping rule while logged in as a Super/admin with global
view.
726912 Minor GUI After adding LDAP users to CMDB Users, if a new user was later
added with a new rule exception and FortiSIEM was rebooted,
while performing an Edit Rule Exception for the user, the user's
value appeared indecipherable.
Note: The exception rule worked fine, but the value displayed was
indecipherable.
726816 Minor GUI If the user went to the ADMIN > Settings > Event Handling
> Forwarding page, then to DASHBOARD, and back to
ADMIN > Settings > Event Handling > Forwarding, a duplic-
ate Organization column would be added to the Forwarding page.
726770 Minor GUI The Trend Chart Bar appeared incorrectly in PDF reports.
58 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.3.1
726228 Minor GUI After adding a CMDB report to a Report Bundle in Report Design,
the page orientation could not be set to Landscape.
725816 Minor GUI After copy/pasted text is put into the text editor for a custom report
in Report Design, the Preview and Export functions fail when
selected.
723811 Minor GUI From the ANALYTICS page, a string containing a comma (using
operators = and !=) was not allowed in filter searches.
723628 Minor GUI In Super Local view, on the CMDB > Devices page, if a user
selected a collector, clicked on Actions and selected Real-time
Performance, collectors for other organizations would also
appear.
696824 Minor GUI From the CMDB > Devices page, with a device containing a
Supervisor IP selected, if a user clicked on Actions, selected
Change Status, and changed the status to Approved, no
change would occur.
678165 Minor GUI On the INCIDENTS > Overview page, drilling down to the Incid-
ent table view from a Host under "Top Impacted Hosts" where the
Incident Source, Target or Reporting IP does not include the Host-
name sometimes results in no incident being shown.
578936 Minor GUI Reports containing a Donut Chart and Bar Chart for COUNT
(DISTINCT destIpAddr) displayed a blank Donut chart and an
inaccurate Bar Chart when a preview/export PDF report was gen-
erated.
727489 Minor Linux Agent The file owner and group parameters were empty in the file
metadata for Ubuntu20.
Note: Navigate to CMDB > Devices, select the ubuntu linux 20
device, select the File tab in the lower table, and select the file to
view the file metadata.
736266 Minor Monitoring From CMDB > Devices, with the Monitor tab selected in the
lower table, the monitor status for job "Fortinet WTP Metrics" was
missing even if events were coming.
738900 Minor Parser Event forwarding does not work when the sender IP belongs to a
CMDB Device Group in the forwarding rule.
740775 Minor Performance Important process matching with empty parameter was not cor-
Monitoring rect, which could cause unimportant processes to become import-
ant for monitoring.
717167 Minor Performance H3C Comware switches sent incomplete configuration, collected
Monitoring via SSH.
User Guide 59
Fortinet Inc.
What's New in 6.3.1 FortiSIEM Versions
730442 Minor Query Elasticsearch - Failed to query with Hash Code IN custom hash
group while the items in this group were imported from CSV.
729467 Minor Query Elasticsearch - Query failed with Source IP IN custom parent
Anonymity Network Group while a sub group was moved out and
moved back.
729181 Minor Query Elasticsearch - Deactivated watch list item could still be queried
under ANALYTICS.
729159 Minor Query Elasticsearch - Queries involving Custom Biz Service did not
work.
722560 Minor Query Incorrect results were returned by Display Field division when the
numerator was small and the divisor was a whole number.
722558 Minor Query Display Field Expressions using COUNT DISTINCT were not eval-
uated correctly
720174 Minor Query Named value query did not return result for custom device group
with deleted sub group for Elasticsearch queries.
702515 Minor Query Regex in Search and Rule Filter needed to be case-sensitive to
allow more flexibility.
738118 Minor System After upgrade to 6.3.0, theget-fsm-health.py script had no inform-
ation for the Details section.
696997 Minor System SNMP service with default community name needed to be turned
off during installation.
727872 Minor Windows No event from Windows agent if both the Supervisor and Collector
Agent went down for more than 10 minutes and then came up.
723147 Minor Windows Windows Event would use high memory to monitor DNS Ana-
Agent lytical logs.
570476 Minor Windows Windows Agent registration failed if a password contained the
Agent ampersand (&) character.
726572 Minor Windows FIM File push did not work if there was a space in the file or dir-
Agent, Linux ectory name.
Agent
60 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.3.1
735848 Enhancement API Incident Update REST API needs to update incident status.
735820 Enhancement API Incident API should provide Event Attribute Name, not just the ID.
723011 Enhancement API The ability to delete Watch list API groups should be added, since
they can be created at system level.
737205 Enhancement App Server Malware Updates should clean up /data/cache/ folders in addition
to the other Malware directories.
731057 Enhancement App Server When Elasticsearch is used as storage, the Event Name field is
not included in the CSV export. The Event Name field should be
included in the CSV export when using Elasticsearch as storage.
517113 Enhancement App Server REST API queries run from the outside should not generate sep-
arate user logins in GUI.
738241 Enhancement Data FortiAV2 paired with FortiClient v 6.2.8 events are being recog-
nized as unknown event type. These events should be recognized
as coming from FortiClient.
735211 Enhancement Data Process Command Line attribute is not been parsed for some
Win-Security-4688 events. Process Command Line attribute
should be parsed for win4688 events.
734336 Enhancement Data FortiGate parser should map Xauthuser attribute to the user field
if the value exists.
730702 Enhancement Data REvil Rules and Reports should be added to FortiSIEM.
730657 Enhancement Data Unknown Linux agent events were getting stuck in collector.
Parser for New Relic Linux added.
730465 Enhancement Data Some events for Cisco Firepower Threat Defense were not
parsed.
730319 Enhancement Data The rule "Executable file posting from external source" made no
reference to external source in the rule definition.
730301 Enhancement Data Cisco NX OS parser was not parsing the User field.
729278 Enhancement Data Some McAfee EPO syslog events were not parsed.
726784 Enhancement Data Sysmon Create Process Event CommandLine Parsing was incor-
rect.
723892 Enhancement Data Improved the output legibility of Trend Micro Deep Discovery
Inspector Parser and added more event types.
694867 Enhancement Data FortiClientParser did not handle EMS messages forwarded
User Guide 61
Fortinet Inc.
What's New in 6.3.1 FortiSIEM Versions
through FortiAnalyzer.
686294 Enhancement Data PaloAltoParser needed to parse other attribute for PaloAlto Con-
fig Syslogs EventType.
674101 Enhancement Data Improved the output legibility of Sophos Central Parser.
670223 Enhancement Data Added AWS CloudWatch logs for parsing beyond VPC flow log.
660630 Enhancement Data FortiGate Parser created incorrect Event Type and Names for a
few LogIDs.
659038 Enhancement Data Unix parser did not correctly categorize Installed Software.
658139 Enhancement Data IIS Parser needed to support logs received via Event Tracing for
Windows.
649287 Enhancement Data CheckpointCEF Parser did not extract Action (act) field.
632880 Enhancement Data ApacheViaSnareParser did not parse the Username field.
738158 Enhancement Data Added more event types for Google App Suite.
720699 Enhancement GUI Increased the limit of PAYG Report email recipients from 3 to 5.
726733 Enhancement Linux Agent User File Monitoring did not pickup new content when written to
the same line.
62 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.3.1
User Guide 63
Fortinet Inc.
What's New in 6.3.1 FortiSIEM Versions
64 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.3.1
Known Issues
User Guide 65
Fortinet Inc.
What's New in 6.3.1 FortiSIEM Versions
On Supervisor Node
i. log4j-core-2.8.2.jar
ii. log4j-api-2.8.2.jar
iii. log4j-slf4j-impl-2.6.1.jar
4. Mitigating phFortiInsightAI module:
a. Delete these log4j jar files under /opt/fortiinsight-ai/lib/
i. log4j-core-2.13.0.jar
ii. log4j-api-2.13.0.jar
5. Restart all Java Processes by running: “killall -9 java”
On Worker Node
Slow Event Database Operations Using Azure Managed NFS File Share Service
If you are running a FortiSIEM 6.3.0 or 6.3.1 Cluster in Microsoft Azure Cloud using Azure Managed NFS File Share
Service, then FortiSIEM will not work correctly. Symptoms are file build up in the /data directory and slow GUI quer-
ies. A bug was introduced in the Linux kernel (affecting Redhat CentOS 8.4 and FortiSIEM 6.3.0) that slows NFS oper-
ations. For details, see the section titled "ls hangs for large directory enumeration on some kernels" in this
URL document: https://docs.microsoft.com/en-us/azure/storage/files/storage-troubleshooting-files-nfs
Note: If you deploy your own NFS V3 or V4, then FortiSIEM 6.3.0 or 6.3.1 is not impacted.
Redhat has not yet published a patch for this issue. The current workaround is to manually downgrade the Linux ker-
nel from 8.4 to 8.3.
Download and install the Linux 8.3 kernel by running all the commands in Step 1 on each Supervisor and all your
Worker nodes.
66 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.3.1
1. On your system, login as user root, and run the following commands.
Note: The order of the commands is important. If your system is offline without internet access, you can down-
load the RPM to a flash drive or file share to upload to the Supervisor and Workers.
a. cd /tmp
b. mkdir downgrade
c. cd downgrade
d. wget https://os-pkgs-cdn.-
fortisiem.fortinet.com/centos83/baseos/Packages/kernel-core-4.18.0-
240.10.1.el8_3.x86_64.rpm
2. Log back in as user root and check the kernel version that is running with the following command:
uname –r
After the Linux kernel downgrade is done for the Supervisor and Workers, take the following steps:
User Guide 67
Fortinet Inc.
What's New in 6.3.1 FortiSIEM Versions
After these steps are completed, FortiSIEM is ready to discover devices, and network segments are created auto-
matically.
PUT fortisiem-event-*/_settings
{
"index" : {
"max_terms_count" : "1000000"
}
}
Case 2. For new indices that are going to be created in the future, update fortisiem-event-template so those
new indices will have a higher max_terms_count setting
1. cd /opt/phoenix/config/elastic/7.7
...
3. Navigate to ADMIN > Storage > Online and perform Test and Deploy.
4. Test new indices have the updated terms limit by executing the following simple REST API call.
GET fortisiem-event-*/_settings
68 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.3.0
This document describes the additions for the FortiSIEM 6.3.0 release.
l New Features
l Key Enhancements
l New Device Support
l Device Support Extensions
l Bug Fixes and Minor Enhancements
l Known Issues
l Rule and Report Modifications since 6.2.1
New Features
l Customizable GUI Login Banner
l UTC and ISO8601 Timestamp Formatted Dates
l Ability to Tag Incidents and Search Incidents by Tag
l Report Export in RTF Format
l Trend Chart for Hourly/Daily/Weekly Aggregates
l Email Encryption via S/MIME
l Load Balancing Inserts across Multiple Elasticsearch Coordinator Nodes
l Watchlist Management API
l JSON Incident API
l FortiSIEM Collector as Management Extension Application (MEA) on FortiAnalyzer
User Guide 69
Fortinet Inc.
What's New in 6.3.0 FortiSIEM Versions
70 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.3.0
Key Enhancements
l Infrastructure Upgrade
l Elasticsearch 7.12.1 Support
l MITRE ATT&CK Framework Update to V0.9
l Authentication for Kafka based Event Forwarding
l Report Design Template Enhancements
l Selective Role based Raw Message Obfuscation
l Shared Dashboard Ownership Transfer
l Custom Elasticsearch Mapping Template
User Guide 71
Fortinet Inc.
What's New in 6.3.0 FortiSIEM Versions
Infrastructure Upgrade
This release upgrades the underlying CentOS version to 8.4.
72 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.3.0
Our research (using the Elasticsearch Rally Tool) has shown that Elasticsearch performance can be improved by
choosing a smaller Event Attribute Template file relevant to events seen in the customer's environment. This release
allows customers to use the right Event Attribute Template file for their environment and improve Elasticsearch per-
formance.
A tool is provided that customers can use to create an Event Attribute Template file based on last N (configurable)
days of data in Elasticsearch. Details can be found in Administrator Tools.
The user can import this custom Event Attribute Template file from the Supervisor GUI and click Test and Save to
deploy to Elasticsearch. Details can be found in Configuring a Native, AWS, or Cloud Elasticsearch database.
Note: If a new log appears and has new event attributes not present in the Event Attribute Template file, then Elastic-
search will auto-detect the type. If you wish to change the type, you will need to run the tool again and upload the new
Event Attribute Custom Template. The custom Event Attribute template will take effect for the new index.
This release has been tested in native Elasticsearch 7.8, 7.12.1, AWS Elasticsearch 7.8, and Elastic Cloud 6.8.
Note: AWS Elasticsearch is now officially called AWS OpenSearch.
User Guide 73
Fortinet Inc.
What's New in 6.3.0 FortiSIEM Versions
719210 Major App Server Choosing Malware IOC (IP/Domain/URL/Hash) when there are
many Malware IOC groups, would result in a sluggish GUI. A full
download is recommended for faster FortiSIEM processing. Do
not choose incremental download when the website does not
provide incremental download.
718253 Major App Server Any customer defined rule cannot be approved for deployment in
the TASKS > Approval page
650020 Major GUI If a user navigated to RESOURCES > Reports > Baseline, selec-
ted a Reporting EPS Profile and clicked Run, the visualization
would not appear, and showed a "stuck" loading indicator. A work-
around was to navigate to ANALYTICS, go to the folder option,
navigate to Reports > Baseline, select a Reporting EPS Profile
and click Run.
715377 Minor App Server If a primary contact admin user was saved with an incorrect organ-
ization, the ADMIN > License > General and Usage pages
would not display any data.
711680 Minor App Server On a 6.2.0 upgraded FortiSIEM, if an ANALYTICS query result
spanned many pages (over 199), then later pages might not show
any results.
705642 Minor App Server If a SAML response did not carry the signature and X509 Cer-
tificates attributes, the AppServer would throw a NullPoint-
erException.
685195 Minor App Server Occasionally, after a few weeks or months, the STM job would
automatically change from HTTP type to TCP.
719795 Minor Data The Source IP was incorrectly set for Windows Security Event ID
4624 event.
719331 Minor Data The FortiGateParser set Event Action as 0(permit) even when
Firewall action=block in event logs; it should be 1.
74 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.3.0
717349 Minor Data The Zscaler parser was not correctly handling events with quotes
in the URL.
715951 Minor Data The Checkpoint parser created spurious CMDB devices due to
incorrect parsing of origin field.
712384 Minor Data Windows Security Event 4728 had the incorrect target User field.
712153 Minor Data The FortiClient EMS parser sometimes failed when there was no
clientfeature field.
709663 Minor Data The Nginx parser would not work when a log contained a negative
GMT time value.
709182 Minor Data Occasionally, the Windows Log parser would not parse the cor-
rect Destination Host Name.
708681 Minor Data Maldives is incorrectly in RESOURCES > Country Groups >
Europe instead of RESOURCES > Country Groups > Asia.
708638 Minor Data The Cisco ASA parser and Cisco FWSM parser had incorrect
mapping of the Destination and Source IP/Ports.
706898 Minor Data Windows Security log parsing enhanced to include Kerberos
Cipher name.
697112 Minor Data The Palo Alto Firewall parser showed the "flowEndReason" attrib-
ute value as 0.
694642 Minor Data Uruguay was incorrectly included in the Europe Country Group
instead of the South America Country Group.
692909 Minor Data For WatchGuard Firebox firewall, HTTPS certificate attributes
were not parsed.
715304 Minor Data The Palo Alto Firewall log parser did not work for global protect
system logs.
685952 Minor Data The Palo Alto parser enhanced to handle additional log types,
including multiple WildFire events.
716961 Minor Data The FortiAuthenticator Failed Login was parsed as Successful
User Guide 75
Fortinet Inc.
What's New in 6.3.0 FortiSIEM Versions
Login.
724187 Minor Data SQL Injection Attack detected by NIPS rule logic corrected to
match rule description.
723602 Minor Data Palo Alto event type PAN-IDP-31914 categorization corrected to
match trigger behavior. Event type PAN-IDP-55873 added.
718372 Minor GUI When creating a new report under Org, a "unknown Error" warn-
ing would pop up after saving.
717183 Minor GUI With a large number of CMDB users defined in FortiSIEM, in the
CASES tab, the New and Edit operations would sometimes
timeout.
712019 Minor GUI The auto-load feature would re-load at 4 am every day, even
when an active query was running.
698621 Minor GUI In Report Schedule, multiple email addresses could not be added.
689328 Minor GUI In the Interface Usage Dashboard, user changes to the Applic-
ation Usage chart were not saved.
681160 Minor GUI From the CMDB page, installed software could not be detected
when discovered.
677375 Minor GUI When saving or copying into a parser window, the ">" and "< "char-
acters were getting encoded and translated.
668386 Minor GUI In MSSP mode, if the user was in CMDB, the device group could
not be changed.
688542 Minor Log Collection Azure Audit logs only pulled from one subscription, even when
multiple subscriptions were configured.
719190 Minor Parser The Cisco ASA built/teardown parsing was sometimes sluggish
when matching connection ids.
707125 Minor Performance The VMware cluster level CPU and memory utilization cal-
Monitoring culations were not accurate.
714176 Minor Performance In CMDB > Device > Monitor, the Last Successful attribute was
Monitoring not reset properly, causing flapping between Normal and Warn-
ing.
700690 Minor Performance HTTPS based STM did not work correctly when different IPs in dif-
Monitoring ferent STMs were mapped to the same host name.
694596 Minor Performance FortiSIEM could not monitor a metric via SNMP when there were
Monitoring more than two alternative OIDS for that metric and another
method like SSH was simultaneously used to monitor other met-
rics.
76 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.3.0
712602 Minor Query Query failed if there were parentheses in the nested query with
attributes like "Destination TCP/UDP Port".
684647 Minor Query In ANALYTICS search, a filter on TCP flag would make the query
work incorrectly.
682137 Minor System The /etc/hosts file needed to be preserved across upgrades.
690781 Enhancement App Server When an incident is cleared in FortiSIEM, it is now cleared on Con-
nectWise.
705478 Enhancement Data FortiSandbox parser now extracts virusid and attack name in a
better way to parse malware name attribute.
705468 Enhancement Data FortiClient parser now maps threat to malware name attribute.
702603 Enhancement Data Extend Windows Security log parser now supports Sysmon v13.
692796 Enhancement Data UnixParser extended to parse SFTP Open file, SFTP Close file,
and internal-sftp logs.
689608 Enhancement Data Meraki Firewall parser enhanced to include Flow Start and Flow
End events.
680432 Enhancement Data Cisco Callmanager and Cisco IMP servers parsers enhanced to
handle more event types.
668492 Enhancement Data Windows log parser for French Language Windows enhanced.
Note: Enhancement primarily for security log 4728.
725618 Enhancement Data Parsing enhanced to handle Cisco Nexus AUTHPRIV syslog mes-
sages.
704115 Enhancement Data The Palo Alto parser extended to parse global protect system
logs.
684897 Enhancement Data The rule "Traffic to FortiGuard Malware IP List" is now able to trig-
ger on valid non-firewall logs.
696237 Enhancement GUI Port number under External Authentication can now be changed.
705100 Enhancement Log Collection Windows BitDefender REST API now allows different regions to
be selected. Note: Originally, it defaulted hostname to the US.
703881 Enhancement Rule Engine PH_REPORT_PACK_FAILED log (that indicates event dropped
during packing from Worker to Supervisor) now includes groupby
User Guide 77
Fortinet Inc.
What's New in 6.3.0 FortiSIEM Versions
712034 Enhancement System pHEventExport and TestESSplitter backend tools updated to run
in FortiSIEM 6.x.
Known Issues
On Supervisor Node
i. log4j-core-2.8.2.jar
ii. log4j-api-2.8.2.jar
iii. log4j-slf4j-impl-2.6.1.jar
4. Mitigating phFortiInsightAI module:
a. Delete these log4j jar files under /opt/fortiinsight-ai/lib/
i. log4j-core-2.13.0.jar
ii. log4j-api-2.13.0.jar
5. Restart all Java Processes by running: “killall -9 java”
78 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.3.0
On Worker Node
Slow Event Database Operations Using Azure Managed NFS File Share Service
If you are running a FortiSIEM 6.3.0 Cluster in Microsoft Azure Cloud using Azure Managed NFS File Share
Service, then FortiSIEM will not work correctly. Symptoms are file build up in the /data directory and slow GUI quer-
ies. A bug was introduced in the Linux kernel (affecting Redhat CentOS 8.4 and FortiSIEM 6.3.0) that slows NFS oper-
ations. For details, see the section titled "ls hangs for large directory enumeration on some kernels" in this
URL document: https://docs.microsoft.com/en-us/azure/storage/files/storage-troubleshooting-files-nfs
Note: If you deploy your own NFS V3 or V4, then FortiSIEM 6.3.0 is not impacted.
Redhat has not yet published a patch for this issue. The current workaround is to manually downgrade the Linux ker-
nel from 8.4 to 8.3.
Download and install the Linux 8.3 kernel by running all the commands in Step 1 on each Supervisor and all your
Worker nodes.
1. On your system, login as user root, and run the following commands.
Note: The order of the commands is important. If your system is offline without internet access, you can down-
load the RPM to a flash drive or file share to upload to the Supervisor and Workers.
a. cd /tmp
b. mkdir downgrade
c. cd downgrade
d. wget https://os-pkgs-cdn.-
fortisiem.fortinet.com/centos83/baseos/Packages/kernel-core-4.18.0-
240.10.1.el8_3.x86_64.rpm
User Guide 79
Fortinet Inc.
What's New in 6.3.0 FortiSIEM Versions
2. Log back in as user root and check the kernel version that is running with the following command:
uname –r
After the Linux kernel downgrade is done for the Supervisor and Workers,take the following steps:
3. If you have tunnels you had opened after the upgrade, but prior to making the above change, you will need to
click on the Close All button from ADMIN > Health > Collector Health > Tunnels page.
Note: This fix was done to address bug 602294: CVE-2004-1653 SSH port forwarding exposes unprotected internal
services.
Need to set Account Environment in Azure Cloud Support Access Credentials after Upgrade
Prior to the 6.3.0 FortiSIEM release, the Azure CLI agent only supported Global Azure (AzureCloud). It did not support
Azure Government Cloud, Azure China Cloud, or Azure German Cloud. In 6.3.0 and later releases, the 4 types of
Azure Clouds listed here are supported by the Azure CLI agent.
When you need to upgrade the collector to 6.3.0 for Azure CLI jobs, make sure the Supervisor is also 6.3.0, and enter
the Account Env as part of its Access Credentials.
AzureCloud https://portal.azure.com
AzureChinaCloud https://portal.azure.cn
AzureUSGovernmentCloud https://portal.azure.us
AzureGermanCloud https://portal.microsoftazure.de/
80 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.3.0
PUT fortisiem-event-*/_settings
{
"index" : {
"max_terms_count" : "1000000"
}
}
Case 2. For new indices that are going to be created in the future, update fortisiem-event-template so those
new indices will have a higher max_terms_count setting
1. cd /opt/phoenix/config/elastic/7.7
...
3. Navigate to ADMIN > Storage > Online and perform Test and Deploy.
4. Test new indices have the updated terms limit by executing the following simple REST API call.
GET fortisiem-event-*/_settings
User Guide 81
Fortinet Inc.
What's New in 6.3.0 FortiSIEM Versions
82 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.3.0
User Guide 83
Fortinet Inc.
What's New in 6.2.1 FortiSIEM Versions
This document describes the additions for the FortiSIEM 6.2.1 release.
l New Features
l Bug Fixes and Minor Enhancements
l Windows Agent 4.1.1 Bug Fixes
l Known Issues
New Features
l Reputation Check from FortiGuard
Every licensed FortiSIEM can do FortiGuard IOC lookup. No special configuration is required.
For setting up manual external lookup, see FortiGuard IOC Integration.
84 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.2.1
For automating via notification policy, see Adding Incident Notification Settings.
For information on doing lookup, see Lookups Via External Websites.
710084 Major App Server After a period of time, all Windows Agents may become dis-
connected (error PH_AUDIT_AGENT_DISABLED logs). This
happens very rarely.
710715 Major Elasticsearch If an empty action was sent to Supervisor on port 7919, the Java
Query Server would stop working.
710109 Major Report Engine For some baseline reports, COUNT DISTINCT calculations res-
ulted in very large partial inline report results to be transferred
from phReportWorker to the phReportMaster process. This some-
times resulted in ACE_SSL errors and caused baseline reports to
contan incomplete data, as that shown here. o 2021-03-
26T01:05:11.482049-04:00 w2 phReportWorker[7507]: ACE_
SSL (7507|8200) error code: 336462231 - error:140E0197:SSL
routines:SSL_shutdown:shutdown while in init
Note: This fix works for new installs of 6.2.1, but upgrades to
6.2.1 are still hindered. The upgrade process will be fixed in
6.3.0+ releases. See Known Issue after 6.2.1 Upgrade for work-
around.
712172 Minor Data Manager Occasionally, the phDataPurger process would terminate
because of initialization issues, resulting in Event DB or Elastic-
search storing events disk space management errors.
711564 Minor Elasticsearch The phDataManager process may erroneously introduce a new
event field called "UnknownIPVersion" when it encounters an
empty IP address field. This can occur for DNS lookup failures in
Windows Event Forwarding when the parser cannot resolve the
original windows server host name (see bug ID 711542). This can
cause Elasticsearch insert failures.
711542 Minor Parser When the reporting IP is empty and the source IP is 127.0.0.1,
the phParser may set the source IP to be empty, resulting in an
invalid database insertion entry. This can be identified in Win-
dows Event Forwarding cases when the phParser cannot resolve
the original windows server host name to its IP.
707524 Minor System Upgrade failed if the DNS Server could not reverse lookup its own
User Guide 85
Fortinet Inc.
What's New in 6.2.1 FortiSIEM Versions
name/IP.
710541 Minor System Upgrade failed if a FortiSIEM node could not ping the CentOS
repository os-pkgs-cdn.fortisiem.fortinet.com.
713893 Enhancement System During an upgrade, the previous upgrade related ansible log file
would be overwritten. Note: Fixed by retaining the latest 5
upgrade log files.
Known Issues
On Supervisor Node
86 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.2.1
a. Run the script fix-svnlite-log4j2.sh (here). It will restart SVNlite module with Dlo-
g4j2.formatMsgNoLookups=true option and print the success/failed status.
3. Mitigating 3rd party ThreatConnect SDK module:
a. Delete these log4j jar files under /op-
t/glassfish/domains/domain1/applications/phoenix/lib
i. log4j-core-2.8.2.jar
ii. log4j-api-2.8.2.jar
iii. log4j-slf4j-impl-2.6.1.jar
4. Mitigating phFortiInsightAI module:
a. Delete these log4j jar files under /opt/fortiinsight-ai/lib/
i. log4j-core-2.13.0.jar
ii. log4j-api-2.13.0.jar
5. Restart all Java Processes by running: “killall -9 java”
On Worker Node
1. SSH into the super as root and edit the /opt/phoenix/config/phoenix_config.txt file.
ssh root@<supervisor FQDN/IP>
su admin
vi /opt/phoenix/config/phoenix_config.txt
User Guide 87
Fortinet Inc.
What's New in 6.2.1 FortiSIEM Versions
2. Find "count_distinct_precision=".
3. Modify the value to that shown here.
count_distinct_precision=9 # in range 4-18
1. SSH into each Worker as root and edit the /opt/phoenix/config/phoenix_config.txt file by running
the following commands.
ssh root@<Worker FQDN/IP>
su admin
vi /opt/phoenix/config/phoenix_config.txt
2. Find "count_distinct_precision=".
3. Modify the value to that shown here.
count_distinct_precision=9 # in range 4-18
88 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.2.0
The workaround is to change the “max_terms_count” setting for each event index. Fortinet has tested up to 1 million
entries. The query response time will be proportional to the size of the group.
Case 1. For already existing indices, issue the REST API call to update the setting
PUT fortisiem-event-*/_settings
{
"index" : {
"max_terms_count" : "1000000"
}
}
Case 2. For new indices that are going to be created in the future, update fortisiem-event-template so those
new indices will have a higher max_terms_count setting
1. cd /opt/phoenix/config/elastic/7.7
...
3. Navigate to ADMIN > Storage > Online and perform Test and Deploy.
4. Test new indices have the updated terms limit by executing the following simple REST API call.
GET fortisiem-event-*/_settings
This document describes the additions for the FortiSIEM 6.2.0 release.
l New Features
l Key Enhancements
l Upgrade Overview
l New Data Work
l New Device Support
l Device Support Enhancement
l Bug Fixes and Minor Enhancements
l Known Issues
l Public Domain Built-in Rules
User Guide 89
Fortinet Inc.
What's New in 6.2.0 FortiSIEM Versions
New Features
l MITRE ATT&CK Framework Support
l Pre-computed Queries
l Incident Remediation Workflow
l External Authentication via SAML
l Scale Out UEBA and State Persistence
l Reputation Check from FortiGuard
For information on defining a technique to a rule, see Technique in Step 3: Define Actions in Creating a Rule.
For information on searching incidents by technique or tactic, see Searching for MITRE ATT&CK Incidents.
For Rule Coverage Dashboard information, see Rule Coverage View.
For Incident Coverage Dashboard information, see Incident Coverage View.
Note: Attack View in 6.1.x, is now the MITRE ATT&CK Incident Explorer View in 6.2.x.
Pre-computed Queries
Aggregated searches with large time windows can be expensive, specially in a high EPS environment. This release
enables you to set up pre-computation schedules. FortiSIEM will pre-compute search results at user specified inter-
vals, enabling users to run faster searches against pre-computed results. Both adhoc GUI queries and background
scheduled queries can use pre-computed results.
This feature was introduced for FortiSIEM EventDB in Release 5.3.3 and has been ported over to this release. In addi-
tion, pre-computation using Elasticsearch is also supported in this release using Elasticsearch Rollup functionality.
For details, see here.
There are two limitations for Elasticsearch based pre-computation:
90 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.2.0
1. Pre-computation is available only from the time the schedule is defined. Unlike FortiSIEM EventDB, the sys-
tem does not pre-compute historical results. This limitation is a result of the Elasticsearch APIs.
2. Because Elasticsearch does roll up in a different index, pre-computation based search results may differ sig-
nificantly from regular search results if the number of events matching the filter condition for the specified pre-
computation interval exceeds 100K. Fortinet recommends users to first run the pre-computation query over
the interval and make sure that the number of results is less than 100K.
For details on setting up remediation roles, see steps 6 and 7 in Adding a New Role.
For details on remediating incidents using workflow, see Creating a Remediation action.
For details on approver handling requests, see Approving a de-anonymization request.
An example setup workflow is provided here.
User Guide 91
Fortinet Inc.
What's New in 6.2.0 FortiSIEM Versions
Every licensed FortiSIEM can do FortiGuard IOC lookup. No special configuration is required.
For setting up manual external lookup, see FortiGuard IOC Integration.
For automating via notification policy, see Adding Incident Notification Settings.
For information on doing lookup, see Lookups Via External Websites.
Key Enhancements
l Elasticsearch Enhancements
l Real Time Archive for Elasticsearch
l SVN-lite for Storing Monitored Files
l Windows Agent 4.1 Enhancements
l Event Forwarding from Super/Worker
l Super Global Dashboard
l Windows and Linux Agent Health Dashboard
l Ability to Activate or Deactivate Multiple Rules with One Click
l System Upgrade
Elasticsearch Enhancements
This release adds the following enhancements to FortiSIEM Elasticsearch support.
l Support for Elastic Cloud
l Support for Elasticsearch versions 7.8 - See the Elasticsearch table for version support in each deployment.
l Support for Cold Data Node – in this node, indices are frozen and saved to disk, thereby saving heap memory.
Data can be moved from Hot to Warm to Cold data nodes, either based on disk space, or time duration using the
Elasticsearch index lifecycle management (ILM) feature. This allows more event storage in Cold Data Nodes since
the heap memory constraint is eliminated. Regardless of the node type, events can be queried wherever they
reside. When a query hits Cold nodes, further queries run a bit slower since the indices have to be loaded to
memory. This feature is not available on AWS Elasticsearch Service and Elastic Cloud. General workflow inform-
ation is available here.
92 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.2.0
l Age based Retention/Index Lifecycle Management (ILM) – in earlier releases, disk thresholds could be specified to
determine when data would move from Hot to Cold node. In this release, the number of days can be specified for
each data node type. FortiSIEM will move data from Hot to Warm to Cold based on space thresholds or time dur-
ation limit, whichever occurs first. This feature is not available on AWS Elasticsearch Service and Elastic Cloud.
Retention configuration details are available here. Default setting information is available here.
l Queries with multi-field term aggregation is now sorted. For example, when the Group By and Display Fields
option is used for "Reporting IP" and "Reporting Device" using "COUNT(Matched Events)" in descending (DESC)
order, the count appears in descending order.
l Support for Java Transport Client API is removed.
l With Elasticsearch 7.x, the index refresh rate is reduced to 15 seconds. This enables users to search all data,
except for the last 15 seconds. Choosing an even lower index refresh rate may lower the event indexing speed.
There are 3 distinct Elasticsearch deployments. This table shows the versions and features supported for each deploy-
ment type. Please also see the list of Elasticsearch related known issues in Known Issues and in the Appendix.
Elasticsearch Deploy- Supported Ver- API (Inser- Supported Disk Space Age based
ment sions tion and Data Node based Reten- retention
Search) Types tion (ILM)
Self-Managed (On- 5.6, 6.4, 6.8, 7.8 REST Hot, Warm, Yes Yes (6.8 and
Prem or Hosted) Cold above)
User Guide 93
Fortinet Inc.
What's New in 6.2.0 FortiSIEM Versions
For details on where you can delete files, see the table in Viewing Device Information.
A few implementation notes:
l Files are stored in /svn/repos. Files are organized by orgId and then deviceId. deviceId is the
PostgreSQL Device Id. To conserve disk space, a limited number of file revisions are kept based on the following
threholds defined in /opt/phoenix/config/svnlite.properties on the Supervisor node.
svnlite.store.dir = /svn/repos
svnlite.revisions.keep = 100
svnlite.revisions.purge = 5
svnlite.revisions.keep defines how many revisions are kept for each file. Older revisions are automatically
deleted. svnlite.revisions.purge defines how many files are deleted at a time when the upper limit of svn-
lite.revisions.keep is reached.
l During a 6.2.0 upgrade, up to 100 revisions of each file are migrated to SVN-lite.
94 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.2.0
System Upgrade
This release includes several third party software upgrades - CentOS 8.3, PostgreSQL 13.2, Glassfish 5.0, JDK
1.8.0_272, php 7.4, nodejs 14.15.0, Hibernate 5, and Apache 2.4.37 (patched by Redhat).
Upgrade Overview
For software installations, the upgrade path is pre-5.3.0-> 5.4.0 -> 6.1.1 -> 6.2.0.
Specifically:
l From pre-5.3.0 releases, first upgrade to 5.4.0, then migrate to 6.1.1, and then upgrade to 6.2.0.
l From 5.4.0, migrate to 6.1.1, and then upgrade to 6.2.0.
l If you are running 6.1.0, 6.1.1, or 6.1.2, then upgrade to 6.2.0.
For hardware installations, 6.1.1 is not available, so the migration path is pre-5.3.0 -> 5.4.0 -> 6.1.2 -> 6.2.0.
Specifically:
l From pre-5.3.0 releases, first upgrade to 5.4.0, then migrate to 6.1.2, and then upgrade to 6.2.0.
l From 5.4.0, migrate to 6.1.2, and then upgrade to 6.2.0.
l If you are running 6.1.2, then upgrade to 6.2.0.
1. For your Supervisor and Worker, do not use the upgrade menu item in configFSM.sh to upgrade from 6.1.x to
6.2.0. This is deprecated, so it will not work. Use the new method as instructed in the Upgrade Guide.
2. 6.2.0 upgrade will attempt to migrate existing SVN files (stored in /svn) from the old svn format to the new
svn-lite format. During this process, it will first export /svn to /opt and then import them back to /svn in the
new svn-lite format. If your /svn uses a large amount of disk space, and /opt does not have enough disk
space left, then migration will fail. Fortinet recommends doing the following steps before upgrading:
User Guide 95
Fortinet Inc.
What's New in 6.2.0 FortiSIEM Versions
e. # growpart /dev/sdb 2
CHANGED: partition=2 start=50782208 old: size=144529408 end=195311616
new: size=473505759 end=524287967
f. # lsblk
Changed the size to 250GB for example:
#lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
...
sdb 8:16 0 250G 0 disk <<< NOTE the new size
for the disk in /opt
├─sdb1 8:17 0 22.4G 0 part [SWAP]
└─sdb2 8:18 0 68.9G 0 part /opt
...
g. # xfs_growfs /dev/sdb2
meta-data=/dev/sdb2 isize=512 agcount=4, agsize=4516544
blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1,
rmapbt=0
= reflink=1
data = bsize=4096 blocks=18066176, imax-
pct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=8821, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
96 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.2.0
h. # df -h
Filesystem Size Used Avail Use% Mounted on
...
/dev/sdb2 226G 6.1G 220G 3% / << NOTE the new disk size
3. If you are using AWS Elasticsearch, then after upgrading to 6.2.0, take the following steps:
a. Go to ADMIN > Setup > Storage> Online.
b. Select "ES-type" and re-enter the credential.
4. In 6.1.x releases, new 5.x collectors could not register to the Supervisor. This restriction has been removed in
6.2.0 so long as the Supervisor is running in non-FIPS mode. However, 5.x collectors are not recommended
since CentOS 6 has been declared End of Life.
5. If you have more than 5 Workers, Fortinet recommends using at least 16 vCPU for the Supervisor and to
increase the number of notification threads for RuleMaster. To do this, SSH to the Supervisor and take the fol-
lowing steps.
a. Modify the phoenix_config.txt file, located at /opt/phoenix/config/ with
#notification will open threads to accept connections
#FSM upgrade preserves customer changes to the parameter value
#notification_server_thread_num=50
Note: The default notification_server_thread_num is 20.
b. Restart phRuleMaster.
6. Upgrading Elasticsearch Transport Client usage - The Transport Client option has been removed as Elastic-
search no longer supports that client. If you are using Transport Client in pre-6.2.0, you will need to modify the
existing URL by adding "http://" or "https://" in front of the URL field after upgrading, as displayed in
ADMIN > Setup > Storage > Online > with Elasticsearch selected, as shown here.
User Guide 97
Fortinet Inc.
What's New in 6.2.0 FortiSIEM Versions
c. In the URL field, add "http://" or "https://" to your IP address. Next, select Test to confirm functionality,
and select Save to save the updated settings.
98 User Guide
Fortinet Inc.
FortiSIEM Versions What's New in 6.2.0
7. Prior to upgrading, ensure that hot node and warm node counts are both greater than the number of replicas.
Failure to do so will result in Test and Save operation failure after an upgrade. This basic requirement check
has been added for version 6.2.0 and later.
8. Remember to remove the browser cache after logging on to the 6.2.0 GUI and before doing any operations.
User Guide 99
Fortinet Inc.
What's New in 6.2.0 FortiSIEM Versions
656383 Major App Server Malware Hash import from a CSV file fails when the CSV file
contains 75,000 or more Malware Hash entries.
684128 Major App Server Scheduled bundle reports fail after migration.
655781 Major App Server Update Malware Hash via API does not work as expected, pro-
ducing "duplicate" errors.
624133 Major App Server Cisco Meraki log discovery does not add devices to CMDB.
695082 Major GUI FortiSIEM does not recognize a UEBA perpetual license, so
users with a UEBA perpetual license are unable to add
UEBA for their devices.
694897 Major Inline Report For Elasticsearch cases with inline report mode set to 2, the
Engine ReportMaster memory may grow quickly.
701383 Major Java Query The Java Query Server has a file descriptor leak which may
Server cause a loss of connection to the Elasticsearch Coordinating
node.
682751 Major Query Engine Malware IP, Domain, and URL Group lookup performance
slower than expected.
670053 Major Rule Engine Security incidents always indicate "System Cleared" after 24
hours, even if auto_clear_security_incidents=0 is set.
676614 Major Rule Engine SSL communication sockets between rule worker and rule mas-
ter are not always closed properly, leading to rules not trig-
gering.
589656 Major Rule Engine Rules with a pattern-based clearing condition do not always
clear even if the condition is met. This is because the clear
rule’s time window is sometimes read incorrectly.
645987 Minor App Server Scheduled CSV formatted report finishes, but is never received
679164 Minor App Server Incident subcategory names are incorrectly displayed in PDF
export.
668989 Minor App Server STIX/Taxii Integration does not work for certain websites.
671564 Minor App Server An empty value of Source Interface SNMP Index in Report Res-
ult causes App Server to throw NullPointerException
when parsing it.
683528 Minor App Server After Java starts up, rule exceptions with watchlists do not take
effect.
685100 Minor App Server Logs are unnecessarily pulled from unmanaged devices, and
then dropped. This sometimes causes event pulling to lag
behind.
658886 Minor App Server Identity and Location Tables show data from a different organ-
ization when enriched (no collector environment).
678695 Minor App Server An error is thrown when a user navigates to CMDB > Business
Services > IT Srvc > Select the Service > Edit > Device/Ap-
plication > User App.
658755 Minor App Server Rule exceptions do not work for Source User in LDAP group.
682184 Minor App Server In rare circumstances, different incidents with identical incident
IDs are created.
661353 Minor App Server The rule test function does not work. Note: This was due to an
issue when updating a rule definition or conditions.
672285 Minor App Server After configuring important interfaces, if the device's hostname
is changed, the modification for the name change /merge does
not trickle down into the important interface table.
671376 Minor App Server From incident notification emails, links to a specific FortiSIEM
incident in the FortiSIEM GUI do not work.
674077 Minor App Server Sophos Central Credential Configuration shows orgs with col-
lectors in drop-down list.
670750 Minor App Server Data leak issue occurs on rule exceptions in Analytic Search
Results against CMDB Rules. When running a query using
CMDB Attributes and choosing a target RULE, the user can see
the exception condition from the query result from org 1 while
running a report at a different org (org 2).
676038 Minor App Server Initial load of Redis had performance issues. This required a
check against loading active inline reports with missing query ID
to resolve the issue.
648730 Minor App Server Remediation pop up populates the "Enforce on" field with incor-
rect values.
672934 Minor App Server Cloning a rule does not copy the Watchlist Entry from the ori-
ginal rule.
611553 Minor App Server Accounts that cannot edit rules can see rule definitions in the
Incidents page.
609289 Minor App Server API query for monitor/critical interfaces does not give correct
information.
602340 Minor App Server LDAP/AD discovery causes a user to be removed from custom
user groups.
639397 Minor App Server The GUI shows a negative unused device count in org if device
provisioning is changed after an initial provisioning.
597456 Minor App Server For orgs without collectors, virtual IP entries do not prevent
devices from merging.
608133 Minor App Server In CMDB Report Results, the "App Group Name" appears
empty, even if an application is defined against a device.
659853 Minor App Server FortiSIEM SNMP TRAP output has a duplicate field
(iso.3.6.1.4.1.35409.101.5.0).
659028 Minor App Server When importing a CSV file with Malware Hash, a "Full" data
update does not work as expected.
630329 Minor App Server Radius External Authentication fails due to shared secret not
getting updated in the database.
645660 Minor App Server From the Identity and Location Dashboard, when exporting a
PDF report, the filter parameters are ignored while the report is
generated.
618475 Minor App Server The Incident Group (e.g. Security, Availability, etc.) is missing in
the exported rule XML file.
653427 Minor App Server Exporting a custom watchlist to CSV format fails.
Note: Exporting a custom watchlist to PDF works fine.
696873 Minor App Server Clean up of expired watch list entries occur at 2:00 am of each
day. Clean up must occur hourly.
670247 Minor Data Syslog from Meraki AP are miscategorized as Meraki Firewall.
672320 Minor Data The Incident Title is incorrect for some rules.
673177 Minor Data Many built-in AWS Security Hub Events reports are missing
Group BY attributes.
661691 Minor Data "Excessive End User Mail" and "Excessive End User Mail To
Unauthorized Mail Gateways" rules are generating false pos-
itive for UDP protocol. Fixed with AddTCP restriction to the two
rules.
645659 Minor Data The Netflow/Sflow Parser does not parse Link Aggregation Con-
trol Protocol (LACP) counter sample.
658760 Minor Data The Windows Agent DNS Parser parses incorrectly in a few
scenarios.
658990 Minor Data PAN OS VPN LOGIN Events are categorized under DEVICE
Logon success / failed when they should be classified as
VPN Logon success / failure events.
686051 Minor Discovery When attempting to import over 200 users using a CVS file for
Okta integration, the operation fails, and no errors appear in the
log.
660690 Minor GUI When trying to display interfaces on a dashboard, the dash-
board freezes when there are more than 10K interfaces for a
device.
669876 Minor GUI In ADMIN > Health > Collector Health > Tunnels, the “Close
Tunnel” button is always inaccessible (grayed out).
617943 Minor GUI Removing a value from a customize device property does not
reset the property to "Undefined".
663653 Minor GUI The Parser test fails when a regex pattern and regex tags are
on different lines.
645657 Minor GUI Unable to sort incidents when multiple categories are selected.
655536 Minor GUI Email subject and rawEvents tag does not appear in the email
preview pop up.
647709 Minor GUI In Incident Search, filter by category "Security" does not capture
659851 Minor GUI After saving discovery entries, the list reloads and resets to the
first discovery page.
604148 Minor GUI Integration Policy > Org Mapping , located by navigating to
ADMIN > Settings > External Integration clicking New and
Organization Mapping, does not handle special characters.
624771 Minor GUI When editing an Event Organization (ADMIN > Settings
> Event Handling > Event Org Mapping), two save and two
cancel buttons appear.
653753 Minor GUI The Identity & Location Dashboard does not refresh with the cor-
rect information.
592961 Minor GUI The Dashboard single line widget shows a needle below the
chart graphic if stretched too long.
607810 Minor GUI Editing an interface forces the user to enter an IP address, even
if the interface did not have one originally.
647105 Minor GUI In Notification Policy, the seconds and time zone region are not
saved.
644186 Minor GUI If the user goes to the INCIDENTS > List by Time view, selects
an incident, navigates to another page, and returns to the Incid-
ents page, the selected incident position is lost.
626043 Minor GUI The user is logged out before the log off expiration time period
elapses.
683801 Minor Java Query Elastic Search Cluster disconnects from FortiSIEM once a
Server week.
661333 Minor Java Query Analytic search fails to retrieve the Destination and Source
Server TCP/IP Port value from Elastic search index.
659018 Minor Java Query Elasticsearch insert sometimes fails when a raw message con-
Server tains non UTF-8 characters.
698147 Minor Java Query The Java Query Server does not properly close sockets in all
Server (Elastic- cases, which can lead to its inability to communicate with the
search) App Server.
592607 Minor Parser EPS Usage per node is higher than the global Used EPS.
676294 Minor Parser Office365 GCC High Authentication does not work due to hard
coded URLs.
669837 Minor Parser Event Type comparison in Drop Rule needs to be case insens-
itive.
659180 Minor Parser Sometimes, excessive collector time skew is generated when
the App Server is busy. This occurs when phMonitor on Col-
lector mistakenly caches a timestamp when failing to com-
municate with the App Server.
670324 Minor Parser For Service Provider Install, the Org name in Events is not the
same as the Org Association in the Credential page.
648732 Minor Parser AD/LDAP user details metadata is not always added to incid-
ents.
662899 Minor Parser The Test Parser function with resolveDNSName does not work
when DNS lookup is enabled.
635113 Minor Parser The Windows Parser sometimes adds reporting device
metadata from DNS lookup instead of reporting it from another
event.
637631 Minor Query Engine When you export (CSV format) from a date before a Daylight
Saving Time change when Daylight Saving Time has occurred,
a difference of one hour is observed.
670060 Minor Rule Engine Incident Exceptions do not work when time period exceptions
are set for Monday and Friday.
658491 Minor System After an Archive configuration has been set up (NFS/HDFS),
ADMIN > Setup > Storage > Archive, the user is unable to
clear and remove the archive from the GUI.
577821 Minor System In Cloud Health, workers and super always incorrectly report
100% CPU utilization.
696873 Minor Windows Agent After Windows Agent 4.0.0 installation, an unnecessary system
reboot may occur.
607443 Enhancement App Server LAST (Event Receive Time) is shown in Epoch Time format for
PDF export in Elastic Storage setup.
627546 Enhancement App Server The Incident Notification Email link needs to have Super FQDN
in addition to IP.
609102 Enhancement App Server The PDF Report does not display Incident category name.
649588 Enhancement App Server Custom Device Properties cannot be queried via CMDB Report.
580110 Enhancement App Server In CMDB > CMDB Report, add a scope attribute to display
611929 Enhancement Data Enhance the Cisco Meraki Parser to handle Air Marshall events.
670414 Enhancement Data The CloudTrail Parser does not parse the User and User Type
for event type = AWS-CloudTrail-SIGNIN-Con-
soleLogin-Success.
661692 Enhancement Data Event Type Categorization is inconsistent for ipsec/VPN log off.
669102 Enhancement Data The Unix Parser doesn't handle the user attribute when the
rhost field is a hostname, and not an IP.
653421 Enhancement Data The "Multiple admin Login Failure" rule name should be
renamed as there is no indicator of admin role usage.
530467 Enhancement Data FortiSIEM does not detect certain event SSH/Audit events
using the Unix Parser.
660734 Enhancement Data The Aruba Parser does not parse Event Name and causes high
CPU usage.
625194 Enhancement Data Enhance the Windows OS Parser update to pass terminal ser-
vices logs.
652184 Enhancement Data Support the Unix Parser with a new timestamp format.
649496 Enhancement Data Enhance the Windows Parser fix for Alternate UPN domain suf-
fix support.
663218 Enhancement GUI User input for the Report Design Cover Page is not clear. This
should be improved.
673543 Enhancement GUI There is no user input validation in Rule Exception definition.
Input validation should be implemented for Rule Exceptions.
611518 Enhancement GUI For Rule Exception, the user cannot define more than 7 time
period schedules. The user should be able to define more than
7 time period schedules.
670230 Enhancement Parser The Event Forwarder needs to retry forwarding events if it
encounters a network connection.
642389 Enhancement Parser Parser: compare function needs to be extended to support >=
and <= operators.
586569 Enhancement System Monitor Raid Health should be added for 3500F and 2000F HW
appliances.
Known Issues
On Supervisor Node
i. log4j-core-2.8.2.jar
ii. log4j-api-2.8.2.jar
iii. log4j-slf4j-impl-2.6.1.jar
4. Mitigating phFortiInsightAI module:
a. Delete these log4j jar files under /opt/fortiinsight-ai/lib/
i. log4j-core-2.13.0.jar
ii. log4j-api-2.13.0.jar
5. Restart all Java Processes by running: “killall -9 java”
On Worker Node
Elasticsearch
1. With pre-compute queries via Rollup, sorting on AVG() is not supported by Elasticsearch. See here.
2. Elasticsearch pre-compute is done using the Elasticsearch Rollup API, which requires raw events matching
the pre-compute search condition be populated into a separate Elasticsearch index. This operation can
become very expensive if a large number of events match the pre-compute search filter condition. Fortinet
recommends that the user set up a report for pre-compute only if the search filter conditions for the pre-com-
pute interval result in less than 100K entries. This allows the pre-computed result to exactly match the adhoc
report for faster operation. Specifically, follow these steps:
A. Suppose you want to run a report in pre-compute mode, with the operation running pre-computations
hourly. This means the report will be run hourly, and when a user runs for a longer interval, the pre-com-
puted results would be combined to generate the final result.
B. Check for pre-compute eligibility.
i. Run the report in adhoc mode for 1 hour by removing group by conditions.
ii. If the number of rows is less than 100K, then the original report is a candidate for pre-com-
putation.
Note: This is for Elasticsearch only. If the number of results in #Bii is more than 100K, then the
pre-computed results and adhoc results will be different since FortiSIEM caps the number of res-
ults retrieved via Rollup API to be less than 100K.
3. AWS Managed Elasticsearch 7.x limits search.max_buckets to 10K. In 6.8 there was no such limit. This may
cause Elasticsearch to throw an exception and not return results for aggregated queries. Contact AWS Man-
aged Elasticsearch Support to increase search.max_buckets to a large value (recommended 10M). There is
an API to change this value, but this does not work in AWS Managed Elasticsearch. Therefore you must con-
tact AWS Managed Elasticsearch Support before running queries.
a. For general discussion about search.max_buckets, see here.
b. For general discussion about this issue, see here.
c. Elasticsearch does not consistently handle sorting functions when there are NULL values. For
example:
i. AVG(): NULL values are at the bottom.
ii. MIN(): NULL values are considered to be the largest value possible, so if you choose ASC
(respectively DESC) order, NULL values appear at the bottom (respectively top).
iii. MAX():NULL values are considered to be the smallest value possible, so if you choose ASC
(respectively DESC) order, NULL values appear at the top (respectively bottom).
4. Pre-compute queries do not work with the HAVING clause. Currently, the FortiSIEM GUI is preventing this
operation. For public discussion about Rollup search and query scripts, see here.
5. The HourOfDay(Event Receive Time) and DayOfWeek(Event Receive Time) calculations are incorrect if
Elasticsearch and Supervisor are in different time zones.
6. In Elasticsearch, a non-aggregated query spanning multiple display pages requires 1 open scroll context per
shard. This enables the user to visit multiple pages and see the results. Elasticsearch has a (configurable) limit
on open scroll contexts. This is defined in phoenix_config.txt on the Supervisor node. By default,
FortiSIEM limits to 1000 open scroll contexts and each context remains open for 60 seconds, as shown.
[BEGIN Elasticsearch]
...
max_open_scroll_context=1000
scroll_timeout=60000
...
[END Elasticsearch]
When the open scroll context limit is reached, Elasticsearch throws an exception and returns partial results.
When 80% of the search context limit is reached, FortiSIEM writes a log in /op-
t/phoenix/log/javaQueryServer.log, as shown.
com.accelops.elastic.server.task.ChoresTask - [PH_JAVA_QUERYSERVER_WARN]:
[eventSeverity]=PHL_WARNING,[phEventCategory]=3,[procName]=javaQueryServer,
[phLogDetail]=node=node236, openContexts=1000, it has 80 percent of available
search contexts open
l You can increase max_open_scroll_context. However, AWS Elasticsearch does not allow more than 500
open scroll contexts, and will enforce a 500 limit. Be careful in choosing very high max_open_scroll_context.
It is strongly recommended to use a test instance to experiment with your number prior to production.
l After changing max_open_scroll_context, you need to apply Test & Save from the GUI for changes to take
effect. This is because max_open_scroll_context is a cluster level setting.
l You can change scroll_timeout, but after changing this value, you must restart the Java Query Server on the
Supervisor for the change to take effect.
7. The maximum number of group by query result is 2,000 by default. You can change the setting in phoenix_
config.txt on the Supervisor node by taking the following steps.
a. Change the setting: aggregation_size=2000
b. Restart the JavaQueryServer.
The workaround is to change the “max_terms_count” setting for each event index. Fortinet has tested up to 1 million
entries. The query response time will be proportional to the size of the group.
Case 1. For already existing indices, issue the REST API call to update the setting
PUT fortisiem-event-*/_settings
{
"index" : {
"max_terms_count" : "1000000"
}
}
Case 2. For new indices that are going to be created in the future, update fortisiem-event-template so those
new indices will have a higher max_terms_count setting
1. cd /opt/phoenix/config/elastic/7.7
...
3. Navigate to ADMIN > Storage > Online and perform Test and Deploy.
4. Test new indices have the updated terms limit by executing the following simple REST API call.
GET fortisiem-event-*/_settings
Service
Files
nections connection/sysmon_powershell_network_connection.yml
maHQ/sigma/blob/master/rules/windows/powershell/powershell_
data_compressed.yml
Ransomware git-
hub.-
com/SigmaHQ/sigma/blob/master/rules/windows/malware/win_
mal_ryuk.yml ;
https://-
github.com/SigmaHQ/sigma/blob/master/rules/windows/process_
creation/win_malware_ryuk.yml
exe
tions creation/win_susp_run_locations.yml
cactustorch.yml
This document describes new and enhanced features, bug fixes and device support for the FortiSIEM 6.1.2 release.
This is a hardware appliance only release supporting the FortiSIEM 3500F, 2000F, and 500F appliances. It has the
same code content as the software only release 6.1.1.
l FortiSIEM 3500F Hardware Appliance Support
l FortiSIEM 2000F Hardware Appliance Support
l Migration for FortiSIEM 500F Collector Appliance
l Upgrade Overview
l Known Issues
Upgrade Overview
The following sections provide an overview of how to upgrade to release 6.1.2:
l Migrate from pre-5.3.0 to 6.1.2
l Migrate from 5.3.x or 5.4.x to 6.1.2
l Upgrade from 6.1.0 or 6.1.1 to 6.1.2
l Upgrade via Proxy
l Post Migration Health Check
FortiSIEM 2000F and 3500F appliances run mostly as an all-in-one Supervisor. However they can also be deployed
as a Cluster with external storage. The following instructions cover the general case. If you are not running Workers,
then skip the Worker, NFS, and Elasticsearch-related portions.
l 2000F
b. If you are using Elasticsearch, then go to Admin > Setup > Storage > Elasticsearch and click Test
and Save.
c. Install new 6.1.2 Workers and add them back to the Supervisor.
d. Go to Admin > Settings > Event Worker and Query Worker and make sure that they are correct.
e. Perform health checks. Old Collectors and Agents should work with 6.1.2 Supervisor and Workers.
3. When you are ready to upgrade Collectors to 6.1.2, then do the following (details are in the documents listed in
Step 2a):
a. Copy the HTTP (hashed) passwords file from the old Collectors to the new Collector.
b. Re-register with the update option and the same IP.
4. Perform health checks. See Post Migration Health Check.
5. Reinstall the Agents with the latest version when you are ready to upgrade them.
6. Perform health checks: make sure Agent events are being received.
l 2000F
b. If you are using Elasticsearch, then go to Admin > Setup > Storage > Elasticsearch and click Test
and Save.
c. Install new 6.1.2 Workers and add them back to the Supervisor.
d. Go to Admin > Settings > Event Worker and Query Worker and make sure that they are correct.
e. Perform health checks. Old Collectors and Agents should work with 6.1.2 Supervisor and Workers.
3. When you are ready to upgrade Collectors to 6.1.2, then do the following (details are in the documents listed in
Step 2a):
a. Copy the HTTP (hashed) passwords file from the old Collectors to the new Collector.
b. Re-register with the update option and the same IP.
4. Perform health checks. See Post Migration Health Check.
5. Reinstall the Agents with the latest version when you are ready to upgrade them.
6. Perform health checks: make sure Agent events are being received.
1. Copy the upgrade.py script to the Supervisor. For instructions, see above.
2. Upgrade the Supervisor to 6.1.2:
l Standalone install:
a. Stop Workers.
b. Upgrade the Supervisor to 6.1.2.
l Elasticsearch case:
a. Delete Workers.
b. Upgrade the Supervisor to 6.1.2.
c. Go to Admin > Setup > Storage > Elasticsearch and click Test and Save.
3. Upgrade Workers to 6.1.2:
l EventDB on NFS case:
a. Copy the HTTP (hashed) passwords file from old Collectors to the new Collectors.
b. Re-register with update option and the same IP.
l 6.1.0 or 6.1.1 Collectors:
a. Upgrade from the GUI.
6. Perform health checks. See Post Migration Health Check.
7. Reinstall the Agents when you are ready to upgrade them.
8. Perform health checks: make sure Agent events are being received.
l proxy=http://<proxy-ip-or-hostname>:<proxy-port>
l If your proxy requires authentication, then add proxy_username= and proxy_password= entries as
well. For example, for squid proxy:
l proxy_username=<user>
l proxy_password=<pwd>
3. Test that you can use the proxy to successfully communicate with the two sites: os-pkgs-cdn.-
fortisiem.fortinet.com and os-pkgs.fortisiem.fortinet.com.
4. Begin the upgrade.
1. Check Cloud health and Collector health from the FortiSIEM GUI:
l Versions display correctly.
Known Issues
On Supervisor Node
i. log4j-core-2.8.2.jar
ii. log4j-api-2.8.2.jar
iii. log4j-slf4j-impl-2.6.1.jar
3. Mitigating phFortiInsightAI module:
a. Delete these log4j jar files under /opt/fortiinsight-ai/lib/
i. log4j-api-2.11.1.jar
ii. log4j-core-2.11.1.jar
4. Restart all Java Processes by running: “killall -9 java”
1. Migration limitations: If migrating from 5.3.3 or 5.4.0 to 6.1.2, please be aware that the following features will
not be available after migration.
a. Pre-compute feature
b. Elastic Cloud support
If any of these features are critical to your organization, then please wait for a later version where these
features are available after migration.
2. Fresh Install limitations
a. Cannot be installed on Alibaba Cloud.
b. Linux ISO image is not available.
c. Does not install on IPV6 networks.
d. Collector to Supervisor/Worker communication via Proxy is not supported.
e. Offline install is not supported.
f. Disaster recovery is not supported as PostGreSQL BDR is not yet available on the CentOS 8.2
release.
g. Report Server is not supported.
3. STIX/OTX Malware IOC Integration Error: If you see the error below when you log in to Glassfish, it is likely
caused by the jsse.enableSNIExtension flag that was added to resolve a httpd issue in Java JDK 7. In
JDK8, there is no need to set this flag.
Error:
#|2020-09-10T12:30:00.535+0200|SEVERE|glassfish3.1.2|-
com.accelops.service.threatfeed.BaseOTXUpdateService|_ThreadID=218;_ThreadName-
e=Thread-2;|org.springframework.web.client.ResourceAccessException: I/O error on
GET request for "https://otx.ali-
envault.com/api/v1/pulses/subscribed?limit=20&modified_since=2020-09-
03T12:30:00%2B02:00&":Unsupported record version Unknown-0.0; nested exception
is javax.net.ssl.SSLException: Unsupported record version Unknown-0.0
l Malware Hash import from a CSV file fails when the CSV file contains 75,000 or more Malware Hash entries.
l Scheduled bundle reports fail after migration.
l Update Malware Hash via API does not work as expected, producing "duplicate" errors.
l Cisco Meraki log discovery does not add devices to CMDB.
l FortiSIEM does not recognize a UEBA perpetual license, so users with a UEBA perpetual license are unable to
add UEBA for their devices.
l For Elasticsearch cases with inline report mode set to 2, the ReportMaster memory may grow quickly.
l Malware IP, Domain, and URL Group lookup performance slower than expected.
l Security incidents always indicate "System Cleared" after 24 hours, even if auto_clear_security_incid-
ents=0 is set.
l SSL communication sockets between rule worker and rule master are not always closed properly, leading to rules
not triggering.
l Rules with a pattern-based clearing condition do not always clear even if the condition is met. This is because the
clear rule’s time window is sometimes read incorrectly.
PUT fortisiem-event-*/_settings
{
"index" : {
"max_terms_count" : "1000000"
}
}
Case 2. For new indices that are going to be created in the future, update fortisiem-event-template so those
new indices will have a higher max_terms_count setting
1. cd /opt/phoenix/config/elastic/7.7
...
3. Navigate to ADMIN > Storage > Online and perform Test and Deploy.
4. Test new indices have the updated terms limit by executing the following simple REST API call.
GET fortisiem-event-*/_settings
This document describes new and enhanced features, bug fixes and device support for the FortiSIEM 6.1.1 release.
l New Features
l Installation and Usage Notes
l Upgrade Overview
l Known Issues
l Bug Fixes and Enhancements
l New Device Support
New Features
l Install and Upgrade on Microsoft Azure
l Migration for FortiSIEM Running on Elasticsearch
To change the default timeout values, SSH to the Supervisor node, change the values, save the file, and restart
the Query Master process.
Upgrade Overview
The following sections provide an overview of migration and upgrade instructions to the 6.1.1 release.
l Migrate from pre-5.3.0 to 6.1.1
l Migrate from 5.3.x or 5.4.x to 6.1.1
l Upgrade from 6.1.0 to 6.1.1
l Upgrade via Proxy
l Post Migration Health Check
l AWS
l Azure
l Hyper-V
l KVM
b. If you are using Elasticsearch, then go to Admin > Setup > Storage > Elasticsearch and click Test
and Save.
c. Install new 6.1.1 Workers and add them back to the Supervisor.
d. Go to Admin > Settings > Event Worker and Query Worker and make sure that they are correct.
e. Perform health checks. Old Collectors and Agents should work with 6.1.1 Supervisor and Workers.
3. When you are ready to upgrade Collectors to 6.1.1, then do the following (details are in the documents listed in
Step 2a):
a. Copy the HTTP (hashed) passwords file from the old Collectors to the new Collector.
b. Re-register with the update option and the same IP.
4. Perform health checks. See Post Migration Health Check.
5. Reinstall the Agents with the latest version when you are ready to upgrade them.
6. Perform health checks: make sure Agent events are being received.
l AWS
l Azure
l Hyper-V
l KVM
b. If you are using Elasticsearch, then go to Admin > Setup > Storage > Elasticsearch and click Test
and Save.
c. Install new 6.1.1 Workers and add them back to the Supervisor.
d. Go to Admin > Settings > Event Worker and Query Worker and make sure that they are correct.
e. Perform health checks. Old Collectors and Agents should work with 6.1.1 Supervisor and Workers.
3. When you are ready to upgrade Collectors to 6.1.1, then do the following (details are in the documents listed in
Step 2a):
a. Copy the HTTP (hashed) passwords file from the old Collectors to the new Collector.
b. Re-register with the update option and the same IP.
4. Perform health checks. See Post Migration Health Check.
5. Reinstall the Agents with the latest version when you are ready to upgrade them.
6. Perform health checks: make sure Agent events are being received.
1. Copy the upgrade.py script to the Supervisor. For instructions, see the Pre-Upgrade steps in the Upgrade
Guide.
2. Upgrade the Supervisor to 6.1.1:
l EventDB (local or NFS) case:
a. Stop Workers.
b. Upgrade the Supervisor to 6.1.1.
l Elasticsearch case:
a. Delete Workers.
b. Upgrade the Supervisor to 6.1.1.
c. Go to Admin > Setup > Storage > Elasticsearch and click Test and Save.
3. Upgrade Workers to 6.1.1:
l EventDB (local or NFS) case:
a. Copy the HTTP (hashed) passwords file from old Collectors to the new Collector.
b. Re-register with update option and the same IP.
l 6.1.0 Collectors:
a. Upgrade from the GUI.
6. Perform health checks. See Post Migration Health Check.
7. Reinstall the Agents when you are ready to upgrade them.
8. Perform health checks: make sure Agent events are being received.
l proxy=http://<proxy-ip-or-hostname>:<proxy-port>
l If your proxy requires authentication, then add proxy_username= and proxy_password= entries as
well. For example, for squid proxy:
l proxy_username=<user>
l proxy_password=<pwd>
3. Test that you can use the proxy to successfully communicate with the two sites: os-pkgs-cdn.-
fortisiem.fortinet.com and os-pkgs.fortisiem.fortinet.com.
4. Begin the upgrade.
1. Check Cloud health and Collector health from the FortiSIEM GUI:
l Versions display correctly.
Known Issues
On Supervisor Node
i. log4j-core-2.8.2.jar
ii. log4j-api-2.8.2.jar
iii. log4j-slf4j-impl-2.6.1.jar
3. Mitigating phFortiInsightAI module:
a. Delete these log4j jar files under /opt/fortiinsight-ai/lib/
i. log4j-api-2.11.1.jar
ii. log4j-core-2.11.1.jar
4. Restart all Java Processes by running: “killall -9 java”
1. Migration limitations: If migrating from 5.3.3 or 5.4.0 to 6.1.1, please be aware that the following features will
not be available after migration.
a. Pre-compute feature
b. Elastic Cloud support
If any of these features are critical to your organization, then please wait for a later version where these
features are available after migration.
2. Fresh Install limitations
a. Cannot be installed on Alibaba Cloud.
b. Linux ISO image is not available.
c. Does not install on IPV6 networks.
l Malware Hash import from a CSV file fails when the CSV file contains 75,000 or more Malware Hash entries.
l Scheduled bundle reports fail after migration.
l Update Malware Hash via API does not work as expected, producing "duplicate" errors.
l Cisco Meraki log discovery does not add devices to CMDB.
l FortiSIEM does not recognize a UEBA perpetual license, so users with a UEBA perpetual license are unable to
add UEBA for their devices.
l For Elasticsearch cases with inline report mode set to 2, the ReportMaster memory may grow quickly.
l Malware IP, Domain, and URL Group lookup performance slower than expected.
l Security incidents always indicate "System Cleared" after 24 hours, even if auto_clear_security_incid-
ents=0 is set.
l SSL communication sockets between rule worker and rule master are not always closed properly, leading to rules
not triggering.
l Rules with a pattern-based clearing condition do not always clear even if the condition is met. This is because the
clear rule’s time window is sometimes read incorrectly.
PUT fortisiem-event-*/_settings
{
"index" : {
"max_terms_count" : "1000000"
}
}
Case 2. For new indices that are going to be created in the future, update fortisiem-event-template so those
new indices will have a higher max_terms_count setting
1. cd /opt/phoenix/config/elastic/7.7
...
3. Navigate to ADMIN > Storage > Online and perform Test and Deploy.
4. Test new indices have the updated terms limit by executing the following simple REST API call.
GET fortisiem-event-*/_settings
664708 Major App Server All Super Global users can see all Incidents for all Organizations,
regardless of their role restrictions.
655557 Major Query Real time Query results not shown if there is no overlap between
665994 Minor App Server Selecting a incident category first in search panel will cause aggreg-
ation count of other criteria to be blank.
665387 Minor App Server Analytics filter operator IN / NOT IN doesn't work for individual
CMDB selections.
664245 Minor App Server Incident comments filled with debug messages when running CVE
Integration.
659678 Minor App Server Geo Maps do not show location on Dashboard map widget.
653426 Minor App Server Dashboard using Google API does not work for Org if the Org user
does not have read permission of Google key (in Admin).
660734 Minor Device Sup- Aruba Parser parses causes high CPU because of excessive use of
port regular expression.
659163 Minor Device Sup- Fortigate on AWS logs are not recognized in FortiSIEM because of
port new devices.
652184 Minor Device Sup- Update Unix Parser with a new time stamp format.
port
652182 Minor Device Sup- Update F5BigIP Parser Update for Unsupported (New/Custom)
port Syslog Header.
649906 Minor Device Sup- CentOS CROND events incorrectly parsed as McAfee-WebGw-
port Run-Cmd because logs are too similar.
647216 Minor Device Sup- Not all attributes for Windows Security Events 4754, 4759, 4749 are
port parsed.
640196 Minor Device Sup- Not all attributes for Windows Security Event Parsing for Event ID
port 4625 is incorrect.
634374 Minor Device Sup- Windows Security Event ID 4688 is not parsed fully.
port
607339 Minor Device Sup- Sysmon PowerShell Commands not correctly parsed if .exe is
port called from within Powershell.
594078 Minor Device Sup- Rule "Windows Audit Log Cleared" does not include user as an
port incident attribute.
592946 Minor Device Sup- Set Windows Event ID, Category, Subcategory and Login failure
port reason as description in Windows Security logs.
659018 Minor Elastic Many phDataManager errors may occur in some situations, caused
Search by FortiSIEM sending malformed JSON to Elastocsearch.
662556 Minor Event Pulling AWS CloudTrailParser.xml parses event time incorrectly, which
can cause event collection delay.
662540 Minor Event Pulling Azure CLI: mLastPollTime is not updated when job failed, causing
data collection errors.
662450, Minor Event Pulling Azure Event Hub event collection errors can cause data collection
661806, to stop after running for some time.
655562
660938 Minor Event Pulling Guard Duty max count event sometimes does not get picked up.
654551 Minor Event Pulling AgentManager can consume memory after running for a while,
causing process to stop functioning.
656337 Minor GUI Analytics tab - Trend Bar Graph does not show continuity with time
and results.
663683, Minor Integration Alienvault STIX OTX Integration may not work for pulling IOCs.
638773
662899 Minor Parser Parser function for resolving Hostname to IP address does not work
correctly.
659180 Minor Parser Collector caches time stamp when rejected from Appserver from
Check-in.
659171 Minor Parser Two events attributes exist with same name Total Connections.
598471 Minor Parser Parse MITRE mapping event attributes in Windows Sysmon
events.
516477 Enhancement App Server Cannot Discover Multiple Devices through Multiple Collectors
through API.
665694 Enhancement Data The list of public DNS Servers need to be updated.
530467 Enhancement Device Sup- FortiSIEM not detecting certain event SSH/Audit events using
port UnixParser.
661711 Enhancement Event Pulling Parse out SQS log of when Cloudtrail package is logged.
FortiSIEM 6.1.0 is a foundational release with a new Linux OS. This document describes new and enhanced features
for the release.
l Installation Notes
l Known Issues
l New Features
l Key Enhancements
l Bug Fixes and Enhancements
l New Reports
l New Rules
Installation Notes
1. In this release, the underlying OS is upgraded from CentOS 6.10 to CentOS 8.2. Consequently, the migration
from older releases to FortiSIEM 6.1.0 is significantly more involved. Details are in the platform-specific Install-
ation and Migration Guides.
l Migration is supported from FortiSIEM 5.3.0, 5.3.1 and 5.3.2 to 6.1.0. If you are using an older version, first
upgrade to FortiSIEM 5.3.2 and then migrate to 6.1.0. Migration from 5.3.3 to 6.1.0 is not supported
because 6.1.0 does not have the pre-compute feature in 5.3.3. Customers running 5.3.3 will be able to
upgrade to a future 6.2.0. release.
l In-place migration procedures is provided, so you do not have to move out the data and bring it back.
l Migration is hypervisor-specific and can be time consuming, so plan accordingly. Migration involves:
i. Migrating the Supervisor.
ii. Installing and registering new Workers.
iii. Older Collectors and Agents will work with the 6.1.0 Super and Worker.
l When you decide to migrate Collectors to 6.1.0,do the following steps. Details are provided in platform spe-
cific install and upgrade guides.
i. You must install new Collectors and register them in a specific way by using the --update option.
ii. If Agents are registered via this Collector, then you must copy the hashed http password file
(/etc/httpd/accounts/passwds) from the old Collector to the new Collector. Make sure the
permissions are the same.
iii. Make sure that the new 6.1.0 Collector uses the same IP address as the old Collector.
l Future upgrades from 6.1.0 to 6.2.0, etc., will work like before via rpm upgrades.
2. Release 6.1.0 requires at least ESX 6.5, and ESX 6.7 Update 2 is recommended. To install on ESX 6.5, see
install in ESX 6.5.
3. Hardware requirements are the same, however, if you want to use the UEBA feature, then the Supervisor must
be upgraded to 32vCPU and 64GB RAM.
4. During a fresh install and migration process, a separate disk called OPT is created for use by FortiSIEM. Unlike
earlier releases, FortiSIEM 6.1.0 does not write own logs or dump files in the root partition.
5. If you were running FortiSIEM 5.x and were using custom SSL certificates for Apache created with a 1024-bit
RSA key, then you will notice that Apache will be down. This is because FortiSIEM 6.3 requires a 2048-bit RSA
key. Follow these steps to obtain a 2048-bit RSA key:
a. Get your custom SSL certificates with the 2048-bit RSA key or create a new self-signed certificate by
running the following command:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ht-
tpd/conf.d/apache-selfsigned.key -out /etc/httpd/conf.d/apache-self-
signed.crt
b. Add the following lines to the /etc/httpd/conf.d/ssl.conf file, then save it:
SSLCertificateFile /etc/httpd/conf.d/apache-selfsigned.crt
SSLCertificateKeyFile /etc/httpd/conf.d/apache-selfsigned.key
For fresh installations and for migrating from existing FortiSIEM installations, see:
l AWS Installation and Migration Guide
l ESX Installation and Migration Guide
l HyperV Installation and Migration Guide
l KVM Installation and Migration Guide
l FortiSIEM 2000F Hardware Configuration Guide for 6.1
l FortiSIEM 500F Collector Configuration Guide for 6.1
Known Issues
On Supervisor Node
i. log4j-core-2.8.2.jar
ii. log4j-api-2.8.2.jar
iii. log4j-slf4j-impl-2.6.1.jar
3. Mitigating phFortiInsightAI module:
a. Delete these log4j jar files under /opt/fortiinsight-ai/lib/
i. log4j-api-2.11.1.jar
ii. log4j-core-2.11.1.jar
4. Restart all Java Processes by running: “killall -9 java”
2. Migration limitations:
a. Migration for the 500F Collector is not supported. If you have 500F collectors, then you can upgrade
the Super and Worker to 6.3 but let the Collectors remain on older releases. A future release will
provide 500F Collector migration to 6.3.
b. Migration to FortiSIEM installations running on Elasticsearch is not supported.
c. The pre-compute feature in FortiSIEM 5.3.3 is not included in this release. Hence upgrade from 5.3.3
to 6.3.3 is not supported.
3. The built in certificates for the FortiSIEM 6.3 Image were generated during the build and will be the same
across all installations. These certificates are used to secure inter-node communications between the Col-
lector, Worker, and Supervisor nodes. You must change them for your installation as follows:
You must decide whether you will use CA signed certificates or self-signed certificates. If you decide to con-
tinue with self-signed certificates, then you must run the following command to re-generate a self-signed cer-
tificate for your environment:
openssl req -new -newkey rsa:4096 -days 3650 -nodes -x509 -subj
"/C=<country>/ST=<state>/L=<city>/O=<organization>/CN=<hostname-or-FQDN>" -key-
out /etc/pki/tls/private/localhost.key -out /etc/pki/tls/certs/localhost.crt
For example, for Fortinet, located in Sunnyvale, California, the following command would be used:
openssl req -new -newkey rsa:4096 -days 3650 -nodes -x509 -subj "/C=US/S-
ST=CA/L=SunnyVale/O=Fortinet/CN=localhost" -keyout /etc/p-
ki/tls/private/localhost.key -out /etc/pki/tls/certs/localhost.crt
4. STIX/OTX Malware IOC Integration Error: If you see the error below when you log in to Glassfish, it is likely
caused by the jsse.enableSNIExtension flag that was added to resolve a httpd issue in Java JDK 7. In
JDK8, there is no need to set this flag.
Error:
#|2020-09-10T12:30:00.535+0200|SEVERE|glassfish3.1.2|-
com.accelops.service.threatfeed.BaseOTXUpdateService|_ThreadID=218;_ThreadName-
e=Thread-2;|org.springframework.web.client.ResourceAccessException: I/O error on
GET request for "https://otx.ali-
envault.com/api/v1/pulses/subscribed?limit=20&modified_since=2020-09-
03T12:30:00%2B02:00&":Unsupported record version Unknown-0.0; nested exception
is javax.net.ssl.SSLException: Unsupported record version Unknown-0.0
i. If the system comes up with a DHCP IP, then use that to copy the above file. If not, you will
need to manually set up IP address in /etc/sysconfig/network-scripts/ifcfg-
eth0 and restart the network via systemctl restart NetworkManager (or reboot).
ii. Login as root.
iii. Run the command sed -i -e 's/totalmem -lt 24000/totalmem -lt 20000/'
/root/.bashrc.
iv. Logout.
b. Log back in as root.
c. Run tar xzf <path-where-file-is-stored>/swapon-ulimit-fixes.tgz -C /.
d. Run configFSM.sh and it should succeed.
If you did not do the above deployed system and it fails, then it is hard to manually fix and rerun configuration.
Therefore, you will need to delete VM, redo the steps after patching above the yml files.
If you did not do the above deployed system and it succeeds to the end, then do not worry about the swap
issue since the swap will be set correctly after the reboot. Just run the following command sed -i -e
's/totalmem -lt 24000/totalmem -lt 20000/' /opt/phoenix/bin/.bashrc /root/.-
bashrc after logging in as root. Then reboot it again.
6. The following bugs have been discovered.
l Malware Hash import from a CSV file fails when the CSV file contains 75,000 or more Malware Hash entries.
l Scheduled bundle reports fail after migration.
l Update Malware Hash via API does not work as expected, producing "duplicate" errors.
l Cisco Meraki log discovery does not add devices to CMDB.
l FortiSIEM does not recognize a UEBA perpetual license, so users with a UEBA perpetual license are unable to
add UEBA for their devices.
l For Elasticsearch cases with inline report mode set to 2, the ReportMaster memory may grow quickly.
l Malware IP, Domain, and URL Group lookup performance slower than expected.
l Security incidents always indicate "System Cleared" after 24 hours, even if auto_clear_security_incid-
ents=0 is set.
l SSL communication sockets between rule worker and rule master are not always closed properly, leading to rules
not triggering.
l Rules with a pattern-based clearing condition do not always clear even if the condition is met. This is because the
clear rule’s time window is sometimes read incorrectly.
PUT fortisiem-event-*/_settings
{
"index" : {
"max_terms_count" : "1000000"
}
}
Case 2. For new indices that are going to be created in the future, update fortisiem-event-template so those
new indices will have a higher max_terms_count setting
1. cd /opt/phoenix/config/elastic/7.7
...
3. Navigate to ADMIN > Storage > Online and perform Test and Deploy.
4. Test new indices have the updated terms limit by executing the following simple REST API call.
GET fortisiem-event-*/_settings
New Features
l Run on CentOS 8.2
l FIPS Enabled
l Inbuilt Windows UEBA
FIPS Enabled
FortiSIEM can run in FIPS mode. You can choose to install in FIPs mode during a fresh 6.1.0 installation. You can also
disable or enable FIPS on an existing 6.1.0 system. The following features are added for FIPS mode, but some are
also available for non-FIPS mode.
l For both FIPS and non-FIPS installation modes, you must change the default GUI and SSH passwords.
l GUI and SSH user passwords for both FIPS and non-FIPS modes are now required to contain at least 8 char-
acters, and must include 1 letter, 1 numeric character, and 1 special character.
l For both FIPS and non-FIPS modes, you can zeroize the keys to ensure that there are no keys and critical security
parameters left in the system. This is done before destroying a FortiSIEM installation. For details, see see Erasing
Disk Contents in FIPS Support.
l In FIPS mode, FortiSIEM will use only FIPS-compliant cryptographic algorithms. For a full list of supported cryp-
tographic algorithms, see Cryptographic Algorithms in FIPS Support. Note that this list may change from version to
version.
l During startup and reboot, FortiSIEM will run self-tests to ensure that proper FIPS-compliant algorithms are being
used. These self-tests can also be run on-demand. Note that Redhat 8.1, being a new OS, has applied for FIPS
certification.
l FIPS mode is displayed in GUI for all installations.
l In FIPS mode, FortiSIEM uses CPU Time Jitter Random Number Generator as the Non-deterministic Random Bit
generator (NDRBG). This has been proven to provide strong keys (see https://www.chronox.de/jent/doc/CPU-Jit-
ter-NPTRNG.html). This makes the cryptographic algorithms very secure as required by FIPS standards.
FIPS requires a strict set of crypto algorithms. Therefore, when you enable FIPS on
FortiSIEM, certain communications between FortiSIEM and external devices may break if
the external device is not also FIPS enabled. This is especially true for migrating from
FortiSIEM 5.3.x. Suppose you were collecting performance metrics and logs from a legacy
network device. Before turning on FIPS, make sure that the device is also FIPS ready.
Based on these activities, an AI module running on the Supervisor, detects anomalous FortiSIEM incidents. The
UEBA dashboard can be used to investigate these incidents.
You must have a new license to enable the UEBA feature. You can stack a UEBA license on top of a regular
FortiSIEM Windows Agent license, or use the UEBA license independently. Therefore, 3 modes are possible:
1. Install Windows 4.0.0. The procedures are identical to Windows 3.3.0 and can be found in Configuring Win-
dows Agent.
2. Install a new FortiSIEM license which contains UEBA telemetry.
3. Restart the phFortiInsightAI module by running the following command on the Supervisor node, for
example:
systemctl restart phFortiInsightAI
4. Create a monitoring template with UEBA enabled for the Agent and click Apply. You can create a single tem-
plate for many hosts. For details on UEBA settings, refer to Configuring Windows Agents. Then in the CMDB
tab, the Agent type becomes Windows + UEBA.
5. The windows Agent will start sending UEBA telemetry to FortiSIEM.
You may want to change UEBA Settings for the AI module: see UEBA Settings.
UEBA incidents created by the AI module can be seen on the UEBA dashboard, see UEBA View.
Key Enhancements
l EventDB Query Management
l Run Multiple Searches
l Report Bundle Export Progress
644410 Minor App Server Widget Dashboard Imported in Super Global is not shared in
organizations.
644090 Minor App Server Custom Event Attribute names do not display in CSV reports.
643967 Minor App Server Handle the Null pointer exception in App Server to Query Master
communication.
643648 Minor App Server Query time interval is not saved properly in Report Bundle sched-
uled for organizations.
643249 Minor App Server An exception occurs during app server start up while loading
namedValue to Redis.
640569 Minor App Server After upgrade, Shared dashboards created in Super Global are
invisible if su to organizations.
637264 Minor App Server Failed to save location for device when city/state has a single
quote (after it already triggered an incident).
635420 Minor App Server Device hostnames containing a single quote cause incident insert
errors.
527733 Minor App Server LDAP user discovery merge is logging excessive user contact
update.
497314 Minor App Server LDAP OU discovery is aborted because of long OU name.
647601 Minor Data "System License Warning: Max Number of Devices Exceeded
License" rule does not trigger.
644155 Minor Data Some attributes are not correctly parsed by NetBotzCMCTrap.
641317 Minor Event Pulling Logon Events are not pulling from Google App Suite.
649152 Minor GUI Home Setting does not show on UI after an upgrade.
648413 Minor GUI winexe is enabled in Discovery once you edit a Discovery tem-
plate.
647769 Minor GUI You can select any attribute in a rule exception. It should only
allow those attributes in "Incident attribute".
644073 Minor GUI New schedule for FortiGuard IOC Service does not show the cre-
ated schedule after saving.
643888 Minor GUI Losing the connection to Super during a Dashboard slideshow
causes a user log out after 10 minutes.
640894 Minor GUI Pull Events tab shows an error from another organization.
638148 Minor GUI The GUI displays 0xA0 characters in Raw events as 0x20.
633235 Minor GUI GUI Error occurs when saving Access Method configuration for
FortiGate Rest API.
632413 Minor GUI During GUI login, DOMAIN is not displayed until the Log On but-
ton is pressed.
611930 Minor GUI Generating two reports that attempt to show average and max
value only shows max.
602326 Minor GUI CMDB Reports with Report Type generate a PSQLException.
598485 Minor GUI Parser Validation cannot handle parsers with an "&" symbol.
639744 Minor GUI, App Login drop down has to convert to text box in order to protect end
Server client from exposure of other domains.
637664 Minor H5_Analytics In Rule Exception, the Value field cannot be edited when values
are added from the CMDB.
596560 Minor Parser The character "<" in the test event breaks attributes display in
Parser testing
629489 Minor Performance Cisco ASA memory utilization polling fails as vendor has changed
Monitoring SNMP OID.
637631 Minor Query Master CSV Export from the date before daylight saving change shows a
one hour difference.
648971 Minor System phDataPurger crashes when archiving from Elasticsearch to NFS
if the raw event size is more than 64KB.
643027 Minor System FSM collector nodes contain passwords in plain text based on the
API cache.
632883 Minor System Elastic Search Disaster Recovery does not sync the Redis Pass-
word correctly.
630634 Minor System Elasticsearch snapshot creation fails during disaster recovery.
644882 Enhancement App Server Support device names with single quote.
632976 Enhancement App Server Malware IP download - does not handle CIDR notation.
644104 Enhancement Data Need additional JunOS event types to the data-definition file.
643780 Enhancement Data Trend Micro Apex Central Parser for Antivirus doesn't create a cor-
rect Event Type.
643015 Enhancement Data Sophos Event parser does set the reporting IP or host name.
639125 Enhancement Data Windows WMI events in French are not fully parsed.
637703 Enhancement Data Citrix Netscaler Parser does not parse certain VPN logs.
615340 Enhancement Data Citrix Netscaler Parser does not parse out Group Names with a
space.
612914 Enhancement Data Infoblox parser - Parser does not pick up client hostname in the
syslog field. Instead, it picks up the IP address.
609725 Enhancement Data Windows Custom Log Parser does not parse out two fields for
603557 Enhancement Data Nessus Parser Host Field must also parse the hostname.
641357 Enhancement GUI Country Groups must be editable only from the left tree.
640064 Enhancement GUI Cannot clear multiple incidents under the Incident Explorer dash-
board.
New Reports
l FortiSIEM UEBA detected hacking tool usage
l FortiSIEM UEBA detected ransomware
l FortiSIEM UEBA detected backup applications
l FortiSIEM UEBA detected ransomware file types
l FortiSIEM UEBA detected MTP write
l FortiSIEM UEBA detected potential pirated media
l FortiSIEM UEBA detected file printed
l FortiSIEM UEBA detected removable media read
l FortiSIEM UEBA detected snipping tool
l FortiSIEM UEBA detected encryption tools
l FortiSIEM UEBA detected email upload
l FortiSIEM UEBA detected cloud upload
l FortiSIEM UEBA detected potential leaver editing a CV at work
l FortiSIEM UEBA detected email download
l FortiSIEM UEBA detected NFS write
l FortiSIEM UEBA detected browser download
l FortiSIEM UEBA detected hacking tool and footprints
l FortiSIEM UEBA detected ransomware file names
l FortiSIEM UEBA detected gaming application
l FortiSIEM UEBA detected removable media write
l FortiSIEM UEBA detected NFS read
l FortiSIEM UEBA detected files copied over remote desktop
l FortiSIEM UEBA detected browser upload
l FortiSIEM UEBA detected software installation
New Rules
There are 846 built-in correlation rules in the system. The following rules have been added to 6.1.0 release.
l FortiSIEM UEBA AI detects unusual file movement
l FortiSIEM UEBA AI detects unusual process created
l FortiSIEM UEBA AI detects unusual file download
l FortiSIEM UEBA AI detects unusual file upload
l FortiSIEM UEBA AI detects unusual machine on
l FortiSIEM UEBA AI detects unusual machine off
l FortiSIEM UEBA AI detects unusual host logon
l FortiSIEM UEBA AI detects unusual machine logoff
l FortiSIEM UEBA AI detects unusual file renamed
l FortiSIEM UEBA AI detects unusual file printed
l FortiSIEM UEBA AI detects unusual new drive mounted
l FortiSIEM UEBA AI detects unusual drive unmounted
l FortiSIEM UEBA AI detects unusual process not restarted
l FortiSIEM UEBA Policy detects antivirus not started
l FortiSIEM UEBA Policy detects antivirus stopped
l FortiSIEM UEBA Policy detects malicious powershell execution
l FortiSIEM UEBA Policy detects suspicious applications
l FortiSIEM UEBA Policy detects Tor client usage
l FortiSIEM UEBA Policy detects uncommon VPN client
l FortiSIEM UEBA Policy detects hacking tool usage
l FortiSIEM UEBA Policy detects ransomware
l FortiSIEM UEBA Policy detects backup applications
l FortiSIEM UEBA Policy detects ransomware file types
l FortiSIEM UEBA Policy detects MTP write
l FortiSIEM UEBA Policy detects potential pirated media
l FortiSIEM UEBA Policy detects file printed
l FortiSIEM UEBA Policy detects removable media read
l FortiSIEM UEBA Policy detects snipping tool
l FortiSIEM UEBA Policy detects encryption tools
l FortiSIEM UEBA Policy detects email upload
l FortiSIEM UEBA Policy detects cloud upload
l FortiSIEM UEBA Policy detects potential leaver editing a CV at work
l FortiSIEM UEBA Policy detects email download
l FortiSIEM UEBA Policy detects nfs write
l FortiSIEM UEBA Policy detects browser download
l FortiSIEM UEBA Policy detects hacking tool and footprints
Some Windows Agent 4.4.x, Agent 4.3.x and 4.2.x features are only supported on FortiSIEM 6.4.0 or later.
This release contains the following new feature and bug fix.
1. The administrator first installs the Windows Agent onto the VDI Golden image. See Installing Windows Agent
in VDI Environment for details.
2. When user logs on to the VDI environment and downloads a VM from the VDI Server, the VM contains a VDI
transient image (containing the Windows Agent). The agent automatically registers to the FortiSIEM Super-
visor node, with host name set to <DOMAIN>__<USERNAME> in CMDB.
3. When user logs off from the VDI environment, the agent automatically unregisters to the FortiSIEM Supervisor
node. The agent's status is decommissioned, so that it does not consume an agent license.
Bug Fix
Command line arguments in 'new process created' events are lowercased affecting base64 decoding of command
line arguments (Bug 873700).
Three installation options are provided: x86 MSI, x64 MSI and a bundled exe that automatically detects the correct
MSI to use.
Installation paths, log files and registries have been renamed from AccelOps to FortiSIEM:
l Installation path has been updated from C:/Program Files/AccelOps to C:/Program Files/Fortinet/FortiSIEM
l ProgramData paths have been updated from C:/ProgramData/AccelOps to C:/ProgamData/FortiSIEM/
l Registry entries have been moved from HKLM/Software/AccelOps to HKLM/Software/Fortinet/FortiSIEM
l Log files have been added to C:/Program Files/Fortinet/FortiSIEM/logs
l ProxyTrace.log has been updated to C:/ProgramData/FortiSIEM/logs/Trace.log
l All libraries have been renamed from AccelOps to FortiSIEM.
o AccelOps.Common > FortiSIEM.Common
o AccelOps.Security > FortiSIEM.Security
o AccelOps.Utilities > FortiSIEM.Utilities
o AccelOps.WebProxy > FortiSIEM.WebProxy
This release provides a way to install FortiSIEM Windows Agent so that the Administrator can stop the Agent Service
if needed. To accomplish this, the user must install the Agent via the command line with the UNPROTECT = 1 option.
For details, see Installing with the Ability to Stop Agent Service in the Windows Agent Guide.
This release adds support for the full special characters set in specifying Windows Agent passwords. Supported char-
acter set is specified at this website:
https://owasp.org/www-community/password-special-characters
Specifically, it includes (between double quotes): " !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~"
These characters can be input both via the Windows Agent command line and the GUI.
This release fixes the following three issues for FortiSIEM Windows Agent.
1. The Agent may not capture Windows Event Forwarding (WEF) logs when WEF is configured to write for-
warded logs to any folder other than the Forwarded Events folder on the forwarded server. In addition, the
1. A GUI is provided for installing the Agent. See Installing FortiSIEM Windows Agent 4.2.x in the Windows Agent
4.x.x Installation Guide.
2. Ability to upgrade multiple agents in parallel from the Supervisor. See here.
This release fixes the following three issues for FortiSIEM Windows Agent.
1. The Agent may not capture Windows Event Forwarding (WEF) logs when WEF is configured to write for-
warded logs to any folder other than the Forwarded Events folder on the forwarded server. In addition, the
Agent's performance of WEF log handling is improved. (Bug 766939)
2. The Agent limits the Collectors' name to only 50 characters, which may not work in AWS where FQDN can be
long. (Bug 770632)
Note: The name is now 253 characters.
3. The Agent stops sending logs after killing or restarting Windows Event Log Process. (Bug 744891)
1. The log file contains plain text password used to register the agent to the Supervisor. This password is not
used for any other purposes. (Bug 749499)
2. An authenticated windows user can run arbitrary Powershell scripts with Admin permissions. (Bug 749499)
1. File handle leak while interfacing with local SQLite database. This can cause Windows Agent memory usage
to grow overtime. (Bug 746978)
2. File handle leak while interfacing with Windows registry. This can cause Windows Agent memory usage to
grow over time. (Bug 748252)
1. When FortiSIEM monitors DNS Analytical logs, Windows EventLog service memory utilization maybe high.
(Bug 723147)
2. Windows Agent may stop sending events if both the Supervisor and Collector go down for more than 10
minutes and then come up. (Bug 727842)
This release adds the ability to work with FortiSIEM Management Extension Application (MEA) Collector released as
part of FortiSIEM 6.3.0.
1. Windows Agent does not generate events when a monitoring template is chosen with a large set of comma
separated eventIDs. Previous limit of 50 eventIDs or 250 characters is now extended to 1200 characters
including comma separating characters. If you need more than this limit, you can always create multiple mon-
itoring templates. (Bug 702090)
2. When Windows Event Forwarding is configured, FortiSIEM Agent running on the forwarded server may some-
times fail to get the message in Security Events. A new API is now used to collect the events from the Windows
Forwarded Events folder. (Bug 710074)
4. Agent Database is used to store Agent configuration parameters and to store events when connectivity to col-
lectors is lost. The default size for your Agent Database is 1GB. This can be changed by modifying the
MaxDBSizeInMB entry in your Registry Editor.
This release provides User Entity Behavior Analysis (UEBA) by embedding a Kernel Agent that detects anomalies on
these 10 user activities.
l Log on and log off
l Machine on and off
l File create
l file delete
l file read
l file write
l file rename
l file move
l file upload
l file download
l drive mount
l drive un-mount
1. The log file contains plain text password used to register the agent to the Supervisor. This password is not
used for any other purposes. (Bug 749499)
2. An authenticated windows user can run arbitrary Powershell scripts with Admin permissions. (Bug 749499)
1. The log file contains plain text password used to register the agent to the Supervisor. This password is not
used for any other purposes. (Bug 749499)
2. An authenticated windows user can run arbitrary Powershell scripts with Admin permissions. (Bug 749499)
This release includes several enhancements for File Integrity Monitoring (FIM) when using Windows Agents:
l Detect File Permission and Ownership changes.
l Ability to push monitored files from agents to the FortiSIEM Supervisor where an audit trail of file changes are kept
in SVN. The user can then examine the differences between the files.
l Ability to detect file changes from a baseline.
1. The log file contains plain text password used to register the agent to the Supervisor. This password is not
used for any other purposes. (Bug 749499)
2. An authenticated windows user can run arbitrary Powershell scripts with Admin permissions. (Bug 749499)
This release contains the following Windows Agent specific enhancements, in addition to the ability to work without
Agent Manager functionality described earlier.
l Support for Windows Event Forwarding: Windows can forward logs using Windows mechanisms to a Central Win-
dows Server. A FortiSIEM agent on the central server can then bring all the events from the various windows serv-
ers to FortiSIEM. This is an alternative to running FortiSIEM agent on every Windows server. The disadvantage of
this approach is that Windows (Security, application and system) event logs can be collected in this way, while
FortiSIEM agent can collect other information such as FIM, Custom log, Sysmon etc. This release is able to parse
the forwarded Windows events so that actual reporting Windows server is captured and all the attributes are
parsed as sent by native agents.
l Support of Windows FIPS enabled mode: In earlier releases, the agent did not work properly if FIPS mode was
turned on. This issue is addressed in this release.
l File hash for File Integrity Monitoring computed using SHA256: The file hash value for file/folder monitoring is now
reported using SHA256 algorithm instead of MD5. This enables direct match with external threat intelligence mal-
ware file hashes.
Key Concepts
Clustering Architecture
FortiSIEM scales seamlessly from small enterprises to large and geographically distributed enterprises and service
providers.
l For smaller deployments, FortiSIEM can be deployed as a single all-in-one hardware or virtual appliance that con-
tains full functionality of the product.
l For larger environments that need greater event handling throughput, FortiSIEM can be deployed in a cluster of
Supervisor and Worker Virtual Appliances.
There are three types of FortiSIEM nodes – Collector, Worker, and Supervisor. Collectors are used to scale data col-
lection from various geographically separated network environments potentially behind firewalls. Collectors com-
municate to the devices, collect, parse and compress the data and then send this information to the Worker nodes
over a secure HTTP(S) channel in a load balanced manner. Supervisor and Worker nodes reside inside the data cen-
ter and perform data analysis functions using distributed co-operative algorithms.
There are five primary data analysis tasks:
For scalability, each of these tasks is divided into a heavyweight Worker component executed by the Worker nodes
and a lightweight Master component executed by the Supervisor node. The Supervisor nodes, accessible via the GUI
is comprised of a self-contained three-tier model – the GUI, the Application Server containing the business logic, and
a relational database for holding the FortiSIEM application state.
For scalable event storage, FortiSIEM provides three options:
l Local disk
l FortiSIEM NoSQL event database with data residing on an NFS Server
l Elasticsearch distributed database
Hardware appliance and All-in-one virtual appliance solutions use the local disk option while the NoSQL or Elastic-
search options can be exploited by a FortiSIEM cluster of Supervisor and Workers.
The NoSQL event database option is a purpose built FortiSIEM proprietary solution. The Supervisor and Worker
nodes create and maintain the database indices. To scale event insertion and search performance in this mode
requires (a) a fast communication network between the Supervisor/Worker nodes and the NFS Server and (b) high
NFS IOPS that can be achieved using fast RAID disk or tiered SSD and magnetic disks.
Elasticsearch provides a true distributed, redundant columnar database option for scale-out database performance at
the expense of higher storage needs. In this option, FortiSIEM Worker nodes push the data in real time to Elastic-
search cluster, which maintains the event database. FortiSIEM has developed an intermediate adaptation layer, so
that the same GUI can run seamlessly on both Elasticsearch and FortiSIEM NoSQL event database.
Licensing
Note that FortiSIEM licensing is not based on storage - you can store and query the data as needed for your com-
pliance needs without any concern regarding licensing. The license parameters can be perpetual or subscription
based. Maintenance and FortiGuard Threat Intelligence are subscription based.
You can have unlimited devices in CMDB. However, the total number of devices that send logs to FortiSIEM or are
monitored by FortiSIEM cannot exceed the device license. The devices under license are called 'Managed' while the
remaining devices are called 'Unmanaged'. If you do a discovery and the number of newly discovered devices com-
bined with Managed CMDB devices exceed the license, then the extra devices are tagged in CMDB as 'Unmanaged'.
You can either buy more device license or exchange an Unmanaged device with a Managed device.
FortiSIEM calculates Events per Second (EPS) over a 3-minute period as the total number of events received over a
3-minute period divided by 180. FortiSIEM is a distributed system where events can be received at any node - Col-
lector, Worker, or Supervisor. The EPS licensing is enforced as follows:
At the end of every 3-minute interval, Incoming EPS is calculated at each event entry node (Collector, Worker, or
Supervisor) and the value is sent to the central decision-making engine on the Supervisor node.
1. The Supervisor node takes all Incoming EPS values and based on the Licensed EPS, computes the Allocated
EPS for the next 3-minute interval for every node and communicates those values to every node.
2. For the next 3-minute interval, each node accepts up to (Allocated EPS * 180) events. It also reports Incoming
EPS for the current interval to the Supervisor node.
3. The continuous EPS reallocation process continues.
Multi-tenancy enables you to manage multiple groups of devices (Organizations) within a single installation.
FortiSIEM provides logical separation between Organizations at an application layer. The users of one Organization
cannot see another Organization’s data, which includes devices, users and logs.
You have to choose the Service Provider Installation type when you first install FortiSIEM. Organizations can be
defined in two ways:
l By adding a Collector to an Organization – all devices sending logs to a Collector or all devices monitored by a Col-
lector are automatically assigned to the Organization to which the Collector belongs. Device Names and IP
Addresses can overlap between two Organizations. This situation can be used to model Remote Managed Service
Providers.
l By assigning IP ranges to Organizations – there are no Collectors and devices will be discovered from Supervisor
node and send logs to Supervisor or Worker nodes. If the IP addresses of ALL interfaces of a device are wholly
included within the IP range for an Organization, then the device is assigned to that Organization. Else, the device
is assigned to the Super/Local Organization (see below).
In addition to user-defined Organizations, FortiSIEM creates two Organizations for ease of management:
l Super/Local Organization – this can be used to model a Service Provider’s own network.
l For Organizations with Collectors, if a device sends logs directly to Supervisor or Worker nodes or is dis-
covered from the Supervisor node, then it belongs to the Super/Local Organization.
l For Organizations without Collectors, if all the IP addresses of a device (being discovered or sending logs) are
not wholly included within the IP range for any Organization, then that device is assigned to the Super/Local
Organization.
l Super/Global Organization – this is a virtual Organization that can 'see' all the other Organizations. This is useful
for Service Provider administrative users.
1. Users belonging to Super/Global Organization can see other organizations and their data.
2. Users belonging to Super/Local Organization and user-defined Organizations can only see their own Organ-
ization.
3. Devices and events are automatically tagged by FortiSIEM with the Organization Id and Name.
4. Rules can be written at a Global level or for a specific Organization. Incidents trigger when rule conditions are
met and they trigger independently for each organization. Each Incident is labeled with Customer Id and
Name.
5. Searches/Reports can be executed from Super/Global Organization for any combinations of Organizations.
6. From a specific user-defined Organization or Super/Local Organization, Searches/Reports can run on that
Organization.
7. Viewing Incidents is simply a specific Search and follows the same principles as specified in 5 and 6.
After installation, FortiSIEM automatically creates an admin user with Full Admin rights for Super/Global and Super-
/Local Organization. When the user creates a new Organization, FortiSIEM creates an admin user for that Organ-
ization. These are accounts with Full Admin rights. FortiSIEM users with Full Admin rights can create Roles and then
create users and assign them a role.
A FortiSIEM role is based on the following aspects:
l What the user can see:
l Restrict GUI visibility by hiding parts of the GUI
FortiSIEM has a few built-in roles that the users can customize to meet their own needs.
Discovery is a key differentiator for FortiSIEM as it enables users to seamlessly discover their infrastructure (the
'truth') and auto-populate the CMDB, which can then be used to facilitate analytics.
Discovery can be of two types:
l Simple LOG discovery – FortiSIEM has mappings for device type to parse logs for all its in-built log parsers.
When it sees a log that matches a parser, it associates the corresponding device type to that device and creates a
CMDB entry.
l Detailed device discovery – LOG discovery is very basic since only the Vendor and Model can be guessed (for
example: Cisco IOS, Fortinet FortiGate, Microsoft Windows, Generic Linux). It is not possible to deduce more
details about the device, for example: Operating System version, hardware model, installed patches, installed soft-
ware, running processes, network device configurations, interfaces, monitor-able performance metrics, etc. In
addition to discovering all of the above, FortiSIEM can also discover certain inter-device relationships, for
example, Virtualization Guest to Host mappings, WLAN AP to Controller mappings, Multi-context device to phys-
ical device mappings, network topology etc. Devices in the AWS Cloud and MS Azure Cloud can be discovered as
well.
Discovered information is used to automatically populate a CMDB. As new devices get added or deleted from the infra-
structure, scheduled rediscoveries can keep FortiSIEM CMDB up to date. The user can also define some rules to map
certain groups of devices to certain CMDB device groups.
The key advantages of FortiSIEM Discovery and CMDB are as follows:
1. The customer has an accurate picture of the infrastructure and its relationships from a simple discovery. If a
new rogue device is added to the network, FortiSIEM rediscovery learns immediately of the new device and
can send an alert of this potential security issue. If an inadvertent configuration change to a key file is made,
FortiSIEM rediscovery or configuration monitoring also detects and alerts.
2. Performance and availability monitoring is automated since FortiSIEM simply learns what can be monitored
and starts monitoring immediately. This approach eliminates human error from the process.
3. Certain key CMDB Objects such as Business Services can remain up to date against infrastructure changes
as they can be auto-populated by discovery.
4. CMDB Objects make rules and reports easy to create. First, no long explicit list of IP addresses or host names
are needed for rules or reports. Secondly, rules do not need to be rewritten as devices get added or deleted.
5. Discovery enables configuration change detection for both day-to-day changes and changes to golden ver-
sions.
Some logs and performance metrics can be collected remotely from Windows servers via WMI and by running the
Winexe command. Some key performance metrics and file monitoring on Linux servers can be done via SSH.
However, the following limitations exist:
For Windows Servers:
l Not all metrics can be collected from a FortiSIEM Linux platform via WMI (for example: Sysmon, Generic Event
Logs in the Event Log navigation tree, Registry changes). WMI can be used to collect only Windows Event logs.
l File Integrity Monitoring Data collected via Windows Security logs is very verbose (~8 logs per file operation) and
creates unnecessary noise in FortiSIEM.
l Remotely running some programs such as Winexe start services on the servers may trigger security alerts in cer-
tain environments.
l A domain account is required to collect certain logs. A regular account does not provide all logs.
l WMI Service often creates CPU load on the servers when a large number of logs are pulled via WMI.
l Collecting logs via polling from thousands of servers is not efficient. If a server is not responsive or slow, you have
to wait for the connection to timeout and this wastes resources.
Linux Servers send log via syslog. However, if you want to collect File Integrity Monitoring Data, then a certain con-
figuration is required for this to be done remotely.
Agents provide a clean and efficient way to collect exactly the data that is needed. FortiSIEM Agents are very light-
weight and do not consume more than 5% of system CPU and memory. FortiSIEM Windows Agents have the fol-
lowing functionality:
l Collect any Windows Event log including Security, Application and Performance event logs, DHCP/DNS logs, Sys-
mon logs, etc.
l Collect Custom log files
l Detect registry changes
l Detect File read, write and edits (FIM) with added user context
l Run any PowerShell command and send the output as logs – this allows users to capture any data at periodic inter-
vals and send it to FortiSIEM.
l Detect removable media insertion, deletion, read and write
FortiSIEM can manage a large number of FortiSIEM Windows Agents using configuration templates. The user needs
to create a template and associate it with servers. Windows Agents can be configured to send logs to FortiSIEM col-
lectors in a round robin fashion. If one collector is not available, the Agent can send it to the next Collector in the list.
This provides a robust and scalable way to collect logs from a large number of servers.
Linux Agents can be used to detect file reads, writes, and edits (FIM functionality) with added user context.
Business Services
A Business Service provides a collection of devices and applications serving a common business purpose. You can
define a Business Service in FortiSIEM either manually or by the Dynamic CMDB Group framework that adds it to the
Business Service once a device matching certain criteria appears in CMDB.
The primary objective of a Business Service is to assist in incident triage. Once a Business Service is defined, every
incident is tagged with the impacted Business Services. A Business Service dashboard provides a top-level Incident-
centric view of Business Services. The user can take care of incidents for critical Business Services and ensure that
they stay up.
The ability to parse any log to any depth is a key SIEM functionality. FortiSIEM comes inbuilt with over 2,500 event
attributes, 175,000 event types and 250 parsers for various device types and applications. In addition, it has a flexible
GUI based framework for customers to enhance existing log parsers, and create completely new device types, event
attributes, event types and log parsers. The user can test parser changes on a live system and apply them to become
effective immediately on all nodes – so changes take effect without any downtime. Parsers can also be exported out of
one system and imported into another system. In Service Provider environments, a parser change can be created at a
global level and deployed to all organizations.
FortiSIEM also comes with a number of built-in performance monitors and configuration pulling scripts for device
types and applications. Discovery automatically enables the applicable monitors and the user can adjust some para-
meters, such as polling intervals. Similar to log parsers, the user can create and test performance monitors on a live
system and apply them to become effective immediately on all nodes – so changes take effect without any downtime.
Performance Monitors can also be exported out of one system and imported into another system.
FortiSIEM tracks changes to installed software and network device configuration. If a new configuration file needs to
be monitored and can be obtained via a script, then the user can add them to the system. FortiSIEM monitors changes
from a current version to a previous version, deviation from a blessed file, and changes between running config and
startup config for certain devices.
FortiSIEM displays devices and users (entities) ranked by risk, providing entity risk scores in Risk View. An entity risk
score is calculated based on triggering incidents using a proprietary algorithm that incorporates asset criticality,
incident severity, frequency of incident occurrence, and vulnerabilities found. In addition, scores are color coded to
quickly identify high risk (red), medium risk (yellow) and low risk (green), and also show occurrence trends, such as
whether a risk has gone up or down. Each entity can be selected to show a more detailed risk score trend, along with
timeline incident data.
FortiSIEM creates an Audit trail of User Identity and Location data in real time by associating a network identity (for
example: an IP address, or MAC address) to user identity (for example: a user name, computer name, or domain or
Cloud logon) and tying that to a location (like a wired switch port, a wireless LAN controller, or VPN gateway or geo-loc-
ation for VPN logins). The associations are generated by piecing together various pieces of information from Windows
Active Directory events, DHCP events, WLAN and VPN logon events and various Cloud service logon events, with dis-
covery results.
FortiSIEM Supervisor and Worker nodes collaborate in a distributed manner to create User Identity and Location
records. The IdentityWorker module on Worker nodes keep a partial User Identity and Location in-memory database
based on the events that they see. Whenever the IdentityWorker module on a specific Worker sees new information,
for example: a new IP address to User association, it updates the database and communicates to the IdentityMaster
module on the Supervisor node. The global User Identity and Location database is created by the IdentityMaster mod-
ule on the Supervisor node by combining information from all IdentityWorker modules. Whenever the IdentityMaster
module sees new information, it sends a signal to parser modules in all nodes, which then gets the latest updates from
the Supervisor node. The parser module injects IP to User meta-data into events in real time so that this information
can be searched without complicated database join operations.
FortiSIEM provides a unified way to search the data it collects from various devices. All data whether it is system logs,
performance metrics, or configuration changes, is converted to an event with parsed event attributes to make it easy
to search.
Searches can be done for real-time data or historical data. In real time mode, search occurs in a streaming node on
incoming data without touching the event database. In historical mode, the user specifies a time period and data resid-
ing in the event database is searched for that time period. Searches can be specified on raw logs or parsed attributes.
A rich variety of grouping and aggregation constructs are supported to display data at various granularity. The raw log
data is saved into the same event database as the parsed attributes and any attributes added via enrichment are also
added to the event and stored in the event database.
FortiSIEM comes pre-built with a large number of reports that can be used as starting points. The user can customize
these reports and save them as their own reports for later use. Reports can be scheduled to run at specified times and
be delivered in various formats, such as PDF and CSV, via email. FortiSIEM provides a large number of compliance
reports, each with reference to specific compliance mandates. To run these reports, the user simply needs to add
devices to the specific compliance device group (Business Service) and then run the report.
All searches run in a distributed fashion in FortiSIEM. For deployments with FortiSIEM NoSQL database, the Super-
visor node distributes each search query to Worker nodes and summarizes the partial results sent back from the
Worker nodes. Assuming you have sufficient NFS IOPS, searches can be made faster up by adding Worker nodes.
Worker nodes can be added to a live system. Since event data is centrally stored in NFS, newly added Workers can
participate in queries.
For deployments with Elasticsearch, the Supervisor node sends each search query to the Elasticsearch Coordinating
node, which then distributes each search query to Elasticsearch Data Node and summarizes the partial results sent
back from the Data Node to the Supervisor node. Adding Elasticsearch Data Nodes can make up searches faster.
Since each Data Node has its own storage, it takes some time for data to be distributed to the newly added Data
Node. However, since data is stored locally on each Data Node, this solution scales horizontally.
Rules detect bad behavioral anomalies for machines and users in real time. FortiSIEM has developed SQL-like XML
based rule specification language. The user creates a rule from the GUI, tests it using real events, and then deploys
the rule. The XML language is quite powerful and uses CMDB Objects (e.g. Device, Network and Application Groups,
Event Type Groups, Malware Objects, Country groups, Watch Lists) to keep the rules concise.
A rule specification involves multiple sub-patterns of events connected by temporal operators (AND, OR, AND NOT,
FOLLOWED BY, and NOT FOLLOWED BY). Each sub-pattern is like a SQL Query with filters, group by attributes and
thresholds on aggregates. The thresholds can be static or dynamically specified based on statistics. A rule can be nes-
ted, meaning a rule can be set to trigger another rule. A rule can also create a watch list that, like a CMDB Object, can
be used in another rule.
Rule computation happens in a streaming mode using distributed in-memory computation involving Super and Worker
nodes. Latest rule definitions are distributed to Super and Worker nodes. Worker nodes evaluate each rule based on
the events it sees and periodically sends partial rule results to the Supervisor node. The Supervisor node keeps the
global rule state machine and creates an incident when rule conditions are met. When a rule involves a statistical
attribute (for example: mean or standard deviation), a baseline report is created which computes the statistics and
updates the rule conditions. The baseline report also runs in a streaming mode using in-line distributed computation.
When a CMDB Object changes, an App Server module on the Supervisor node sends a change signal to the Worker
nodes, which then downloads the changes. This distributed in-memory computation enables FortiSIEM to scale to
near real time performance with high EPS and a large number of rules.
Since FortiSIEM analyzes all data including logs, performance and availability metrics, flows and configuration
changes, the rule engine can detect suspicious behavior. This ability to cross correlate across different functional IT
domains is what makes the FortiSIEM rule framework powerful.
Once an incident triggers, the user may want to take an action, for example: send an email, create a ticket or initiate a
remediation action. Rather than attaching an action to an incident, which does not scale, FortiSIEM takes a policy-
based approach. You can write Incident Notification policies involving Time Of Day, Incident Severity, Affected Items,
and Affected Organization and attach actions to policies. This allows you to create corporate wide policies on who
works on what and on which time of day. Affected items are specified using CMDB Groups and Assigned Users can
be specified using CMDB Users – this makes incident notification policies easy to specify and maintain.
Remediation Library
You may want to remediate an incident by running a script. In FortiSIEM, this amounts to creating an Incident Noti-
fication Policy and attaching the Remediation Script as an Action to the Notification Policy. The remediation script may
run on the Supervisor node or on the Collectors since the enforced devices may be behind a firewall.
When an incident triggers and a Remediation Action has to be taken, the App Server sends a signal to the involved
enforcement points (Supervisor and Collectors). The enforcement point first retrieves necessary information (such as
enforced on device IP or Host name, enforced on device credentials and incident details) from the Supervisor node
and passes that information to the Remediation Script. After the script executes, the Remediation results are attached
to the Incident.
FortiSIEM provides a wide collection of inbuilt Remediation Scripts. The user can create new Remediation Scripts in
FortiSIEM.
This feature allows you to manage a FortiSIEM incident in an external ticketing system. Several API based built-in
integrations are available – ServiceNow, Salesforce and ConnectWise. A Java based framework is available for the
user to create integrations to other ticketing systems.
There are four types of integrations available – Device or Incident and Inbound or Outbound.
l Incident Outbound Integration is used to create a ticket in an external ticketing system.
l Incident Inbound Integration is used to update the external ticket status in FortiSIEM of a ticket opened previously
using Incident Outbound Integration. If a ticket is closed in external ticketing system, the ticket status is also
updated in FortiSIEM.
l Device Outbound Integration is used to update CMDB in an external ticketing system from FortiSIEM CMDB.
Every ticketing system needs a CMDB.
l Device Inbound Integration is used to update FortiSIEM device attributes from an external CMDB.
To use built-in Incident Outbound and Device Outbound Integrations, define an appropriate integration and attach it as
an Action to an Incident Notification Policy. You can use extensive field mappings to customize how the ticket will
appear in the external ticketing system. Incident Inbound and Device Inbound integrations have to be scheduled to run
at periodic intervals.
Dashboards
FortiSIEM offers various types of dashboards for the user to understand the data it collects and the incidents that are
triggering in the system:
l Summary Dashboards
l Widget Dashboards
l Business Service Dashboards
l Identity and Location Dashboards
l Incident Dashboards
l Interface Usage Dashboards
l PCI Logging Dashboards
Summary Dashboards
Summary dashboards show a near real time view of health, up-time, incidents and other key performance metrics of
many devices in a single spreadsheet format – each row is a device and each column is a metric. Cells are color-
coded (Red, Yellow, Green) to highlight the values when they cross certain customizable limits. The advantage of this
type dashboard is that user can simultaneously compare many metrics of many devices from a single view and instant-
aneously spot issues. The user can customize the groups of devices and the corresponding metrics. Additionally, the
user can build multiple Summary dashboards. FortiSIEM has developed an in-memory database that powers this
dashboard – continuous querying event database does not scale. For more information, see Summary Dashboards.
Widget Dashboards
Widget dashboards offer the more traditional Top N dashboard view – one chart for one metric. A wide variety of chart
types are available and are described in FortiSIEM Charts and Views.
Any FortiSIEM Report – whether it is reported on Events or on CMDB – can be added to a Widget dashboard.
FortiSIEM Widget Dashboards have these distinct advantages.
l Color Coding – Items in each widget can be color coding based on thresholds – this can quickly help the user to
spot problems
l Dynamic Search – The user can filter the entire dashboard by Host Name or IP Address to quickly locate what
they're searching for
l Streaming Computation – The reports in the widget dashboard are computed in a streaming mode without making
repeated queries to the event database. This makes the dashboards fast to load.
Incident Dashboards
FortiSIEM provides two Incident Dashboards – Overview and Risk View.
l The Overview dashboard shows a top-down view into Incidents By Category, Top Incidents and where they are
triggering, and Top Impacted Devices and what Incidents they are triggering.
l The Risk View dashboard organizes devices and users by Risk.
Getting Started
Following are the basic steps for getting started with FortiSIEM:
l Step 0 - Pre-Install Considerations
l Step 1 - Install the Virtual or Hardware Appliance
l Step 2 - Install License
l Step 3 - Specify Event Database Storage
l Step 4 - Check System Health and License
l Step 5 - (Optional) Create Organizations for Service Provider Deployments
l Step 6 - (Optional) Check Full Admin Organization Users for Service Provider Deployments
l Step 7 - Add Email Gateway
l Step 8 - (Optional) Add Collector
l Step 9 - (Optional) Set Event Upload Destination for the Collector(s)
l Step 10 - (Optional) Check Collector Health
l Step 11 - Receive Syslog and Netflow
l Step 12 - Check CMDB Devices and Run Searches for received events
l Step 13 - Discover Devices
l Step 14 - Check CMDB and Performance Monitors for discovered devices
l Step 15 - Check Monitored Device health
l Step 16 - Check Incidents
l Step 17 - Notify an Incident via Email
l Step 18 - Create a Ticket in FortiSIEM
l Step 19 - View System Dashboards
l Step 20 - (Optional) Add Worker
l Step 21 - (Optional) Check Worker Health
l Step 22 - Check License Usage
l Step 23 - Set Home Page and Complete Your User Profile
l Step 24 - Log On to the Console and Check Status
l Step 25 - Create Retention Policy
l Step 26 - Set up Automated CMDB Disk Space Management
l Single node (All-in-one Supervisor Appliance) or a Cluster (single Supervisor Appliance e.g. 3500F and mul-
tiple Workers e.g. 2000F)
l Local event database or External storage (cluster requires external storage
l External storage type - FortiSIEM event database or Elasticsearch
l Whether Collectors are needed
For more information about FortiSIEM Licensing, see the Licensing Guide here.
devices discovered by those collectors will belong to that Organization. This typically makes sense for remote man-
agement scenarios.
l Case 2 - By associating an IP range to an Organization – this typically makes sense for hosted scenarios
In both cases, create organizations by visiting ADMIN > Setup > Organizations (see here).
The system will create default system users with Full Admin functionality for each created organization.
Step 6 - (Optional) Check Full Admin Organization Users for Service Provider Deployments
FortiSIEM will automatically create a Super-global Full Admin user and one Full Admin user for each Organization.
Ensure that you are able to log in to:
l each Organization using the system created Full Admin users
l Super-Global mode using Super-global Full Admin user and then switch to any Organization
See 500F Collector Configuration Guide for 6.1 for the installation above.
Install the FortiSIEM Collector Virtual appliance based on the Hypervisor of your choice:
l VMWare ESX
l AWS
l KVM
l Microsoft Hyper-V
See the specific Installation Guides here for the installations above.
Step 12 – Check CMDB Devices and Run Searches for Received Events
If the logs in Step 11 are received correctly in FortiSIEM, then you should see the sending devices in the correct
CMDB device and application group.
You can also search for the logs and see how they are parsed. Go to ANALYTICS > Shortcuts from the folder drop-
down and run 'Raw Messages', 'Top Reporting Devices' or 'Top Event Types' queries (see here for details).
state. Otherwise, a set of (randomly chosen) devices exceeding license limit will be in the Unmanaged state.
FortiSIEM will not receive logs from unmanaged devices, nor they can be monitored. You can flip a device from
Unmanaged to Managed and vice-versa. You can also buy additional licenses to rectify this situation.
l If devices have overlapping IP addresses, then they will be merged. Check for this incident “PH_RULE_DEVICE_
MERGED_OVERLAP_IP” to look for merged devices. To correct this situation, you have two choices:
l Change the overlapping IP address on the device, delete the device from CMDB and rediscover.
l If the overlapping IP is a Virtual IP (VIP), then add this IP to the VIP list in ADMIN > Settings > Discovery.
Delete the device from CMDB and re-discover.
After you have corrected the situation, make sure that devices are not merged and appear correctly in CMDB.
Note that in the enterprise mode, discoveries are done by the Supervisor node. In the Service Provider version, there
are two possibilities, depending on how organizations are defined (see Step 5)
l For Organizations defined by IP addresses, discoveries are done by the Supervisor node. After discovery, the
ization.
l On the other hand, if at least one IP does not belong to specified Organization IP range, then the device
belongs to the Super/local Organization (representing the Hosting Service Provider Organization).
l For Organizations with Collectors, discoveries are done by the associated Collector node. Check CMDB to see
that the devices are marked with the correct Organization and Collector.
As part of discovery, FortiSIEM also discovers which performance metrics it can collect and which logs it can pull. See
ADMIN > Setup > Pull Events and ADMIN > Setup > Monitor Performance tabs (see here for details). You can turn
off log/performance metric collection or tune the polling intervals.
Performance monitoring and log collection is a continuous process. If you tested the credentials before running dis-
coveries (ADMIN > Setup > Credentials > Test Connectivity) and fixed the errors showing up in Discovery error tab,
then the metric/log collection should not have errors. After running for some time, there can be errors – some reasons
being (a) network connectivity issues from FortiSIEM to the devices, (b) someone changed the credentials or access
policies on the device, (c) the device can have performance issues. Please check for errors in the ADMIN > Setup >
Pull Events and ADMIN > Setup > Monitor Performance tabs (see here for details) and fix them. If credentials have
changed, then you must change the credentials in ADMIN > Setup > Credentials and rediscover the corresponding
devices.
Note that many other advanced actions are possible such as:
l Customizing the email template
l Remediating the incident by running a script
l Opening a ticket in an external ticketing system and so on.
l Incident and Location Dashboard – select DASHBOARD > Incident and Location Dashboard (this requires you to
collect DHCP, Active Directory logon events – see here for details
cores), CPU should not be pegged at 99%, and little swap should be used.
l Click on any node and check the health of individual processes running on that node in the bottom pane. Status
should be Up with large Up times and reasonable CPU and memory usage.
Basic - Use the Basic tab to change your password into the system.
Contact - Use the Contact tab to enter your contact information.
UI Settings - Use the UI Settings tab to set the following:
Settings Guidelines
Home Select the tab which opens when you log in to the FortiSIEM UI.
Incident Home Select the Overview, List, Risk, or Explorer display for the INCIDENTS tab.
Dashboard Home Select the Dashboard to open by default under the DASHBOARD tab from this drop-
down list.
Dashboard Settings Select the type of dashboards to be visible/hidden using the left/right arrows. The up/-
Settings Guidelines
Language Specify which language will be used for the UI display. Many UI items have been trans-
lated into the languages in the drop-down list, including buttons, labels, top-level head-
ings, and breadcrumbs. Items that are data-driven are not translated.
Select Dark or Light theme for FortiSIEM UI. Save and refresh the browser to view the
Theme
change.
l cmdb_disk_space_low_threshold (in MB): When free CMDB disk space falls below this defined threshold,
disk management kicks in (default value 50MB).
l cmdb_disk_space_high_threshold (in MB): When disk management kicks in, incidents are purged until
CMDB disk space reaches this defined threshold (default value 100MB).
Advanced Operations
Discovering Users
Users can be discovered via LDAP, OpenLDAP, or they can be added manually. Discovering users via OpenLDAP or
OKTA are similar.
To discover users in Windows Active Directory, discover the Windows Domain Controller:
4. Run discovery.
5. Go to CMDB > Users.
6. Click the "Refresh" icon on left panel and see the users displayed on the right panel.
For details about Discovering Users, see here (Refer to the table by searching: Credentials for Microsoft Windows
Server)
For details about Adding Users, see here.
c. Set Protocol appropriately (for example, LDAP, LDAPS, or LDAPTLS for Active Directory)
d. Enter the IP/Host and Port number
5. Make sure the credentials are defined in ADMIN > Setup > Credentials.
6. Select the entry and click Test to ensure it works correctly.
1. Select the user under CMDB > User and click Edit.
2. Select System Admin and click the edit icon.
3. Set Mode to "External" and set the Authentication Profile created.
You can now click Apply to immediately move the Devices to the desired CMDB Groups and Business Services. Dis-
covery will also honor those rules – so newly discovered devices would belong to the desired CMDB Groups and Busi-
ness Services.
For details about Setting up Dynamic CMDB Groups and Business Services, see here.
Searching Incidents
If you want to search for specific incidents, go to INCIDENTS > List > Actions > Search. A Search Windows appears
on left. First, select the Time Window of interest. Then by clicking on any of the criteria, you can see the current val-
ues. You can select values to see matches incidents in the right pane.
For details about Searching Incidents, see here.
1. Go to CMDB.
2. Select the device and click Edit.
3. In the Properties tab, enter the new value and click Save.
To modify the threshold for a group of devices, repeat the above step for all devices.
Clearing Incidents
In some cases, the Incident may not be happening anymore as the exception condition was corrected.
To clear one or more Incidents:
Remediating an Incident
You can use the following commands to enable Windows Remote Management (WinRM) and set authentication on
the target Windows Servers. See Remediations for information on adding, editing, and deleting a remeditation from
the FortiSIEM UI.
In the remediation script:
1. When you initiate the WinRM session, set transport parameter to ssl.
2. Set the server_cert_validation option accordingly. If you do not need to validate the certificate, set to
ignore. For example:
session = winrm.Session(enforceOn, auth = (user, password), transport="ssl",
server_cert_validation = "ignore")
where Cert:\LocalMachine\My is the location of the certificate store and mySubjectName.lan is the
subject alternate name extension of the certificate.
2. Create an HTTPS listener, for example:
winrm create winrm/config/Listener?Address=*+Transport=HTTPS '@{Port
="5986";Hostname="{your host name}"; CertificateThumbprint="{Cer-
tificateThumbprint}"}'
3. Start the WinRM service and set the service startup type to auto-start. The quickconfig command
also configures a listener for the ports that send and receive WS-Management protocol messages using either
HTTP or HTTPS on any IP address.
winrm quickconfig -transport:https
b. Check whether a listener is running, and verify the default ports, for example:
winrm get winrm/config/listener
Remediation can be done either on an ad hoc basis (for example, user selects an Incident that has already occurred to
Remediate) or using a Notification Policy where the system takes the Remediation action when Incident happens.
First, make sure the Remediation script for your scenario is defined. Check the existing Remediation scripts in ADMIN
> Settings > General > Notification Policy > Remediation settings. If your device is not in the list, add the needed
Remediation script.
To set ad hoc remediation:
l Enter the name and path to the script in the Script field.
l Select the role the script will run on from the Run On drop-down list.
l Remediation:
l Select a remediation script from the Script drop-down list.
l Select the role that the script will run on from the Run On drop-down list.
l Open the Enforce On drop-down list to choose which devices the remediation script will run on. In
theNotification Policy - Define Script/Remediation - Enforce On dialog box, open the Device tree.
Select individual devices and shuttle them to the Selections column. (You can choose only individual
devices; you cannot choose device groups.)
6. Click Save.
For adding users see Advanced Operations > Creating System users.
Note that you can put multiple Incidents on one ticket or add an Incident to an existing ticket.
For details, see here.
1. Define an Incident Inbound Integration Policy by visiting ADMIN > Settings > General > External
Integration.
2. Select the Policy and click Schedule to run the Incident Inbound Integration Policy.
1. Go to CMDB.
2. Search for the device and by typing in a string in the search window.
3. Check the Monitor Status column.
4. If Monitor Status Warning or Critical, then select the Device and check the Monitor sub-tab in the bottom pane
to find out the reason.
FortiSIEM is an optimized multi-threaded solution. If one node is given too many devices to monitor, each device with
many metrics, then it may not be able to keep up. If FortiSIEM is not able to keep up (e.g. polling interval is 1 minute
and last poll was 3 minutes ago), then you can do one of the following:
1. Check the Monitored Device resources (CPU, memory) and the network between FortiSIEM and the Mon-
itored Device. Many monitoring protocols such as SNMP, WMI will not operate under WAN type latencies
(greater than 10 msec).
2. Increase the polling intervals by visiting ADMIN > Setup > Monitor Performance > More > Edit Intervals.
Note: If you increase polling intervals, some performance monitoring rules that require a certain number of
polls in a time window may not trigger. Please adjust those rules either by reducing the number of polls or
increasing the time window. For example, if a rule needs 3 events (polls) for a 10 min time window with original
polling interval as 3 min, the rule will not trigger if polling interval is changed to 4 min or higher. To make the
rule trigger again, either reduce the number of events needed (for example, from 3 to 2) or increase the time
window (for example, from 10 min to 15 min).
3. Turn off some other jobs by visiting ADMIN > Setup > Monitor Performance > More > Edit Intervals.
4. Deploy Collectors close to the Monitored Devices or deploy more Collectors and distribute performance mon-
itoring jobs to Collectors by doing re-discovery.
1. Go to CMDB.
2. Search for the device and by typing in a string in search window.
3. Choose Actions > Device Health.
Since FortiSIEM discovers interfaces and processes, it is easy to select Critical Interfaces and Processes for Mon-
itoring.
Note that once you select Important Interfaces and Processes, only these Interfaces and Processes will be monitored
for availability and performance.
For details, see here.
1. Go to ADMIN > Settings > Event Handling > Event Org Mapping.
2. Click New to create an Event Org mapping definition.
3. Select a Device Type from the drop-down list.
4. Specify the Event Attribute that contains the Organization information.
5. Specify the Collector that will do this Event Org Mapping.
6. Specify an IP or IP Range.
7. Specify the mapping rules by clicking the edit icon next to Org mapping. In the Event Organization Mapping
dialog box, map Event Attribute values to Organizations.
Scheduling Reports
Reports can be scheduled to run at later time and contain data for a specific period of time. Go to RESOURCES >
Reports > Choose a Report > More > Schedule.
For details, see here.
1. Click DASHBOARD
2. Open the Dashboard Folder drop-down list.
3. Click New.
System Errors
To see the system errors, click the Jobs/Errors icon on the top-right corner of FortiSIEM GUI and select the Error tab.
You can also run a report in ANALYTICS > click the Folders icon > Shortcuts > Top FortiSIEM Operational Errors.
All of the tabs in the User Activity dialog box contain the time of the last refresh and the number of seconds until the
next automatic refresh. By default, the automatic refresh interval is 60 seconds. To refresh the table on demand, click
the Refresh button.
Logged in Users
This tab displays a table listing the users currently logged in to FortiSIEM. You can perform the following operations on
this tab:
l Log Out - Select one or more users in the table and click Log Out. The selected users will be logged out of
FortiSIEM.
l Log Out and Lock Out - Select one or more users in the table and click Log Out and Lock Out. The selected
users will be logged out of FortiSIEM and prevented from logging back in.
Column Description
Login Time The date and time when the user logged in.
Locked Users
This tab displays a table listing the users currently locked out of FortiSIEM. Typically, user access to FortiSIEM can be
locked due to multiple login failures. You can perform the following operations on this tab:
l Unlock - Select one or more users in the table and click Unlock.
Note: Users can also be unlocked by going to CMDB > Users > Actions > Unlock.
The Locked Users table contains the following information:
Column Description
Locked Time The date and time when the user was locked out of FortiSIEM.
Query Status
This tab displays a table listing the status of current and recent queries. You can perform the following operations on
this tab:
l Stop Query - Select a query from the table and click Stop Query. The selected query will be stopped remotely. If
the query was sent from the ANALYTICS page, you should see a warning message saying this query was stopped
manually. You should also be able to see the partial results you received before it was stopped.
l Search - Click the Search button to search for queries by Query name (plain text search), User name (multiple
options selected via a checkbox), and/or query Type (multiple options selected via a checkbox).
l Sort - Click a column name. You can sort the column data in ascending or descending order.
l Job Distribution for Query - Click a query in the Query Status table to see the Job Distribution for Query <query_
name> table. This table identifies the Worker nodes employed in processing the query and their status. For more
information, see Obtaining Job Distribution for Query.
Column Description
Start Time The date and time when the query was issued.
l Waiting - The query is waiting in the queue because the maximum number
of running queries has been reached.
Progress The percent of progress the query has made towards completion.
To see how the query job is distributed between Worker nodes, click a query in the Query Status table. The Job Dis-
tribution for Query <query_name> table appears beneath the Query Status table.
l Sort - Click a column name. You can sort the column data in ascending or descending order.
The Job Distribution for Query <query_name> table contains the following information:
Column Description
Progress The percent of progress the query has made towards completion.
Running For The time (in seconds) elapsed since the Start Time. Note: This value is cal-
culated from the last refresh time, not the Last Update minus the Start Time.
Start Time The date and time when the query began processing.
Last Update The data and time when the Worker last reported a progress update.
Query Workload
This tab displays a table listing the available Worker nodes for a query job. You can perform the following operations
on this tab:
l Sort - Click a column name. You can sort the column data in ascending or descending order.
l Status of Running Tasks - Click a Worker node row in the Query Workload table to display the Tasks Running
On <Worker_IP_address> table. For more information, see Obtaining Running Tasks.
Column Description
Interactive Tasks The number of interactive tasks (that is, sent from the ANALYTICS page)
assigned to the Worker node.
Scheduled Tasks The number of scheduled tasks assigned to the Worker node.
Task Workload The total number of tasks assigned to the Worker node.
To see the status of running tasks, click a Worker node in the Query Workload table. The Tasks Running On
<Worker_IP_address> table appears beneath the Query Workload table. You can perform the following operations on
this tab:
l Sort - Click a column name. You can sort the column data in ascending or descending order.
Column Description
Start Time The date and time when the query began processing.
Progress The percent of progress the query has made towards completion.
Administrator Tools
For information on Administrator Tools, see here.
Administration
The ADMIN tab provides the tools required to setup and monitor FortiSIEM.
The following tools are available:
Setup 231
Health 379
License 390
Settings 400
Setup
Before initiating discovery and monitoring of your IT infrastructure, configure the following settings:
Overview 234
Configuring Storage
l Overview
l Configuring Online Event Database on Local Disk
l Configuring Online Event Database on NFS
l Configuring Online Event Database on Elasticsearch
l Configuring Archive Event Database on NFS
l Configuring Archive Event Database on HDFS
l Changing Event Storage Options
l Changing NFS Server IP
l Disk Space Management
Overview
FortiSIEM provides a wide array of event storage options. Upon arrival in FortiSIEM, events are stored in the Online
event database. The user can define retention policies for this database. When the Online event database becomes
full, FortiSIEM will move the events to the Archive Event database. Similarly, the user can define retention policies for
the Archive Event database. When the Archive becomes full, events are discarded.
The Online event database can be one of the following:
l FortiSIEM EventDB
l On local disk for All-in-one installation
Note the various installation documents for 3rd party databases, for example.
l Elasticsearch Storage Guide
l NFS Storage Guide
Event DB Retention
This section describes how to configure the Online Event database on local disk. Use this option when you have an
all-in-one system, with only the Supervisor and no Worker nodes deployed.
Settings Guidelines
4. Click Test.
5. If the test succeeds, click Save.
Setting Up Retention
When Online database becomes full, then events have to be deleted to make room for new events. This can be
Space-based or Policy-based.
l Setting Up Space-Based Retention
l Setting Up Policy-Based Retention
l How Space-Based and Policy-Based Retention Work Together
Space-based retention is based on two thresholds defined in the phoenix_config.txt file on the Supervisor node.
[BEGIN phDataPurger]
online_low_space_action_threshold_GB=10
online_low_space_warning_threshold_GB=20
[END]
When the Online Event database size in GB falls below the value of online_low_space_action_threshold_
GB, events are deleted until the available size in GB goes slightly above the online_low_space_action_
threshold_GB value. If Archive is defined, then the events are archived. Otherwise, they are purged.
If you want to change these values, then change them on the Supervisor and restart phDataManager and
phDataPurger modules.
Policies can be used to enforce which types of event data remains in the Online event database.
For information on how to create policies, see Creating Online Event Retention Policy. Note: This is a CPU, I/O, and
memory-intensive operation. For best performance, try to write as few retention policies as possible.
You must choose this option when you have multiple Workers deployed and you plan to use FortiSIEM EventDB.
The NFS Storage should be configured as NFS version 3 with these options: “rw,sync,no_root_squash”.
4. Click Test.
5. If the test succeeds, click Save.
Setting Up Retention
When the Online database becomes full, then events must be deleted to make room for new events. This can be
Space-based or Policy-based.
l Setting Up Space-Based Retention
l Setting Up Policy-Based Retention
l How Space-Based and Policy-Based Retention Work Together
Space-based retention is based on two thresholds defined in the phoenix_config.txt file on the Supervisor node.
[BEGIN phDataPurger]
online_low_space_action_threshold_GB=10
online_low_space_warning_threshold_GB=20
[END]
When the Online Event database size in GB falls below the value of online_low_space_action_threshold_
GB, events are deleted until the available size in GB goes slightly above the online_low_space_action_
threshold_GB value. If Archive is defined, then the events are archived. Otherwise, they are purged.
If you want to change these values, then change them on the Supervisor and restart the phDataManager and
phDataPurger modules.
Policies can be used to enforce which types of event data stays in the Online event database.
For information on how to create policies, see Creating Online Event Retention Policy. Note: This is a CPU, I/O, and
memory-intensive operation. For best performance, try to write as few retention policies as possible.
Use this option when you want FortiSIEM to use the REST API Client to communicate with Elasticsearch.
Settings Guidelines
4. Click Test.
5. If the test succeeds, click Save.
Use this option when you have FortiSIEM deployed in AWS Cloud and you want to use AWS OpenSearch (Previously
known as AWS Elasticsearch).
Settings Guidelines
4. Click Test.
5. If the test succeeds, click Save.
Settings Guidelines
URL [Required] IP address or DNS name of the
Elasticsearch cluster Coordinating node.
The IP/Host must contain https.
Click + to add more URL fields.
Note: Additional URLs should not be needed
for Elastic Cloud configuration setup.
Click - to remove any existing URL fields.
Settings Guidelines
User Name [Optional] User name
4. Click Test.
5. If the test succeeds, click Save.
Depending on whether you use Native Elasticsearch, AWS OpenSearch (Previously known as AWS Elasticsearch),
or ElasticCloud, Elasticsearch is installed using Hot (required), Warm (optional), and Cold (optional, availability
depends on Elasticsearch type) nodes and Index Lifecycle Management (ILM) (availability depends on Elasticsearch
type). Similarly, the space is managed by Hot, Warm, Cold node thresholds and time age duration, whichever occurs
first, if ILM is available. See What's New for the latest information on elasticsearch retention threshold compatibility.
For steps, see here.
l When the Hot node cluster storage capacity falls below the lower threshold or meets the time age duration, then:
l if Warm nodes are defined, the events are moved to Warm nodes,
l else if Warm nodes are not defined, but Cold nodes are defined, the events are moved to Cold nodes,
l else if Cold nodes are not defined, and Archive is defined, then they are archived,
l otherwise, events are purged
This is done until storage capacity exceeds the upper threshold.
l If Cold nodes are defined and the Cold node cluster storage capacity falls below lower threshold, then:
l if Archive is defined, then they are archived,
You must choose this option when you have multiple Workers deployed and you plan to use FortiSIEM EventDB.
The NFS Storage should be configured as NFS version 3 with these options: “rw,sync,no_root_squash”.
Settings Guidelines
checkbox to enable/disable.
Note: You must click Save in step 5 in order
for the Real Time Archive setting to take
effect. It is strongly recommended you con-
firm that the test works, in step 4 before sav-
ing.
4. Click Test.
5. If the test succeeds, click Save.
Setting Up Retention
When the Archive database becomes full, then events must be deleted to make room for new events. This can be
Space-based or Policy-based.
l Space-Based Retention
l Policy-Based Retention
l How Space-Based and Policy-Based Retention Work Together
Space-Based Retention
Space-based retention is based on two thresholds defined in phoenix_config.txt file on the Supervisor node.
[BEGIN phDataPurger]
archive_low_space_action_threshold_GB=10
archive_low_space_warning_threshold_GB=20
[END]
When the Archive Event database size in GB falls below the value of archive_low_space_action_threshold_
GB, events are purged until the available size in GB goes slightly above the value set for archive_low_space_
action_threshold_GB.
If you want to change these values, then change them on the Supervisor and restart the phDataManager and
phDataPurger modules.
Policy-Based Retention
Policies can be used to enforce which types of event data remain in the Archive event database.
For information on how to create policies, see Creating Offline (Archive) Retention Policy. Note - This is a CPU, I/O,
and memory-intensive operation. For best performance, try to write as few retention policies as possible.
HDFS provides a more scalable event archive option - both in terms of performance and storage.
4. Click Test.
5. If the test succeeds, click Save.
When the HDFS database becomes full, events have to be deleted to make room for new events.
This is set by Archive Thresholds defined in the GUI. Go to ADMIN > Settings > Database > Online Settings.
Change the Low and High settings, as needed.
When the HDFS database size in GB rises above the value of archive_low_space_action_threshold_GB,
events are purged until the available size in GB goes slightly above the value set for archive_low_space_
action_threshold_GB.
Elasticsearch to NFS
Local to NFS
NFS to Local
1. Go to ADMIN > License > Nodes and remove all the Worker nodes.
2. SSH to the Supervisor and stop FortiSIEM processes by running:
phtools --stop all
3. Unmount /data by running:
umount /data
4. Validate that /data is unmounted by running:
df –h
5. Edit /etc/fstab and remove /data mount location.
6. Attach new local disk to the Supervisor. It is recommended that it is 50~80GB.
7. Go to ADMIN > Setup > Storage > Online.
8. Change the storage type to Local Disk and add the local disk's partition to the Disk Name field. (e.g.
/dev/sde).
9. Click Test to confirm.
10. Click Save.
7. In the Server field, with IP selected, enter the new IP address of the NFS server.
8. In the Exported Directory field, enter the correct NFS folder's path.
9. Click Test to confirm.
10. Click Save.
11. Go to ADMIN > License > Nodes and add back all the Worker nodes.
There are two parameters in the phoenix_config.txt file on the Supervisor node that determine the operations.
They appear under the phDataPurger section.
[BEGIN phDataPurger]
- online_low_space_action_threshold_GB (default 10GB)
- online_low_space_warning_threshold_GB (default 20GB)
[END]
When Online disk space reaches the low threshold (online_low_space_action_threshold_GB) value, then
events are archived (if archive directory is set) or purged. This operation continues until the Online disk space reaches
the online_low_space_warning_threshold_GB value. This check is done hourly.
You can change these parameters to suit your environment and they will be preserved after upgrade. You must restart
phDataPurger module to pick up your changes.
Log in to the FortiSIEM GUI and go to ADMIN > Settings > Online Settings. If Elasticsearch is chosen as Online stor-
age, depending on your elasticsearch type, and whether you have archive configured, the following choices will be
available in the GUI.
l Hot Node - Low Threshold (default 25%), High Threshold (35%), Age 90 days
l Warm Node - Low Threshold (default 20%), High Threshold (30%), Age 90 days
l Cold Node - Low Threshold (default 20%), High Threshold (30%)
l Archive - Low Threshold (default 10%), High Threshold (20%)
When Hot Node disk free space reaches the Low Threshold value, events are moved until the Hot Node disk free
space reaches the High Threshold value. Event destination can be one of the following:
l Warm Node
l Cold Node - if Warm Nodes are not defined
When Warm Node disk free space reaches the Low Threshold value, events are moved to Cold node. If Cold node is
not defined, events are moved to Archive or purged (if Archive is not defined) until Warm disk free space reaches High
Threshold.
When Cold Node disk free space reaches the Low Threshold value, events are moved to Archive or purged (if Archive
is not defined), until Cold disk free space reaches High Threshold.
There are two parameters in the phoenix_config.txt file on the Supervisor node that determine when events are
deleted. They appear under the phDataPurger section:
[BEGIN phDataPurger]
- archive_low_space_action_threshold_GB (default 10GB)
- archive_low_space_warning_threshold_GB (default 20GB)
[END]
When the Archive disk space reaches the low threshold (archive_low_space_action_threshold_GB) value,
events are purged until the Archive disk space reaches the high threshold (online_low_space_warning_
threshold_GB) value. This check is done hourly.
You can change these parameters to suit your environment and they will be preserved after upgrade. You must restart
phDataPurger module to pick up your changes.
This is set by configuring the Archive Threshold fields in the GUI at ADMIN > Settings > Database > Online Set-
tings. Elasticsearch must be configured as online storage, and HDFS as offline storage in order for the Archive
Threshold option/field to appear in the configuration. This is the only way to purge data from HDFS. For more inform-
ation on configuring thresholds, see Setting Elasticsearch Retention Threshold.
l Defining an IP range for an Organization – if the sending IP of a device belongs to the IP range, then the device
and logs belong to that Organization.
This section provides the procedures to configure an Organization for a multi-tenant FortiSIEM deployment.
l Creating an Organization
l Installing a Collector
l Registering a Collector
Make sure the Worker Upload has been configured prior to defining the Collectors.
Creating an Organization
Complete these steps to add an Organization:
Settings Guidelines
Admin User [Required] User name that will be used two purposes: (a)
Users logging in to FortiSIEM Supervisor GUI for that Organ-
ization and (b) Collector registration to Supervisor. This user
has 'Full Admin' role.
Admin Pass-
word/Confirm Admin [Required] Password of the Admin user.
Password
Admin Email [Required] Email id of the Admin user for the Organization.
Include IP/IP Range IP range for the Organization in case the Organization is
defined by IP addresses. Allowed format is comma-separated
individual IPs or IP range 10.10.10.1-10.10.10.8
Agent User User name used by FortiSIEM Windows and Linux Agents to
register to FortiSIEM Supervisor.
Note: An Agent User cannot be used to log into the UI.
Settings Guidelines
Agent Pass-
word/Confirm Agent Password of Agent User.
Password
Max Devices Maximum number of monitored CMDB devices for the Organ-
ization
4. If your Organization uses Collectors, click New under Collectors and enter the information below.
Settings Guidelines
Upload Rate Limit Maximum rate limit (in Kbps) at which a Collector can send
(Kbps) events to all Workers.
End Time [Required] Select a specific end date or check 'Unlimited'. Col-
lectors will not work outside of start and end dates if specific
dates are chosen.
Installing a Collector
For installing Collectors, see the "Install Collector" sections in the specific Installation Guides. See also the Upgrade
Guide and the Sizing Guide.
Registering a Collector
Once a Collector has been created in the GUI, the Collector needs to be installed and registered.
For registering a Collector, follow these steps:
l Installing a Collector
l Registering a Collector
Make sure the Worker Upload has been configured prior to defining the Collectors.
Adding a Collector
Complete these steps to add an Collector:
Settings Guidelines
Upload Rate Limit Maximum rate limit (in Kbps) at which a Collector can send
(Kbps) events to all Workers. Rate limit is enforced at periodic 3
minute intervals. When either the upload rate limit or EPS limit
are hit, events are buffered at the Collector and sent later.
Settings Guidelines
Start Time [Required] Select a specific start date or check 'Unlimited'. Col-
lectors will not work outside of start and end dates if specific
dates are chosen.
Agent User User name used by FortiSIEM Windows and Linux Agents to
register to FortiSIEM Supervisor.
Agent Pass-
word/Confirm Agent Password of Agent User
Password
4. Click Save.
Installing a Collector
For installing Collectors, see the "Install Collector" sections in the specific Installation Guides. See also the Upgrade
and Sizing Guides here.
Registering a Collector
Once a Collector has been created in the GUI, the Collector needs to be installed and registered.
For registering a Collector, follow these steps:
Setting Credentials
FortiSIEM communicates with various systems to collect operating system/hardware/software information, logs, and
performance metrics. This section provides the procedures to set up a device credential and associate them to an IP
or IP range.
l Creating a Credential
l Associating a Credential to IP Ranges or Hosts
l Testing Credentials and API Event Collection
l Modifying Device Credential
l Modifying a Credential Association
l Credentials Based on Access Protocol
Creating a Credential
Complete these steps to create a login credential:
Settings Guidelines
Name [Required] Name of the credential that will be used for reference purpose.
Access Protocol Type of access protocol from the drop-down. Note that this list depends on the
selected device type.
TCP/UDP Port number for communicating to the device for the access pro-
Port
tocol.
4. Enter the options in the remaining fields that appear based on the Device Type selection.
5. Click Save.
Settings Guidelines
IP/Host Name [Required] Host name, IP address or IP range to associate with a credential. Allowed
IP range syntax is single IP, single range, single CIDR or a list separated by comma
– e.g. 10.1.1.1, 10.1.1.2,20.1.1.0/24, 30.1.1.1-30.1.1.10. Host names are only
allowed for a specific set of credentials see below.
3. Click Save.
1. Select an association.
2. Click Test after choosing:
l Test Connectivity – the device will be pinged first and then the credential will be attempted. This shortens
the test connectivity process in case the device with specified IP is not present or reachable.
l Test Connectivity without Ping – the credential will be attempted without pinging first.
3. Check the test connectivity result in the pop up display.
1. Select an association from the list and click the required option.
l Edit - to modify any credential settings.
1. Select the credential association from the list and click the required option under Step 2: Enter IP Range to
Credential Associations:
l Edit - to edit an associated IP/IP range
Discovering Devices
FortiSIEM automatically discovers devices, applications, and users in your IT infrastructure and start monitoring them.
You can initiate device discovery by providing the credentials that are needed to access the infrastructure component,
and from there FortiSIEM will discover information about your component such as the host name, operating system,
hardware information such as CPU and memory, software information such as running processes and services, and
configuration information. Once discovered, FortiSIEM will also begin monitoring your component on an ongoing
basis.
This section provides the procedures for discovering devices.
l Creating a Discovery Entry
l Discovering on Demand
l Scheduling a Discovery
l Searching Previous Discovery Results
l Editing a Discovery
l Exporting Discovery Results
Settings Guidelines
Name [Required] Name of the discovery entry that will be used for reference.
Settings Guidelines
dential mapping.
l L2 Scan - FortiSIEM will discover only the Layer 2 connectivity of the devices.
l Azure Scan - FortiSIEM will discover the devices in Azure Cloud learnt via
Azure SDK. For Azure Scan to succeed, there needs to be a Credential
mapped to azure.com in the IP to Credential mapping.
Root IPs IP address of the Starting device for Smart Scan. See Smart scan definition above.
Exclude A list of IP addresses that will be excluded for discovery. Allowed IP range syntax is
single IP, single range, single CIDR or a list separated by comma – e.g. 10.1.1.1,
10.1.1.2,20.1.1.0/24, 30.1.1.1-30.1.1.10.
A list of device Types that will be included for discovery. Click the edit icon to con-
Include Types
figure the Range Definition and Save.
Exclude Types A list of device Types that will be excluded for discovery. Click the edit icon to con-
figure the Range Definition and Save.
Host names can learn from DNS look up or SNMP/WMI. If these do not match,
then choose which discovery method with higher priority. For example, if DNS is
Name resolution
chosen then FortiSIEM will get host names from DNS. If DNS lookup fails for an IP,
the host names will be obtained from SNMP/WMI.
Settings Guidelines
4. Click Save.
Discovering on Demand
Scheduling a Discovery
Discovery can be a long-running process when performed on a large network, or over a large IP range, and so you
may want to schedule it to occur when there is less load on your network or during off hours. You may also want to set
up a schedule for the process to run and discover new devices on a regular basis.
l For recurring discoveries, select how often (hourly, daily, weekly, monthly), you want discovery to run, and
then enter other scheduling options.
6. Click Save.
Editing a Discovery
Complete these steps to modify discovery settings:
1. Click History.
2. In the Discovery History dialog box, select the discovery type.
3. Based on the type of information required, select the required option:
- View Results - to see the discovery results
- View Errors - to see the errors during discovery
- View Changes - to see the changes in discovery
4. Click Export based on your selection in step#3.
5. Optional - Enter the User Notes.
6. Select the Output Format as PDF or CSV.
7. Click Generate.
'Export successful message' is displayed under Export Report dialog box.
8. Click View to see the discovery results.
Complete these steps to enable/disable a specific event pulling job for a device:
1. Change the Scope to Local and go to ADMIN > Setup > Monitor Performance tab.
2. Select the device from the list.
3. Click More and select the required option:
l Edit System Monitors to select the Protocols and click Save.
Another way to enable/disable a specific job or tune monitoring intervals for specific jobs for all devices:
1. In the Step 1: Edit Monitoring Definitions dialog box, click the tab based on the required action.
Tab Description
2. Click Save.
Ping Checks packet loss Maximum Packet Loss PCT: tolerable Make sure the device is
and round trip time. packet loss. accessible from the
FortiSIEM node from which
Maximum Average Round Trip Time: tol- this test is going to be per-
erable round trip time (seconds) from formed.
FortiSIEM to the destination and back.
POP.
l Server: name of the IMAP or POP
server.
l User Name: user account on the
HTTP(S) - This test uses a Sel- Upload: select the java file you exported How to export:
Selenium enium script to play from Selenium. l Make sure Selenium IDE
Script back a series of web- Total Timeout: the script must complete by is installed within Firefox
site actions in this time or the test will be considered browser.
FortiSIEM. failed. l Open Firefox.
Step Timeout: each step must complete by l Launch Tools > Sel-
this time. enium IDE. From now
on, Selenium is record-
ing user actions.
l Visit websites.
l Once done, stop record-
ing.
l Click File > Export Test
case as > Java / Junit 4
/WebDriver.
l Save the file as .java in
your desktop. This file
has to be inputted in
FortiSIEM.
TCP This test attempts to Timeout: this is the single success cri-
connect to the spe- terion. If there is no response within the
cified port using TCP. time specified here, then the test fails.
SSH This test issues a com- Remote Command: the command to run You must set up an SSH cre-
mand to the remote after logging on to the system dential on the target server
server over SSH, and Timeout: this is the primary success cri- before setting up this test.
checks the response terion - if there is no response within the As an example test, you
time and expected res- time specified here, then the test fails. could set Raw Command to
ults. ls, and then set Contains
Contains: an expected string in the test res- to the name of a file that
ults. should be returned when
that command executes on
the target server and dir-
ectory.
IMAP This tests checks con- Timeout: this is the single success criterion
nectivity to the IMAP - if there is no response within the time spe-
service. cified here, then the test fails.
This test checks con- Timeout: this is the single success criterion
POP nectivity to the IMAP - if there is no response within the time spe-
service. cified here, then the test fails.
SMTP This test checks con- Timeout: this is the single success criterion
nectivity to the SMTP - if there is no response within the time spe-
service. cified here, then the test fails.
This test issues a trace Timeout: If there is no response from the For the trace route from AO
route command to the system within the time specified here, then to destination D via hops H1,
TRACE destination and parses the test fails. H2, H3, FortiSIEM gen-
ROUTE the results to create Protocol Type: Specifies the IP protocol erates 3 hop by hop PH_
PH_DEV_MON_ over which trace route packets are send - DEV_MON_TRACEROUTE
TRACEROUTE current options are UDP, TCP and ICMP.
events.
First event: Source AO,
destination H1,
Min/Max/Avg RTT, Packet
Loss for this hop.
Second event: Source H1,
destination H2,
Min/Max/Avg RTT, Packet
Loss for this hop.
Max TTL: Max time to live (hop) value used
Third event: Source H2,
events, one for each in outgoing trace route probe packets.
destination H3,
hop. Wait Time: Max time in seconds to wait for
Min/Max/Avg RTT, Packet
a trace route probe response.
Loss for this hop.
Fourth event: Source H3,
destination D, Min/Max/Avg
RTT, Packet Loss for this
hop
Fourth event: Source H3,
destination D, Min/Max/Avg
RTT, Packet Loss for this
hop.
When an STM test fails, three system rules are triggered, and you can receive an email notification of that failure by
creating a notification policy for these rules:
l Service Degraded - Slow Response to STM: Detects that the response time of an end-user monitored service is
greater than a defined threshold (average over 3 samples in 15 minutes is more than 5 seconds).
l Service Down - No Response to STM: Detects a service suddenly went down from the up state and is no longer
responding to synthetic transaction monitoring probes.
l Service Staying Down - No Response to STM: Detects a service staying down, meaning that it went from up to
down and did not come up, and is no longer responding to end user monitoring probes.
l Specifying a Schedule
Settings Guidelines
Name [Required] Name of the Calendar. This will be displayed on the Calendar.
Schedule [Required] Specify the times during which devices will be in maintenance.
3. Optional - To generate incidents during maintenance, enable Generate Incidents for Devices under Main-
tenance.
4. Click Save.
Specifying a Schedule
l Recurrence Pattern specifies if and how the maintenance window will repeat.
l If the maintenance window is one time:
1. Click the Groups/Devices drop-down list in the Device Maintenance dialog box.
2. From the Folders on the left pane, select either the Devices folder or the STM folder of all the STM jobs
defined so far.
3. From the devices/STM jobs shown in the middle pane, select the appropriate ones and click > for them to
appear in the right Selections pane.
4. To select all devices in a folder, select the folder on the left windows and click >> to move the folder into the
right window.
5. Click Save.
You can navigate to a specific month on the Calendar, click the < and > buttons on the top-left of the Calendar. To
view the current Maintenance, click Current.
To receive logs from Windows Agent, you must complete the following steps:
Once these steps are completed, the Supervisor node will distribute monitoring policies to the Agents and you will be
able to see events in FortiSIEM.
This section also covers these topics:
l Viewing Agent Status
l Enabling or Disabling an Agent
l Viewing Files in FortiSIEM
l Verifying Events in FortiSIEM
l Service Level Protection Properties
l Auto Restart Service Behavior
Name Enter the name of the Windows Agent Monitor Template. This name is used
as a reference in Template associations.
b. Configure the Event settings with reference to the table below. Make sure you have completed these
steps from the Windows Agent Installation Guide:
l To enable DNS logging, follow the steps in Configuring Windows DNS.
c. Select UEBA to turn on UEBA functionality for all hosts running Windows 4.0 that are permitted by the
UEBA license. For example, if you have 10 UEBA licenses and you applied the template to 100 hosts,
system will apply the UEBA license to 10 random hosts. You can turn on/off UEBA on hosts via CMDB.
d. Configure the User Log settings with reference to the table below:
User Log set-
Guidelines
tings
User Log Click New to add the custom log files that must be monitored:
l File—(Required) Enter the full file name.
l Log Prefix—(Required) Any prefix to the identify events from this file for
better accessibility.
Example:
The contents of the file C:\test\test.txt needs to be brought into FortiSIEM for analysis. The log
prefix FSMAGENT was chosen. To configure the Windows Agent template in FortiSIEM, from the User
Log tab, you would take the following steps.
In the Full file Name field, you would enter "C:\test\test.txt".
In the Log Prefix field, you would enter "FSMAGENT".
e. Configure the FIM settings with reference to the table below. Make sure you have completed these
steps from the Windows Agent Installation Guide:
l To enable logging appropriately, follow the steps in Configure Security Audit Logging Policy.
l To get user meta data in the file auditing logs, follow the steps in Configure File Auditing Policy.
l To enable change events for permission and/or ownership changes to files and/or directories, fol-
low the steps in Configure Audit File System Policy.
b. Click Save.
Use the Edit/Delete buttons to modify/remove any file directory inform-
ation.
Check Every Set the time period to check the Registry Change in Minute(s) or Hour(s).
4. Click Save.
Use the Edit button to modify any template or Delete button to remove any Windows Agent Monitor template.
Settings Guidelines
Host Use the drop-down list to browse the folders and select the Devices or/and Busi-
ness Services to monitor and click Save.
Select one or more monitoring templates from the list or select All Templates to
Template
include all. You can also use the search bar to find any specific template.
Collector Select the Collector from the list or select All Collectors to include all. Agents for-
ward events to Collectors via HTTP(S). A Collector is chosen at random and if that
Collector is not available or non-responsive, then another Collector in the list is
chosen.
You can use the Edit button to modify or Delete button to remove any template association.
Status Description
Registered Agent has completed registration but has not received the monitoring template.
Running Active Agent has received a monitoring template and it is performing properly.
Running Inactive Agent is running but does not have a monitoring template – the reasons can be (a)
no license or (b) incomplete definition - no Collector or Template is defined for that
host.
Disconnected Supervisor did not receive any status from the Agent for the last 10 minutes.
1. Go to the CMDB page. Make sure that AGENT is one of the Methods.
2. Search for the device in CMDB by name.
Use the host name that you used in the InstallSettings.xml file to install the Windows Agent.
3. Click File beneath the device table.
You will see all of the files that were changed since the monitoring template was applied.
4. Select a file.
If you need to search for a file, set the From and To dates. The files which changed between those dates will
be displayed.
5. Click the file name on the left and its contents will be displayed in the right hand window.
Each file has a header containing file meta data followed by the actual file content.
l FILEPATH: The full file name, including the path.
l ARCHIVE: Set to true if ArchiveBit is set; set to false if it is not.
l HASHCODE: The file hash.
l HASHALGO: The algorithm used to compute file hash.
l OWNER: The file owner.
l USER, PERMIT, DENY: Permissions are specified as a (User, Permit, Deny) triple. This describes the
actions that the user is allowed to perform.
l MODIFIED_TIME: The time when the file was last modified.
6. To see the differences between two files, select two files on left and click Diff.
1. Go to ANALYTICS tab.
2. Click the Filters field.
3. Create the following condition: Attribute= Raw Event Log, Operator = CONTAIN, Value = AccelOps-WUA
and click Save & Run.
Note: All event types for all Windows Server generated logs are prefixed by AccelOps-WUA.
4. Select the following Group By:
a. Reporting Device Name
b. Reporting IP
5. Select the following Display Fields:
a. Reporting Device Name
b. Reporting IP
c. COUNT(Matched Events)
6. Run the query for the last 15 minutes.
The query will return all hosts that reported events in the last 15 minutes.
l Select Decimal for Base and change Value data to 2 to enable trace logging. Both "DBGTRACE" and
"TRACE" information will be logged.
l Select Decimal for Base and change Value data to 1 to enable debug logging. Only "DBGTRACE" information will
be logged.
Note: It will take about 2-3 minutes for your change to take effect.
System Logs
#Win-System-Service-Control-Manager-7036
Thu May 07 02:13:42 2015 WIN-2008-LAW-agent 10.1.2.242 AccelOps-WUA-WinLog [mon-
itorStatus]="Success" [eventName]="System"
Application Logs
#Win-App-MSExchangeServiceHost-2001
Thu May 07 03:05:42 2015 WIN-2008-249.ersijiu.com 10.1.2.249 AccelOps-WUA-WinLog [mon-
itorStatus]="Success" [eventName]="Application" [eventSource]="MSExchangeServiceHost"
[eventId]="2001" [eventType]="Information" [domain]="" [computer]="WIN-2008-249.er-
sijiu.com"
[user]="" [userSID]="" [userSIDAcctType]="" [eventTime]="May 07 2015 11:05:42" [deviceTime]-
]="May 07 2015 11:05:42"
[msg]="Loading servicelet module Microsoft.Exchange.OABMaintenanceServicelet.dll"
#MSSQL
#Win-App-MSSQLSERVER-17137
Thu May 07 03:10:16 2015 WIN-2008-249.ersijiu.com 10.1.2.249 AccelOps-WUA-WinLog [mon-
itorStatus]="Success" [eventName]="Application"
[eventSource]="MSSQLSERVER" [eventId]="17137" [eventType]="Information" [domain]="" [com-
puter]="WIN-2008-249.ersijiu.com" [user]=""
[userSID]="" [userSIDAcctType]="" [eventTime]="May 07 2015 11:10:16" [deviceTime]="May 07
2015 11:10:16"
[msg]="Starting up database 'model'."
Security Logs
DNS Logs
#AccelOps-WUA-DNS-ZoneDownloadComplete
Thu May 07 02:35:43 2015 WIN-2008-LAW-agent 10.1.2.242 AccelOps-WUA-DNS [mon-
itorStatus]="Success" [msg]="5/7/2015 10:34:05 AM 20BC EVENT
The DNS server has finished the background loading of zones. All zones are now available
for DNS updates and zone
transfers, as allowed by their individual zone configuration."
#AccelOps-WUA-DNS-A-Query-Success
Thu May 07 02:48:25 2015 WIN-2008-LAW-agent 10.1.2.242 AccelOps-WUA-DNS [mon-
itorStatus]="Success" [msg]="5/7/2015
10:47:13 AM 5D58 PACKET 0000000002B74600 UDP Rcv 10.1.20.232 0002 Q [0001 D
NOERROR] A (8)testyjyj(4)yjyj(3)com(0)"Thu May 07 02:48:25 2015 WIN-2008-LAW-agent
10.1.2.242 AccelOps-WUA-DNS [monitorStatus]="Success" [msg]="5/7/2015
10:47:13 AM 5D58 PACKET 0000000002B74600 UDP Snd 10.1.20.232 0002 R Q [8085 A DR
NOERROR] A (8)testyjyj(4)yjyj(3)com(0)"
#AccelOps-WUA-DNS-PTR-Query-Success
Thu May 07 02:48:25 2015 WIN-2008-LAW-agent 10.1.2.242 AccelOps-WUA-DNS [mon-
itorStatus]="Success" [msg]="5/7/2015
10:47:22 AM 5D58 PACKET 00000000028AB4B0 UDP Rcv 10.1.20.232 0002 Q [0001 D NOERROR]
PTR
(3)223(3)102(3)102(3)102(7)in-addr(4)arpa(0)"
DHCP Logs
AccelOps-WUA-DHCP-Generic
Thu May 07 05:44:44 2015 WIN-2008-LAW-agent 10.1.2.242 AccelOps-WUA-DHCP [mon-
itorStatus]="Success" [ID]="00" [Date]="05/07/15"
[Time]="13:44:08" [Description]="Started" [IP Address]="" [Host Name]="" [MAC Address]=""
[User Name]="" [ TransactionID]="0"
[ QResult]="6" [Probationtime]="" [ CorrelationID]="" [Dhcid.]=""
#AccelOps-WUA-DHCP-IP-ASSIGN
Thu May 07 05:56:41 2015 WIN-2008-LAW-agent 10.1.2.242 AccelOps-WUA-DHCP [mon-
itorStatus]="Success" [ID]="10" [Date]="05/07/15"
[Time]="13:56:37" [Description]="Assign" [IP Address]="10.1.2.124" [Host Name]="Agent-
#AccelOps-WUA-DHCP-Generic(Release)
Thu May 07 05:56:41 2015 WIN-2008-LAW-agent 10.1.2.242 AccelOps-WUA-DHCP [mon-
itorStatus]="Success" [ID]="12" [Date]="05/07/15"
[Time]="13:56:33" [Description]="Release" [IP Address]="10.1.2.124" [Host Name]="Agent-
247.yj" [MAC Address]="000C2922118E"
[User Name]="" [ TransactionID]="2179405838" [ QResult]="0" [Probationtime]="" [ Cor-
relationID]="" [Dhcid.]=""
#AccelOps-WUA-DHCP-IP-LEASE-RENEW
Wed Feb 25 02:53:28 2015 WIN-2008-LAW-agent 10.1.2.242 AccelOps-WUA-DHCP [mon-
itorStatus]="Success" [ID]="11" [Date]="02/25/15"
[Time]="10:53:19" [Description]="Renew" [IP Address]="10.1.2.123" [Host Name]="WIN-2008-
249.yj" [MAC Address]="0050568F1B5D"
[User Name]="" [ TransactionID]="1136957584" [ QResult]="0" [Probationtime]="" [ Cor-
relationID]="" [Dhcid.]=""
IIS Logs
#AccelOps-WUA-IIS-Web-Request-Success
Thu May 07 03:49:23 2015 WIN-2008-LAW-agent 10.1.2.242 AccelOps-WUA-IIS [mon-
itorStatus]="Success" [date]="2015-05-07"
[time]="03:44:28" [s-sitename]="W3SVC1" [s-computername]="WIN-2008-LAW-AG" [s-ip]-
]="10.1.2.242" [cs-method]="GET"
[cs-uri-stem]="/welcome.png" [cs-uri-query]="-" [s-port]="80" [cs-username]="-" [c-ip]-
]="10.1.20.232" [cs-version]="HTTP/1.1"
[cs(User-Agent)]="Mozilla/5.0+(Windows+NT+6.1;+WOW64)+AppleWebKit/537.36+(KHTML,+-
like+Gecko)+Chrome/42.0.2311.135+Safari/537.36"
[cs(Cookie)]="-" [cs(Referer)]="http://10.1.2.242/" [cs-host]="10.1.2.242" [sc-status]-
]="200" [sc-substatus]="0" [sc-win32-status]="0"
[sc-bytes]="185173" [cs-bytes]="324" [time-taken]="78" [site]="Default Web Site" [form-
at]="W3C"
#AccelOps-WUA-IIS-Web-Client-Error
Thu May 07 03:49:23 2015 WIN-2008-LAW-agent 10.1.2.242 AccelOps-WUA-IIS [mon-
itorStatus]="Success" [date]="2015-05-07" [time]="03:44:37"
[s-sitename]="W3SVC1" [s-computername]="WIN-2008-LAW-AG" [s-ip]="10.1.2.242" [cs-
#AccelOps-WUA-IIS-Web-Forbidden-Access-Denied
Thu May 07 03:30:39 2015 WIN-2008-249.ersijiu.com 10.1.2.249 AccelOps-WUA-IIS [mon-
itorStatus]="Success" [date]="2015-05-07" [time]="03:30:15" [s-ip]="10.1.2.249" [cs-meth-
od]="POST" [cs-uri-stem]="/AOCACWS/AOCACWS.svc" [cs-uri-query]="-" [s-port]="80" [cs-
username]="-"
[c-ip]="10.1.2.42" [cs(User-Agent)]="-" [sc-status]="403" [sc-substatus]="4" [sc-win32-
status]="5" [time-taken]="1" [site]="Default Web Site"
[format]="W3C"
DFS Logs
#Win-App-DFSR-1002
Thu May 07 03:01:12 2015 WIN-2008-LAW-agent 10.1.2.242 AccelOps-WUA-WinLog [mon-
itorStatus]="Success" [eventName]="DFS Replication"
[eventSource]="DFSR" [eventId]="1002" [eventType]="Information" [domain]="" [com-
puter]="WIN-2008-LAW-agent" [user]="" [userSID]=""
[userSIDAcctType]="" [eventTime]="May 07 2015 11:01:12" [deviceTime]="May 07 2015 11:01:12"
[msg]="The DFS Replication service is starting."
#Win-App-DFSR-1004
Thu May 07 03:01:12 2015 WIN-2008-LAW-agent 10.1.2.242 AccelOps-WUA-WinLog [mon-
itorStatus]="Success" [eventName]="DFS Replication"
[eventSource]="DFSR" [eventId]="1004" [eventType]="Information" [domain]="" [com-
puter]="WIN-2008-LAW-agent" [user]="" [userSID]=""
[userSIDAcctType]="" [eventTime]="May 07 2015 11:01:12" [deviceTime]="May 07 2015 11:01:12"
[msg]="The DFS Replication service has started."
#Win-App-DFSR-1006
Thu May 07 03:01:10 2015 WIN-2008-LAW-agent 10.1.2.242 AccelOps-WUA-WinLog [mon-
itorStatus]="Success" [eventName]="DFS Replication"
[eventSource]="DFSR" [eventId]="1006" [eventType]="Information" [domain]="" [com-
puter]="WIN-2008-LAW-agent" [user]="" [userSID]=""
#Win-App-DFSR-1008
Thu May 07 03:01:11 2015 WIN-2008-LAW-agent 10.1.2.242 AccelOps-WUA-WinLog [mon-
itorStatus]="Success" [eventName]="DFS Replication"
[eventSource]="DFSR" [eventId]="1008" [eventType]="Information" [domain]="" [com-
puter]="WIN-2008-LAW-agent" [user]="" [userSID]=""
[userSIDAcctType]="" [eventTime]="May 07 2015 11:01:11" [deviceTime]="May 07 2015 11:01:11"
[msg]="The DFS Replication service has stopped."
#AccelOps-WUA-UserFile
Thu May 07 05:40:08 2015 WIN-2008-LAW-agent 10.1.2.242 AccelOps-WUA-UserFile [mon-
itorStatus]="Success" [fileName]="C:\test\i.txt"
[msg]="another newline adddedddddd"
The following sections describe various use cases that can be detected by File Integrity Monitoring Logs.
l Use Case 1: File or Directory Created
l Use Case 2: File or Directory Deleted
l Use Case 3: File Content Modified
l Use Case 4: File Content Modified and Upload is Selected
l Use Case 5: File Renamed
l Use Case 6: File Permission Changed
l Use Case 7: File Ownership Changed
l Use Case 8: File Archive Bit Changed
l Use Case 9: File Baseline Changed
Event Type
AO-WUA-FileMon-Added
Reports
Agent FIM: Windows File/Directory Created/Deleted/Renamed
Rules
Agent FIM - Windows File or Directory Created
Sample Log
2020-03-25T07:30:50Z Win-167 10.30.2.167 AccelOps-WUA-FileMon [phCustId]="2000" [cus-
tomer]="org1" [monitorStatus]="Success" [Locale]="en-US" [MachineGuid]="e892a6e4-bbfa-4ba6-
bc8c-00d2c31812b4" [timeZone]="+0800" [userId]="jdoe" [domain]="ACME" [eventTime]="Mar 25
2020 07:30:48" [fileName]="C:\\test\\New Text Document.txt" [osObjAction]="Added"
[objectType]="File" [hashCode]-
]="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" [hashAlgo]="SHA256"
[procName]="C:\\Windows\\explorer.exe" [msg]="" [archiveSet]="true" [fileOwner]=""
Event Type
AO-WUA-FileMon-Removed
Report
Agent FIM: Windows File/Directory Creation/Deletion/Rename
Rule
Agent FIM - Windows File or Directory Deleted
Sample Log
Event Type
AO-WUA-FileMon-Modified
Report
Agent FIM: Windows File Content Modified
Rule
Agent FIM - Windows File Content Modified
Sample Log
Event Type
PH_DEV_MON_FILE_CONTENT_CHANGE
Report
Agent FIM: Windows File Content Modified in SVN
Rule
Audited file or directory content modified in SVN
Sample Log
Event Type
AO-WUA-FileMon-Renamed-New-Name
Report
Agent FIM: Windows File/Directory Creation/Deletion/Rename
Rule
None
Sample Log
[hashCode]="2b64c6d9afd8a34ed0dbf35f7de171a8825a50d9f42f05e98fe2b1addf00ab44" [hashAl-
go]="SHA256" [procName]="C:\\Windows\\explorer.exe" [msg]="" [archiveSet]="true"
[fileOwner]=""
Event Type
AO-WUA-FileMon-Renamed-Old-Name
Rule
None
Sample Log
None
Event Type
AO-WUA-FileMon-PermissionChange
Report
Agent FIM: Windows File/Directory Permission Changes
Rule
Agent FIM - Windows File Permission Changed
Sample Log
Event Type
AO-WUA-FileMon-OwnershipChange
Report
Agent FIM: Windows File/Directory Ownership Changes
Rule
Agent FIM - Windows File Ownership Changed
Sample Log
[hashCode]="d17f25ecfbcc7857f7bebea469308be0b2580943e96d13a3ad98a13675c4bfc2" [hashAl-
go]="SHA256" [procName]="C:\\Windows\\System32\\dllhost.exe" [msg]="" [archiveSet]-
]="true" [fileOwner]=“Joe”
Event Type
AO-WUA-FileMon-ArchivedBitChange
Report
Agent FIM: Windows File/Directory Archive Bit Changes
Rule
Agent FIM - Windows File/Directory Archive Bit Changed
Sample Log
Event Type
AO-WUA-FileMon-BaselineChange
Report
Agent FIM: Windows File Change from Baseline
Rule
Agent FIM - Windows File Changed From Baseline
Sample Log
2020-03-25T12:52:42Z Win-169 10.30.3.169 AccelOps-WUA-FileMon [phCustId]="2000" [cus-
tomer]="org1" [monitorStatus]="Success" [Locale]="en-US" [MachineGuid]="5c83ec12-73fd-4e06-
a396-1f128564f09e" [timeZone]="+0800" [userId]="Administrator" [domain]="WINSRV2012-169"
[fileName]="C:\\test\\test.txt" [osObjAction]="BaselineChange" [hashCode]-
]="c1f79ea2bbfb77bf30446a4c9be762eb" [hashAlgo]="MD5" [tar-
getHashCode]="74DE7651DFC55294CC59240AE514A676" [msg]="
#AccelOps-WUA-InstSw-Added
Thu May 07 05:28:17 2015 WIN-2008-LAW-agent 10.1.2.242 AccelOps-WUA-InstSw [mon-
itorStatus]="Success" [osObjAction]="Added"
[appName]="7-Zip 9.20 (x64 edition)" [vendor]="Igor Pavlov" [appVersion]="9.20.00.0"
#AccelOps-WUA-InstSw-Removed
Thu May 07 05:28:30 2015 WIN-2008-LAW-agent 10.1.2.242 AccelOps-WUA-InstSw [mon-
itorStatus]="Success" [osObjAction]="Removed"
[appName]="7-Zip 9.20 (x64 edition)" [vendor]="Igor Pavlov" [appVersion]="9.20.00.0"
#AccelOps-WUA-Registry-Modified
Thu May 07 04:01:58 2015 WIN-2008-249.ersijiu.com 10.1.2.249 AccelOps-WUA-Registry [mon-
itorStatus]="Success" [regKeyPath]-
]="HKLM\\SOFTWARE\\Microsoft\\ExchangeServer\\v14\\ContentIndex\\CatalogHealth\\{0d2a342a-
0b15-4995-93db-d18c3df5860d}" [regValueName]="TimeStamp" [regValueType]="1" [osOb-
jAction]="Modified" [oldRegValue]-
]="MgAwADEANQAtADAANQAtADAANwAgADAAMwA6ADQAOQA6ADQANwBaAAAA"
[newRegValue]="MgAwADEANQAtADAANQAtADAANwAgADAANAA6ADAAMQA6ADQAOABaAAAA"
#AccelOps-WUA-Registry-Removed
Thu May 07 05:25:09 2015 WIN-2008-LAW-agent 10.1.2.242 AccelOps-WUA-Registry [mon-
itorStatus]="Success"
[regKeyPath]="HKLM\\SOFTWARE\\RegisteredApplications" [regValueName]="Skype" [regValueType]-
]="1" [osObjAction]="Removed" [oldRegValue]-
="UwBPAEYAVABXAEEAUgBFAFwAQwBsAGkAZQBuAHQAcwBcAEkAbgB0AGUAcgBuAGUAdAAgAEMAYQBsAGwAXABTAGs-
AeQBwAGUAXABDAGEAcABhAGIAaQBsAGkAdABpAGUAcwBkAGgAZABoAGQAaABkAGgAZABoAGQAAAA="
[newRegValue]=""
WMI logs
#AccelOps-WUA-WMI-Win32_Processor
Thu May 07 03:53:33 2015 WIN-2008-LAW-agent 10.1.2.242 AccelOps-WUA-WMI [mon-
itorStatus]="Success" [__CLASS]="Win32_Processor"
[AddressWidth]="64" [Architecture]="9" [Availability]="3" [Caption]="Intel64 Family 6
Model 26 Stepping 5" [ConfigManagerErrorCode]="" [ConfigManagerUserConfig]=""
[CpuStatus]="1" [CreationClassName]="Win32_Processor" [CurrentClockSpeed]="2266" [Cur-
rentVoltage]="33"
[DataWidth]="64" [Description]="Intel64 Family 6 Model 26 Stepping 5" [DeviceID]-
]="CPU0" [ErrorCleared]="" [ErrorDescription]=""
[ExtClock]="" [Family]="12" [InstallDate]="" [L2CacheSize]="0" [L2CacheSpeed]=""
[L3CacheSize]="0" [L3CacheSpeed]="0"
[LastErrorCode]="" [Level]="6" [LoadPercentage]="8" [Manufacturer]="GenuineIntel"
[MaxClockSpeed]="2266"
[Name]="Intel(R) Xeon(R) CPU E5520 @ 2.27GHz" [NumberOfCores]="1" [Num-
berOfLogicalProcessors]="1"
[OtherFamilyDescription]="" [PNPDeviceID]="" [PowerManagementCapabilities]="" [Power-
ManagementSupported]="0"
[ProcessorId]="0FEBFBFF000106A5" [ProcessorType]="3" [Revision]="6661" [Role]="CPU"
[SocketDesignation]="CPU socket #0"
[Status]="OK" [StatusInfo]="3" [Stepping]="" [SystemCreationClassName]="Win32_Com-
puterSystem" [SystemName]="WIN-2008-LAW-AG"
UniqueId]="" [UpgradeMethod]="4" [Version]="" [VoltageCaps]="2"
When an Agent is installed and registered, then it is in Registered state. The following audit event is generated: PH_
AUDIT_AGENT_INSTALLED.
When a monitoring template is assigned to the device, then the state moves to Running Inactive. When the agent
receives the template and starts monitoring, then the state moves to Running Active. In both cases, the following audit
event is generated: PH_AUDIT_AGENT_RUNNING.
Agent periodically sends heartbeat messages. When a heartbeat not received for 10 minutes, the state moves to Dis-
connected and the audit event PH_AUDIT_AGENT_NOTRESPONDING is generated. Status is checked every 1 hour. At
that time, if we heard from the Agent in the last 15 minutes, the state moves back to Running Inactive and a PH_
AUDIT_AGENT_RUNNING audit event is generated.
If the Agent is disabled from the GUI, the state moves to Disabled and PH_AUDIT_AGENT_DISABLED audit event is
generated.
If the Agent is uninstalled or the service is stopped, then the state moves to Disconnected and the audit event PH_
AUDIT_AGENT_NOTRESPONDING is generated.
Audit events are generated at state transitions, however, the event PH_AUDIT_AGENT_NOTRESPONDING is gen-
erated every hour to identify all agents that are currently disconnected. A nested query can be run to detect Agents
that did not report in the last N hours. Note that PH_AUDIT events must be queried with System Event Category
= 2. Rules do not need this condition.
Once these steps are completed, the Supervisor node will distribute monitoring policies to the Linux Agents and you
will be able to see events in FortiSIEM.
Note: FortiSIEM Linux Agent will not perform file integrity monitoring on the /root directory.
This section also covers these topics.
l Viewing Agent Status
l Enabling or Disabling an Agent
l Viewing Files in FortiSIEM
l File Integrity Monitoring Logs
l Agent Troubleshooting Notes
Generic tab:
Configure the Generic settings with reference to the table below:
Name [Required] Enter the name of the FortiSIEM Linux Agent. This name is used as a ref-
erence in Template associations.
Description [Required] Enter the description about the FortiSIEM Linux Agent.
Syslog tab:
Configure the Syslog settings with reference to the table below:
Log Files Click New to add the custom log files to monitor:
l File—(Required) Enter the full file name.
l Log Prefix—(Required) Any prefix to the identify events from this file for better
accessibility.
If you cannot collect logs from the specified log file, please check if SELinux is enabled and that the SELinux
context configuration for the file is correct. The var_log_t type is needed for the log file.
To check for SELinux context, assuming /testLinuxAgent/testLog.log is the log file, run the following
command:
ls -Z /testLinuxAgent/testLog.log
The expected result should have var_log_t in the output, as shown here:
system_u:object_r:var_log_t:s0 /testLinuxAgent/testLog.log
If you need to set var_log_t type to the log file, run the following commands:
chcon –t var_log_t /testLinuxAgent
chcon –t var_log_t /testLinuxAgent/testLog.log
FIM tab:
Configure the FIM settings with reference to the table below:
whenever there is a change. The files are stored in SVN and are accessible
from the Supervisor. These files are displayed in CMDB > Device > File. Send
only important files, as this can fill up disk space.
l Compare Baseline—Select this if you want to be alerted when the file
changes from a baseline. This is common for configuration files that rarely
change. If you choose this option, you will be asked to provide a copy of the
baseline file. Click Choose File and upload the file from your workstation. The
Supervisor will compute the MD5 checksum and distribute the checksum to the
agents for comparison.
4. Click Save
Settings Guidelines
Host Use the drop-down list to browse the folders and select the items.
Select one or more monitoring templates from the list or select All Templates to
Template
select all. You can also use the search bar to find a specific template.
Collector Select the Collector from the list or select All Collectors to select all. Agents forward
events to Collectors via HTTP(S). A Collector is chosen at random and if that Col-
lector is not available or non-responsive, then another Collector in the list is chosen.
You can use the Edit button to modify or Delete button to remove any template association.
Status Description
Registered Agent has completed registration but has not received the monitoring template.
Running Active Agent has received a monitoring template and it is performing properly.
Running Inactive Agent is running but does not have a monitoring template – the reasons can be (a)
no license or (b) incomplete definition - no Collector or Template is defined for that
host.
Disconnected Supervisor did not receive any status from the Agent for the last 10 minutes.
1. Go to the CMDB page. Make sure that AGENT is one of the Methods.
2. Search for the device in CMDB by name.
Use the host name that you used to install the Linux Agent.
3. Click File beneath the device table.
You will see all of the files that were changed since the monitoring template was applied.
4. Select a file.
If you need to search for a file, set the From and To dates. The files which changed between those dates will
be displayed.
5. Click the file name on the left and its contents will be displayed in the right hand window.
Each file has a header containing file meta data followed by the actual file content.
l OWNER: The name of the file owner
l GROUP: User group for specifying file permissions.
l PERMISSION=USER: “OWNER”, PERMIT: "...": The file owner’s permissions.
l PERMISSION=GROUP: “MEMBER”, PERMIT: "...":: The group member’s file permissions.
l PERMISSION=GROUP: “OTHER”, PERMIT: "...":: Other group file permissions.
l FILEPATH: The full file name, including the path.
l HASHCODE: The file hash.
Event Type
FSM_LINUX_FILE_CREATE
Reports
Agent FIM: Linux File/Directory Creation/Deletion/Movement/Unmount Activity
Rules
Agent FIM - Linux File or Directory Created
Sample Log
Event Type
FSM_LINUX_FILE_DELETE
Reports
Agent FIM: Linux File/Directory Creation/Deletion/Movement/Unmount Activity
Rules
Agent FIM - Linux File or Directory Deleted
Sample Log
Event Type
FSM_LINUX_FILE_ATTRIB_CHANGE
Important Event Attributes
l targetOsObjType: The type of object: File or Directory.
l targetOsObjName: The name of the file or directory.
l user: The name of the user who made the change.
l fileOwner: The name of the owner of the file or directory.
l userGrp: The name of the user group for the file or directory.
l userPerm: The permission granted to the owner.
l groupPerm: The permission granted to the user group.
l otherPerm: Other permissions.
Reports
Agent FIM: Linux File/Directory Ownership or Permission Changes
Rules
l Agent FIM - Linux Directory Ownership or Permission changed
l Agent FIM - Linux File Ownership or Permission Changed
Sample Log
Event Type
FSM_LINUX_FILE_MODIFY
Reports
Agent FIM: Linux File Content Modified
Rules
Agent FIM - Linux File Content Modified
Sample Log
Event Type
PH_DEV_MON_FILE_CONTENT_CHANGE
Reports
Agent FIM: Linux File Content Modified in SVN
Rules
Audited file or directory content modified in SVN
Sample Log
Event Type
FSM_LINUX_FILE_CHANGE_BASELINE
Reports
Agent FIM: Linux File Change from Baseline
Rules
Agent FIM - Linux File Changed From Baseline
Sample Log
Event Types
l FSM_LINUX_FILE_MOVED_TO
l FSM_LINUX_FILE_MOVED_FROM
Reports
Agent FIM: Linux File/Directory Creation/Deletion/Movement/Unmount Activity
Rules
None
Sample Logs
Event Type
FSM_LINUX_FILE_ACCESS
Reports
None
Rules
None
Sample Log
Event Type
FSM_LINUX_FILE_OPEN
Reports
None
Rules
None
Sample Log
Event Types
l FSM_LINUX_FILE_CLOSE_WRITE
l FSM_LINUX_FILE_CLOSE_NOWRITE
Reports
None
Rules
None
Sample Logs
When an Agent is installed and registered, then it is in Registered state. The following audit event is generated: PH_
AUDIT_AGENT_INSTALLED.
When a monitoring template is assigned to the device, then the state moves to Running Inactive. When the agent
receives the template and starts monitoring, then the state moves to Running Active. In both cases, the following audit
event is generated: PH_AUDIT_AGENT_RUNNING.
Agent periodically sends heartbeat messages. When a heartbeat not received for 10 minutes, the state moves to Dis-
connected and the audit event PH_AUDIT_AGENT_NOTRESPONDING is generated. Status is checked every 1 hour. At
that time, if we heard from the Agent in the last 15 minutes, the state moves back to Running Inactive and a PH_
AUDIT_AGENT_RUNNING audit event is generated.
If the Agent is disabled from the GUI, the state moves to Disabled and PH_AUDIT_AGENT_DISABLED audit event is
generated.
If the Agent is uninstalled or the service is stopped, then the state moves to Disconnected and the audit event PH_
AUDIT_AGENT_NOTRESPONDING is generated.
Audit events are generated at state transitions, however, the event PH_AUDIT_AGENT_NOTRESPONDING is gen-
erated every hour to identify all agents that are currently disconnected. A nested query can be run to detect Agents
that did not report in the last N hours. Note that PH_AUDIT events must be queried with System Event Category
= 2. Rules do not need this condition.
Device Support
Creating New Device Types, Event Attribute Types, and Event Types 353
Creating New Device Types, Event Attributes, and Event Types 358
Creating New Device Types, Event Attribute Types, and Event Types 361
Creating New Device Types, Event Attribute Types, and Event Types 367
Creating New Device Types, Event Attributes, and Event Types 374
Category [Required] Select the Device or Application from the drop-down list.
Device/App Group [Required] Select the group where you want to add this new device/application
This setting is applicable only for 'Application' category. Enter the app package
App Package Group
group here.
4. Click Save.
The new device(s)/application(s) appears in the list.
5. Select the device(s)/application(s) from the list and click Apply.
You can clone an existing device/application by clicking Clone and modify as necessary.
Settings Guidelines
Value Type [Required] Select the value type from the drop-down to associate with
the event attribute type.
4. Click Save.
The new event attribute appears in the list.
5. Select the event attribute(s) from the list and click Apply.
You can clone an existing event attribute type to use as the basis for a new one. Select the event attribute type you
want to use, click Clone and modify as necessary.
Settings Guidelines
Event Type Group [Required] Select the type of group for the event.
4. Click Save.
The new event appears in the table.
5. Select the event(s) from the list and click Apply.
You can also use the Clone option to duplicate and modify an existing event type.
Prerequisites
Parsers are applied in the order they are listed in ADMIN > Device Support > Parsers, so it is important to add your
custom parser to the list in relation to any other parsers that may be applied to your device logs. If you click Fix Order,
this will arrange the parsers with system-defined parsers at the top of the list in their original order, and user-defined
parsers at the bottom. Be sure to click Apply to ensure the change in order is picked up by the back-end module.
After making a parser change, you must click Apply for the parser modules on all nodes to pick up the change. This is
by design. If this does not occur, then SSH to the node where you expect the event to arrive first, and restart the
phParser module.
The following sections provide information about working with parsers:
l Event Parser XML Specification
l Creating a Custom Parser
l Deleting or Disabling a Parser
l Ingesting JSON Formatted Events Received via HTTP(S) POST
l Parser Inbuilt Functions
l Parser Examples
The basic template for a custom parser XML specification includes five sections. Click the name of any section for
more information.
Section Description
Device or Application Type Spe- The type of device or application associated with the parser.
cification
Event Format Recognizer Spe- Patterns that determine whether an event will be parsed by this parser.
cification
Pattern Definition Specification Defines the parsing patterns that are iterated over by the parsing instruc-
tions.
Parsing Instructions Specification Instructions on how to parse events that match the format recognizer pat-
terns.
<patternDefinitions> </patternDefinitions>
<eventFormatRecognizer> </eventFormatRecognizer>
<parsingInstructions> </parsingInstructions>
Parser File
You are only allowed to edit a custom parser file. To edit an existing custom parser, take the following steps:
1. From ADMIN > Device Support > Parsers, select a custom parser.
2. Click Edit.
3. From the Edit Event Parser Definition window, you can make changes to the following fields:
a. In the Name field, make any changes to the name of the parser.
b. In the Device Type drop-down list, make any changes to the device type.
c. In the main field, make any changes to your parser XML.
See the table in Create a Parser for available options.
4. When done, click Save.
This section specifies the device or the application to which this parser applies. The device and application definitions
enable FortiSIEM to detect the device and application type for a host from the received events. This is called log-
based discovery in FortiSIEM. Once a received event is successfully parsed by this file, a CMDB entry is created
with the device and application set from this file. FortiSIEM discovery may further refine the device.
There are two separate subsections for device and application. In each section, vendor, model and version can be
specified, but version is not typically needed.
Set Version to Any
In the examples in this topic, <Version> is set to ANY because events are generally not tied to a particular version of
a device or software. You could of course set this to a specific version number if you only wanted this parser to apply
to a specific version of an application or device.
Vendor and Model Must Match the FortiSIEM Version
<Vendor> and <Model> entries must match the spelling and capitalization in the CMDB.
Hardware Appliances
In this case, the type of event being parsed specifies the device type, for example Cisco IOS, Cisco ASA, etc.
To add a device type, see Adding a Device or Application.
In this case, the type of events being parsed specifies the device type, for example Microsoft Windows etc. In this case
the device type section looks like:
<deviceType>
<Vendor>Microsoft</Vendor>
<Model>Windows</Model>
<Version>ANY</Version>
</deviceType>
In this case, the events being parsed specify the device and application types because Microsoft SQL Server can only
run on Microsoft Windows OS.
<deviceType>
<Vendor>Microsoft</Vendor>
<Model>Windows</Model>
<Version>ANY</Version>
</deviceType>
<appType>
<Vendor>Microsoft</Vendor>
<Model>SQL Server</Model>
<Version>ANY</Version>
<Name> Microsoft SQL Server</Name>
</appType>
Applications that Specify the Application Type but Not the Device Type
Consider the example of an Oracle database server, which can run on both Windows and Linux operating systems. In
this case, the device type is set to Generic but the application is specific. FortiSIEM depends on discovery to identify
the device type.
<deviceType>
<Vendor>Generic</Vendor>
<Model>Generic</Model>
<Version>ANY</Version>
</deviceType>
<appType>
<Vendor>Oracle</Vendor>
<Model>Database Server</Model>
<Version>ANY</Version>
<Name>Oracle Database Server</Name>
</appType>
In many cases, events associated with a device or application will contain a unique pattern. You can enter a regular
expression in the Format Recognizer section of the parser XML file to search for this pattern, which if found, will then
parse the events according to the parser instructions. After the first match, the event source IP to parser file map is
cached, and only that parser file is used for all events from that source IP. A notable exception is when events from dis-
parate sources are received via a syslog server, but that case is handled differently.
While not a required part of the parser specification, a format recognizer can speed up event parsing, especially when
one parsing pattern file among many pattern files must be chosen. Only one pattern check can determine whether the
parsing file must be used or not. The other less efficient option would be to examine patterns in every file. At the same
time, the format recognizer must be carefully chosen so that it is not so broad to misclassify events into wrong files,
and at the same time, not so narrow that it fails at classifying the right file.
Order in Which Parsers are Used
FortiSIEM parser processes the files in the specific order listed in the file parserOrder.csv.
<eventFormatRecognizer><!\[CDATA\[regexpattern\]\]></eventFormatRecognizer>
In the regexpattern block, a pattern can be directly specified using regex or a previously defined pattern (in the pat-
tern definition section in this file or in the GeneralPatternDefinitions.xml file) can be referenced.
Cisco IOS
<patternDefinitions>
<pattern name="patCiscoIOSMod" list="begin"><!\[CDATA\[FW|SEC|SEC_
LOGIN|SYS|SNMP|\]\]></pattern>
<pattern name="patCiscoIOSMod" list="continue"><!\[CDATA\
[LINK|SPANTREE|LINEPROTO|DTP|PARSER|\]\]></pattern>
<pattern name="patCiscoIOSMod" list="end"><!\[CDATA\[CDP|DHCPD|CONTROLLER|PORT_
SECURITY-SP\]\]></pattern>
</patternDefinitions>
<eventFormatRecognizer><!\[CDATA\[:%<:patCiscoIOSMod>-<:gPatInt>-<:patStrEndCo-
lon>:\]\]></eventFormatRecogniz
er>
Cisco ASA
All Cisco ASA events have the pattern ASA-severity-id pattern, for example ASA-5-12345.
<eventFormatRecognizer><!\[CDATA\[ASA-\\d-\\d+\]\]></eventFormatRecognizer>
In this case, there is no unique keyword, so the entire message structure from the beginning to a specific point in the
log must be considered.
Event
<eventFormatRecognizer><!\[CDATA\[<:gPatTime>,\\w+,
(?:TRAFFIC|THREAT|CONFIG|SYSTEM)\]\]></eventFormatRecognizer>
In this section of the parser XML specification, you set the regular expression patterns that that FortiSIEM will iterate
through to parse the device logs.
Reusing Pattern Definitions in Multiple Parser Specifications
If you want to use a pattern definition in multiple parser specifications, you must define it in the Gen-
eralPatternDefinitions.xml file. The patterns in the file must have a g prefix, and can be referenced as shown
in this example:
<generalPatternDefinitions>
<pattern name="gPatSyslogPRI"><!\[CDATA\[<\\d+>\]\]></pattern>
<pattern name="gPatMesgBody"><!\[CDATA\[.*\]\]></pattern>
<pattern name="gPatMonNum"><!\[CDATA\[\\d{1,2}\]\]></pattern>
<pattern name="gPatDay"><!\[CDATA\[\\d{1,2}\]\]></pattern>
<pattern name="gPatTime"><!\[CDATA\[\\d{1,2}:\\d{1,2}:\\d{1,2}\]\]></pattern>
<pattern name="gPatYear"><!\[CDATA\[\\d{2,4}\]\]></pattern>
</generalPatternDefinitions>
Each pattern has a name and the regular expression pattern within the CDATA section. This the basic syntax:
<pattern name="patternName"><!\[CDATA\[pattern\]\]></pattern>
<patternDefinitions>
<pattern name="patIpV4Dot"><!\[CDATA\[\\d{1,3}.\\d{1,3}.\\d{1,3}.\\d{1,3}\]\]></pat-
tern>
<pattern name="patComm"><!\[CDATA\[\[^,\]+\]\]></pattern>
<pattern name="patUpDown"><!\[CDATA\[up|down\]\]></pattern>
<pattern name="patStrEndColon"><!\[CDATA\[\[^:\]*\]\]></pattern>
</patternDefinitions>
You can also write a long pattern definition in multiple lines and indicate their order as shown in this example. The
value of the list attribute should be begin in first line and end in last line. If there are more than two lines, the attrib-
ute should be set to continue for the other lines.
This section is the heart of the parser, which attempts to recognize patterns in a log message and populate parsed
event attributes.
In most cases, parsing involves applying a regular expression to the log, picking up values, and setting them to event
attributes. Sometimes the processing is more involved, for example when attributes must be stored as local variables
and compared before populating the event attributes. There are three key components that are used in parsing instruc-
tions: Event attributes and variables, inbuilt functions that perform operations on event attributes and variables, and
switch and choose branching constructs for logical operations. Values can be collected from both unstructured and
structured strings in log messages.
l Event Attributes and Variables
l Inbuilt Functions
l Branching Constructs
The dictionary of event attributes are defined in FortiSIEM database and any member not belonging to that list is con-
sidered a local variable. For readability, local variables should begin with an underscore (_), although this is not
enforced.
<setEventAttribute attr="eventSeverity">1</setEventAttribute>
The $ symbol is used to specify the content of a variable. In the example below, attribute hostMACAddr gets the
value stored in the local variable _mac.
<setEventAttribute attr="hostMACAddr">$_mac</setEventAttribute>
Inbuilt Functions
Use the combineMsgId function to do this. Here _evIdPrefix is the prefix, _evIdSuffix is the suffix, and the out-
put will be string1-_evIdPrefix-_evIdSuffix.
Strings can only be wrapped by double quotes " but not single quotes '.
Use the normalizeMAC function to do this. The output will be six groups of two nibbles separated by a colon, for
example AA:BB:CC:DD:EE:FF.
<setEventAttribute attr="hostMACAddr">normalizeMAC($_mac)</setEventAttribute>
Use the compIntfSecVal function to do this. This primarily applies to Cisco ASA and PIX firewalls. The results
returned are:
l LESS if srcIntf has strictly lower security level than destIntf
l GREATER if srcIntf has strictly higher security level than destIntf
l EQUAL if srcIntf and destIntf have identical security levels
<setEventAttribute attr="ipConnId">convertHexStrToInt($_ipConnId)</setEventAttribute>
<setEventAttribute attr="destIpPort">convertStrToIntIpPort($_dport)</-
setEventAttribute>
<setEventAttribute attr="ipProto">convertStrToIntIpProto($_proStr)</setEventAttribute>
<setEventAttribute attr="srcIpAddr">convertIpDecimalToStr($_srcIpAd-
dr)</setEventAttribute>
<setEventAttribute attr="srcIpAddr">convertHostNameToIp($_saddr)</setEventAttribute>
Scale Function
<setEventAttribute attr="durationMSec">calculateMSec($_duration)</setEventAttribute>
_duration: 00:00:15
durationMSec: 15000
Use the extractHostFromFQDN function to do this. If _fqdn contains a period (.) , get the string before the first
period. If it does not contain a period, get the entire string.
<setEventAttribute attr="hostName">extractHostFromFQDN($_fqdn)</setEventAttribute>
Use the resolveDNSName function to do this. This function converts the DNS name to an IP address.
<setEventAttribute attr="destIpAddr">resolveDNSName($destName)</setEventAttribute>
_mon: 1
_day: 1
_year: 2000
_time: 01:00:10
_durationSec: 10
logonTime: 01:00:00 01/01/2000
Trim Attribute
Use the trimAttribute function to do this. In this example, it is used to trim the leading and trailing dots in
destName.
<setEventAttribute attr="eventSeverity">getEventSeverityFromSyslogPriority($_pri)</-
setEventAttribute>
_pri: 52
eventSeverity: 5
<setEventAttribute attr="deviceTime">toUnixTime($_deviceTime)</setEventAttribute>
_deviceTime: 20130509073221.932817-000
Decode Base64
<setEventAttribute attr="httpFullRequest">decodeBase64($_msg)</setEventAttribute>
Calculate Latency
Decode URL
<setEventAttribute attr="infoURL">URLDecode($_url)</setEventAttribute>
Branching Constructs
l Choose
The format is:
<choose>
<when test="$AttributeOrVariable1 operator Value1">
...
</when>
<when test="$AttributeOrVariable2 operator Value2">
...
</when>
<otherwise>
...
</otherwise>
</choose>
l Switch
The format is:
<switch>
<case>
...
</case>
<case>
...
</case>
</switch>
Collecting Values from using prebuilt functions for Structured and Unstructured Logs
Summary: Functions used to simplify data extraction from certain sections of a log event. The usual first step is to sep-
arate the log header from the log message body. Identify the event type (usually by message ID if possible), and parse
specific attributes based on event type.
Summary: Logs that contain a structured mapping / format such as the below.
There are usually two types of structured strings in device logs:
l Key=value structured
l Value list structured
Summary: Logs that contain variable / non consistent formatting of data structure depending on log type. Use a com-
bination of regex parsing, <switch><case></case></switch> or <choose><when></when></choose> statements to
break down and parse logs based on a particular format.
Example vendors with unstructured logs: Cisco ASA / Firepower
Common parse methods:
collectAndSetAttrByRegex - Evaluates and maps match groups to variables based on regex inserted given an argu-
ment containing a string log message.
Function List:
l collectAndSetAttrByJSON
l collectAndSetAttrByJsonArray
l collectAndSetAttrByJsonSymbol
l collectAndSetAttrByKeyValuePair
l collectAndSetAttrByKeyValuePairMultiValue
l collectAndSetAttrByPos
l collectAndSetAttrByPosWithNestedSep
l collectAndSetAttrByPosWithQuotes
l collectAndSetAttrByRegex
l collectAndSetAttrBySymbol
l collectAndSetAttrByXPath
l collectAndSetAttrFromAnotherEvent
l collectFieldsByCsvFile
l collectFieldsByKeyValuePair
l collectFieldsByRegex
l collectFieldsBySNMPTrap
collectAndSetAttrByJSON
Summary: Used to extract key value pairs from a json variable, in our example $_body is the variable containing a json
object.
Note one example to access sub elements where a json key value contains a json array of objects.
<collectAndSetAttrByJSON src="$_body">
<attrKeyMap attr="domain" key="domain"/>
<attrKeyMap attr="_eventTime" key="ts"/>
<attrKeyMap attr="ipConnId" key="uid"/>
<attrKeyMap attr="hostIpAddr" key="assigned_ip"/>
collectAndSetAttrByJsonArray
Summary: Another method to gather data from JSON Arrays, iterate through an array of objects. If an object key
matches one type, gather the value of another key.
Example: You have a json array where the key Type can be one of 3 values. Only map attribute x if Type=someValue
Sample event parsable by this function:
"Resources":[{"Type":"AwsAc-
count","Id":"AWS::::Account:600000000000","Partition":"aws","Region":"us-west-
2"}],"Compliance":{"Status":"WARNING"},"WorkflowState":"NEW","RecordState":"ACTIVE"}]]
collectAndSetAttrByJsonSymbol
Summary: Seen only in GenericJSONParser so far, I believe the purpose of this was to auto map the keys of a json
object into temp variables.
<collectAndSetAttrByJsonSymbol src="$_rawmsg">
<!-- Auto maps to key into a tmp var? -->
</collectAndSetAttrByJsonSymbol>
collectAndSetAttrByKeyValuePair
Certain logs, such as SNMP traps, are structured as Key1 = value1 <separator> Key2 = value2,.... These
can be parsed using the collectAndSetAttrByKeyValuePair XML attribute tag with this syntax.
<collectAndSetAttrByKeyValuePair sep="separatorString"src="$inputString">
<attrKeyMap attr="variableOrEventAttribute1" key="key1"/>
<attrKeyMap attr="variableOrEventAttribute2" key="key2"/>
</collectAndSetAttrByKeyValuePair>
When a key1 match is found, the entire string following key1 up to the separatorString is parsed out and stored
in the attribute variableOrEventAttribute1.
For example, consider this log fragment:
\_body =
SNMPv2-SMI::enterprises.14823.2.3.1.11.1.1.60 = Hex-STRING: 07 D8 06 0B 13 15 00 00 2D
07 00 SNMPv2-SMI::enterprises.14823.2.3.1.11.1.1.11.0 = Hex-STRING: 00 16 B6 DB 12 22
SNMPv2-SMI::enterprises.14823.2.3.1.11.1.1.12.0 = Hex-STRING: 00 21 55 4D 66 B0
SNMPv2-SMI::enterprises.14823.2.3.1.11.1.1.13.0 = INTEGER: 36 SNMPv2-SMI::en-
terprises.14823.2.3.1.11.1.1.1.0 = Hex-STRING: 00 1A 1E C0 60 7A SNMPv2-SMI::en-
terprises.14823.2.3.1.11.1.1.56.0 = INTEGER: 2 SNMPv2-
SMI::enterprises.14823.2.3.1.11.1.1.17.0 = STRING: "00:1a:1e:c0:60:7a"
Value Attribute
00 16 B6 DB 12 22 srcMACAddr
00 21 55 4D 66 B0 destMacAddr
2 wlanRadioId
00:1a:1e:c0:60:7a apMac
collectAndSetAttrByKeyValuePairMultiValue
Summary: Seen only in CiscoACSParserPlus.xml so far, designed when a key is repeated multiple times, each with
distinct values. Notice Step= is repeated many times.
Each value should be concatenated into a parsable var. --untested
Example:
collectAndSetAttrByPos
When the position offset1 is encountered, the subsequent values up to the separatorString is stored in vari-
ableOrEventAttribute1.
For example, consider this log fragment:
\_body =
W3SVC1 ADS-PRI 192.168.0.10 GET /Document/ACE/index.htm - 80 -
192.168.20.55 HTTP/1.1
Mozilla/5.0+(Windows;+U;+Windows+NT+5.1;+en-US;+rv:1.8.1.11)+Gecko/20071
127+Firefox/2.0.0.11 \[http://wwwin/Document/\] wwwin 200 0 0 5750 445 15
For structured strings, techniques in this section are more efficient than in the previous section because the expres-
sion is simpler and ONE tag can be used to parse regardless of the order in which the keys or values appear in the
string.
collectAndSetAttrByPosWithNestedSep
Summary: Some events will be position separated, and have position separators, or nested separators. In logs that
have space separators, but the values themselves contain spaces, they use nested delimiters to treat the value of
each position as a literal.
Example Log:
In the above log, values are space separated, but use quotes to signify the start and end of the value of that position.
User Agent is position 9, contains several spaces, which is okay since they are in the nested separator values "user
agent data". L2Sep also takes a comma separated list of multiple separator types.
Position 1 (Device Time), uses the option for [] for inner separator
Position 9 (User Agent), uses the option for "" for inner separator
collectAndSetAttrByPosWithQuotes
Summary: Used to specify an inner separator in addition to outer separator by position. The difference between this
and collectAndSetAttrByPosWithNestedSep is that Nested Separator can supply a list of inner separators.
collectAndSetAttrByPosWithNestedSep src="$_body" L1Sep=" " L2Sep=""",[]" -
This allows key="value" or key=[value].
collectAndSetAttrByPosWithQuotes - This can only provide a single argument for the inner separator.
Seen in JuniperSteelBeltAAAParser.xml and a few others.
Example log: CSV separated, with quotes for nested separator
collectAndSetAttrByRegex
From a string input source, a regex match is applied and variables are set. The variables can be event attributes or
local variables. The input will be a local variable or the default raw message variable. The syntax is:
<collectAndSetAttrByRegex src="$inputString">
<regex><!\[CDATA\[regexpattern\]\]></regex>
</collectAndSetAttrByRegex>
The regexpattern is specified by a list of variables and sub-patterns embedded within a larger pattern. Each vari-
able and sub-pattern pair are enclosed within angle brackets (<>).
Consider an example in which the local variable _body is set to list 130 permitted eigrp 172.16.34.4
(Serial1 ) > 172.16.34.3, 1 packet. From this string we must set the values to local variables and event
attributes.
This is achieved by using this XML. Note that you can use both the collectAndSetAttrByRegex and col-
lectFieldsByRegex functions to collect values from fields.
<collectAndSetAttrByRegex src="$_body">
<regex><!\[CDATA\[list <\_aclName:gPatStr> <\_action:gPatWord> <_proto:gPatWord>
<srcIpAddr:gPatIpV4Dot>(<:srcIntfName:gPatWord>) -> <destIpAddr:gPatIpV4Dot>, <totPkt-
s:gPatInt> <:gPatMesgBody>\]\]></regex>
</collectAndSetAttrByRegex>
collectAndSetAttrBySymbol
Summary: Automatically maps The key between symStart and symEnd as a variable that contains the value. Primarily
used with log formats built by phAgentManager pollers, which have key values
that match valid programmatic names of event attributes in FortiSIEM, e.g. sentBytes64 which is the correct
FortiSIEM event attribute for Sent Bytes uint64.
Sample Event:
Resulting variables:
ipProto == 6
awsRegion == us-east-2
collectAndSetAttrByXPath
Summary: Uses XML XPath notation to place the value of a given XML tag into a variable.
Sample Event:
Example: place nested xml value of the event tag into the $_body variable.
collectAndSetAttrFromAnotherEvent
Summary: Allows for mapping of correlated events given some variable in each event matches. Example, if two
authentication events occur in a chain, and contain a logonID, you can have the SIEM search for the prior event, and
retrieve a given attribute from that event to copy into the one you are parsing. This is used for advanced intelligence
where a later log event does not contain a needed attribute. Assuming the events have an attribute linking them, e.g.
the same user causing the generated audit events.
Sample Log:
Example: Seen in Windows Event 517 - Audit log cleared. Copy the source IP from Windows event 540 or 528 if the
logonIDs match, as event 517 itself does not contain a source IP attribute.
collectFieldsByCsvFile
Summary: Allows for a search of a key,value CSV file that replaces the target variable with the value of the key in the
CSV file. You can specify which column you want to map.
Example CSV for Windows Logon Failure Codes: /opt/phoenix/data-definition/eventAttrDesc/winLogonFailCode2.csv
0XC000005E,Login failed - There are currently no logon servers available to service the logon request.
0XC0000064,Login failed - User logon with misspelled or bad user account
0XC000006A,Login failed - User logon with misspelled or bad password
0XC000006D,Login failed - This is either due to a bad username or authentication information
0XC000006E,Login failed - Unknown user name or bad password.
col0,col1
Logon Code,Logon Code Description
Example: Take the upper case arg variable $subStatus, if it matches one of the CSV lines, map column 1 to variable
description.
collectFieldsByKeyValuePair
Summary: Near duplicate of collectAndSetAttrByKeyValuePair, allows for kvsep so you don't have to include the key
value separator in the key mapping.
Sample Event:
Example: Map body values separated by ' : ' and key value separator of ' = '
<collectAndSetAttrByRegex src="$_body">
<regex><![CDATA[AAA user authentication Rejected :\s*<_detail:gPatMes-
gBody>]]></regex>
</collectAndSetAttrByRegex>
collectFieldsByRegex
<collectFieldsByRegex src="$_rawmsg">
<regex><![CDATA[^<_header:gPatMesgBodyMin>%<_vendor:gPatWord>-<_sev:gPatInt>-<_
evtId:gPatInt>:\s+<_body:gPatMesgBody>]]></regex>
</collectFieldsByRegex>
collectFieldsBySNMPTrap
Summary: Currently only seen in FireEyeTrapParser.xml, take an SNMP trap log message, map oid defined under
key= to a given FortiSIEM event attribute.
Sample Log: Shortened for brevity
Example:
<collectFieldsBySNMPTrap src="$_body">
<attrKeyMap attr="_id" key="SNMPv2-MIB::snmpTrapOID"/>
<attrKeyMap attr="srcMACAddr" key="SNMPv2-SMI::enterprises.25597.1.1.2.1.9"/>
<attrKeyMap attr="destMACAddr" key="SNMPv2-SMI::enterprises.25597.1.1.2.1.10"/>
<attrKeyMap attr="destIpAddr" key="SNMPv2-SMI::enterprises.25597.1.1.2.1.38"/>
</collectFieldsBySNMPTrap>
Parsers are applied in the order they are listed in ADMIN > Device Support > Parsers, so it is important to add your
custom parser to the list in relation to any other parsers that may be applied to your device logs. If you click Fix Order,
this will arrange the parsers with system-defined parsers at the top of the list in their original order, and user-defined
parsers at the bottom. Be sure to click Apply to ensure the change in order is picked up by the back-end module.
Note: Custom parsers can be created only from the Super/Global account in Service Provider FortiSIEM deploy-
ments.
You can clone an existing parser and then use it as the basis for creating a new one. Select the parser you want to
clone, and then click Clone. Modify the parser as necessary, and then make sure you use the Up and Down buttons
to place it in the list of parsers at the point at which is should be applied.
1. Configure the FortiSIEM node with the HTTPS credential for receiving the HTTP(S) POST event.
a. Identity the FortiSIEM node receiving the events. Most likely, this will be the Collector.
b. SSH to the Collector and run the command: htpasswd -b /etc/httpd/accounts/passwds
<user> <password>
2. Modify the built-in JSON parser to parse event attributes and set the Event Type.
a. Login to the Supervisor.
b. Go to ADMIN > Device Support > Parsers.
c. Clone PHCustomJSONParser.xml and make the changes so that additional event attributes are
parsed.
d. Validate, Test, and Save the parser.
e. Click Apply All to deploy the parser changes.
3. Make sure the events are being pushed to the FSM node using the credentials in Step 1 via this REST API:
https://<FSMNodeName>/rawup-
load?vendor=<vendor>&model=<model>&reptIp=<reptIp>&reptName=<reptHost>
where FSNNodeName is the resolvable host name or FQDN in Step 1. The parameters Reporting Vendor
(vendor), Reporting Model (model), Reporting Device (reptHost), and Reporting IP (reptIP) are needed
to create a CMDB entry and populate events.
4. Query the events by using the Reporting Device Name or IP in Step 3 and Event Type in Step 2c.
Deleting Parsers
Disabling Parsers
l Scale
l Calculate Micro Seconds
l Extract Host from FQDN
l Replace String by Regular Expression
l Replace String in String
l Resolve DNS Name
l Shift Time Sec
l To DateTime
l Trim Attribute
l Get Severity from Syslog Priority
l To Unix Time (with Time Zone)
l Decode Base64
l Unzip String
l Calculate Latency
Strings can only be wrapped by double quotes " but not single quotes '.
<setEventAttribute attr="hostMACAddr">normalizeMAC($_mac)</setEventAttribute>
Compare the Security Level of srcIntf and destIntf. The result may be "LESS", "GREATER" or "EQUAL".
<setEventAttribute attr="ipConnId">convertHexStrToInt($_ipConnId)</setEventAttribute>
<setEventAttribute attr="destIpPort">convertStrToIntIpPort($_dport)</-
setEventAttribute>
<setEventAttribute attr="ipProto">convertStrToIntIpProto($_proStr)</setEventAttribute>
<setEventAttribute attr="srcIpAddr">convertIpDecimalToStr($_srcIpAd-
dr)</setEventAttribute>
<setEventAttribute attr="srcIpAddr">convertHostNameToIp($_saddr)</setEventAttribute>
Scale
<setEventAttribute attr="durationMSec">calculateMSec($_duration)</setEventAttribute>
_duration: 00:00:15
durationMSec: 15000
<setEventAttribute attr="hostName">extractHostFromFQDN($_fqdn)</setEventAttribute>
_fqdn: host.abc.net
hostName: host
If _fqdn contains dot, get the string before the first dot; otherwise, get the whole string.
<setEventAttribute attr="destIpAddr">resolveDNSName($destName)</setEventAttribute>
To DateTime
Trim Attribute
<setEventAttribute attr="eventSeverity">getEventSeverityFromSyslogPriority($_pri)</-
setEventAttribute>
_pri: 52
eventSeverity: 5
Set severity by syslog priority. The bottom 3 bits of the priority indicates the severity.
http://en.wikipedia.org/wiki/Syslog
<setEventAttribute attr="deviceTime">toUnixTime($_deviceTime)</setEventAttribute>
_deviceTime: 20130509073221.932817-000
Decode Base64
<setEventAttribute attr="httpFullRequest">decodeBase64($_msg)</setEventAttribute>
Unzip String
<setEventAttribute attr="msg">unzip($_msg)</setEventAttribute>
Calculate Latency
Calculate the latency. If _evtRecvTime is later than deviceTime, return the latency in seconds. Otherwise, return
0.
Parser Examples
The followng example is based on Cisco IOS Syslog Parser. The objective is to parse this syslog message:
<eventParser name="CiscoIOSParser">
<deviceType>
<Vendor>Cisco</Vendor>
<Model>IOS</Model>
<Version>ANY</Version>
</deviceType>
</eventParser>
Create the parser XML file with this content, and add the pattern definition patCiscoIOSMod for detecting IOS mod-
ules such as SEC.
<eventParser name="CiscoIOSParser">
<deviceType>
<Vendor>Cisco</Vendor>
<Model>IOS</Model>
<Version>ANY</Version>
</deviceType>
<patternDefinitions>
<pattern name="patCiscoIOSMod" list="begin"> <![CDATA[FW|SEC|SEC_
LOGIN|SYS|SNMP|]]></pattern>
<pattern name="patCiscoIOSMod" list="continue"><![CDATA
[LINK|SPANTREE|LINEPROTO|DTP|PARSER|]]></pattern>
<pattern name="patCiscoIOSMod" list="end"><![CDATA[CDP|DHCPD|CONTROLLER|PORT_
SECURITY-SP]]></pattern>
<pattern name="patStrEndColon"><![CDATA[[^:]*]]></pattern>
<pattern name="patComm"><![CDATA[[^,]+]]></pattern>
</patternDefinitions>
</eventParser>
Add this format recognizer for detecting %SEC-6-IPACCESSLOGP, which is a signature of Cisco IOS syslog
messages.
<eventParser name="CiscoIOSParser">
<deviceType>
<Vendor>Cisco</Vendor>
<Model>IOS</Model>
<Version>ANY</Version>
</deviceType>
<patternDefinitions>
<pattern name="patCiscoIOSMod" list="begin"> <![CDATA[FW|SEC|SEC_
LOGIN|SYS|SNMP|]]></pattern>
<pattern name="patCiscoIOSMod" list="continue"><![CDATA
[LINK|SPANTREE|LINEPROTO|DTP|PARSER|]]></pattern>
<pattern name="patCiscoIOSMod" list="end"><![CDATA[CDP|DHCPD|CONTROLLER|PORT_
SECURITY-SP]]></pattern>
<pattern name="patStrEndColon"><![CDATA[[^:]*]]></pattern>
<pattern name="patComm"><![CDATA[[^,]+]]></pattern>
</patternDefinitions>
<eventFormatRecognizer>
<![CDATA[: %<:patCiscoIOSMod>-<:gPatInt>-<:patStrEndColon>:]]>
</eventFormatRecognizer>
</eventParser>
A syslog message consists of a syslog header and a body. For better organization, first parse the syslog header and
event type. Subsequent code will include event type specific parsing, which is why event type is extracted in this step.
The XML code for parsing the header does the following:
Note that the patterns gPatSyslogPRI, gPatMon, gPatDay, gPatTime, gPatInt, and gPatmesgBody are global
patterns that are defined in the GeneralPatternDefinitions.xml file:
<generalPatternDefinitions>
<pattern name="gPatSyslogPRI"><![CDATA[<\d+>]]></pattern>
<pattern name="gPatMesgBody"><![CDATA[.*]]></pattern>
<pattern name="gPatMon"> <![CDATA[Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec|\d
{1,2}]]></pattern>
<pattern name="gPatDay"><![CDATA[\d{1,2}]]></pattern>
<pattern name="gPatTime"><![CDATA[\d{1,2}:\d{1,2}:\d{1,2}]]></pattern>
<pattern name="gPatInt"><![CDATA[\d+]]></pattern>
</generalPatternDefinitions>
This parser file XML fragment for parsing the example syslog message looks like this:
<parsingInstructions>
<collectFieldsByRegex src="$_rawmsg"><regex><![CDATA[<:gPatSys-
logPRI>?<:gPatMon>\s+<:gPatDay>\s+<:gPatTime> %<evIdPrefix:patCiscoIOSMod>-<_sever-
ity:gPatInt>-<_evIdSuffix:patStrEnd
Colon>: <_body:gPatMesgBody>]]></regex>
</collectFieldsByRegex>
<setEventAttribute attr="eventType">combineMsgId("IOS-",$_evIdPrefix, "-", $_
evIdSuffix)</setEventAttribute>
<choose>
<when test='$_severity IN "6, 7"'>
<setEventAttribute attr="eventSeverity">1</setEventAttribute>
</when>
<when test='$_severity = "1"'>
<setEventAttribute attr="eventSeverity">10</setEventAttribute>
</when>
<when test='$_severity = "2"'>
<setEventAttribute attr="eventSeverity">8</setEventAttribute>
</when>
<when test='$_severity IN "3, 4"'>
<setEventAttribute attr="eventSeverity">5</setEventAttribute>
</when>
<when test='$_severity = "5"'>
<setEventAttribute attr="eventSeverity">2</setEventAttribute>
</when>
</choose>
<parsingInstructions>
The parsing is done on an eventType by eventType basis, because the formats are eventType-specific. Parsing
the syslog body involves three steps:
1. Parsing the action string. Based on the action staring value (permit or denied), modify the eventType by
appending the action string value at the end, and also modify the eventSeverity values.
2. Parsing the protocol, source, and destination IP, port, and totalPackets.
3. Converting the protocol string to a protocol integer.
<choose>
<when test='$eventType IN "IOS-SEC-IPACCESSLOGP,IOS-SEC-IPACCESSLOGDP, IOS-SEC-
IPACCESSLOGRP"'>
<collectAndSetAttrByRegex src="$_body">
<regex><![CDATA[list <_aclName:gPatStr>\s+<_action:gPatWord>\s+<_pro-
to:gPatWord>\s+<srcIpAddr
:gPatIpV4Dot>\(<srcIpPort:gPatInt>\)<:gPatMesgBody>->\s+<destIpAddr:gPat
IpV4Dot>\(<destIpPort:gPatInt>\),\s+<totPkts:gPatInt> <:gPatMesgBody>]]>
</regex>
</collectAndSetAttrByRegex>
<choose>
<when test='$_action = "permitted"'>
<setEventAttribute attr="eventType">combineMsgId("IOS-",$_evIdPrefix, "-
", $_evIdSuffix, "-PERMITTED")</setEventAttribute>
<setEventAttribute attr="eventSeverity">1</setEventAttribute>
</when>
<when test='$_action = "denied"'>
<setEventAttribute attr="eventType">combineMsgId("IOS-",$_evIdPrefix,
"-", $_evIdSuffix, "-DENIED")</setEventAttribute>
<setEventAttribute attr="eventSeverity">3</setEventAttribute>
</when>
</choose>
<setEventAttribute attr="ipProto">convertStrToIntIpProto($_pro-
to)</setEventAttribute>
</when>
</choose>
Final Parser
<eventParser name="CiscoIOSParser">
<deviceType>
<Vendor>Cisco</Vendor>
<Model>IOS</Model>
<Version>ANY</Version>
</deviceType>
<patternDefinitions>
<pattern name="patCiscoIOSMod" list="begin"> <![CDATA[FW|SEC|SEC_
LOGIN|SYS|SNMP|]]></pattern>
<pattern name="patCiscoIOSMod" list="continue"> <![CDATA
[LINK|SPANTREE|LINEPROTO|DTP|PARSER|]]></pattern>
<pattern name="patCiscoIOSMod" list="end"><![CDATA[CDP|DHCPD|CONTROLLER|PORT_
SECURITY-SP]]></pattern>
<pattern name="patStrEndColon"><![CDATA[[^:]*]]></pattern>
<pattern name="patComm"><![CDATA[[^,]+]]></pattern>
</patternDefinitions>
<parsingInstructions>
<!—parse header -->
<collectFieldsByRegex src="$_rawmsg"><regex><![CDATA[<:gPatSys-
logPRI>?<:gPatMon>\s+<:gPatDay>\s+<:gPatTime>
%<_evIdPrefix:patCiscoIOSMod>-<_severity:gPatInt>-<_evIdSuffix:patStrEnd
Colon>: <_body:gPatMesgBody>]]></regex>
</collectFieldsByRegex>
<setEventAttribute attr="eventType">combineMsgId("IOS-",$_evIdPrefix, "-", $_
evIdSuffix)</setEventAttribute>
<choose>
<when test='$_severity IN "6, 7"'>
<setEventAttribute attr="eventSeverity">1</setEventAttribute>
</when>
<when test='$_severity = "1"'>
<setEventAttribute attr="eventSeverity">10</setEventAttribute>
</when>
<when test='$_severity = "2"'>
<setEventAttribute attr="eventSeverity">8</setEventAttribute>
</when>
<when test='$_severity IN "3, 4"'>
<setEventAttribute attr="eventSeverity">5</setEventAttribute>
</when>
<when test='$_severity = "5"'>
<setEventAttribute attr="eventSeverity">2</setEventAttribute>
</when>
</choose>
<!—parse body -->
<choose>
<when test='$eventType IN "IOS-SEC-IPACCESSLOGP,IOS-SEC-IPACCESSLOGDP, IOS-SEC-
IPACCESSLOGRP"'>
<collectAndSetAttrByRegex src="$_body">
<regex><![CDATA[list
<_aclName:gPatStr>\s+<_action:gPatWord>\s+<_proto:gPatWord>\s+<srcIpAddr
:gPatIpV4Dot>\(<srcIpPort:gPatInt>\)<:gPatMesgBody>->\s+<destIpAddr:gPat
IpV4Dot>\(<destIpPort:gPatInt>\),\s+<totPkts:gPatInt> <:gPatMesgBody>]]>
</regex>
</collectAndSetAttrByRegex>
<choose>
<when test='$_action = "permitted"'>
<setEventAttribute attr="eventType">combineMsgId("IOS-", $_evIdPre-
fix, "-", $_evIdSuffix,
"-PERMITTED")</setEventAttribute>
<setEventAttribute attr="eventSeverity">1</setEventAttribute>
</when>
<when test='$_action = "denied"'>
<setEventAttributeattr="eventType">combineMsgId("IOS-", $_evIdPrefix,
"-", $_evIdSuffix,
"-DENIED")</setEventAttribute>
<setEventAttribute attr="eventSeverity">3</setEventAttribute>
</when>
</choose>
<setEventAttribute attr="ipProto">convertStrToIntIpProto($_pro-
to)</setEventAttribute>
</when>
</choose>
<parsingInstructions>
Parsed Output
Input syslog:
Parsed fields:
Prerequisites
l You should review the configuration settings for the monitoring protocols that you will use in your monitor, and be
ready to provide the appropriate OIDs, classes, or database table attributes for the access protocol.
l You should have created any new device/application types, event attributes, or event types that you want to use in
your Performance Monitor.
l You should have the IP address and access credentials for a device that you can use to test the monitor.
After you have successfully tested and applied the performance monitor, you should initiate discovery of the device
that it will monitor, and then make sure that the new monitor is enabled as described in Managing Monitoring of Sys-
tem and Application Metrics for Devices.
Use these settings when configuring JDBC as the access protocol for a custom performance monitor. You might want
to review the topic Custom JDBC Performance Monitor for a Custom Table as an example of how to set up a custom
performance monitor using JDBC.
Field Setting/Notes
Method JDBC
This creates the mapping between columns in the database and FortiSIEM event attrib-
List of Columns
utes. See Mapping Monitoring Protocol Objects to Event Attributes for more information.
Where Clause This indicates whether the database table being queried has a fixed set of rows, or
whether it is growing over time. An example of this would be a table containing logs, in
which case FortiSIEM would keep track of the last entry and only pull the new ones. There
are three options here:
Select the Event Type from the drop-down for which you want to apply the monitor.
Event Type
Whenever a event belonging to the selected method is discovered, FortiSIEM will attempt
Field Setting/Notes
When configuring JMX as the monitoring protocol for a custom performance monitor, use these settings. You may
also want to review the topic Custom JMX Monitor for IBM Websphere as an example of creating a custom JMX per-
formance monitor.
Field Setting/Notes
Method JMX
Enter the MBean interface that you want to monitor, or click the downward arrow to browse
the JMX tree and select it. Note that the option you select here will determine the objects
MBean
that are available when you select an Object Attribute for the List of Attributes. See the
next section in this topic for information on how to find MBeans
Event Type Select the Event Type from the drop-down for which you want to apply the monitor.
Whenever a event belonging to the selected method is discovered, FortiSIEM will attempt to
apply the performance monitor to it.
This section discusses how to get MBean names and attributes for custom J2EE based applications.
When configuring SNMP as the access protocol for a custom performance monitor, use these settings. You may also
want to review the topics Custom SNMP Monitor for D-Link Interface Network Statistics and Custom SNMP Monitor
for D-Link HostName and SysUpTime as example of how to set up a custom performance monitor using SNMP.
Field Settings/Notes
Method SNMP
Parent OID The parent Object Identifier (OID) is used to optimize the number of SNMP GETs required for
Field Settings/Notes
pulling the various individual OIDs. You can enter this directly, or click the downward arrow to
select it from an MIB file. Several different MIB files are available to select from, see Importing
OID Definitions from a MIB File for more information.
Parent ID is Select is table if the OIDs you want to monitor are in a table with at least one row. An example
table would be interface metrics, such as ifInOctets and ifOutOctets, since there is an inter-
face metric for each interface.
The OIDs you want to monitor mapped to FortiSIEM event attributes. The selection you make
List of OIDs
for Parent OID determines the options available in the OID menu when you select New.
Many devices include MIB files that you can then use to create a custom performance monitor for the device. This
involves creating a configuration file based on information in the MIB file, using that file as input for the mib2xml
executable, and then placing the resulting output file in the /data/mibXml directory of your Supervisor. Once placed
in this directory, you can select the file from the MIB File List menu to select the parent OID, which will then also affect
which OIDs you can select for the OID to event attribute mapping.
Procedure
1. Collect the device OID files you want to use and place them in a directory where the mib2XML resides.
2. Create the input config file with these fields, and name it with the .cfg file extension.
See the attached alcatel.cfg file for an example. (Note: the link is available only in the HTML version of the
User Guide.)
Field Description
group This is the number of MIB file group. MIB files must be analyzed as a group because of
cross-references within them. The group attribute specifies an ID for each group and
needs to be unique for every group.
The name of the MIB file being analyzed. There can be multiple entries. Be sure to spe-
mibFile
cify the path to the MIB files.
vendor The name of the device vendor for the MIB file.
evtPrefix As SNMP trap notification definitions in the MIB file are parsed, an event file is gen-
erated for each SNMP trap. This field specifies the event type prefix.
The enterprise ID number for this vendor, which is used for generating the SNMP trap
enterpriseId
parser.
Example
In this example, a set of MIB files from an Alcatel 7x50 device are used to generate the XML output file. (Note: the fol-
lowing links are available only in the HTML version of the User Guide.)
When configuring WMI as the monitoring protocol for a custom performance monitor, use these settings. You may
also want to review the topic Custom WMI Monitor for Windows Domain and Physical Registry as example of how to
set up a custom performance monitor using WMI.
Field Settings
Method WMI
WMI metrics are defined in the form of a parent class having multiple attributes. For example, the
Parent Class parent class Win32_ComputerSystem has the attributes Domain and TotalPhys-
icalMemory.
Is Table If the parent WMI class is a table with one or more rows, select this option.
From the Used For drop-down list, choose File Monitor, Target File, Command Output Monitoring, or Con-
figuration Monitoring.
Field Settings
File Path This setting is pre-populated with the Parent OID/Class/File Path value.
Field Settings
File Path This setting is pre-populated with the Parent OID/Class/File Path value.
Upload Target File Click Upload and browse to the file you want to upload.
Field Settings
Command
Matched Attribute
Count
List of Attributes Click Edit to edit an existing attribute or New to create a new attribute. See Adding Attrib-
utes for Command Output Monitoring.
Field Settings
Upload Expect Script Click Upload to browse for the script you want to use.
Field Settings
Matched Position
Format Select either INTEGER, DOUBLE, or STRING from the drop-down list.
Event Attribute Click the drop-down list and select an event attribute from the table.
1. When creating your custom performance monitor, after you have selected the Method, click New next to List
of Attributes.
Depending on the monitoring protocol that you select, this table may be named List of Oids (SNMP), or List
of Columns (JDBC).
2. In the first field, enter or select the monitoring protocol object that you want to map to FortiSIEM event attribute.
Your options depend on the monitoring protocol you selected for Method.
Monitoring Pro-
Field name Settings/Notes
tocol
SNMP OID Select an MIB file from the MIB File List, and then select the OID that
you want to create the mapping for.You must enter an Event Type
and a Polling Frequency.
Enter an attribute of the WMI class you entered for Parent Class. You
WMI Attributes
must enter an Event Type and a Polling Frequency.
JMX Object Attrib- The MBean you select determines the attributes you can select. You
ute must enter an Event Type and a Polling Frequency. You will also
have to enter a Name and Private Key for the MBean attribute.
Select the Database Type, the SQL Query and specify the list of
JDBC Column Name
columns. You must enter an Event Type and a Polling Frequency.
WINEXE Matched Pos- Enter the Matched Position. You must enter an Event Type and a
ition Polling Frequency.
Creating Transforms
You can use a transform to convert the value returned for your monitoring project object into a more physically mean-
ingful or usable metric. You an create multiple transforms, and they will be evaluated in the order shown in the table.
Multiple transforms can be selected – they are evaluated in sequential order as shown in the display table.
You can use the Edit, Delete or Clone buttons to modify, remove or clone a Transform respectively.
Planning
1. A table called HEALTH_STATIC_DEMO that does not have time stamp as a column. The table does not grow
with time, and the HEALTH column is updated by the application.
create table HEALTH_STATIC_DEMO
{
ID VARCHAR2 (200) not null,
HOST_NAME NVARCHAR2 (200) not null,
HEALTH NVARCHAR2 (50)
}
2. A table called HEALTH_DYNAMIC_DEMO that has a time-stamp in the column create_time. Only records
with a more recent time-stamp than previous ones have to be pulled in, and every time a new record is written,
it includes a time stamp.
create table HEALTH_DYNAMIC_DEMO
{
ID VARCHAR2 (200) not null,
HOST_NAME NVARCHAR2 (200) not null,
HEALTH NVARCHAR2 (50),
CREATE_TIME DATE not null
}
Creating New Device Types, Event Attribute Types, and Event Types
To create these items, go to Admin > Device Support, and select the appropriate tab(s) to start.
In this case, you only need to create two new event types to handle the contents of the two tables.
Event Types
Field Setting
Name jdbc_static_perfObj
Type Application
Method JDBC
Where Clauses Not applicable, since the table doesn't grow over time
Field Setting
Name jdbc_dynamic_perfObj
Type Application
Method JDBC
Field Setting
Where Clauses retrieve all new values since last retrieve time of column create_time
In this example, the Oracle database runs on Microsoft Windows, so you must associate Microsoft Windows device
types to the two performance objects. Because the discovered device type has to exactly match one of device types in
this association for the discovery module to initiate monitoring, you must add other device types, such as Linux, if you
also want to monitor Oracle databases over JDBC on those devices.
Field Settings
Name windows_oracle_perf_association
l Microsoft Windows
l Microsoft Windows 7
l Microsoft Windows 98
l Microsoft Windows ME
l Microsoft Windows NT
Device Types
l Microsoft Windows Server 2000
l Microsoft Windows Server 2003
l Microsoft Windows Server 2008
l Microsoft Windows Vista
l Microsoft Windows XP
Before testing the monitor, make sure you have defined the access credentials for the database server, created the IP
address to credentials mapping, and tested connectivity to the server.
3. For IP, enter the address of the Oracle database server, and select either the Supervisor or Collector node that
will retrieve the information for this monitor.
4. Click Test.
You should see succeed under Result, and a parsed event attributes in the test result pane.
5. When the test succeeds, click Close, and then click Apply to register the new monitor with the back-end mod-
ule.
You can now use a simple query to make sure that that the metrics are pulled correctly. The search results should dis-
play the metrics for the event attributes you defined.
1. Create a structured historical search, and in the Filter Criteria, enter Event Type = "PH_DEV_MON_
CUST_JDBC_PERFORMANCE_STATIC"; Group by: [None]
This should show the entries in the HEALTH_STATIC_DEMO table
2. Create a structured historical search, and in the Filter Criteria, enter Event Type = "PH_DEV_MON_
CUST_JDBC_PERFORMANCE_SDynamic"; Group by: [None]
This should show the entries in the HEALTH_DYNAMIC_DEMO table .
This example shows how to create a custom performance monitor for network interface statistics for D-link switches.
In this case, the result is a table, with one set of metrics for each interface.
l Planning
l Adding the D-Link SNMP Performance Object
l Associating Device Types to Performance Objects
l Testing the Performance Monitor
l Enabling the Performance Monitor
l Writing Queries for the Performance Metrics
Planning
IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifIndex.2 = INTEGER: 2
IF-MIB::ifIndex.3 = INTEGER: 3
IF-MIB::ifIndex.4 = INTEGER: 4
IF-MIB::ifIndex.5 = INTEGER: 5
...
To get the interface index, you would run snmpwalk -v 1 -c <community> <ip> .1.3.6.1.2.1.2.2.1.1:
IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifIndex.2 = INTEGER: 2
IF-MIB::ifIndex.3 = INTEGER: 3
IF-MIB::ifIndex.4 = INTEGER: 4
IF-MIB::ifIndex.5 = INTEGER: 5
...
To get interface queue length (the outQLen event attribute in FortiSIEM), you would run snmpwalk -v 1 -c <com-
munity> <ip> .1.3.6.1.2.1.2.2.1.21:
IF-MIB::ifOutQLen.1 = Gauge32: 0
IF-MIB::ifOutQLen.2 = Gauge32: 0
IF-MIB::ifOutQLen.3 = Gauge32: 0
IF-MIB::ifOutQLen.4 = Gauge32: 0
IF-MIB::ifOutQLen.5 = Gauge32: 0
...
To get interface speed, you would run snmpwalk -v 1 -c <community> <ip> .1.3.6.1.2.1.2.2.1.5:
To get received bytes (the recvBitsPerSec event attribute in FortiSIEM), you would run snmpwalk -v 1 -c
<community> <ip> .1.3.6.1.2.1.2.2.1.10:
IF-MIB::ifInOctets.1 = Counter32: 0
IF-MIB::ifInOctets.2 = Counter32: 1247940872
IF-MIB::ifInOctets.3 = Counter32: 0
IF-MIB::ifInOctets.4 = Counter32: 0
IF-MIB::ifInOctets.5 = Counter32: 0
...
Finall,y to get sent bytes (the sentBitsPerSec event attribute in FortiSIEM ), you would run snmpwalk -v 1 -c
<community> <ip> .1.3.6.1.2.1.2.2.1.16:
IF-MIB::ifOutOctets.1 = Counter32: 0
IF-MIB::ifOutOctets.2 = Counter32: 1271371281
IF-MIB::ifOutOctets.3 = Counter32: 0
IF-MIB::ifOutOctets.4 = Counter32: 0
IF-MIB::ifOutOctets.5 = Counter32: 0
...
From these outputs you can see that if you want to create a performance monitor for D-Link switch uptime, you must:
1. Create a new device type, since D-Link switches are not supported in this release.
2. Create an event type, PH_DEV_MON_CUST_DLINK_INTF_STAT, that will contain the event attribute types
outQLen , recvBitsPerSec, and sentBitsPerSec, which are already part of the FortiSIEM event
attribute library, and hostNameSnmpIndx and intfSpeed, which you must create.
3. Create the mapping between the SNMP OIDs and the event attributes:
1. OID .1.3.6.1.2.1.2.2.1.1 and hostNameSnmpIndx
2. OID .1.3.6.1.2.1.2.2.1.5 and intfSpeed
3. OID .1.3.6.1.2.1.2.2.1.21 and outQLen
4. OID .1.3.6.1.2.1.2.2.1.10 and recvBitsPerSec
5. OID .1.3.6.1.2.1.2.2.1.16 and sentBitsPerSec
Device Type
Field Setting
Vendor D-Link
Model DGS
Version Any
Event Types
Naming Custom Event Types: All custom event types must begin with the prefix PH_DEV_MON_CUST_ .
Create this event type:
In this case, you will create one performance object that will map the SNMP OIDs to the FortiSIEM event attribute
types, and then associate them with the PH_DEV_MON_CUST_INTF_STAT event type. When you create the
recvBitsPerSec and sentBitsPerSec mapping you will also add a sequential transform to convert the cumu-
lative metric to a rate, and then convert bytes per second to bits per second. .
Field Setting
Name D-LinkIntStat
Type System
Method SNMP
Polling Fre-
60 seconds
quency
Type Formula
system toRate
system BytesPerSecToBitsPerSec
In this case you would only need to make one association with the D-Link DGS device you created.
Field Settings
Name D-LinkPerfObj
Before testing the monitor, make sure you have defined the access credentials for the D-Link device, created the IP
address to credentials mapping, and tested connectivity.
You can now use a simple query to make sure that that the metrics are pulled correctly. The search results should dis-
play the metrics for the event attributes you defined.
Create a structured historical search with these settings:
For Organ-
Filter Criteria Display Columns Time
izations
This example illustrates how to write a custom performance monitor for retrieving IBM Websphere thread, heap
memory, and non-heap memory metrics.
Planning
Creating New Device Types, Event Attribute Types, and Event Types
To create these items, go to ADMIN > Device Support, and select the appropriate tab(s) to start.
In this case, the IBM Websphere device type is already supported by FortiSIEM, but you must create new event attrib-
utes and event types for the metrics you want to retrieve.
Display Format
Name Display Name Value Type
Type
Display Format
Name Display Name Value Type
Type
Event Types
Naming Custom Event Types: All custom event types must begin with the prefix PH_DEV_MON_CUST_ .
Each of the event types requires creating a performance object for monitoring.
Field Setting
Name websphere_heapMemory_perfObj
Type Application
Method JMX
MBean java.lang:type=Memory
Field Setting
List of Attributes
Object Attribute Private Key Name Format Event Attribute
websphere_
HeapMemoryUsage committed committed Long
heapCommitted
websphere_
HeapMemoryUsage used used Long
heapUsed
websphere_
HeapMemoryUsage max max Long
heapMax
websphere_
Long
heapPCT
Field Setting
Name websphere_thread_perfObj
Type Application
Method JMX
MBean java.lang:type=Threading
Field Setting
List of Attributes
Private
Object Attribute Name Format Event Attribute
Key
websphere_
ThreadCount ThreadCount Long
numThreads
websphere_
PeakThreadCount PeakThreadCount Long
maxThreads
websphere_
Long
threadPCT
Field Settings
Name <blank>
Format Long
Type Formula
Transforms
custom ThreadCount*100/PeakThreadcount
Field Setting
Name websphere_nonHeapMemory_perfObj
Type Application
Method JMX
MBean java.lang:type=Memory
List of Attrib-
utes
Object Attribute Private Key Name Format Event Attribute
websphere_
NonHeapMemoryUsage used Long
nonHeapUsed
websphere_
NonHeapMemoryUsage committed Long
nonHeapCommitted
websphere_
NonHeapMemoryUsage max Long
nonHeapMax
In this example, IBM WebSphere runs on Microsoft Windows, so you must associate Microsoft Windows device types
to the three performance objects. Because the discovered device type has to exactly match one of device types in this
association for the discovery module to initiate these monitors, you must add other device types, such as Linux, if you
also wanted to monitor IBM Websphere over JMX on those devices.
Field Settings
Name windows_oracle_perf_association
l Microsoft Windows
l Microsoft Windows 7
Device Types
l Microsoft Windows 98
l Microsoft Windows ME
Field Settings
l Microsoft Windows NT
l Microsoft Windows Server 2000
l Microsoft Windows Server 2003
l Microsoft Windows Server 2008
l Microsoft Windows Vista
l Microsoft Windows XP
Before testing the monitor, make sure you have defined the access credentials for the server, created the IP address
to credentials mapping, and tested connectivity.
You can now use a simple query to make sure that that the metrics are pulled correctly. The search results should dis-
play the metrics for the event attributes you defined.
Create a structured historical search with these settings:
For Organ-
Filter Criteria Display Columns Time
izations
Although D-link switches and routers are not supported in this release of FortiSIEM, you can still use the custom mon-
itor feature to create a system uptime event that will collect basic performance metrics like hostName and
SysUpTime.
l Planning
l Adding New IBM WebSphere Performance Objects
l Associating Device Types to Performance Objects
l Testing the Performance Monitor
l Enabling the Performance Monitor
l Writing Queries for the Performance Metrics
Planning
From these outputs you can see that if you want to create a performance monitor for D-Link switch uptime, you must:
1. Create a new device type, since D-Link switches are not supported in this release
2. Create an event type, PH_DEV_MON_CUST_DLINK_UPTIME, that will contain the event attribute
types hostName and SysUpTime, which are already part of the FortiSIEM event attribute type library.
3. Create the mapping between the SNMP OIDs and the event attributes:
l OID .1.3.6.1.2.1.1.5 and hostName.
Creating New Device Types, Event Attribute Types, and Event Types
To create these items, go to ADMIN > Device Support, and select the appropriate tab(s) to start.
Device Type:
Field Setting
Vendor D-Link
Model DGS
Version Any
Both sysUptime and hostName are included in the Event Attribute Types, so you only need to create a new event
type, PH_DEV_MON_CUST_DLINK_UPTIME, that will contain them.
Naming Custom Event Types
All custom event types must begin with the prefix PH_DEV_MON_CUST_ .
In this case, you will create one performance object that will map the SNMP OIDs to the FortiSIEM event attribute
types hostName and SysUptime, and then associate them with the PH_DEV_MON_CUST_DLINK_UPTIME event
type. When you create the SysUpTime mapping you will also add a transform to convert system time to centiseconds
to seconds as shown in the second table.
Field Setting
Name D-LinkUptime
Type System
Method SNMP
Field Setting
Event Attrib-
Object Attribute Name Format Type
ute
List of OIDs
Host
.1.3.6.1.1.2.1.1.5 String RawValue hostName
Name
Type Formula
custom uptime/100
In this case you would only need to make one association with the D-Link DGS device you created.
Field Settings
Name D-LinkPerfObj
Before testing the monitor, make sure you have defined the access credentials for the D-Link device, created the IP
address to credentials mapping, and tested connectivity.
You can now use a simple query to make sure that that the metrics are pulled correctly. The search results should dis-
play the metrics for the event attributes you defined.
Create a structured historical search with these settings:
Planning
CLASS: Win32_ComputerSystem
AdminPass-
wordStatus::SEP::Auto-
mat-
icMan-
agedPage-
file::SEP::Auto-
mat-
icRe-
setBootOp-
tion::SEP::Auto-
mat-
icRe-
setCap-
abil-
ity::SEP::BootOp-
tionOnLim-
it::SEP::BootOp-
tionOnWatchDo-
g::SEP::BootROMSup-
por-
ted::SEP::BootupState::SEP::Cap-
tion::SEP::ChassisBootupState::SEP::CreationClassName::SEP::Cur-
rentTimeZone::SEP::Day-
lightInEf-
fect::SEP::De-
scrip-
tion::SEP::DNSHostName::SEP::Do-
main::SEP::Do-
mainRole::SEP::En-
ableDay-
lightSav-
ing-
sTime::SEP::FrontPanelRe-
setStatus::SEP::In-
fraredSup-
por-
ted::SEP::Ini-
tialLoadIn-
fo::SEP::In-
stallDate::SEP::Key-
boardPass-
wordStatus::SEP::LastLoadIn-
fo::SEP::Man-
ufac-
turer-
::SEP::Model::SEP::Name::SEP::NameFormat::SEP::Net-
workServer-
ModeEn-
abled::SEP::Num-
ber-
OfLo-
gic-
alPro-
cessor-
s::SEP::Num-
ber-
OfPro-
cessor-
s::SEP::OEMLo-
goBit-
map::SEP::OEMStringAr-
ray::SEP::PartOfDo-
main::SEP::PauseAfter-
Reset::SEP::PCSys-
temType::SEP::Power-
Man-
age-
mentCap-
abil-
ities::SEP::Power-
Man-
age-
mentSup-
por-
ted::SEP::Power-
OnPass-
wordStatus::SEP::Power-
State::SEP::Power-
Sup-
plyState::SEP::PrimaryOwn-
erContact::SEP::PrimaryOwn-
erName::SEP::Re-
setCap-
abil-
ity::SEP::Re-
setCoun-
t::SEP::Re-
setLim-
it::SEP::Roles::SEP::Status::SEP::Sup-
portContactDe-
scrip-
tion::SEP::Sys-
temStar-
tupDelay::SEP::Sys-
temStar-
tupOp-
tion-
s::SEP::Sys-
temStar-
tupSet-
ting::SEP::Sys-
temType::SEP::ThermalState::SEP::TotalPhys-
icalMemory::SEP::UserName::SEP::WakeUpType::SEP::Workgroup
1::SEP::True::SEP::True::SEP::True::SEP::3::SEP::3::SEP::True::SEP::Normal
boot::SEP::WIN2008-ADS::SEP::3::SEP::Win32_ComputerSystem::SEP::-
420::SEP::True::SEP::AT/AT COMPATIBLE::SEP::WIN2008-
ADS::SEP::FortiSIEM.net::SEP::5::SEP::True::SEP::3::SEP::False::SEP::NULL::SEP::
(null)::SEP::3::SEP::(null)::SEP::VMware, Inc.::SEP::VMware Virtual Plat-
form::SEP::WIN2008-ADS::SEP::(null)::SEP::True::SEP::1::SEP::1::SEP::NULL::SEP::([MS_
VM_CERT/SHA1/27d66596a61c48dd3dc7216fd715126e33f59ae7],Welcome to the Virtual
Machine)::SEP::True::SEP::3932100000::SEP::0::SEP::NULL::SEP::False::SEP::0::SEP::0::S-
EP::3::SEP::(null)::SEP::Windows User::SEP::1::SEP::-1::SEP::-1::SEP::(LM_Work-
station,LM_Server,Primary_Domain_
Con-
troller,Timesource,NT,DFS)::SEP::OK::SEP::NULL::SEP::0::SEP::NULL::SEP::0::SEP::X86-
based PC::SEP::3::SEP::4293496832::SEP::FortiSIEM\Administrator::SEP::6::SEP::(null)
From this output you can see that the Win32_ComputerSystem WMI class has two attributes:
l Domain
l TotalPhysicalMemory
From these outputs you can see that if you want to create a performance monitor for Windows Domain and Physical
Registry, you must:
1. Create an event type, PH_DEV_MON_CUST_WIN_MEM, that will contain the event attribute types Domain and
memTotalMB, both of which are already contained in the FortiSIEM event attribute types library.
2. Create the mapping between the WMI class attributes and the FortiSIEM event attribute types:
l WMI class attribute Domain and Domain.
l WMI class attribute TotalPhysicalMemory (Bytes) and memTotalMB (type INT64). Because
TotalPhysicalMemory returns in bytes, and memTotalMB is in INT64, a transform will be required to
convert the metrics.
In this case, you will create one performance object that will map the WMI Class attributes to the FortiSIEM event
attribute types Domain and memTotalMB, and then associate them with the PH_DEV_MON_CUST_WIN_MEM event
type. When you create the memTotalMB mapping you will also add a transform to convert bytes to INT64 as shown in
the second table.
Field Setting
Name WinMem
Type System
Method WMI
Field Setting
Type Formula
custom TotalPhysicalMemory/1024/1024
In this example, you must associate Microsoft Windows device types to the performance object.
Field Settings
Name WinMisc
l Microsoft Windows
l Microsoft Windows NT
l Microsoft Windows Server 2000
Device Types l Microsoft Windows Server 2003
l Microsoft Windows Server 2008
l Microsoft Windows Vista
l Microsoft Windows XP
Before testing the monitor, make sure you have defined the access credentials for the server, created the IP address
to credentials mapping, and tested connectivity.
3. For IP, enter the address of the Microsoft Windows server, and select either the Supervisor or Collector node
that will retrieve the information for this monitor.
4. Click Test.
You should see succeed under Result, and the parsed event attributes in the test result pane.
5. When the test succeeds, click Close, and then click Apply to register the new monitor with the back-end mod-
ule.
You can now use a simple query to make sure that that the metrics are pulled correctly. The search results should dis-
play the metrics for the event attributes you defined.
Create a structured historical search with these settings:
For Organ-
Filter Criteria Display Columns Time
izations
Host IP = <IP> AND Event Type = " Event Receive Time,Reporting Last 10 All
PH_DEV_MON_CUST_WIN_MEM";Group IP,Domain,Total Memory (MB) Minutes
by:[None]
d. Map the CSV file columns to the event attributes under Step 2: Attribute Mapping:
i. Select the event attributes to map to the CSV file columns.
ii. Click Next.
e. Set the template details under Step 3: Template Details:
i. Enter a Name for the Template.
ii. The Event Type is automatically updated based on the name.
iii. Enter any Description about the Template.
iv. Click Save.
2. Upload the file.
3. Run Reports.
l If event_eps_limit_controls is set to '0', FortiSIEM will process as many log files as possible and this
may inhibit the overall EPS license usage.
l If you change a phoenix_config.txt parameter, then reload the parser on that node.
l The log file is deleted once it has been read. Keep a separate backup if required.
l The system requires write access to the log file directory in order to delete the log file once read. This is important
because if the log file cannot be deleted, it is repeatedly read and consumed by FortiSIEM resulting in many duplic-
ate events and extra EPS consumption.
1. Go to /opt/phoenix/config/.
2. Edit the /opt/phoenix/config/phoenix_config.txt file as follows:
Change:
# FSM upgrade preserves customer changes to parameter value
pcap_file_directory= #/opt/phoenix/cache/PCAP
to
# FSM upgrade preserves customer changes to parameter value
pcap_file_directory=/opt/phoenix/cache/PCAP
5. Restart the application processes to read the configuration changes using the following commands. Note that
this will cause a few minutes interruption to event processing, resulting in new events received being lost as
the phParser process is restarted.
6. Copy the .pcap file to the directory /opt/phoenix/cache/PCAP, using SCP or SFTP to copy the PCAP file
to the directory. Note: the file will be deleted once ingested, keep another copy if required.
7. Search for the PCAP data by performing an Analytics query for 'Event Type = PH_DEV_MON_PCAP_DATA'.
PCAP data is written as JSON formatted events with event type PH_DEV_MON_PCAP_DATA. Various attributes
are also parsed, and can be used in advanced queries.
Health
Open Tunnel Re-Configuration Required after 6.3.0 or later Upgrade/Fresh Install 387
First Frame
Settings Description
Settings Description
Last Report Sync Time when the report was synched previously
Second Frame
Settings Description
SharedStore ID and
SharedStore ID and position information
SharedStore Position
Node.js-charting Message
Node.js-pm2
ules
From the Tunnels window (appears when Tunnels is selected), the following operations are available.
l Close Tunnel - Select a tunnel, and click Close Tunnel to close the tunnel.
l Close All - Click to close all open tunnels.
Health Health of the Collector based on the health of the modules running on it. If Health is
Critical, it means that one of the modules is not running on the Collector.
Last Status Updated The time when the collector last reported its status to the cloud.
Last Event Time The time when the collector last reported events to the cloud.
Last File Received The time when the collector last reported its performance status to the cloud.
The number of events per second (EPS) dynamically allocated by the system to this col-
Allocated EPS
lector.
Upgrade Version If the Collector has been upgraded, the new version.
Build Date Date on which the version of FortiSIEM the Collector is running on was built.
If you upgrade the Collector, the status of the upgrade is shown here as either Suc-
Install Status
cess or Failed.
Download Status If an image was downloaded to the Collector, the status of the download is shown here
as Success or Failed.
If you have tunnels you had opened after the upgrade, but prior to making the above change, you will need to click on
the Close All button from ADMIN > Health > Collector Health > Tunnels page.
This fix was done to address bug 602294: CVE-2004-1653 SSH port forwarding exposes unprotected internal ser-
vices.
You can filter agents by organization that appear in the table by using the drop-down list next to the Columns drop-
down list.
Name The name of the agent device is displayed. Clicking on the name will take you to the
CMDB > Devices page for that device, where you can edit the device's configuration
or view other information.
Monitor Status The monitor status is displayed. This is for performance monitoring.
Agent Policy The name of the policy configured for the agent is displayed.
Monitor Status
Monitor Status displays metric information based on your server and protocol configuration. See What is Discovered
and Monitored for your specific server in the External Systems Configuration Guide for more information.
Note: This table does not appear if there is no monitoring configuration.
Last Synched The time when PostgreSQL database was last synched.
Delay Displays how many bytes remained to be synched and the amount
of time needed to synch.
Status The status is based on the progress calculated as the ratio of Sec-
ondary Bytes and Primary Bytes.
Critical: Progress less than 10%
Warning: Progress between 10% and 75%
Normal: Progress greater than 75%
Status The status is based on the progress calculated as the ratio of Sec-
ondary Bytes and Primary Bytes.
Critical: Progress less than 10%
Warning: Progress between 10% and 75%
Normal: Progress greater than 75%
Status The status is based on the progress calculated as the ratio of Sec-
ondary Bytes and Primary Bytes.
Critical: Progress less than 10%
Warning: Progress between 10% and 75%
Normal: Progress greater than 75%
Last Synched The time when FortiSIEM EventDB was last synched.
Status The status is based on the progress calculated as the ratio of Sec-
ondary Bytes and Primary Bytes.
Critical: Progress less than 10%
Warning: Progress between 10% and 75%
Normal: Progress greater than 75%
Last Synched The time when Elasticsearch indices were last synched.
License
The table displays the value and expiry date for each of the following attributes.
l Devices
l Endpoint Devices
l Additional EPS
l Total EPS
l Agents
l UEBA
l IOC Service
l Maintenance and Support
You can use the Upload button on the top-right to upload a new License. For more information, refer to FortiSIEM
Licensing Guide.
l Agent Usage - Organization, Windows Agents, Linux Agents, and total agents used for an organization
l EPS Usage - Total Licensed EPS, Used EPS and Unused Events
l EPS Usage by Node - EPS Usage based on each Node
l EPS Usage by Organization - EPS Usage based on each Organization
To print the monthly usage report, click the Print Monthly Usage Report button on the top-right corner.
Settings Description
Disaster Recovery (DR) Role shows what role a node is acting as in Disaster Recovery, either
DR Role
Primary or Secondary.
Replication Displays the status of the node. For Disaster Recovery, Active indicates that the Primary and Sec-
Status ondary nodes are in sync and that Disaster Recovery is working. If the status is Inactive in either
the Primary or Secondary nodes involved with Disaster Recovery, it means that the Primary and
Secondary are NOT in sync, and that Disaster Recovery is not working. For a Supervisor node not
in Disaster Recovery or a Worker node, the Replication Status appears as N/A.
Adding a Worker
Note: If you are doing Real time Archive to HDFS, then remember to go to ADMIN > Setup > Storage > Archive and
click Test and Save. This will prepare the newly added worker for real time archive.
Editing a Worker
Editing Supervisor/Primary
Deleting a Worker
For the operational details about setting up and managing FortiSIEM disaster recovery and failover, see:
l Operationalizing Disaster Recovery and Failover
Settings Description
Host Info
SSH Public Key SSH Public Key is used for rsynch based data movements (for CMDB,
profile database, and SVN-lite configuration).
Settings Description
Replication Frequency
EventDB Replication Allows Event Database replication from the Primary to Secondary site.
If using Elasticsearch, you do not need to select the
EventDB Replication checkbox.
Prerequisites
It is recommended to use DNS names for the Supervisor to support this operation.
l Two separate FortiSIEM licenses - one for each site.
l The installation at both sites must be identical - workers, storage type, archive setup, hardware resources (CPU,
Memory, Disk) of the FortiSIEM nodes.
l DNS Names are used for the Supervisor nodes at the two sites. Make sure that users, collectors, and agents can
access both Supervisor nodes by their DNS names.
l DNS Names are used for the Worker upload addresses.
l TCP Ports for HTTPS (TCP/443), SSH (TCP/22) and PostgresSQL (TCP/5432) are open between both sites.
Assume there are two sites, Site 1 needs to be set up as Primary, and Site 2 as Secondary.
Step 1. Collect UUID and SSH Public Key from Primary (Site 1)
1. For the UUID, obtain the Hardware ID value through an SSH session by running the following command on
Site 1.
/opt/phoenix/bin/phLicenseTool --show
For example:
2. Enter/paste the Hardward ID into the UUID field for the Site 1 FortiSIEM.
3. Under Configuration and Profile Replication, generate the SSH Public Key and SSH Private Key Path by
entering the following in your SSH session from Site 1:
su – admin
ssh-keygen -t rsa -b 4096
Leave the file location as default, and press enter at the passphrase prompt.
The output will appear similar to the following:
Generating public/private rsa key pair.
Enter file in which to save the key (/opt/phoenix/bin/.ssh/id_rsa):
Created directory '/opt/phoenix/bin/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /opt/phoenix/bin/.ssh/id_rsa.
Your public key has been saved in /opt/phoenix/bin/.ssh/id_rsa.pub.
The key fingerprint is:
a9:43:88:d1:ed:b0:99:b5:bb:e7:6d:55:44:dd:3e:48 [email protected]
The key's randomart image is:
+--[ RSA 4096]----+
| ....|
| . . E. o|
4. For the SSH Public Key enter the following command, and copy all of the output.
cat /opt/phoenix/bin/.ssh/id_rsa.pub
Step 2. Collect UUID and SSH Public Key from Secondary (Site 2)
Leave the file location as default, and press enter at the passphrase prompt. Your output will appear similar to
the following.
Generating public/private rsa key pair.
Enter file in which to save the key (/opt/phoenix/bin/.ssh/id_rsa):
Created directory '/opt/phoenix/bin/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /opt/phoenix/bin/.ssh/id_rsa.
Your public key has been saved in /opt/phoenix/bin/.ssh/id_rsa.pub.
The key fingerprint is:
a9:43:88:d1:ed:b0:99:b5:bb:e7:6d:55:44:dd:3e:48 [email protected]
The key's randomart image is:
+--[ RSA 4096]----+
| ....|
| . . E. o|
3. On the Add Node window, in the Type drop-down list, select Secondary (DR).
The primary (Site 1) node configuration fields appear in the left column, and the secondary (Site 2) node con-
figuration fields appear in the right column.
4. Under the Host Info Role Primary column, take the following steps:
a. In the Host field, enter the host name of the Site 1 FortiSIEM.
b. In the IP field, enter the IP of the Site 1 FortiSIEM.
c. For the SSH Private Key Path, enter the following into the field:
/opt/phoenix/bin/.ssh/id_rsa
d. For Replication Frequency, select a value for the Site 1 FortiSIEM.
e. Select the EventDB Replication check box if you would also like the Event Database to be replicated.
This is NOT required for Elasticsearch.
Note 1: For Local/NFS Event DB installs, this value is used for SVN and ProfileDB synchronization.
Note 2: For Local/NFS Event DB installs, rsync is used, and this runs continually in the background.
5. Under the Host Info Role Secondary column, take the following steps:
a. In the Host field, enter the host name of the Site 2 FortiSIEM.
b. In the IP field, enter the IP address of the Site 2 FortiSIEM.
c. In the UUID field, enter/paste the Hardware ID of the Site 2 FortiSIEM that you obtained earlier.
d. In the SSH Public Key field, enter/paste the SSH Public Key of the Site 2 FortiSIEM that you obtained
earlier.
e. For the SSH Private Key Path, enter the following into the field:
/opt/phoenix/bin/.ssh/id_rsa
f. Select the EventDB Replication check box if you would also like the Event Database to be replicated.
If you are running Elasticsearch, then see the Disaster Recovery for Elasticsearch Guide here.
Click Export and download a file named replicate.json.
Note: This file contains all of the Disaster Recovery settings, and can be used as a backup.
6. Click Save.
At this point, the Site 1 (Primary) node will begin configuration and the step and progress of the Disaster Recov-
ery is displayed in the GUI.
When operating in DR Replication mode, there are a few things to bear in mind:
l Both the Primary (Site 1) and Secondary (Site 2) nodes GUI are available for login.
l The Secondary (Site 2) is only available for read-only operations. From Secondary (Site 2), expect the following:
l Able to view CMDB, Incidents, Cases, Tasks, Resources and all settings in the ADMIN page except the
Replication progress is available by navigating to ADMIN > Health > Replication Health. For details see here.
Handling Disaster
If you are able to recover the original failed Primary (Site1.fortisiem.acme.com), you can take the following steps to
add it back to establish Disaster Recovery again. In this situation, the original failed Primary will become the Sec-
ondary in the Disaster Recovery setup. If you need to switch, follow the instructions in Switching the Primary and Sec-
ondary Role Positions AFTER completing the steps here.
If the original Primary cannot be recovered, you can add a new Secondary to establish Disaster Recovery again by tak-
ing the following steps.
If you do not want to enable the Disaster Recovery feature, you can turn it off by taking the following steps.
If you need to change your Disaster Recovery setup so that the current Primary becomes Secondary and the current
Secondary becomes Primary, take the following steps.
1. Login to the current Secondary FortiSIEM node as root, and run the following command:
phsecondary2primary
When the job is completed, the Secondary is now the Primary.
2. Login to the current Primary UI.
3. Navigate to ADMIN > License > Nodes.
4. Select the Secondary FortiSIEM node listed and click Edit.
5. Review the information to ensure that all the information is correct.
6. When done, click Save.
The original Secondary is now Primary, and the original Primary is now Secondary in your Disaster Recovery
configuration. Remember to change the DNS addresses after this role switch.
Settings
This section contains information on monitoring the health of your FortiSIEM deployment, general system settings
such as language, date format, and system logos, and how to add devices to a maintenance calendar.
l System Settings
l UI Settings
l Email Settings
l Collector Image Server Settings
l Event Worker Settings
l Important Ports
l Important Interfaces
l Excluded Disks
l Windows WMI Pulling Template
l Event Handling Settings
l Event Dropping
l Event Forwarding
l Event Organization Mapping
l Multiline Syslog
l Event Database Settings
l Creating Retention Policy
l UEBA Settings
l General Settings
l External Authentication Settings
l Escalation Settings
l Configuring SSL Socket Certificates
System Settings
The following section describes the procedures for system settings:
l UI Settings
l Email Settings
l Collector Image Server Settings
l Event Worker Settings
l Query Worker Settings
l Lookup Settings
l Kafka Settings
l Dashboard Slideshow Settings
l Dashboard Ownership
l PAYG Report
UI Settings
There are two locations where you can change UI settings in FortiSIEM. One location is in the user profile. The other is
in the administrator settings.
l User Profile UI Settings
l Administrator UI Settings
The initial view of FortiSIEM UI after login can be configured using the UI settings including dashboard, logos, and
theme.
Click the User Profile icon ( ) in the upper right corner of the UI. The dialog box contains three tabs:
Basic - Use the Basic tab to change your password into the system.
Contact - Use the Contact tab to enter your contact information.
UI Settings - Use the UI Settings tab to set the following:
Settings Guidelines
Home Select the tab which opens when you log in to the FortiSIEM UI.
Select the Overview, List (by Time, by Device, by Incident), Risk, Explorer, or
Incident Home MITRE ATT&CK (Rule Coverage, Incident Coverage, Incident Explorer) display for
the INCIDENTS tab.
Dashboard Home Select the Dashboard to open by default under the DASHBOARD tab from this drop-
Settings Guidelines
down list.
Select the type of dashboards to be visible/hidden using the left/right arrows. The up/-
Dashboard Settings
down arrows can be used to sort the Dashboards.
Language Specify which language will be used for the UI display. Many UI items have been trans-
lated into the languages in the drop-down list, including buttons, labels, top-level head-
ings, and breadcrumbs. Items that are data-driven are not translated.
Select Dark or Light theme for FortiSIEM UI. Save and refresh the browser to view the
Theme
change.
Date Format Select one of the following formats for displaying date and time information.
l Local/Simple Date Format - Display the time in AM/PM format.
l ISO 8601 - Display the date and time in ISO 8601 format, the International Stand-
ards Organization's standard for date and time representation.
l UTC - Display the date and time in Coordinated Universal Time (UTC).
Administrator UI Settings
Click ADMIN > Settings > System > UI to access the administrator UI settings.
Settings Guidelines
UI Logo Click the edit icon to enter the path to the image file for the logo that will be used in the
UI.
Click the edit icon to enter the path to the image file for the logo that will be used in
Report Logo
reports.
Google Maps API Key Click the edit icon to enter the API key to access Google Maps.
Administrators can choose a login banner to display to users after login. Click the
Enabled checkbox to display a login banner.
Login Banner
In the field below Login Banner, enter the text that you want to appear. Some simple
BBCode tags are allowed in this message input:
Settings Guidelines
“b” - bold
“i” - italic
“u” - underline
“url” - url
HTML tags are not allowed. Nested tags are not allowed.
When done, click Save. In addition to the banner, the user will see the following:
l Last login time and IP address location
lChanges to the account (if any) since last login. This includes whether the user
was assigned a new role for any organization, or if a role definition has changed.
Changes appear in the next login. This is a global setting for all users.
Email Settings
The system can be configured to send email as an incident notification action or send scheduled reports. Use these
fields to specify outbound email server settings.
Complete these steps to customize email settings:
Settings Guidelines
Email Gateway Server [Required] Holds the gateway server used for email.
Send Without Key If this option is selected, then email is sent to a user, even if no S/MIME
certificate is defined for that user. The email is encrypted with a default cer-
tificate and the user cannot read this email. If this option is unselected,
then email is not sent to the user without a S/MIME certificate. Therefore,
to use the S/MIME option, certificates must be defined for all users
configured to receive email.
Settings Guidelines
Secure Connection (TLS) Protocol used by the gateway server. This can be Exchange or SMTP.
Incident Status – Active (0), Auto Cleared (1), Manually Cleared (2),
Status
System Cleared (3)
Host Name Host Name from Incident Target. If not found then gathered from
Incident Source
Incident ID Without Link Incident ID – assigned by FortiSIEM and is unique – this attribute
does not have an URL
Incident Severity Category HIGH (9-10), MEDIUM (5-8) and LOW (1-4)
Incident Count Number of times the same incident has happened with the same
group by parameters
Destination IP, Destination Host Name, Host IP, Host Name, User in
Incident Target
an Incident
Incident Detail Any group by attribute in an Incident other than those in Incident
Source and Incident Target
Triggering Attributes List of attributes that trigger a rule – found in Rule > Sub pattern >
Aggregate
Raw Events Triggering events in raw format as sent by the device (up to 10)
Device Annotation Annotation for the device in Incident Target – set in CMDB
Device Description Description for the device in Incident Target – set in CMDB
Device Location Location for the device in Incident Target – set in CMDB
Incident Subcategory Specific for each category – as set in the Rule definition
To set an email template as default, select the template in the list, and then click Set as Default. When you are cre-
ating a notification policy and must select an email template, if you leave the option blank, the default template will be
used. For Service Provider deployments, to select a template as default for an Organization, first select the Organ-
ization, then set the default email template for that organization.
Any Hostnames specified in the Worker Upload must be resolvable by the Collector and similarly, any specified IP
addresses must have connectivity from the Collector.
Complete these steps to configure Worker upload settings:
Note: Workers will be removed automatically from the Query Worker Settings if they are explicitly listed there.
If you used a load balancer or DNS name, then you must manually remove the Query Worker from those con-
figurations.
Lookup Settings
Lookup setting can be used to find any IP or domain by providing the link.
Complete these steps for lookup:
5. Click Save.
Kafka Settings
FortiSIEM events found in system event database can be exported to an external system via Kafka message bus.
FortiSIEM supports both forwarding events to an external system via Kafka message bus as a 'Producer' and receiv-
ing events from a third-party system to FortiSIEM via Kafka message bus as a 'Consumer'.
As a Producer:
l Make sure you have set up a Kafka Cloud (here) with a specific Topic for FortiSIEM events.
l Make sure you have identified a set of Kafka brokers that FortiSIEM is going to send events to.
l Make sure you have configured Kafka receivers which can parse FortiSIEM events and store in a database. An
example would be Logstash receiver (see here) that can store in an Elastic Search database.
l Configure event forwarding in order for FortiSIEM to send events to an external Kafka consumer.
l Supported Kafka version: 0.8
As a Consumer:
l Make sure you have set up a Kafka Cloud (here) with a specific Topic, Consumer Group and a Consumer for send-
ing third party events to FortiSIEM.
l Make sure you have identified a set of Kafka brokers that FortiSIEM will receive events from.
l Supported Kafka version: 0.8
Setting up Consumer
# zookeeper_jaas.conf
Server {
org.apache.zookeeper.server.auth.DigestLoginModule required
user_super="zookeeper"
user_alice="alice-secret";
};
Notice the last line is user_{username}="{password}"
If the username is ‘admin’, the line will be
user_admin="admin-password";
# server.properties
host.name=192.0.2.0
port=9092
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol=SCRAM-SHA-512
sasl.enabled.mechanisms=SCRAM-SHA-512
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
allow.everyone.if.no.acl.found=true
auto.create.topics.enable=true
listeners=SASL_PLAINTEXT://192.0.2.10:9092
advertised.listeners=SASL_PLAINTEXT://192.0.2.10:9092
ssl.client.auth=required
Note: Change the IP addresses to actual
# kafka_server_jaas.conf
KafkaServer {
org.apache.kafka.common.security.scram.ScramLoginModule required
username="alice"
password="alice-secret"
user_alice="alice-secret";
};
Client {
org.apache.zookeeper.server.auth.DigestLoginModule required
username="alice"
password="alice-secret";
};
# kafka_client_jaas.conf
KafkaClient {
org.apache.kafka.common.security.scram.ScramLoginModule required
username="alice"
password="alice-secret"
user_alice="alice-secret";
};
Client {
org.apache.zookeeper.server.auth.DigestLoginModule required
username="alice"
password="alice-secret";
};
# consumer.properties
security.protocol=SASL_PLAINTEXT
sasl.mechanism=SCRAM-SHA-512
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule
required username="alice" password="alice-secret";
4. Start zookeeper.
cd ..
export KAFKA_OPTS="-Djava.security.auth.login.config=$(\pwd)/config/zookeeper_
jaas.conf"
bin/zookeeper-server-start.sh config/zookeeper.properties
(In another shell window)
bin/kafka-configs.sh --zookeeper localhost:2181 --alter --add-config 'SCRAM-SHA-
512=[password=alice-secret]' --entity-type users --entity-name alice
7. Start consumer.
export KAFKA_OPTS="-Djava.security.auth.login.config=$(pwd)/config/kafka_client_
jaas.conf"
bin/kafka-console-consumer.sh --topic test1 --bootstrap-server=192.0.2.10:9092 -
-consumer.config=config/consumer.properties
At this point, when FortiSIEM forwards events to this client, contents can be seen in the consumer window.
8. (Optional) Start producer.
export KAFKA_OPTS="-Djava.security.auth.login.config=$(pwd)/config/kafka_client_
jaas.conf"
bin/kafka-console-producer.sh --topic test1 --broker-list 192.0.2.10:9092 --pro-
ducer.config config/producer.properties
Setting Up FortiSIEM
For all the above System settings, use the Edit button to modify or Delete button to remove any setting from the list.
Dashboard Ownership
Dashboard Ownership settings are used to transfer editing rights from the current owner of a shared dashboard to
another person. It requires that the owner to whom the rights are being transferred to, to have the same exact role per-
missions as the current owner. This feature can be useful if the current owner is no longer available, and another per-
son is required to handle the shared dashboard of that individual.
Complete these steps to transfer Dashboard Ownership:
You can verify the transfer by looking at the user in the User column.
PAYG Report
If applicable, you can generate a daily or monthly Pay as you Go (PAYG) report.
Complete these steps to generate a daily or monthly PAYG report:
Analytics Settings
The following section describes the procedures for Analytics settings:
l Scheduling Report Alerts
l Scheduling Report Copy
l Setting Incident SNMP Traps
l Setting Incident HTTP Notification
are no matching events. If you don't want to send empty reports to users, select this option. If you are run-
ning a multi-tenant deployment, and you select this option while in the Super/Global view, this will apply
only to Super/Global reports. If you want to suppress delivery of empty reports to individual Organizations,
configure this option in the Organizational view.
3. Enter the email address in Deliver notification via filed. Click + to add more than one email address, if
needed.
4. Click Save.
5. To receive email notifications, go to ADMIN > Settings > System > Email and configure your mail server.
Note: For all of the above configurations, use the Edit button to modify any setting or Delete to remove any setting.
Incidents are sent out in XML format. For details, see here.
Before configuring Remedy to accept tickets, make sure you have configured the Remedy Notifications in FortiSIEM.
1. In Remedy, create a new form, FortiSIEM_Incident_Interface, with the incident attributes listed in the table at
the end of this topic as the form fields.
2. When you have defined the fields in the form, right-click the field and select the Data Type that corresponds to
the incident attribute.
3. After setting the form field data type, click in the form field again to set the Label for the field.
4. When you are done creating the form, go to Servers > localhost > Web Service in Remedy, and select New
Web Service.
5. For Base Form, enter FortiSIEM_Incident_Interface.
6. Click the WSDL tab.
7. For the WSDL Handler URL, enter http://<midtier_server-
>/arsys/WSDL/public/<servername>/FortiSIEM_Incident_Interface.
8. Click the Permissions tab and select Public.
9. Click Save.
You can test the configuration by opening a browser window and entering the WSDL handler URL from step 7 above,
substituting the Remedy Server IP address for <midtier_server> and localhost for <servername>. If you see
an XML page, your configuration was successful.
first_seen_time bigint Time when the incident occurred for the first time
last_seen_time bigint Time when the incident occurred for the last time
incident_detail text Incident Detail attributes that are not included in incident_
src and incident_target
notification_action_
text Incident Notification Status
status
character varying
ticket_id Id of the ticket created in FortiSIEM
(2048)
Setting a Subcategory
FortiSIEM Incidents are grouped into different categories – Availability, Change, Performance, Security and Other. A
Category is assigned to every Rule and you can search any Incidents using these Categories. FortiSIEM extends this
concept to include Subcategories. A Subcategory is defined for every system-defined rule. You can add a Sub-
category for custom rules and also create new Subcategories. Incidents can be searched using both Categories and
Subcategories.
Creating a Subcategory
Modifying a Subcategory
You can modify only user-defined Subcategories. You cannot modify system-defined Subcategories.
Deleting a Subcategory
You can delete only user-defined Subcategories. You cannot delete system-defined Subcategories.
1. Go to ADMIN > Settings > Analytics > Risk Filter to open the Risk Filter view.
2. Click New.
3. In the New Risk Filter dialog box, select Super/Local or the name of an organization from the Add filter for
drop-down list.
4. Click Next.
5. In the next dialog box, Include is selected by default. Open the Rules tree under Groups and shuttle the rules
you want to include in the filter from the Rules column to the Selection column.
6. Select Exclude and repeat the process described in the previous step to exclude rules from the filter.
7. Click Save. Your rule selections will appear in the Included Rules and Excluded Rules columns of the table.
1. Go to ADMIN > Settings > Analytics > Risk Filter to open the Risk Filter view.
2. Click Edit.
3. In the dialog box, Include is selected by default. Shuttle the rules you do not want to be included in the Risk
Score from the Selection column to the Rules column.
4. Select Exclude and repeat the process described in the previous step to exclude rules from the filter.
5. Click Save.
1. Go to ADMIN > Settings > Analytics > Risk Filter to open the Risk Filter view.
2. Select the row in the table containing the filter you want to delete.
3. Click Delete.
To see the impact of the filters you defined, go to INCIDENTS. Click the Risk icon ( ) to open the Risk View.
For a description of the Risk View, see Risk View.
Tags
Tags allow you to create a keyword or phrase, the "tag", that can be associated with rules that trigger incidents. After
creating a tag, you associate it with a rule (See Creating a Rule: Step 3: Define Actions). After this configuration, you
can view tags on the Incidents List View page by doing any of the following.
l Add the Tag column to view tags that were part of a rule triggered incident.
l Search for tag related incidents by including Incident Tag as part of your search.
Creating a Tag
At this point, you tag will be saved, and be available from the Tags drop-down list when creating or editing a Rule.
Editing a Tag
Deleting a Tag
Discovery Settings
The following section describes the procedures for Discovery settings:
l Generic Settings
l Setting CMDB Device Filter
l Setting Application Filter
l Setting Location
l Setting CMDB Group
Generic Settings
Before you initiate discovery, you should configure the Discovery Settings in your Supervisor as required for your
deployment.
Virtual IPs Often a common virtual IP address will exist in multiple machines for
load balancing and fail-over purposes. When you discover devices,
you must have these virtual IP addresses defined within your dis-
covery settings for two reasons:
Setting Description
Enter the Excluded Shared Device IPs and click + to add more, if
required.
Virtual Device Hardware If two or more devices have identical hardware serial number, spe-
Serial Numbers cify them here. In general, hardware serial number is used to
uniquely identify a device and therefore two devices with identical
hardware serial number is merged into a single device in CMDB. If a
hardware serial number is present in the Virtual Hardware Serial
Numbers list, then it is excluded for merging purposes.
Setting Description
3. Click Save.
Setting Location
This setting allows you to set location information for devices in CMDB. Location information can be defined for a set
of IP addresses. When applied, this information will overwrite the existing Location information in the CMDB. Future
discoveries will not overwrite this information. Use this method to update locations of multiple devices with private IP
addresses only. It is not necessary to update locations for public address space in this manner, because this inform-
ation can also be obtained from a separate built-in database location.
l IP/IP Range
l Location
l Update Manual Devices (This enables the system to overwrite the location information for manually
defined devices in CMDB.)
4. Click Save.
5. Select the new location from the list and click Apply.
Conditions are matched in ANDed manner: Both the actions are taken, that is, if both a Group and a Business Ser-
vice is specified, then the device will be added to both the specified Group and Business Service.
To apply one or more CMDB Group policies:
1. Select one or more policies and click Apply or click Apply All to apply all policies.
2. Once a policy is saved, then next discovery will apply these policies. That means, discovered devices will
belong to the groups and business services defined in the policies.
Note: For all the above configurations, use the Edit button to modify any setting or Delete to remove any setting.
FortiSIEM allows you to define device groups based on IP address, host name, or device type. You can also group
devices based on custom properties. These steps assume that you have already defined the custom properties you
are interested in. See Working with Custom Properties.
To group devices by custom properties:
1. In the CMDB Group Definition dialog box, click the edit icon next to Custom Properties.
2. Click + to add a new group definition based on the custom property.
3. Select a custom property from the Property drop-down list.
4. Enter a Value for the property. You can add multiple values by clicking the + button.
5. Click Save, then click Save again to return to the CMDB Group Definition dialog box.
6. In the Add To section of the dialog box, select the group to which the CMDB Group will be added from the
Groups drop-down list.
Monitoring Settings
The following sections describe the procedures for Monitoring settings:
l Important Processes
l Important Ports
l Important Interfaces
l Excluded Disks
l Windows WMI Filter
Important Processes
This setting allows you to always get process resource utilization reports and UP/DOWN alerts on a set of important
processes across all device types.
Important Ports
This setting allows you to get TCP/UDP port UP/DOWN status only for a set of important critical ports. Always report-
ing UP/DOWN status for every TCP/UDP port on every server can consume a significant amount of resources. A
port's UP/DOWN status is reported only if the port belongs to this list defined here.
Matching is exact based on port number and IP protocol.
Important Interfaces
This setting allows you to always get interface utilization reports on a set of important network interfaces across all
device types.
By default, this feature is disabled regardless of whether it is upgraded or newly installed. If this feature is disabled,
FortiSIEM monitors all interface util and up/down events. The isHostIntfCritical attribute will be set to false for
all interfaces. Only non-critical interface staying down rule may trigger. Critical interface staying down rule will have no
chance to trigger. If this feature is enabled, there are two check boxes - monitor and critical. If critical is checked, mon-
itor will be checked automatically. Monitor controls whether we must generate interface util event. We monitor inter-
face utils events for interface whose monitor check box is selected. Critical controls whether we must generate
interface up/down events. FortiSIEM monitors interface up/down events for an interface whose critical check box is
selected. If one interface is marked as critical, we set the attribute of isHostIntfCritical to true in the gen-
erated interface util and up/down events. The Rule “critical interface staying down” will trigger on interfaces whose
isHostIntfCritical is true. Non-critical interface staying down rule will have no chance to trigger.
Excluded Disks
This setting allows you to exclude disks from disk capacity utilization monitoring. Disk capacity utilization events will
not be generated for devices matching device name, access IP and disk name. Incidents will not trigger for these
events, and the disks will not show up in summary dashboards. Use this list to exclude read only disk volumes or par-
titions that do not grow in size and are close to full.
1. Go to ADMIN > Settings > Monitoring > Windows WMI Filter tab.
2. Click New.
3. Enter a name and an optional description for the filter in the New WMI Filter dialog box.
4. Click New to define a filter for the template:
a. From the Type drop-down list, select Application, Security, or System.
b. In the Include and Exclude fields, enter a comma-separated list of the event codes which should be
included or excluded from the filter.
c. Click Save.
5. Click Save again to save the Windows WMI filter.
Any Windows Server discovery that uses that a WMI credential will only pull the logs specified in the Filter in Step 1.
Event Dropping
Some devices and applications generate a significant number of logs, which may be very verbose, contain little valu-
able information, and consume storage resources. You can configure Event Dropping rules that will drop events just
after they have been received by FortiSIEM, preventing these event logs from being collected and processed. Imple-
menting these rules may require some thought to accurately set the event type, reporting device, and event regular
expression match, for example. However, dropped events do not count towards licensed Events per Second (EPS),
and are not stored in the Event database. Dropped events also do not appear in reports, and do not trigger rules. You
can also specify that events should be dropped but stored, so event information will be available for searches and
reports, but will not trigger rules. An example of an event type that you might want to store but not have trigger any
rules would be an IPS event that is a false positive.
Notes:
l All matching rules are implemented by FortiSIEM, and inter-rule order is not important. If you create a duplicate of
an event dropping rule, the first rule is in effect.
l If you leave a rule definition field blank, then that field is not evaluated. For example, leaving Event Type blank is
the same as selecting All Event Types.
l FortiSIEM drops the event at the first entry point. If your deployment uses Collectors, events are dropped by the
Collectors. If your deployment doesn't use Collectors, then the event will be dropped by the Worker or Supervisor
where the event is received.
l You can use the report System Event Processing Statistics to view the statistics for dropped events. When
you run the report, select AVG(Policy Dropped Event Rate (/sec) as one of the dimensions for Chart to see events
that have been dropped to this policy.
Event Forwarding
In systems management, many servers may need access to forward logs, traps and Netflows from network devices
and servers, but it is often resource intensive for network devices and servers to forward logs, traps and Netflows to
multiple destinations. For example, most Cisco routers can forward Netflow to two locations at most. However,
FortiSIEM can forward/relay specific logs, traps and Netflows to one or more destinations. A Super, Worker or Col-
lector can forward events - the one which receives and parses the event forwards it. If you want to send a log to mul-
tiple destinations, you can send it to FortiSIEM, which will use an event forwarding rule to send it to the desired
locations. If you only want the workers (or super) to forward events, after this configuration, see Event Forwarding by
Worker.
l CEF - outgoing events are CEF formatted. See here for details on CEF formatted logs.
14. Click Save.
Notes:
1. If you want the same sender IP to forward events to multiple destinations, create a rule for each destination.
2. FortiSIEM will implement all rules that you create and enable, so if you create a duplicate of an event for-
warding rule, two copies of the same log will be sent to the destination IP.
3. If you want to use public CA certificates for TCP over SSL communication, then note the following:
l FortiSIEM's SSL library can validate an external system’s certificate if it is signed by a public CA.
l If the external system wants to verify the FortiSIEM node's certificate, then you need to add the following
certificate and key to the phoenix_config.txt file of the FortiSIEM nodes forwarding the event.
[BEGIN phEventForwarder]
tls_certificate_file= #/opt/phoenix/bin/.ssh/my_cert.crt
…
tls_key_file= #/opt/phoenix/bin/.ssh/my_cert.key
[END]
There may be situations where you may not want to forward events from collectors to your target device. Fortinet
allows you to forward events when workers (or super) receives collector event information. To configure this, go to
ADMIN > Settings > Event Handling > Forwarding tab, and add a checkmark to the Forward From Worker check-
box. If there is more than one collector per org, this feature will forward events by workers for all collectors.
1. Go to ADMIN > Settings > Event Handling > Event Org Mapping tab.
2. Click New.
3. Select or search the Device Type of the sender from the drop-down.
This has to be a device that FortiSIEM understands and able to parse events.
4. Select or search the Event Attribute that contains the external organization name from the drop-down.
FortiSIEM will map the value in this field to the FortiSIEM Organization.
5. Select or search the multi-tenant Collectors under Super-Local Organization that will receive the events from
the drop-down.
To include all Collectors, select All Collectors.
6. Specify the IP/IP Range of the multi-tenant devices that are sending events.
Only a single IP or an IP Range is allowed, for example, 10.1.1.1 or 10.1.1.1-10.1.1.2. Comma-separated val-
ues, such as 10.1.1.1,10.1.1.2, are not allowed.
7. Click the edit icon next to Org Mapping to map an organization to an event.
l Click on any Event Organization cell in the Event Organization Mapping dialog box to edit. Click Save.
8. Click Save.
Note: Do not define overlapping rules - make sure there are no overlaps in (Collector, Reporting IP/Range, Event
Attribute) between multiple rules.
Multiline Syslog
Often applications generate a single syslog in multiple lines. For analysis purposes, the multiple lines must be put
together into a single log. This feature enables you to do that. User can write multiple multiline syslog combining rules
based on reporting IP and begin and ending patterns. All matching syslog within the begin and ending pattern are com-
bined into a single log.
1. Go to ADMIN > Settings > Event Handling > Multiline Syslog tab.
2. Click New.
3. Enter or select the following information:
a. Organization - syslog from devices belonging to this Organization will be combined to one line.
b. Sender IP - the source of the syslog. Format is a single IP, IP range, CIDR and a combination of the
above separated by comma.
c. Protocol - TCP or UDP since syslog can come via either of these protocols.
d. Begin Pattern - combining syslog starts when the regular expression specified here is encountered.
e. End Pattern - combining syslog stops when the regular expression specified here is encountered.
4. Click Save.
Note: For all the above configurations, use the Edit button to modify any setting or Delete to remove any setting.
The current conception is only for UDP, which is different from TCP. If a single event is sent by multiple UDP packets,
you need a multiline rule to combine them. Otherwise, FortiSIEM treats them as multiple events. If a continuous TCP
stream contains multiple events, you need a multiline rule to separate them. Otherwise, FortiSIEM treats LF (new line
character \n) as the separator.
Online event retention policies specify which events are retained, and for how long, in the online event database.
Note: This is applicable only for NFS and Local Storage.
These policies specify which events are retained, and for how long, in the archive.
Consider the following when implementing offline (archive) event retention policies:
Complete these steps to configure Native Elasticsearch free space and age retention threshold:
nodes until the Hot node cluster disk free space reaches High value.
l If the time duration limit set under Hot Age (the Warm age phase) is met, all events under this limit
are moved to Warm nodes.
If Warm node policy is not defined, but Cold is defined, then events are moved to Cold.
b. Warm Node - Free Space Threshold - Events are moved to Warm nodes based on the first occur-
rence of one of the following:
l When the Warm node cluster disk free space falls below Low value, then events are moved to
Cold nodes until the Warm node cluster disk free space reaches High value.
l If the time duration limit set under Warm Age (the Cold age phase) is met, all events under this limit
are moved to Cold nodes.
Note: In the fsiem_ilm_policy, the cold age phase is reflected as a sum of the warm age phase and
cold age phase UI values.
c. Cold Node - Free Space Threshold - When the Cold node cluster disk free space reaches Low
value, then:
l If Archive is defined, then events are archived until Cold node cluster disk free space reaches High
value.
l If Archive is not defined, events are purged until the Cold node cluster disk free pace reaches High
value.
d. Archive Threshold - Events are archived. When Archive Mount Point disk free space reaches Low
value, then events are purged until disk free space reaches High value.
Note: Archive must be configured in order for Archive Threshold to appear as an option.
3. Click Save.
l Successful - the event integrity has been validated and the return was success. This means that the
logs in this file were not altered.
l Failed - the event integrity has been validated and the return was failed. This means that the logs in
this file were altered.
l Archived - the events in this file were archived to offline storage.
l Purged - the log event is removed from the log.
Restored - the event is restored to the log file.
l
The event log integrity table is automatically updated with the applied filters.
Columns Description
Columns Description
The validation Status of the event log(s) will be updated in the list. The Validation History of any selected event log
can be viewed under Action > Validation History.
UEBA Settings
The AI module runs on Super and Worker nodes. All Agent activity is routed to one node in a sticky manner. If a
Worker is down, Agent events are routed to another Worker. If a Worker is added, then new Agents are routed to that
Worker. Additionally, AI models are now persisted across AI module restarts.
AI alerts can be monitored in the UEBA View in the INCIDENTS page. See UEBA View.
l Setting UEBA Higher Risk Entities
l Setting UEBA Tags
1. Click ADMIN > Settings > Analytics > UEBA Higher Risk Entities.
2. The UEBA Higher Risk Entities dialog box contains the following fields. All of the fields are optional. In each
field, use the + and - buttons to add or remove entries.
l File Types - Enter the type of file you want to monitor, for example, .exe.
l File Paths - Enter the path to the folder you want to monitor.
l User Accounts - Enter the name of the Windows Agent-side user account you want to monitor.
l Group Names - Enter the name of the Windows Agent-side group you want to monitor.
3. Click Save.
ii. Relation - Choose a value from the drop-down list. Available values are =, !=, CONTAIN, NOT
CONTAIN, MATCH, NOT MATCH, START WITH, NOT START WITH, END WITH, and NOT
END WITH.
iii. Value - A comma-separated list of values. These values can be user-defined.
iv. Click + or - to add or delete rows in the Rules list.
3. Click Save.
Device Group Name The name of the device group with a PCI logging policy.
FIM Provides information on last file integrity monitoring (FIM) event, if enabled.
1. From ADMIN > Settings > Compliance > PCI, click New.
2. From the Device Group Name drop-down list, select a device group.
3. Enable your preferred options by checking the appropriate checkboxes. When an option is selected, from the
drop-down list, select the report you want the information to be generated from.
a. Need Authentication
b. Need FIM
c. Need Change
4. Click Save when done.
1. From ADMIN > Settings > Compliance > PCI, select an existing policy and click Edit.
2. Make any changes to your existing PCI logging policy, and click Save when done.
1. From ADMIN > Settings > Compliance > PCI, select an existing policy and click Delete.
2. Click Yes to confirm.
General Settings
l External Authentication Settings
l Incident Notification Settings
l External System Integration Settings
l Escalation Settings
l Mapping AD Groups to Roles
l Configuring SSL Socket Certificates
Once one or more authentication server profiles have been defined, users of the system can be configured to be
authenticated locally against FortiSIEM, or by one or more of these external authentication services.
To configure a user for external authentication, select that user from the CMDB > Users screen, and select External
as the authentication mode (See Adding Users/Editing User Information for more details). If more than one authen-
tication profile is associated with a user, then the servers will be contacted one by one until a connection to one of
them is successful. Once a server has been contacted, if the authentication fails, the process ends, and the user is
notified that the authentication failed.
See Setup External Authentication Profiles for LDAP, Radius, and Okta general configuration steps.
Prerequisites
The following sections provide prerequisites steps before setting up external authentication in FortiSIEM.
Note: RADIUS and Okta follow the same authentication set up process.
If you want to add users to your FortiSIEM deployment from an Active Directory server over LDAP, you must first add
the login credentials for your server and associate them to an IP range, and then run the discovery process on the Act-
ive Directory server. If the server is discovered successfully, then all the users in that directory will be added to your
deployment. You then must set up an authentication profile, which will become an option you can associate with users
as described in Adding Users.
l Creating Login Credentials and Associate with an IP Address
l Discovering the Active Directory Server and Users
l Creating External Authentication Profile
l Updating User Information for External Authentication
LDAP Start TLS [Required] IP Host - Access IP for LDAP Start TLS
Port - Secure version on port 389
Recipient FortiSIEM
authnContextClassRef PasswordProtectedTransport
Response Signed
Assertion Signed
Request Uncompressed
Destination https://<FortiSIEMIP>/phoenix/okta
4. Click Save.
5. In the Sign On tab, click View Setup Instructions.
1. Log in to Okta.
2. Download user list CSV file (OktaPasswordHealth.csv) by visiting Admin > Reports > Okta Password
Health.
3. Rename the CSV file to all_user_list_%s.csv. (%s is the placeholder of token obtained in Create an
Okta API Token - Step 3, e.g. all_user_list_00UbCrgrU9b1Uab0cHCuup-5h-6Hi9I-
tokVDH8nRRT.csv).
1. Define URLs and credentials in IDP Portal and FortiSIEM so that they can securely communicate with each
other.
2. Map the User, Org, and Role in the IDP Portal to the User, Org, and Role in FortiSIEM. The User must be an
exact match, including case-sensitivity. For Org and Role, you can define mappings in FortiSIEM for IDP Org
to FortiSIEM Org and IDP Role to FortiSIEM Role.
The following is a detailed example showing the steps required for configuration. This example assumes a
FortiSIEM user has already been created in an IDP Portal.
Step 1 - Preparation
A. Configure your IDP for the specific User, Organization, and Role. Collect IDP Portal endpoint and certificate.
B. Study the SAML Response from your IDP and determine where to find the User, Org, and Role. Typically, the
User is in the NameIdentifier element of the Subject statement. Org is in the Audience element of Audi-
enceRestriction.
This step is different for every IDP vendor. See the representative examples below for Okta.com and samltest.idp web-
site. In OKTA.com, there is no Role information. However, the samltest.idp website allows you to define a role.
Example 1 - OKTA
7. Click Next.
9. Click Next, then Finish. The FortiSIEM app is now being created.
10. On the Okta Application page, under Sign On Settings, SAML 2.0, click View Setup Instructions.
11. Copy the Identify Provider Issuer and Certificate information. When you create your External Authentication
Profile in FortiSIEM, the Identify Provider Issuer will go into the Issuer field, and the Certificate information will
go into the Certificate field.
Example 2 - https://samltest.id/
4. Click Choose File, select your SAML.XML file, and click UPLOAD. When SAMLTEST.ID reports success, pro-
ceed to the next step, otherwise check your XML file and re-upload.
6. Scroll down until you see SAMLtest's IdP " Connection information".
a. Copy the entityID information. This will go into the Issuer field in the External Authentication Profile for
the SAML IDP configuration.
b. Copy the Signing Certificate information. This will go into the Certificate field in the External
Authentication Profile for the SAML IDP configuration.
7. Log on to FortiSIEM with an Admin account, and navigate to ADMIN > Settings > General > External
Authentication.
8. Click New.
9. Following Step 2 - Create External Authentication Profile in FortiSIEM, in the External Authentication Profile
window, fill out the required information and click Save. Mandatory settings include
l In the Protocol drop-down list, select SAML.
l In the Issuer field, provide the entityID from step 6a.
l In the Certificate field, paste/enter the signing certificate content from step 6b.
l Configure the User, Org, and Role appropriately, based on your elements.
10. Go to ADMIN > Settings > Role > SAML Role, click New, fill out the information and click Save. The
SAML user will be added automatically in CMDB > Users once the user logs on to FortiSIEM.
11. Go to https://samltest.id/ and navigate to Testing Resources > Test Your SP.
12. On the Test Your SP page, in the entityID field, enter your entityID, and click GO!.
13. In the Username and Password fields, enter your user name and password respectively, and click LOGIN.
14. SAMLTEST.ID will prompt with choices for logging in. Select your choice, and click Accept to login to
FortiSIEM.
1. Log on to FortiSIEM normally (first factor) using the credential defined in FortiSIEM - local or external in LDAP.
2. If the 2-factor authentication is enabled, the user will now be redirected to the 2-factor step.
a. If the user is not created in the Duo system (by the Duo admin), a setup wizard will let you set some
basic information like phone number and ask you to download the Duo app.
b. If the user already exists in FortiSIEM, then follow the authentication method and click Log in.
The user will be able to log in to FortiSIEM.
FortiSIEM authenticates users against FortiAuthenticator (FAC) via RADIUS. User credentials are either stored in the
FAC local database, or in an external credential store such as Active Directory (AD), accessed via LDAP. FAC option-
ally applies 2-factor authentication to users with the FortiToken.
The following sections provide information about the configurations and steps to log in and troubleshoot:
a. Configure AD users
b. Configure FortiAuthenticator
c. Configure FortiSIEM
Configure AD Users
Configure FortiAuthenticator
1. Perform the basic FAC setup following the steps in the FortiAuthenticator Administration Guide: Section:
FortiAuthenticator-VM image installation and initial setup here.
a. Use the default credentials:
l user name: admin
l password: <blank>
b. At the CLI prompt enter the following commands:
l set port1-ip 192.168.1.99/24
Note that the CLI syntax has changed in FAC 5.x. Refer to FAC 6.x documentation for details.
c. Log in to the FAC GUI (default credentials user name / password: admin / <blank>).
d. Set the time zone under System > Dashboard > Status > System Information > System Time.
e. Change the GUI idle timeout for ease of use during configuration, if desired: System Administration >
GUI Access > Idle Timeout.
2. Configure the DC as a remote LDAP server under Authentication > Remote Authentication Servers >
LDAP.
Follow the Fortinet Single Sign-On instructions in the FortiAuthenticator Administration Guide. Note that the
user must have appropriate privileges. The Domain Admin account can be used for testing in a lab envir-
onment. The ‘Remote LDAP Users’ section will be blank at this stage, users are imported later.
3. Configure an external Realm to reference the LDAP store:
a. Select Authentication > User Management > Realms > Create New.
b. Choose the LDAP source from the drop-down and click OK.
4. Configure the FortiSIEM as a RADIUS Client:
a. Select Authentication > RADIUS Service > Clients > Create New.
b. Enter the IP address of FortiSIEM and a shared secret.
c. Choose the realms as required.
d. Click 'add a realm' to include multiple realms.
Configure FortiSIEM
l Protocol - RADIUS
l IP/Host - IP of FortiAuthenticator
l Shared Secret - Secret configured when setting RADIUS Client in FAC
4. Click Save.
5. Click Test to test the authentication settings.
Logging In
The User Name must be entered in the format [email protected]. For 2-factor authentication, the password and
FortiToken value must be concatenated and entered directly into the Password field.
For example:
l Username: [email protected]
l Password : testpass123456; where 123456 is the current FortiToken value
Troubleshooting
FortiAuthenticator logs are accessible by opening the Logging tab. Select a log entry to see more details.
4. For Rules, click the drop-down and select the rule or rules you want to trigger this notification from the folders.
5. Set a Time Range during which this notification will be in effect.
Notifications will be sent only if an incident occurs during the time range you set here.
6. For Affected Items, click the drop-down and select the devices or applications from the Select Devices drop-
down list for which this policy should apply.
Instead of individual devices or groups, you can apply the notification policy to an IP address or range by click-
ing Add IP/Range. You can also select a group, and move to the (NOT) Selections column to explicitly
exclude that group of applications or devices from the notification policy.
7. For Service Provider deployments, select the Affected Orgs to which the notification policy should apply.
Notifications will be sent only if the triggering incidents affect the selected organization.
8. Select the Action to take when the notification is triggered.
l Send Email/SMS to the target users. See here.
You can also create a duplicate notification by selecting a notification from the table and clicking Clone.
Remember to enable your notification policy after creating it. See Enabling Notification Policies.
Proxy Settings
If you want the communication between the FortiSIEM Supervisor and the external system to go through a proxy, then
complete the following steps
FortiSIEM integration helps to create a two-way linkage between external ticketing/work flow systems like Ser-
viceNow, ConnectWise and Salesforce. The integration can be for Incidents and CMDB.
This involves two steps:
1. Create an integration.
2. Attach the integration to an Incident Notification Policy or run the integration on a schedule.
FortiSIEM provides a Java-based API that can be used to integrate with ticketing systems. Out of the box integration is
available for ServiceNow, ConnectWise, Salesforce, RiskIQ, VirusTotal, and Jira. Integration with other systems can
be built using the API.
See the following sections to set up External Systems Integration:
l ConnectWise Integration
l ServiceNow Integration
l Salesforce Integration
l RiskIQ Integration
l VirusTotal Integration
l Jira Integration
l CMDB Inbound Integration
l FortiGuard IOC Integration
ConnectWise Integration
l Adding a Client ID for ConnectWise Integration
l Configuring ConnectWise for FortiSIEM Integration
l ConnectWise Incident Outbound Integration
l ConnectWise Incident Inbound Integration
l ConnectWise CMDB Outbound Integration
ConnectWise has recently changed their policy and requires that vendors create a client ID in order to integrate with
FortiSIEM. Due to this change and restriction from ConnectWise, Fortinet has published a public client ID in order to
allow clients to integrate with ConnectWise. This Client ID is 1a7ed749-47a1-4d3e-94b0-696288a1140f.
Note: A ConnectWise working account is required before integration can occur.
To add this client ID for ConnectWise, take the following steps:
8. For Company, enter the company name that you use when logging in to ConnectWise Manage. Do not use
the company name from within ConnectWise.
9. If you chose SOAP as Plugin Type, enter a User Name, Password, and Client ID that the system can use to
authenticate with the external system. For ConnectWise, select the credentials created in Configuring Con-
nectWise for FortiSIEM Integration, Step 3. If you chose REST, enter the Public Key and the Private Key and
Client ID.
Note: The Client ID is 1a7ed749-47a1-4d3e-94b0-696288a1140f. See Adding a Client ID for ConnectWise
Integration for more information.
To get your Public Key and Private Key from ConnectWise, login and take the following steps:
a. In the upper right part of the window, click your account name to open a drop-down list, and select My
Account.
b. Click the API Keys tab, and create your private and public keys, keeping a record of what they are so
you can enter them in the FortiSIEM configuration in the Private Key and Public Key fields.
10. For Incidents Comments Template, specify the formatting using the incident fields.
11. For Organization Mapping, click Edit to create mappings between the organizations in your FortiSIEM
deployment and the names of the organization in the external system. In ConnectWise, locate and use the
Company ID field under Company Details in ConnectWise for the FortiSIEM Organization Mapping, NOT the
company name.
12. For Run For, choose the organizations for whom tickets will be created.
13. Enter the Max Incidents to be recorded.
Note: The default number for Max Incidents is 50. When running this the first time with the default number,
you may encounter a 502 proxy error due to the initial volume of incidents being requested. In this situation,
you can change the Max Incidents value to 5 or 10 initially, then change it after running the ConnectWise
integration once.
14. Click Save.
This updates the FortiSIEM incident state and clears the incident when the incident is cleared in the external help desk
system. Built-in integrations are available for ConnectWise.
The steps are:
automatically populated for ConnectWise. For other vendors, you must create your own plugin and
enter the plugin name here.
7. For Host/URL, enter the host name or URL of the external system (see section Configuring external helpdesk
systems). For ConnectWise, select the login URL.
8. If you chose SOAP as Plugin Type, enter a User Name, Password, and Client ID that the system can use to
authenticate with the external system. For ConnectWise, select the credentials created in Configuring Con-
nectWise for FortiSIEM Integration, Step 3. If you chose REST, enter the Public Key, the Private Key, and
Client ID.
9. For Time Window, select the number of hours for which incident states will be synched. For example, if time
windows is set to 10 hours, the states of incidents that occurred in the last 10 hours will be synched.
10. Click Save.
Note: FortiSIEM does not support custom mapping, only "new" and "closed", and the incident resolution is not
updated.
Follow these steps:
CMDB Outbound Integration populates an external CMDB from FortiSIEM’s own CMDB. Built in integrations are avail-
able for ServiceNow, ConnectWise and Salesforce.
Step 1: Create a CMDB Outbound integration
c. A default Plugin Name is populated - this is the Java code that implements the integration including
connecting to the external help desk systems and synching the CMDB elements. The plugin is auto-
matically populated for ConnectWise. For other vendors, you have to create your own plugin and type
in the plugin name here.
7. For Host/URL, enter the host name or URL of the external system. For ConnectWise, select the login URL.
8. If you chose SOAP as Plugin Type, enter a User Name, Password, and Client ID that the system can use to
authenticate with the external system. For ConnectWise, select the credentials created in Configuring Con-
nectWise for FortiSIEM Integration, Step 3. If you chose REST, enter the Public Key and the Private Key in
addition to the User Name, Password, and Client ID.
9. For Organization Mapping, click Edit to create mappings between the organizations in your FortiSIEM
deployment and the names of the organization in the external system. For ConnectWise, select the Company
name in Configuring ConnectWise for FortiSIEM Integration, Step 4.
10. For Run For, choose the organizations for whom tickets will be created.
11. For ConnectWise, it is possible to define a Content Mapping.
a. Enter Column Mapping values:
i. To add a new mapping, click the + button.
ii. Choose FortiSIEM CMDB attribute as the Source Column.
iii. Enter external (ConnectWise) attribute as the Destination Column.
iv. Specify Default Mapped Value as the value assigned to the Destination Column if the Source
Column is not found in Data Mapping definitions.
v. Select Put to a Question is the Destination Column is a custom column in ConnectWise.
b. Enter Data Mapping values:
i. Choose the (Destination) Column Name.
ii. Enter From as the value in FortiSIEM.
iii. Enter To as the value in ConnectWise.
12. For Groups, select the FortiSIEM CMDB Groups whose member devices would be synched to external
CMDB.
13. Select Run after Discovery if you want this export to take place after you have run discovery in your system.
This is the only way to push automatic changes from FortiSIEM to the external system.
14. Enter the Max Devices: the number of devices to send to the external system.
15. Click Save.
ServiceNow Integration
l ServiceNow Security Operations (SecOps) Integration
l ServiceNow SOAP Integration Requirements
1. Log in to ServiceNow.
2. For Service Provider Configurations, create Companies by creating Company Name.
10. For Organization Mapping, click Edit to create mappings between the organizations in your FortiSIEM
deployment and the names of the organization in the external system. For ServiceNow, enter the Company
names as in Configuring ServiceNow for FortiSIEM Integration, Step 2.
11. For Run For, choose the organizations for whom tickets will be created.
12. Enter the maximum number of incidents you want to record in Max Incidents.
13. Click Save.
This updates the FortiSIEM incident state and clears the incident when the incident is cleared in the external help desk
system. Built-in integrations are available for ServiceNow.
The steps are:
CMDB Outbound Integration populates an external CMDB from FortiSIEM’s own CMDB. Built in integrations are avail-
able for ServiceNow.
Step 1: Create a CMDB Outbound integration
Salesforce Integration
l Configuring Salesforce for FortiSIEM Integration
l Salesforce Incident Outbound Integration
l Salesforce Incident Inbound Integration
l Salesforce CMDB Outbound Integration
1. Log in to Salesforce.
2. Create a custom domain.
3. For Service Provider Configurations, create Service App > Accounts.
FortiSIEM will use the Account Name.
matically populated for Salesforce. For other vendors, you must create your own plugin and enter the
plugin name here.
7. For Host/URL, enter the host name or URL of the external system. For Salesforce:
a. Log in to Salesforce.
b. Go to Setup > Settings.
c. Use the Custom URL under My Domain, typically it is xyz.my.salesforce.com
8. For User Name and Password, enter a user name and password that the system can use to authenticate with
the external system.
a. For Salesforce, enter the login credentials.
9. For Security Token, enter the security token from Salesforce. If you do not have your security token inform-
ation, you can get this by taking the following steps:
a. Log in to Salesforce.
b. At <your name>, click the drop-down list and navigate to Setup > Personal Setup > My Personal
Information.
c. Click Reset My Security Token to get Salesforce to email your security token.
10. For Incidents Comments Template, specify the formatting of the incident fields.
11. For Organization Mapping, click the Edit icon to take you to the Integration Policy > Org Mapping window.
Here, you can create mappings between the organizations in your FortiSIEM deployment and the names of
the organization in the external system. For Salesforce, to get your account name, take the following steps in
Salesforce:
a. Go to Service App > Accounts.
b. Use Account Name.
c. In FortiSIEM, at the Integration Policy > Org Mapping window, enter the Account Name in the
Default field.
Note: You can choose to provide an organization name from FortiSIEM in the Default field.
12. For Run For, choose the organizations for whom tickets will be created.
13. In the Max Incidents field, enter the maximum number of incidents you want recorded.
14. Click Save.
15. Click Run to confirm the integration. If you receive an "...unable to find valid certification path to requested tar-
get", you need to upload a certificate to FortiSIEM.
This updates the FortiSIEM incident state and clears the incident when the incident is cleared in the external help desk
system. Built-in integrations are available for Salesforce.
The steps are:
CMDB Outbound Integration populates an external CMDB from FortiSIEM’s own CMDB. Built in integrations are avail-
able for Salesforce.
Step 1: Create a CMDB Outbound integration
RiskIQ Integration
l Configuring RiskIQ for FortiSIEM Integration
l RiskIQ Incident Outbound Integration
Register at the RiskIQ website to obtain a user name, password, and the API keys. For more information, see
https://api.riskiq.net/api/concepts.html.
VirusTotal Integration
l Configuring VirusTotal for FortiSIEM Integration
l VirusTotal Incident Outbound Integration
Register at the VirusTotal website to obtain a user name, password, and the API key. For more information, see
https://developers.virustotal.com/reference/overview#getting-started.
Jira Integration
l Configuring Jira for FortiSIEM Integration
l Jira Incident Outbound Integration
l Jira Incident Inbound Integration
Before configuring Jira, you must log in to your Jira account and create an API Key. Follow these steps:
Jira outbound integration allows a user to map FortiSIEM fields to Jira ticket fields and to create incidents in Jira.
When the integration runs, FortiSIEM looks for incidents that match the mappings and creates a ticket in the Jira sys-
tem.
To create an outbound integration, follow these steps:
Jira inbound integration allows a user to close a ticket in FortiSIEM if the ticket is closed in Jira.
To create an inbound integration, follow these steps:
Select the Jira instance and click Run. FortiSIEM looks for incidents which are closed in the Jira system and closes
them if they also appear in FortiSIEM.
Link the Integration to One or More Incident Notification Policies (for Incident Outbound)
9. Click OK.
10. Click Save.
No additional license is required to use the FortiGuard feature. Follow the steps in FortiGuard Incident Outbound Integ-
ration and Adding Incident Notification Settings to configure this feature.
Settings Guidelines
2. Click Save.
ServiceNow FortiSIEM integration is designed to pull FortiSIEM incidents and triggering events from the remote
FortiSIEM server every 30 seconds into the desired ServiceNow instance. FortiSIEM incidents pulled into the Ser-
viceNow instance will be automatically mapped to new security incidents. Upon closing the created security incidents,
the corresponding FortiSIEM incidents status on the remote FortiSIEM sever will also be updated.
XML Assets
The required XML files for this integration can be downloaded here.
File: FortiSIEM-ServiceNow-Integration-v1_3_6.zip
SHA256 hash: 945214c2128337dc7d8b03f80ebd51e1a07a8c75c855c3ec49583ca61d43e1f5
MD5 hash: d397ad5bf6ba0c0e15942958b95bad4e
Process Overview
1. The ServiceNow system administrator must request a new Paris release ServiceNow instance or login to an
existing one to import the provided ServiceNow FortiSIEM integration XML file to ServiceNow.
2. The ServiceNow system administrator configures the REST Message API endpoints and Basic Auth Profile
settings on the ServiceNow instance to make API calls to the remote FortiSIEM server.
3. The ServiceNow instance will begin to fetch FortiSIEM incidents and triggering events every 30 seconds.
4. The ServiceNow system administrator or ServiceNow users with security incident roles can view and update
security incidents created from FortiSIEM incidents pulled.
The following information contains a detailed explanation on how ServiceNow FortiSIEM integration is set up and its
usage.
1. FortiSIEM server.
2. Paris release ServiceNow instance.
3. ServiceNow instance plugin – Security Incident Response Dependencies.
4. ServiceNow instance plugin – Security Incident Response.
2. In the ServiceNow instance, click the Application drop-down list and select Global.
3. Click on the role drop down list and select Elevate Roles. Elevate the "System Administrator" role to "Security
Admin". This new role ensures the success of the ServiceNow FortiSIEM integration import in the next step.
4. Navigate to System Definition - Tables, right click on Table Headers on the page, and select Import XML.
5. In "Import XML", select the provided FSMSNIntegrationImportData file (See XML Assets) and click
Upload.
6. After the upload is complete, navigate to System Web Services/Rest Message, and click on FSMAPI (This
was imported in step 5) to change the FortiSIEM remote server API endpoint and basic auth profile.
7. In REST Message/FSMAPI, if the remote FortiSIEM server host name is different than the ones displayed,
please manually change the hostname in “FSMAPI” and all the endpoints in HTTP Methods, as shown here.
For HTTP Methods, please manually click on each record, and change the hostname.
Note: Only change the host name.(I.E. https://myNewHostName.com). The slashes or symbols after the
host name must be retained.
8. In “REST Message/FSM API”, to change the basic auth profile, first click the search icon.
9. Click FSMBasicAuth, and change the user name and password accordingly. You may also create a new
Basic auth profile.
10. The integration uses a “HTTPS outbound REST end point”, and requires the FortiSIEM certificate to be added
to the ServiceNow Certificate Trust Store. Please follow the sub-steps here before proceeding to step 11.
a. Retrieve destination server SSL certificates. This can be given by the network administrator of the des-
tination server, or by using the Linux command:
openssl s_client -connect <destination_server_name>:443 –showcerts
To gather the specific certificate, run this command from a Linux server:
echo | openssl s_client -connect <destination_server_name>:443 2>&1 | sed
--quiet '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > <destination_
server_name>.pem
b. Validate retrieved SSL certificate in part a to see if it has any issues or errors. It can be done through
https://www.digicert.com/help/ or through the Linux command:
openssl s_client -connect <destination_server_name>:443 –showcerts
If the certificate has issues or errors, please contact the destination server administrator for a correct
one. For any reason that a correct SSL certificate cannot be obtained, please refer to step 10g for a
temporary workaround in a ServiceNow instance. Note that this workaround is not recommended
for ServiceNow production instances.
c. Now, upload the retrieved SSL certificate in part a to the ServiceNow instance. Navigate to System
Definition/Certificates and on the right panel, click New.
If it is valid, a “Valid trust_store” message will show. If you get an invalid certificate, please contact the
destination server administrator.
g. Note: This is workaround step in ServiceNow instance to solve invalid certification issue encountered
in step 10b.
This is only recommended for ServiceNow developer instances.
ii. Search for “sys_properties”, click on System Property from the displayed records and nav-
igate to Related Links.
iii. Click Show List to open up all system properties entries stored in the current instance.
Once this record has been created, the ServiceNow instance will ignore any SSL certification validation issues or
errors encountered.
The installation is now complete.
Deleting the Integration will remove the FortiSIEM configuration, scheduled jobs, GUI elements, Incident information
from FortiSIEM and Triggering events in ServiceNow. Do not proceed if these ServiceNow elements and
FortiSIEM Incident data is needed in your ServiceNow instance.
To remove ServiceNow FortiSIEM Integration, take the following steps as a ServiceNow system administrator:
2. Click on the role drop down list and select Elevate Roles. Elevate the "System Administrator" role to "Security
Admin". This role ensures the success of the ServiceNow FortiSIEM integration import in the next step.
3. With the elevated role, navigate to System Definition - Tables. Right click on “table headers” on the page
and select Import XML.
4. In “Import XML”, select the provided FSMSNIntegrationDeleteData file (See XML Assets) and click
Upload.
5. To complete the deletion process, you must have the elevated “Security Admin” permission, and change
Application to “Security Incident Response”.
6. Navigate to System Definition - Tables, right click on “table headers” of the page and select Import XML.
7. In “Import XML”, select the provided delete_sys_ui_section file (See XML Assets) and click Upload.
The following FortiSIEM incidents do not have a mapping to ServiceNow SecOps categories.
Application Performance
Behavioral Security
Anomaly
Collection Security
CPU Performance
Database Performance
Environmental Performance
FortiSIEM Performance
Hardware Performance
HVAC Performance
Impact Performance
Interface Performance
License Availability
Memory Performance
Network Performance
Performance Performance
SDN Performance
Server Performance
Storage Performance
UPS Performance
VoIP Performance
WAN Performance
10 1 - Critical
9 2 - High
5 to 8 3 - Moderate
1 to 4 4 - Low
N/A 5 - Planning
Source IP srcIpAddr IP No
Destination IP destipAddr IP No
Here is an example.
Known Limitations
General Requirements
FortiSIEM uses ServiceNow Direct Web Service for integration. FortiSIEM communicates on SOAP port 80.
The following SOA APIs are used:
l Insert
l Update
l getKeys
l get
l getRecords
Active l Read No
l Write
Escalation Settings
Escalation settings allow you to define escalation policies for incident tickets and then use it as an escalation policy
when creating a ticket using FortiSIEM Case system.
Follow the below procedures to enable Escalation Settings:
l Adding an Escalation Policy
Complete these steps to create an escalation ticket and then use it as an escalation policy while creating a ticket,
using FortiSIEM Case system.
Settings Guidelines
4. Click Save.
The config-ssl-cert.sh shell script does the work to configure SSL certificates correctly. This script performs the
following tasks:
l Provides values for the SSL configuration attributes in the GLOBAL section of the /op-
t/phoenix/config/phoenix_config.txt file.
l Generates files, such as the certificate chain file, trust store, and key store.
l Restarts backend processes to apply the configuration.
Note:
l When running the script, use the absolute path for all files and directories.
l The script will back-up the existing phoenix_config.txt file and cert_store, before modifying it. You can
restore the previous version if you need to.
Script Options
The following table describes the options that can be used with the config-ssl-cert.sh shell script.
Option Description
-v <0|1|2|3> Set certificate verify model. This is a required option, with following possible values.
l 0: Disable certificate verify at both directions
l 1: Enable only the verifying server’s certificate. This means that the client will verify
the certificate from server, but server will not require or verify the certificate from cli-
ent.
l 2: Enable only the verifying client’s certificate. This means that the server will
require and verify certificate from client, but client will not verify the certificate from
server
l 3: Enable certificate verification in both directions. This means that the client will
verify the certificate from server, and server will require and verify the certificate
from client.
-p This option indicates whether the provided certificate is public. Public certificates are
signed by a well-known CA organization. It should not be signed by a private CA, or by
itself.
This option is useful, because it indicates whether you need a CA for the certificate.
As you know, if the certificate is public, then the ROOT CA for that certificate is always
installed in the system by default. You do not have to provide one. However, if the cer-
tificate is private, then a private CA is required.
-c <Certificate file> The -c and -k options are used together to specify the Certificate File and cor-
-k <Key file> responding Key file.
-a <CA file> The CA is used to verify the certificate. The -a and -d options are used together to spe-
-d <CA dir> cify the CA file and the directory where it is stored.
If the provided certificate is private, then the CA is required. If the provided certificate
is public, then the CA is optional (typically, it is not needed).
Option Description
-i <Intermediate CA chain If the certificate is not signed by the ROOT CA directly (this is typically the case for
file> public certificates), then there is a trust chain:
Certificate -> Intermediate CA1 -> Intermediate CA2 ->…-> Root
CA
Use this option to provide the intermediate CA (Intermediate CA) chain. If there is
only one intermediate CA, then that intermediate CA certificate can act as the inter-
mediate CA chain file directly. If there is more than one intermediate CA, then you
must create a chain file for them by using the cat command, for example:
cat IntermediateCA1 Intermediate CA2 … IntermediateCAn > Inter-
mediateCAChain
-s <cert_store> You might need to generate some useful files, such as the trust store file and key store
file. Use this option to specify where you want to store those files. By default, they will
be stored in the /opt/phoenix/config/cert_store directory.
-r Typically, you must restart backend processes to apply the configuration changes.
Use this option, to instruct the script to restart the processes automatically.
NOTE: because you are configuring the notification communicating mechanism, it
might fail if you try to restart the backend processes using tools such as phtools -
-stop all or monctl stop.
If you want to restart the backend processes manually, use following commands:
phstatus.py |grep ph |cut -d' ' -f1 |xargs killall -9
monctl start
phtools --start all
Script Examples
l Disable Certificate Verification in Both Directions
l Enable Verification in Both Directions Using a Public Certificate
l Enable Verification in Both Directions with a Self-Signed Certificate
where:
l -v 0 - disables verification in both directions.
l -r - restarts backend processes to apply the changes.
where:
l -v 3 - enables verification in both directions. You can change to 1 to verify only the server’s certificate, or change
to 2 to verify only the client’s certificate.
l -p - specifies that the -c and -k options identify the <certificate, key> pair of a public certificate.
l -i – specifies that there is an intermediate CA for the certificate. This means that there is a trust chain here: star_
qa_fortisiem_fortinet_com.crt -> DigiCertCA.crt -> Root CA.
where:
l The absence of the -p option indicates that the provided -c and -k options are specifying a private <certificate,
key> pair.
l -a – specifies the CA file used to verify the certificate. This is the certificate itself, in the self-signed case.
Role Settings
FortiSIEM provides performance, availability, and environmental alerts, as well as change and security monitoring for
network devices, servers and applications. It is difficult for one admin to monitor across the entire spectrum of avail-
able information. In addition, devices may be in widely distributed geographical and administratively disjointed loc-
ations. Role-based access control provides a way to partition the FortiSIEM administrative responsibilities across
multiple admins.
A role defines two aspects of a user's interaction with the FortiSIEM platform:
l Which user interface elements a user can see and the ability to use the associated Read/Write/Execute per-
missions. As an example, the built-in Executive role can see only the dashboard, while the Server Admin role can-
not see network devices. Role permissions can be defined to the attribute level in which, for example, a Tier1
Network Admin role can see network devices but not their configurations.
l What data can the user see. For example, consider a Windows Admin role and a Unix Admin role. They both can
run the same reports, but the Windows admins sees only logs from Windows devices. This definition can also be
fine-grained, for example one Windows admin sub-role can be defined to see Windows performance metrics, while
another Windows admin sub-role can see Windows authentication logs. The roles described in the following table
are default roles.
Role Permissions
DB Admin Full access to the database servers part of the GUI and full access to logs
from those devices.
Role Permissions
Full Admin Full access to the GUI and full access to the data. Only this role can define
roles, create users and map users to roles.
Access to the Admin, CMDB, and Dashboard tabs, with view and run per-
Help Desk
missions for the Analytics and Incidents tabs.
Network Full access to the network device portion of the GUI and full access to logs
Admin from network devices.
Read Only
View access to all tabs and permission to run reports.
Admin
Server Full access to the Server part of the GUI and full access to logs from those
Admin devices.
Storage Full access to the Storage device part of the GUI and full access to logs from
Admin those devices.
System Full access to the Server/Workstation/Storage part of the GUI and full access
Admin to logs from those devices.
Unix Server Full access to the Unix Server part of the GUI and full access to logs from
Admin those devices.
Windows
Full access to the Windows Server part of the GUI and full access to logs
Server
from those devices.
Admin
The following sections describe the procedures to create custom roles and privileges:
l Adding a New Role
l Modifying a Role
l Example Role Setup
l Viewing User Roles for AD Group Mappings
l Select Report Schedule if this role can approve Report Schedule Activation requests.
l Select Rule Activation/Deactivation if this role can approve Rule Activation/Deactivation requests.
l Select Remediation if this role can approve Remediation requests. FortiSIEM recommends creating at
least two user accounts with the Remediation approver role. See Adding Users for more information on cre-
ating a user account.
7. Select the appropriate Activation capability:
l Select Report Schedule if this role does NOT require approval for Report Schedule Activation.
l Select Rule Activation/Deactivation if this role does NOT require approval for Rule Activ-
ation/Deactivation.
l Select Remediation if this role does NOT require approval for Remediation Activation.
8. Select the Data Obfuscation options for this role:
l System Event/CMDB Attribtues to anonymize IP, User and Email, or Host Name in the events.
l Custom Event Attributes to anonymize custom event attributes. Search or click + to include multiple
attributes. To create a custom event attribute, see Adding an Event Attribute.
obfuscation, the IP address is obfuscated. In earlier versions of FortiSIEM, raw events were completely
obfuscated.
l CSV Export feature is disabled.
Note: If Remediation is turned on, the requestor and approver users must have a valid email address, con-
figured in the Email field in Contacts, in order for the requestor and approver to receive requests and approval
information.
9. Select the UI Access conditions for this role.
This defines the user interface elements that can be accessed by users with this role. By default, the child
nodes in the tree inherit the permissions of their immediate parent, however you can override those default per-
missions by explicitly editing the permission of the child node. The options for these settings are in the All
Nodes drop-down list:
l Full - No access restrictions.
If a Network Segment is marked as hidden for a user role, users with that role will not be able to see any of the
devices whose IP addresses fall within that network segment, even if the CMDB folder(s) containing those devices
have not been hidden.
Modifying a Role
Complete these steps to modify a cloned or user defined role. (You cannot directly modify a system defined role):
You will need at least one user as an incident remediation approver, and one user as a requester that requires
approval for incident remediation. This example assumes you have incident remediation configured.
From here, take the following steps as an admin:
1. Create a role for an incident remediation approver by taking the steps in Add a New Role and ensuring in step
6 that the role can approve incident remediation, which we'll call Approver.
2. Create a user with the Approver role by taking the steps in Adding Users, and ensuring that step 3m is con-
figured correctly, and that a valid email address is provided in step 3n.
Note: A requester can select multiple approvers when making a request. For real world scenarios, Fortinet
recommends creating a minimum of two approvers, in case an approver is unavailable.
3. Create a requester user by taking the steps in Adding Users, and ensuring the following:
l A non-admin role is assigned in step 3kii.
Note: By default, a non-admin role requires approval for incident remediation. If you want to create/edit a
non-admin role where a user does NOT need to get approval for incident remediation, you would add a
checkmark to Remediation at Activation in step 7 in Add a New Role.
l A valid email address is provided in step 3n.
4. Log out of FortiSIEM, and log in as the requester user.
5. Navigate to INCIDENTS > List by Time > and select an incident.
2. Follow the instructions in Adding External Authentication Settings to setup a new profile or edit an existing pro-
file. Currently, only LDAPS and LDAPTLS are supported for mapping AD Groups. The new or edited entry
appears in the list of authenticated organizations.
Follow the instructions in Adding a New Role to add a role that is to be mapped to an AD Group.
Test your mappings by logging out of the FortiSIEM session then logging back in as the LDAPS/LDAPTLS user.
You can use either the CN or the SamAccountName as the Username in FortiSIEM.
The following example account illustrates the options:
PS C:\Users\Administrator> Get-ADUser -Identity jdoe
If a user belongs to two FortiSIEM Roles, then the user will have the rights of BOTH Roles.
l Case 1 - A node is explicitly defined in both role definitions. Then a user belonging to BOTH roles have the union of
all permissions for that node. Explicit definitions mean that the node appears in the bottom Restrictions area
when you view the Role in Settings > Role > Role Management. Some examples:
One Role has READ permission on the RESOURCES tab, while the other Role has WRITE and EXECUTE per-
missions on RESOURCES tab. Then, a user belonging to BOTH roles has READ, WRITE, EXECUTE on
RESOURCES tab.
One Role has READ permission on the RESOURCES tab, while the RESOURCES tab is hidden in the other Role.
Then, a user belonging to BOTH roles has READ permission on the RESOURCES tab.
l Case 2 - A node is not explicitly defined in one Role but explicitly defined in the other role. Then the user belonging
to BOTH roles have the explicit permission defined in the second role. For example, a Full Admin role has nothing
explicitly defined, because it has full permission on ALL nodes. If the user belongs to both Full Admin role and
another role that can only READ the CMDB tab, then the user has only READ permission on the CMDB tab.
l Case 3 - A node is not explicitly defined in two Roles. Then the user belonging to BOTH roles has full permission
on that node.
Managing CMDB
l Information derived from your discovered infrastructure, including inter-device relationships such as the rela-
tionship of WLAN Access Points to Controller, and Virtual Machines to ESX Hosts.
l Information about system objects such as business services and CMDB reports.
Devices 511
Applications 518
Users 519
Devices
You can add devices to the CMDB through the Discovering Infrastructure process. However, there may be situations
in which you want to add devices to the CMDB manually. For example, you may not have access credentials for a
device but still want to include network information about it so that logs received by FortiSIEM can be parsed properly.
These topics describe those situations and provide instructions for adding a device to the CMDB:
Selection Description
Summary Click Summary to return general information about the device such as the Name, Device
Type, Importance, IP address, and so on. It also displays information regarding the
device's health, what group it is a member of, and various statistics (such as Created, Last
Discovered, Last Updated, and so on.
Monitor Click Monitor to return tables describing the Event Received Status and Monitor Status.
Software Click Software and make a selection from the drop-down list: Installed Software, Running
Applications, Windows Services, or Installed Patches to get more detailed information.
For Installed Software, you have the following options:
l Diff... - Click to compare two selected files/revisions. Note: Use Ctrl-Click to select a
second file.
l Delete - Click to delete selected file(s). You will be prompted to confirm the deletion.
Note: You can use Ctrl-Click and Shift-Click to select multiple files.
l Export - Click to export selected files as a PDF report.
Selection Description
Hardware Click Hardware and make a selection from the drop-down list: Interfaces, Processes, Stor-
age, SAN Storage, System BIOS, Components, or SAN Ports.
Configuration Click Configuration to view the existing configuration files for your router device.
For Configuration, you have the following options:
l Diff... - Click to compare two selected files/revisions. Note: Use Ctrl-Click to select a
second file.
l Delete - Click to delete selected file(s). You will be prompted to confirm the deletion.
Note: You can use Ctrl-Click and Shift-Click to select multiple files.
l Export - Click to export selected files as a PDF report.
Relationships Click Relationships to return the device's Node Name, Access IP, Version, Device
Type, and Description.
File Click File to view any version or content files from your Windows/Linux agent devices.
You have the following options:
l Diff... - Click to compare two selected files/revisions. Note: Use Ctrl-Click to select a
second file.
l Delete - Click to delete selected file(s). You will be prompted to confirm the deletion.
Note: You can use Ctrl-Click and Shift-Click to select multiple files.
Settings Guidelines
Settings Guidelines
Folders Choose a folder under Devices where you want to create the new group.
Items Displays the devices in the selected folder. Use the |<, <, > and >| buttons
to page through the list of devices. Select the devices you want to include
in the new group.
Click > to shuttle the selected devices into the Selections column. These
Selections
devices will be the members of the new group.
4. Click Save.
The new device group appears on the left panel.
1. Click Devices from the left panel and navigate to the device group.
2. Select the required change from the table below:
Settings Guidelines
3. Click Save.
1. Click CMDB and select the device group under Devices on the left panel.
2. Click New.
3. In the Add New Device dialog box, enter the information under Summary, Contact, Interfaces, and Prop-
erties tabs.
4. Click Save.
The new device appears in the list.
5. Click on the device from the list.
A second pane opens below with information under various tabs.
1. Go to CMDB tab.
2. From the left panel, select the device type under Devices folder.
3. Select the Device from the list displayed on the table and click Edit.
4. In the Edit Device dialog box, modify the settings under Summary, Contact, Interfaces, Properties and
Parser tabs.
5. Click Save.
Quick Info Displays the a summary of information about the device. The information can include the
Device Name, Access IP, Device Type , Version, and so on.
Displays Availability Status, Performance Status, and a variety of health reports for the
Device Health device, such as Monitor Status, Incident Status, and so on. Click the < and > buttons to
shuttle through additional health information.
Vulnerabilities By default, displays the top 10 vulnerabilities of the past week. You can also choose a time
interval of 15 minutes, 1 hour, one day, or 30 days.
Displays the summary of incidents associated with the device. Click an incident and open
Incidents
the Actions drop-down list to drill down on the incident for more information.
Real Time Events Opens a Real Time Search window for events for the selected device. For more information,
see Viewing Real-time Search Results.
Displays the historical events under ANALYTICS tab. Use Actions tab on top-left corner to
Historical Events email, export, copy to a new tab or save results. For more information, see Viewing His-
torical Search Results.
Real-time Per- Displays the real-time Performance Metrics of the selected device. You can choose a Mon-
formance itor, and Collector from the drop-down lists, and set the polling Frequency and the number
of Runs.
Impacted Business
Displays the Business services that contain the selected device.
Services
Change Status Changes the status of the device to Approved or Unmanaged. The devices under license
are called 'Managed' while the remaining devices are called "Unmanaged".
Changes the device location address: Country, State, City, Latitude, Longitude, Region,
Edit Location
Building and Floor.
Change Organ- Changes the organization in the New Organization drop-down list.
ization
Impacted Organ-
Select the Impacted Orgs from the drop-down list.
ization
Decommission Decommissions the selected device. Enter a reason in the Decommission Device dialog
box.
Connect To Connects to a specific Protocol or Port. Select a Protocol from the drop-down list and enter
a Port number and User name. A Secure Shell plugin is required.
Note:If you have upgraded or performed a fresh install of FortiSIEM 6.3.0 or later, and
attempt to connect via a tunnel, it will appear that the tunnel is opened. However, the dis-
played Supervisor's port on which the tunneled connection is running is actually not open so
you will not be able to connect either via plugin or directly.
To re-enable open tunnels, follow the steps in Open Tunnel Re-Configuration Required
after 6.3.0 or later Upgrade/Fresh Install. Tunnels are closed by default to address bug
602294: CVE-2004-1653 SSH port forwarding exposes unprotected internal services.
Specify the Range Definition information to rediscover the device. For a description of the
Re-discover
options in the Discovery Definition dialog box, see the table in Creating a discovery entry.
Add to Watchlist Add the device to Watchlist. In the Add to Watch List dialog, select the Attribute, Organ-
ization, and Expires on time. Make selections from the list using the > button.
Displays all event groups under ANALYTICS tab. Use the Actions tab on top-left corner to
All Event Group
email, export, copy to a new tab or save results.
1. Go to CMDB tab.
2. From the left panel, select the device(s) under Devices folder.
3. Click Edit and select the Parsers tab.
4. Select the parsers from the Available Parsers list and move to the Selected Parsers list using the right
arrow.
You can use the up and down arrows to re-arrange the order of the parsers. Note that the parsers will be
attempted in order.
5. Click Save to confirm the parser selection.
The selected parsers are now associated to the device.
ted attribute (for example, Cent OS, VMware, Cisco, and so on) are displayed with a count next to it. You
can select multiple attributes and values in the drop-down list. The results will be ANDed together.
l If you need to search for a column or an attribute value, enter it in the Search field.
4. Click Search at the top of the drop-down list.
The top 5 items are returned. Click Show All to display all of the returned items.
5. The CMDB device list updates based on your search criteria.
6. To refine your search, click the Search icon again and select other CMDB device attributes or click X to cancel
a selection.
Applications
Applications in the CMDB are grouped at the highest level by Infrastructure and User apps, with further sub-cat-
egorization in each of those two categories.
1. Click CMDB and select the application group under Applications on the left panel.
2. Click New.
3. In the Add New Application dialog box, enter the information related to the Application.
4. To add an IP to the Application, click the edit icon near Running on.
a. Click Add by IP and enter the IP in the search box.
b. Click the tick mark.
5. Click Save.
The new application appears in the list.
6. Click on the application from the list.
A second pane opens below with information under various tabs.
Editing Applications
Complete these steps to edit an application:
1. From the left panel tree, select the application group under Applications.
2. Select the Application from the list and click Edit.
3. In the Edit Application dialog box, modify the settings.
4. To modify an IP, click the edit icon near Running on and select the IP.
l Click Add by IP to add a new IP.
Settings Guidelines
Selections Click > to confirm the selections from Folders and Items.
4. Click Save.
The new application group appears on the left panel.
1. Click Applications from the left panel and navigate to the Application group.
2. Use the delete, edit or move icon above the application groups list for the required modification.
3. Click Save.
Users
FortiSIEM CMDB Users page contains information about the users of your system.
Adding Users
Complete these steps to add a user:
If this System Admin user should be allowed to approve de-anonymization requests, ensure
the Deobfuscation Approver role has been configured in Role Settings and that this con-
figured role is selected here.
If the System Admin user should be allowed to approve remediation requests, ensure the
Remediation Approver role has been configured in Role Settings and that this configured role
is selected here.
iii. Click Back when done.
l. Click Contact Info to enter your personal contact information.
i. Add user contact information to the appropriate contact information fields - Work Phone,
Mobile Phone, Home Phone, SMS, SMS Provider, ZIP, Email, Address, City, State, and
Country field.
ii. If your company uses S/MIME for email, make sure the Email field is filled out, and upload the
S/MIME certificate in the Certificate field by clicking Upload, and selecting your certificate.
iii. Click Back when done.
m. Enter any Description about the user.
4. Click Save.
The new user details appear in the list.
Notes:
l When viewing this user list as a Super global user, you may see repetitions of a few User Names, where those
names exist in multiple Organizations. This can be determined by checking the contents of the Organization
column.
l Repetition of User Names may also occur if an LDAP server has moved from one Organization to another and dis-
covery of that LDAP server introduces users from the previous organization who may share the same user name.
In this case, the administrator may wish to remove users that are no longer applicable.
l An Agent User can be created by navigating to ADMIN > Setup > Organization, and clicking New or Edit. These
types of Admin Users are not allowed to log into the UI. Their primary purpose is for Windows Agent registration
against the FortiSIEM environment. See Setting Organizations and Collectors (Service Provider) for more inform-
ation.
If this System Admin user should be allowed to approve de-anonymization requests, ensure
the Deobfuscation Approver role has been configured in Role Settings and that this con-
figured role is selected here.
If the System Admin user should be allowed to approve remediation requests, ensure the
Remediation Approver role has been configured in Role Settings and that this configured role
is selected here.
iii. Click Back when done.
l. Click Contact Info to update the user's personal contact information.
i. Update the user contact information in the appropriate contact information fields - Work
Phone, Mobile Phone, Home Phone, SMS, SMS Provider, ZIP, Email, Address, City,
State, and Country field.
ii. If your company uses S/MIME for email, make sure the Email field is filled out, and upload the
S/MIME certificate in the Certificate field by clicking Upload, and selecting your certificate.
iii. Click Back when done.
m. Update the Description about the user.
4. Click Save.
You can also use the following functions on the Actions menu:
l Unlock - to unlock a user, select the user from the list and click Actions >Unlock.
l Add to WatchList- select the user from the list and click Actions > Add to WatchList. In the Add to Watch List
dialog, select the Organization and Expires on time. Make the selections from the list using the > button and click
Save to save.
Settings Guidelines
Settings Guidelines
Selections Click > to confirm the selections from Folders and Items.
4. Click Save.
The new User group appears on the left panel.
1. Click Users from the left panel and navigate to the User group.
2. Use the delete, edit or move icon above the User groups list for the required modification.
3. Click Save.
Business Services
A business service lets you view FortiSIEM metrics and prioritize alerts from a business service perspective. A busi-
ness service is defined within FortiSIEM as a smart container of relevant devices and applications serving a business
purpose. Once defined, all monitoring and analysis can be presented from a business service perspective. It is pos-
sible to track service level metrics, efficiently respond to incidents on a prioritized basis, record business impact, and
provide business intelligence on IT best practices, compliance reporting, and IT service improvement. What is also
novel about FortiSIEM is how easily a business service can be defined and maintained. Because FortiSIEM auto-
matically discovers the applications running on the servers as well as the network connectivity and the traffic flow, you
can simply choose the applications and respective servers and be intelligently guided to choose the rest of com-
ponents of the business service. This business service discovery and definition capability in FortiSIEM completely
automates a process that would normally take many people and considerable effort to complete and maintain.
Defining an IT or Business Service can create a logical grouping of devices and IT components which can be mon-
itored together.
1. Go to CMDB and select a service under Business Services in the left panel.
The services are: IT Srvc, Biz Srvc, Compliance, or Ungrouped.
2. Select the service from the list.
The lower panel displays the information about the service including the following details:
Type, Name, Running on, Access IP, Details, and Maintenance.
1. Go to CMDB and select a service under Business Services in the left panel.
2. Click New.
3. In the New Business Service dialog box, enter the following information.
Settings Guidelines
Browse this folder to select or search the devices and also the adjacent net-
Devices work devices. Click > to move the device selections to the Selected
Devices/Apps table.
Applications Browse this folder to select or search the applications, instance running on
and adjacent network devices. Click > to move the application selections to
the Selected Devices/Apps table.
4. Click Save to save the selections or Apply Filter and Save to proceed with adding the service.
You can use the links in the drilldown menu on the Business Services Summary Dashboard to find out more inform-
ation about incidents, device availability, device and application performance, interface and event status, and real-
time and historical search for a selected business service.
Settings Guidelines
Folders Folder under Business Service where the group has to be created.
Selections Click > to confirm the selections from Folders and Items.
4. Click Save.
The new Business Service group appears on the left panel.
1. Click Business Services from the left panel and select a Business Service group.
2. Click the required option:
l Edit to modify the settings of a Business Service.
CMDB Reports
You can find all system-defined reports under CMDB > CMDB Reports. The reports are organized into folders as
shown on the left tree. Click a report to view Summary and Schedule information. the report conditions, and the
columns included in the report.
CMDB Report
Object to Report On Report Name
Folder
l Discovered Users
Users l Externally Authenticated FortiSIEM Users
l Locally Authenticated FortiSIEM Users
CMDB Report
Object to Report On Report Name
Folder
CMDB Report
Object to Report On Report Name
Folder
l Clone and modify an existing system or user-defined report by selecting a report and clicking Clone.
1. Go to CMDB and select the CMDB report folder where you want to create the report.
2. Click New.
3. In the New CMDB Report dialog box, enter the following information.
Settings Guidelines
Set the filter conditions by selecting (Attributes, Operator and Value) together
Conditions with Next Operators. Parenthesis can be added by clicking + to give higher
precedence to any evaluation conditions.
Display Columns The columns in the report result. The order can be changed by selecting a
column and clicking the Up or Down icons. You can specify the Order as ASC
or DESC.
4. Click Save.
You can also import a report under CMDB by clicking Import to browse and choose.
<cmdbReports>
<cmdbReport>
<name></name>
<naturalid></naturalid>
<description></description>
<selectClause></selectClause>
<orderByClause></orderByClause>
<whereClause></whereClause>
</cmdbReport>
</cmdbReports>
<cmdbReports>
<cmdbReport>
<name>Active Rules</name>
<naturalId>PH_CMDB_Report_Overall_8</naturalId>
<target>com.ph.phoenix.model.query.Rule</target>
<description>This report captures active rules on a per organization
basis</description>
<selectClause>ph_drq_rule.ph_incident_category,ph_drq_rule.name,ph_sys_d
omain.name</selectClause>
<orderByClause>ph_drq_rule.ph_incident_category ASC</orderByClause>
<whereClause>ph_drq_rule.active = true</whereClause>
</cmdbReport>
</cmdbReports>
1. Go to CMDB and browse to select the report under CMDB Reports on the left tree.
2. Select the report from the list.
3. Click Schedule.
4. In the Schedule dialog box, select the required information.
Settings Guidelines
Schedule Time Range Enter the Time range to run the report.
Schedule Recurrence Pattern Recurrence pattern: once, hourly, daily, weekly or monthly.
Enter the start date in the Start From field.
Settings Guidelines
5. Click OK.
You can also schedule a CMDB report by selecting the report from the list and clicking +under Schedule tab in the
lower pane.
1. Go to CMDB > CMDB Reports and select the report you want to run from the folder.
2. Click Run.
3. In the Run CMDB for dialog box, select the Organization and click Run.
Reports are saved only for the duration of your login session. You can view saved reports by clicking Results. You
can use the Export button to export any report in PDF or CSV format.
Managing Resources
Reports 532
Rules 547
Network 558
Protocols 569
Remediations 600
Reports
Reports as similar to pre-defined versions of searches that you can load and run at any time. FortiSIEM includes over
2000 pre-defined reports that you can access in RESOURCES > Reports.
cation, the IP address is obfuscated. In earlier versions of FortiSIEM, raw events were completely obfuscated.
l CSV Export feature is disabled.
When you run a report under RESOURCES > Reports, FortiSIEM will choose the appropriate Report Template in the
following order:
1. If a specific template is defined for the selected report, then that template will be chosen.
2. If a template in the previous step is not found, then the template for the folder to which the Report belongs will
be chosen.
3. If no matching template is found in Steps 1 and 2, then the system-defined template for the root folder
RESOURCES > Reports will be chosen. System-defined templates cannot be edited.
If you load and run a report in RESOURCES > Reports from the ANALYTICS page and then manually export the
Report in PDF or RTF format:
l If you choose the Defined option, then FortiSIEM will use the rules above to find the matching template.
l If you choose the New option, then you can define a new Report format for this report instance only.
Note:
l For Service Provider deployments, the Report templates can only be defined at the Super/Global level and applies
for all customers.
l If a report is part of two folders and each folder has its own template defined, then the template of the current folder
being viewed will be used.
1. Go to RESOURCES > Reports and select one of the subcategories from the left pane.
2. Select the desired row from the table.
3. (Optional) Select the Sync checkbox in the row to synchronize the report with the Report Server.
4. Open the More drop-down list and select Report Design. The Report Design page opens.
5. Notice that the Name given to the report template is in the form organization_name scope report_name Tem-
plate. You can edit this name if you want.
6. Follow the instructions in Designing a Report Template to design the cover page and add sections, sub-
sections, attachments, and so on, to the report.
7. Click Save.
The name of the new template will be displayed in the Report Design Template column of the table. Notice
that an edit icon appears next to the name of the template.
To create a report template for a Resource folder, choose any Report folder from the left pane. The steps to create the
template are similar to Creating a Report Template.
To create a report template for a Report Bundle, complete these steps:
Notice that the Name of the template for a Report Bundle cannot be edited.
1. Click the edit icon next to the name of the existing report design template. The Report Design page opens.
2. Make the desired changes to the template design.
3. Click Save.
l Cover Page
l Table of Contents - Sections and Subsections
Overview
Report Designer allows you to build a report out the following objects, the Cover Page, Table of Contents, Sections,
and Subsections.
l Adding an Object
l Deleting an Object
l Orientation
l Using the Text Editor when Adding Text to an Object
Adding an Object
When you create a new Report Design, a default Cover Page and Table of Contents is automatically created. If you
choose to delete the Cover Page and/or Table of Contents, the option to add these objects will appear from the left
Add drop-down list button.
To add a Section, click on the Table of Contents or an existing section and click the left Add drop-down list button and
select Section.
To add a Subsection, select the Section where you wish to add a Subsection to, then click the left Add drop-down but-
ton and select Subsection.
Deleting an Object
A report can have a maximum of one Cover Page and one Table of Contents. The Table of Contents is based off the
section(s) and subsection(s) that you create, or that already exist. To delete any existing objects, add a check mark to
the checkbox for the objects you wish to delete, then click Delete. You will be prompted to confirm deletion when you
click Delete.
Orientation
You can choose the page orientation that your report appears in by clicking on the Orientation drop-down list button
and selecting Portrait or Landscape.
When you add text to a cover page, section, or subsection, the text editor will open. Use the editor to add any text you
wish to display with your report in the Enter Text window. When done, click Save.The text editor also provides the fol-
lowing tools:
Icon Description
Icon Description
Icon Description
Cover Page
The default Cover Page template includes the current Organization, Start Time, End Time, Generated Time, and
Device Time Zone as Default Text. These settings can be deleted or rearranged but not modified. You can also add
text content and attachments to the Cover Page.
l Adding Text to Cover Page
l Adding Attachments to Cover Page
l Adding Page Break to Cover Page
Note:
Use the Edit, Delete, Move Up or Move Down icons to the right of the configurable fields to modify, delete or re-
arrange the order of the page break.
This sections allows you to add new Sections and Sub Sections to the Table of Contents. You can also add text
content, attachments, event reports and CMDB reports here.
l Adding Sections and Subsections
l Adding Text to a Section or Subsection
l Adding Attachments to a Section or Subsection
l Adding Page Break to a Section or Subsection
l Adding an Event Report to a Section or Subsection
l Adding a CMDB Report to a Section or Subsection
Note:
Note: You can add CMDB Reports only to a Report Bundle template.
Creating a Report
Creating a report or baseline report is like creating a structured historical search, because you set the Conditions and
Group By attributes that will be used to process the report data, and specify Display Columns to use in the report
summary. You can clone an existing report to use as the basis for a new report by selecting the existing report, and
clicking Clone.
Complete these steps to create a report:
Your report will be saved into the selected category, and you can run it or schedule it to run later.
1. Go to the RESOURCES tab and select a Report Bundle from the left panel.
2. Click New.
3. Enter a Report Name and Description.
4. For baseline reports, select Anomaly Detection Baseline.
5. Enter the Conditions to use in your report.
6. Set the Display Columns to use in your search results.
7. Click Save.
8. Optional - If you want to create a new PDF report template for this report, follow the steps here or else the sys-
tem-defined template will be used.
Your report will be saved into the selected category, and you can run it or schedule it to run later.
1. Go to the RESOURCES tab and select a Report Bundle from the left panel.
2. Click the Edit icon ( ) above the left panel. The Edit Report Group dialog box opens.
3. Edit the Report Group Name and Description, if needed.
4. From the Folders column select the report subcategory.
5. In the Items column, select the desired report(s) to add to the report bundle.
6. Select Update Template if you want to add the selected reports to the previously defined Report Bundle tem-
plate. See Creating a PDF Report Template.
7. Click Save.
1. Go to RESOURCES tab and select the desired report group from the Reports folder.
2. Select the report(s) from the table.
3. Click Run to run the report(s) immediately, or select More and click Schedule to schedule the report.
4. If you have a multi-tenant deployment, select the Organization for which you want to run the report.
5. Select one of the Report Time Range options:
l Relative: Select the last number of hours from which report has to be generated.
l Absolute: Select the range of start and end date and time.
6. Click OK.
The report will run and the results will be displayed.
Starting in 6.1.1, adhoc reports run from GUI and scheduled reports may time out after running for a long time. In a
cluster environment with Worker nodes, the user may see partial results (indicated in the PDF), if some workers are
able to finish their queries within the timeout. The default timeouts are specified (in seconds) in the phoenix_con-
fig.txt file on the Supervisor node.
[BEGIN phQueryMaster]
...
interactive_query_timeout=1800 # 30 mins
...
scheduled_query_timeout=3600 # 60mins
...
[END]
To change the default timeout values, SSH to the Supervisor node, change the values, save the file, and restart the
Query Master process.
Scheduling Reports
You can schedule reports/report bundles to run once or for recurring periods in the future. When you schedule a
reports/report bundle, you can specify notifications that can be sent for the report. In addition, you should make sure
that the default settings for notifications for all scheduled reports/report bundles have been set up.
l Scheduling a Report
l Scheduling a Report Bundle
l Scheduling Reports Using a Workflow
Starting in 6.1.1, adhoc reports run from GUI and scheduled reports may time out after running for a long time. In a
cluster environment with Worker nodes, the user may see partial results (indicated in the PDF, in PDF or RTF starting
in 6.3.0), if some workers are able to finish their queries within the timeout. The default timeouts are specified (in
seconds) in the phoenix_config.txt file on the Supervisor node.
[BEGIN phQueryMaster]
...
interactive_query_timeout=1800 # 30 mins
...
scheduled_query_timeout=3600 # 60mins
...
[END]
To change the default timeout values, SSH to the Supervisor node, change the values, save the file, and restart the
Query Master process.
Scheduling a Report
Complete these steps to schedule a report:
1. Go to RESOURCES tab and select the report under Reports folder from the left pane.
2. Select the report(s) to schedule from the list on the right pane.
3. Click More > Schedule.
Note: You can also schedule a report from the lower pane - select the Schedule tab after selecting the report.
Use the + icon to enter the Schedule settings.
4. In Super/Global scope, under Organization section, for Report Data, you can choose either Combine all
selected Organizations into one Report or Generate separate Report for each selected Organization
with selected organizations:
l Choose Combine all selected Organizations into one Report if you would like to run the report for only
Global administrators. This choice will combine event data from all selected Organizations within one PDF
or RTF report and sent to the Global Administrators added in the Notification settings while scheduling
reports.
l Choose Generate separate Report for each selected Organization if you would like to run this report
for each selected Organization separately same as your login to each of these Organizations and schedule
this report there. In this case, each selected organization will receive its own copy of the CSV, PDF or
RTF report containing the event data for its own Organization based on the Notification settings added
while scheduling reports.
5. In Report Time Range, configure the range of time that the report should provide. See Specifying Search Time
Window.
6. In Trend Interval, configure appropriately if your report uses trend event attributes, otherwise, leave as Auto.
See Specifying Trend Interval.
7. Click Next.
8. Use the Schedule Time Range option if the run time has to be scheduled for a later period and a specific
place.
9. Schedule the Schedule Recurrence Pattern for the report to run once, hourly, daily, weekly, or monthly or set
the range under Schedule Recurrence Range.
10. Click Next.
11. Select the Output Format as PDF, CSV, or RTF.
For PDF and RTF output, the default template configured under RESOURCES > Reports is used. You can
customize the report templates following the steps under Designing a Report Template.
12. Specify the Notification that should be sent when the report runs from the available options:
l Default Notifications - to send default notifications. Click the edit icon to add more Recipients.
l Custom Notifications - to send notifications to specific email addresses. Use the edit icon to add more
Recipients
l Copy to a remote directory - to copy the report to a remote directory.
13. Specify the time that the report should be retained after it has run using the Retention setting in hours or num-
ber of days.
14. Click OK.
The report will run at the time you scheduled.
1. Go to RESOURCES > Reports tab and select a report bundle under Report Bundles folder from the left
pane.
2. Select the clock icon ( ) above the left panel folders to open the scheduler settings.
3. In the Schedule Report Bundle window, click +.
4. In Super/Global scope, under Organization section, for Report Data, you can choose either Combine all
selected Organizations into one Report or Generate separate Report for each selected Organization
with selected organizations:
l Choose Combine all selected Organizations into one Report if you would like to run the report for only
Global administrators. This choice will combine event data from all selected Organizations within one PDF
or RTF report and sent to the Global Administrators added in the Notification settings while scheduling
reports.
l Choose Generate separate Report for each selected Organization if you would like to run this report
for each selected Organization separately same as your login to each of these Organizations and schedule
this report there. In this case, each selected Organization will receive its own copy of the PDF or RTF report
containing the event data for its own Organization based on the Notification settings added while schedul-
ing reports.
5. Select the Report Time Range:
6. Select the Trend Interval for Trend. See Specifying Trend Interval.
7. Click Next.
8. Use the Schedule Time Range if the run time has to be scheduled for a later period and a specific place.
9. Click Next.
10. Select the Output Format as PDF or RTF.
For PDF or RTF output, the default template configured under RESOURCES > Reports is used. You can cus-
tomize the report templates following the steps under Designing a Report Template.
11. Schedule the Schedule Recurrence Pattern for the report bundle to run once, hourly, daily, weekly, or
monthly or set the range under Schedule Recurrence Range.
12. Specify the Notification that should be sent when the report bundle runs from the available options:
l Default Notifications - to send default notifications. Click + to add more Recipients.
l Custom Notifications - to send notifications to specific email addresses. Use the edit icon to add more
Recipients.
l Copy to a remote directory - to copy the report bundle to a remote directory.
13. Specify the Event/CMDB Attribute, Operator, and Value. Click + to add more, if required.
14. Click OK.
The report bundle will run at the time you scheduled.
Complete these steps to create a role that will require report scheduling approval.
Complete these steps to create a role that can approve report scheduling requests.
1. Login to FortiSIEM using a role that can approve a report being scheduled .
2. Click Approval. The table in the TASKS page lists pending requests.
3. To process the requests, scroll to the right-hand end of the row.
4. From the drop-down list, select Approve or Reject.
l If you select Approve, the Approve Request dialog box opens. You can choose whether the request is
valid Until or For the date and time listed in the time stamp field. You can click the time stamp field to
choose a different date and time.
l If you choose Reject, the Reject Request dialog box opens where you can enter a reason for the rejection.
5. If you choose Approve, the report will now be scheduled.
Complete this step to see the status of your report schedule activation requests.
Importing a Report
1. Go to RESOURCES > Reports and select the folder where you want to import the report.
2. Open the More drop-down list and select Import.
3. Click Choose File and browse to the report file to import.
4. Click Import.
1. Go to RESOURCES > Reports and select the folder where you want to export a report definition.
2. Select a report definition in the main panel.
3. Open the More drop-down list and select Export.
1. Go to RESOURCES tab and select the report under Reports folder from the left panel.
2. Select the reports and click Run to view the results under ANALYTICS tab.
3. Go to Actions and select Export Result.
4. Optional - Enter any User Notes about this report.
5. Select the Output Format for the report as CSV, RTF or PDF.
6. Select the Time Zone for which the report is to be generated. If the devices are in a different Timezone from
the Supervisor, then you can choose the time zone of the devices while configuring the PDF or RTF report.
7. Select the Template if PDF or RTF format is selected:
l Defined - to use the default template defined for this report defined under RESOURCES > Reports.
l New - to create a new custom report template for one-time use. The Report Design settings appear on
choosing this option. Note that this template will not replace the template defined under RESOURCES >
Reports. See Designing a Report Template for the steps to customize the report template.
8. Click Generate to create the report.
9. Click View to open and save the report.
cation, the IP address is obfuscated. In earlier versions of FortiSIEM, raw events were completely obfuscated.
l CSV Export feature is disabled.
Rules
FortiSIEM continuously monitors your IT infrastructure and provides information to analyze performance, availability,
and security. There may also be situations in which you want to receive alerts when exceptional, suspicious, or poten-
tial failure conditions arise. You can accomplish this using rules that define the conditions to watch out for, and which
trigger an incident when those conditions arise. You can configure a notification policy that will send email and SNMP
alerts that the incident has occurred. FortiSIEM includes over 500 system-defined rules, which you can see in
RESOURCES > Rules, but you can also create your own rules as described in the topics in this section.
Viewing Rules
FortiSIEM includes a large set of rules for Availability, Performance, Change, Security, and Beaconing groups in addi-
tion to the rules that you can define for your system.
Complete these steps to view all system and user-defined rules:
Tabs Description
Summary This tab provides an overview of the rule logic, its status, and notification set-
tings.
If you are testing a rule, you can view the results here.
Test Results
Note: Active rules cannot be tested. You must deactivate a rule before testing.
Creating Rules
Creating a new rule involves defining the attributes of the incident that is triggered by the rule, as well as the triggering
conditions and any exceptions or clear conditions. You can also create a rule by cloning an existing rule using the
Clone button and editing it.
Note: Do not use certain keywords in sub-pattern names - regexp.
l Creating a Rule
l Defining Rule Conditions
l Defining the Incident Generated by a Rule
l Defining Rule Exceptions
l Defining Clear Conditions
l Defining an Incident Title
Creating a Rule
Complete these steps to create a rule:
Step 1: General
Event Type The name you enter in the Rule Type field is replicated in the Event Type field.
Remediation Note Enter the Remediation script. Make sure that the Remediation script for your scenario
is defined. Check the existing Remediation scripts under ADMIN > Settings > General
> Notification Policy > Action column. If your device is not in the list, add the needed
Remediation script.
Conditions Click Condition to create the rule conditions. See Defining Rule Conditions.
Severity Select a Severity to associate with the incident triggered by the rule.
Subcategory Select the Subcategory from the available list based on the selected incident Cat-
egory. To add custom subcategories, follow the steps under Setting Rule
Subcategory.
Technique Select any techniques from the available Technique list. You can choose to select
Settings Guidelines
zero, one, or multiple techniques. The Tactics row will update itself based on the tech-
niques selected.
Action Click the edit icon to define the incident (Incident Attributes and Triggered Attributes)
that will be generated by this rule. You must have at least one incident defined before
you can save your rule.
Exception Click the edit icon to define any Exceptions for the rule. See Defining Rule Exceptions.
Tag Click the drop-down list icon to view the tag list. If no tags appear, it means no tags
have been created. From the drop-down list, select any tags you wish to associate with
the rule. From Incidents View (by Time, by Device, by Incident), tags are displayed in
the Tag column. See Tags for more information.
Update Status on
Add a check mark to the Update Status on Summary Dashboard checkbox to add
Summary Dash-
this rule update in the Summary Dashboard, under the DASHBOARD tab.
board
Notification Enter a Notification frequency for how often you want notifications to be sent when an
incident is triggered by this rule.
Impacts Select the Impacts of the incident triggered by this rule from the drop-down.
Watch List Click the edit icon to add the rule you want to add to the watch list.
Note: The Type that you set for the watch list must match the Incident Attribute Types
for the rule. For example, if your watch list Type is IP, and the Incident Attribute Type
for the rule is string, you will not be able to associate the watch list to the rule.
Click the edit icon to define any Clear conditions for the rule. See Defining Clear Condi-
Clear
tions.
4. Click Save.
Your new rule will be saved to the group you selected in an inactive state. Before you activate the rule, you
should test it.
Specifying a Subpattern
A subpattern defines the characteristics of events that will cause a rule to trigger an incident. A subpattern involves
defining event attributes that will be monitored, and then defining the threshold values for aggregations of event attrib-
utes that will trigger an incident.
Event Filters
Event filter criteria determine which event attributes and values will be monitored by the rule, and are set in a way that
is similar to the way you set event attributes for structured historical searches and real time searches.
Event Aggregation
While you could have a rule that triggers an incident on a single instance of a particular event, it is more likely that you
will want your rule to trigger an incident when some number of events have been found that meet your event filter cri-
teria.
Group By Attributes
This determines which event attributes will be used to group the events before the group constraints are applied, in a
way that is similar to the way the Group By attribute is used to aggregate the results of structured searches.
Aggregate Conditions
The group aggregation conditions set the threshold at which some aggregation of events will trigger a rule to create an
incident. You create an aggregation condition by using the Expression Builder to set a function, and then enter the
Operator and Value for the aggregation condition. Examples of Group By and Aggregate Conditions Settings are
shown below:
Connections to 100 or more distinct des- Source IP,Destination Port COUNT (DISTINCT des-
tination IPs from the same source IP on the tination IP) >= 100
same destination port
Logins from the same source workstation to Source IP, Destination IP COUNT(DISTINCT user) >= 5
5 or more accounts on the same target
server
If you have more than one sub-pattern, you must specify the relationship between them with these operators.
Operator Meaning
Operator Meaning
You may want to relate attributes of a sub-pattern to the corresponding attributes of another sub-pattern, in a way that
is similar to a JOIN operation in an SQL, by using the relationship operators <, >, <=, >=, =, !=.
Sub- P1 - P2-
P1 P2
pat- Group- Sub-pat- group- Inter-P1- Inter-P1-
Group group
Scenario tern by tern P2 by P2 rela- P2 con-
con- con-
P1 - fil- attrib- filter attrib- tionships straints
straint straint
ter ute set ute
5 login fail- Event Source COUNT Event Source COUNT P1 NOT_ P1's
ures from type = IP, (Matche- type = IP, (Matched FOLLOW- Source
the same Login Destin- d Event) Login fail- Destin- Event) > ED_BY P2 IP = P2's
source to Suc- ation IP >= 5 ure ation IP 0 Source
a server cess IP
not fol-
lowed by
a suc-
cessful
logon
from the
same
source to
the same
server
An secur-
Event COUNT P1's
ity attack
COUNT Type = (DISTIN- Destin-
to a server Event P1
Destin- (Matche- Con- Source CT ation IP =
followed type = FOLLOW-
ation IP d Event) nection IP Destin- P2's
by the Attack ED_BY P2
>0 Attemp- ation IP) Source
server
ted > 100 IP
Sub- P1 - P2-
P1 P2
pat- Group- Sub-pat- group- Inter-P1- Inter-P1-
Group group
Scenario tern by tern P2 by P2 rela- P2 con-
con- con-
P1 - fil- attrib- filter attrib- tionships straints
straint straint
ter ute set ute
scanning
the net-
work, that
is, attempt-
ing to com-
municate
to 100 dis-
tinct des-
tination IP
addresses
in 5
minute
time win-
dows
4. In Step 3: Define Action, provide values for the Severity, Category, Subcategory, Dashboard, Noti-
fication, Impacts, and Watch List fields as described in Creating a Rule. For information on exceptions, see
Defining Rule Exceptions.
5. Click the Action edit icon to define the incident events and triggered attributes in the Generate Incident for
dialog box. This dialog box is is pre-populated with typical attributes you would want included in an incident
report.
6. Under Triggered Attributes, select the attributes from the triggering events that you want to include in Dash-
boards and Analytics for this event.
7. Click Save.
1. In RESOURCES > Rules, select the rule you want to add the exception to, and click Edit.
2. Select Step 3: Define Action.
3. Next to Exceptions, click Edit.
4. Select an Attribute and Operator, and enter a Value, for the conditions that will prevent an incident from
being generated.
The values in the Attribute menu are from the Event Attributes associated with the incident definition.
5. Click the + icon to set an effective time period for the exception.
You can set effective time periods for single and recurring events, and for durations of time from hours to days.
6. Enter any Notes about the exception.
7. Click Save.
1. In RESOURCES > Rules, select the rule you want to add the clear condition to, and click Edit.
2. Select Step 3: Define Action.
3. Next to Clear Condition, click Edit.
4. Set the Time Period that should elapse for the clear condition to go into effect.
5. If you want the clear condition to go into effect based on the firing of the original rule, select the Original Rule
Does Not Trigger.
For example, if you wanted the clear condition to change the status of Active incidents to Cleared after the ori-
ginal rule had not been triggered for ten minutes, you would set Cleared Within to 10 Minutes and select this
option.
6. If you want to base the clear condition on a sub-pattern of the incident attributes, select the following con-
ditions are met.
The incident attributes from your rule will load and the clear condition attributes will be set to match.
7. Define the pattern to use by clicking the Edit icon next to the clear sub pattern.
8. Click Save.
1. In RESOURCES > Rules, select the rule you want to add a title to, and click Edit.
2. Select Step 3: Define Action.
3. You can either enter text for the title or build the title using incident attributes defined for the rule.
To use the incident attributes to build the title, follow these steps:
a. Open the drop-down list next to Insert Attribute.
Notice that the list contains all of the attributes defined in the Incident Attributes field.
b. Select an attribute and click the + symbol to the right of the Insert Attribute list.
The attribute appears in the Incident Title field prefixed by a "$" symbol, for example, $user.
c. Repeat the previous step for all of the attributes you want to appear in the title.
d. You can add text to the Incident Title field to make it more meaningful to you, for example: $user cre-
ated $fileName on $hostName.
4. Click Save when you have finished your edits.
Once the title is defined in a rule definition, FortiSIEM will populate Incident Title field for all new instances of the Incid-
ents.
Follow these steps to display the Incident Title column in the list of incidents table.
Complete these steps to create a role that will require approval for rule activation/deactivation requests.
Complete these steps to create a role that can approve rule activation/deactivation requests.
1. Login to FortiSIEM using a role that can approve rule activation/deactivation requests.
2. Click Approval. The table in the TASKS page lists pending requests.
3. To process the requests, scroll to the right-hand end of the row.
valid Until or For the date and time listed in the time stamp field. You can click the time stamp field to
choose a different date and time.
l If you choose Reject, the Reject Request dialog box opens where you can enter a reason for the rejection.
5. If you choose Approve, the rule will be enabled or disabled.
Complete this step to see the status of your rule activation/deactivation requests.
Testing a Rule
After creating or editing a rule, you should test it to see if it works as expected, before activating.
Note: You can perform rule testing only on the super global organization and not within the local organization.
Complete these steps to test a rule:
Network
Adding a Network
Complete these steps to add a network:
Modifying a Network
Complete these steps to modify a network:
Deleting a Network
Complete these steps to delete a network:
Watch List
A Watch List is a smart container of similar items such as host names, IP addresses, or user names, that are of sig-
nificant interest to an administrator and must be watched. Examples of watch lists that are already set up in FortiSIEM
are:
l Frequent Account Lockouts - users who are frequently locked out
l Host Scanners - IP addresses that scan other devices
l Disk space issues - hosts with disks that are running out of capacity
l Denied countries - countries with an excessive number of access denials at the firewall
l Blacklisted WLAN endpoints - Endpoints that have been blacklisted by Wireless IPS systems
Items are added to a watch list dynamically when a rule is triggered, but you can also add items to a watch list manu-
ally. When you define a rule, you can also choose a watch list that will be populated with a specific incident attribute,
and you can use watch lists as conditions while creating reports, as described in Using a Watch List. You can also
define when an entry leaves a watch list - this is time based. For example, if the rule does not trigger for that attribute
for defined time-period, then the entry is removed from the watch list. Watch lists are also multi-tenant aware, with
organization IDs tracked in relation to watch list items.
The following section provides the procedures to use Watch Lists:
Attribute
Watch list Description Triggering Rules
Type
Attribute
Watch list Description Triggering Rules
Type
Availability Servers, net- Host Name Network Device Degraded - Lossy Ping Response
Issues works or storage (STRING) Network Device Down - No Ping Response
devices or Server Degraded - Lossy Ping Response
Applications that Server Down - No Ping Response
are exhibiting Server Network Interface Staying Down
availability Network Device Interface Flapping
issues Server Network Interface Flapping
Important Process Staying Down
Important Process Down
Attribute
Watch list Description Triggering Rules
Type
Denied Coun- Countries that Destination Excessive Denied Connections From An External Country
tries are seeing a Country
high volume of (STRING)
denials on the
firewall
Attribute
Watch list Description Triggering Rules
Type
Host Scanners Hosts that scan Source IP Heavy Half-open TCP Host Scan
other hosts Heavy Half-open TCP Host Scan On Fixed Port
Heavy TCP Host Scan
Heavy TCP Host Scan On Fixed Port
Heavy UDP Host Scan
Heavy UDP Host Scan On Fixed Port
Heavy ICMP Ping Sweep
Multiple IPS Scans From The Same Src
Malware Found Hosts where mal- Host Name Virus found but not remediated
ware found by (String) Malware found but not remediated
Host IPS /AV Phishing attack found but not remediated
based systems Rootkit found
and the malware Adware process found
is not remedi-
Attribute
Watch list Description Triggering Rules
Type
ated
Port Scanners Hosts that scan Source IP Heavy Half-open TCP Port Scan: Single Destination
ports on a Heavy Half-open TCP Port Scan: Multiple Destinations
machine Heavy TCP Port Scan: Single Destination
Heavy TCP Port Scan: Multiple Destinations
Heavy UDP Port Scan: Single Destination
Heavy UDP Port Scan: Multiple Destinations
Attribute
Watch list Description Triggering Rules
Type
Resource Issues Servers, net- Host Name High Process CPU: Server
works or storage (STRING) High Process CPU: Network
devices that are High Process Memory: Server
exhibiting High Process Memory: Network
resource issues: Server CPU Warning
CPU, memory, Server CPU Critical
disk space, disk Network CPU Warning
I/O, network I/O, Network CPU Critical
virtualization Server Memory Warning
resources - Server Memory Critical
either at the sys- Network Memory Warning
tem level or Network Memory Critical
application level Server Swap Memory Critical
Server Disk space Warning
Server Disk space Critical
Server Disk Latency Warning
Server Disk Latency Critical
Server Intf Util Warning
Server Intf Util Critical
Network Intf Util Warning
Network Intf Util Critical
Network IPS Intf Util Warning
Network IPS Intf Util Critical
Network Intf Error Warning
Network Intf Error Critical
Server Intf Error Warning
Server Intf Error Critical
Attribute
Watch list Description Triggering Rules
Type
Attribute
Watch list Description Triggering Rules
Type
Vulnerable Sys- Systems that Host Name Scanner found severe vulnerability
tems have high sever- (STRING)
ity vulnerabilities
from scanners
a. Select Watch Lists folder from the left panel and click + above the RESOURCES groups.
b. In the Create New Watch List dialog box, select the Organization type.
c. Enter the information below:
l Group - name of the Watch List group
Use the Delete button to select and delete any Watch List(s) from the table.
1. Go to RESOURCES > Reports or Rules and select the rule or report where you want to use the watch list.
2. Click Edit.
3. Go to the Step 2: Define Condition page.
4. Under Conditions for the report in your rule sub-pattern, enter the watch list attribute you want to filter for in
the Attribute field.
For example, Source IP.
5. For Operator, select IN.
6. Click ... Select from CMDB under Value, and browse the folders to select the watch list using the right arrow.
For example, DNS Violators.
7. Click OK and continue creating your search criteria or rule sub pattern.
Protocols
The Protocols page lists the protocols used by applications and devices to communicate with the FortiSIEM virtual
appliance.
Adding a Protocol
Complete these steps to add a Protocol:
Modifying a Protocol
Complete these steps to modify a Protocol:
Deleting a Protocol
Complete these steps to delete a Protocol:
Event Types
The Event Types page lists the types of events that are collected for supported devices.
7. For CVE IDs, enter links to any vulnerabilities associated with this event type as cataloged by the National Vul-
nerability Database.
8. Click Save.
The following sections describe how to work with FortiGuard malware domains, IPs, and URLs.
l Working with FortiGuard Malware Domains
l Working with FortiGuard Malware IPs
l Working with FortiGuard Malware URLs
1. Go to RESOURCES > Malware Domains and select the FortiGuard Malware Domain folder.
2. Select an inactive domain from the table.
3. Click More > Update. In the Update FortiGuard IOC Service dialog box, select Enable IOC Service.
4. (Optional) Schedule the starting of the service. See Specifying a schedule.
5. Click Save.
1. Go to RESOURCES > Malware Domains and select the FortiGuard Malware Domain folder.
2. Select an active domain from the table.
3. Click More > Update. In the Update FortiGuard IOC Service dialog box, select Disable IOC Service.
4. Click Save.
1. Go to RESOURCES > Malware Domains and select the FortiGuard Malware Domain folder.
2. Select a domain from the table.
3. Click More > Update. In the Update FortiGuard IOC Service dialog box, select Use Proxy.
4. The Mode will be Proxy. Provide the following information:
a. IP/Host
b. Port
c. User Name
d. Password
5. Click Save.
This section describes how to configure FortiSIEM to work with AlienVault OTX malware domains, IPs, URLs, and
hashes.
l Working with AlienVault OTX Malware Domains
l Working with AlienVault OTX Malware IPs
l Working with AlienVault OTX Malware URLs
l Working with AlienVault OTX Malware Hash
1. Go to RESOURCES > Malware Domains> select the OTX service you defined.
2. Click More > Update. In the Update AlienVault OTX Service dialog box, select Enable AlienVault OTX Ser-
vice.
3. (Optional) Schedule the starting of the service. See Specifying a schedule.
4. Click Save.
1. Go to RESOURCES > Malware Domains and select the AlienVault OTX Malware Domain folder.
2. Click More > Update.
3. Disable any schedule you have defined.
4. Click Save.
Parameter Value
URL https://otx.alienvault.com
Username <user>
It will prompt you to enter your API user name.
Password <pwd>
It will prompt you to enter your API password.
Collection user_AlienVault
Parameter Value
URL https://otx.alienvault.com
Username <user>
It will prompt you to enter your API user name.
Password <pwd>
It will prompt you to enter your API password.
Collection user_AlienVault
Parameter Value
URL https://otx.alienvault.com
Username <user>
It will prompt you to enter your API user name.
Password <pwd>
It will prompt you to enter your API password.
Collection user_AlienVault
Parameter Value
URL https://otx.alienvault.com
Username <user>
It will prompt you to enter your API user name.
Password <pwd>
It will prompt you to enter your API password.
Collection user_AlienVault
ThreatConnect can provide malware IPs, domains, hashes, or URLs which FortiSIEM can use to match in log data
The steps are as follows: for each IOC (IP, domain, hash, URL).
1. Discover Collections
2. Create Collection Policy
3. Schedule IOC Download
Since an Organization may subscribe to many Collections (an intelligence source), downloading every IOC for all Col-
lections may result in too much data. Therefore, specifying a Collection Policy is essential.
l Max False Positive Count: enter a number where the frequency of an attack produces a false positive on
your network.
l Min Rating: enter a value between 0 and 5.
l Confidence: enter a value between 1 and 100.
11. Click Save.
12. Schedule the download. See Specifying a Schedule.
13. Check the folder 5 minutes after the scheduled time. Downloaded results should be displayed – organized by
each collection.
Note that FortiSIEM does not provide system rules and reports because ThreatConnect folders are dynamic. The user
must create them using the Collection folders.
Specifying a Schedule
1. Click the + icon next to Schedule.
2. Enter values for the following options:
l Time Range specifies start time (within the day) and the duration of the scheduling window. Select a UTC
Malware Domains
The Malware Domains page lists domains that are known to generate spam, host botnets, create DDoS attacks, and
generally contain malware. Since Malware Domains are constantly changing, FortiSIEM recommends maintaining a
dynamically generated list of IP addresses provided by services that are updated on a regular schedule, but you can
also add or remove blocked IP addresses from these system-defined groups, and create your own groups based on
manual entry of IP addresses or file upload.
The following sections describe Malware Domains:
Malware IPs
The Malware IP Addresses page lists IP addresses that are known to generate spam, host botnets, create DDoS
attacks, and generally contain malware. The default group included in your FortiSIEM deployment, Emerging Threat,
contains IP addresses that are derived from the website rules.emergingthreats.net. Because malware IP addresses
are constantly changing, FortiSIEM recommends maintaining a dynamically generated list of IP addresses provided
by services such as Emerging Threat that are updated on a regular schedule, but you can also add or remove blocked
IP addresses from these system-defined groups, and create your own groups based on manual entry of IP addresses
or file upload.
The following sections describe Malware IPs:
Prerequisites 579
Custom Threat Feed Websites - CSV Data - One-time Manual Import 580
Custom Threat Feed Websites - STIX Formatted Data and TAXII Import 582
Adding a Malware IP
Complete these steps to add a Malware IPs:
3. Click New.
4. Enter the details of the Malware IP.
5. Click Save.
Modifying a Malware IP
Complete these steps to edit a Malware IP:
Deleting a Malware IP
Complete these steps to delete a Malware IP:
Prerequisites
Before proceeding, gather the following information about a threat feed web site:
l Website URL
l Credentials required to access the website (optional).
l If the website is not supported by FortiSIEM, you may need to understand the format of the data returned by the
URL.
l If the data is in the comma-separated value format (the separator need not be a comma but could be any sep-
For Threat Stream Malware IP, the following Malware types are imported:
l Bot IP
l Actor IP
l APT Email
l APT IP
l Bruteforce IP
l Compromised IP
l Malware IP
l DDoS IP
l Phishing email IP
l Phish URL IP
l Scan IP
l Spam IP
1. In the RESOURCES > Malware IPs, find the website you must import data from.
2. Select the folder.
3. Click More > Update.
4. Select Update via API. The link will show in the edit box.
5. Enter a Schedule by clicking the + icon.
6. Enter the schedule parameters - when to start and how often to import. FortiSIEM recommends no more fre-
quent than hourly.
7. Select the type of template you want to create.
Name, Low IP, High IP, Malware Type, Confidence, Severity, ASN, Org, Country ,De-
scription,Data Found(MM/DD/YYYY),Last Seen(MM/DD/YYYY)
Although many fields are possible, Name, Low IP, and High IP are required. If High IP is not available, then the High IP
field should be set to the Low IP.
Although many fields are possible, only Low IP is required. If High IP is not provided, then it is set to Low IP.
Follow these steps:
After the class has been written and fully tested for correctness, follow these steps.
Custom Threat Feed Websites - STIX Formatted Data and TAXII Import
In this case, the threat feed data is available formatted as STIX and follows the TAXII protocol.
Malware URLs
The Malware URLs page lists URLs that are known to host malware. The Threat Stream Blocked URL group is
included in your FortiSIEM deployment.
The following sections describe Malware URLs:
l Malware Type
l Confidence
l Description
l Last Seen
5. Click Save.
l Prerequisites
l Threat Feed Websites with Built-in Support
l Custom Threat Feed Websites - CSV Data - One-time Manual Import
l Custom Threat Feed Websites - CSV Data - GUI Import
l Custom Threat Feed Websites - Non-CSV Data - Programmatic Import
l Custom Threat Feed Websites - STIX Formatted Data and TAXII Import
l Working with Custom Threat Feeds that use HTTPS Connectivity
Prerequisites
Before proceeding, gather the following information about a threat feed web site:
l Website URL.
l Credentials required to access the website (optional).
l If the website is not supported by FortiSIEM, you may need to understand the format of the data returned by the
URL.
l If the data is in comma-separated value (CSV) format, then a simple integration is possible. Note that the sep-
1. In the RESOURCES > Malware URLs, find the website you must import data from.
2. Select the folder.
3. Click More > Update.
4. Select Update via API. The link will show in the edit box.
5. Enter a Schedule by clicking the + icon.
6. Enter the schedule parameters: when to start and how often to import. FortiSIEM recommends no more fre-
quent than hourly.
This requires that the data to be imported is already in a file in comma-separated value format. The required format is:
This requires that the web site data has the following structure:
l The file is in a comma-separated value format (the separator can be any special character such as space, tab,
hash, dollar sign, etc.).
l One line has only one entry.
This is the most general case where the website data format is not CSV. In this case, write a Java plugin by modifying
the default class provided by the system.
After the class has been written and fully tested for correctness, follow these steps:
Custom Threat Feed Websites - STIX Formatted Data and TAXII Import
In this case, the threat feed data is available formatted as STIX and follows the TAXII protocol.
Malware Processes
Country Groups
The Country Groups page contains a list of all of the country names in the FortiSIEM geolocation database. You can
also create folders that represent different organizations of countries for use in analytics.
4. From the Edit Country Group : My Home window, take the following steps:
a. In the leftmost panel, expand Country Groups and select a country group folder.
b. In the middle panel, select a country.
c. Click > to add the selected country to your My Home.
Note: You can also select a country in the rightmost panel and click < to remove it from My Home.
5. Click Save.
Malware Hash
Use the Malware Hash page to define a list of malware files and their hash functions. When FortiSIEM monitors a dir-
ectory, it generates these directory events:
Directory Event Generated by This Action
When FortiSIEM scans a file and collects its hash, it uses the system rule Malware Hash Check to check the list of
malware hashes. FortiSIEM will then trigger an alert if a match is found.
The following sections describe Malware Hashes:
You can update the Malware Hash using the following options:
l Import from a CSV File
l Update via API
Prerequisites:
Before proceeding, gather the following information about a threat feed web site.
l Website URL.
l If the data is any other format, for example, XML, then some code must be written for integration using the
framework provided by FortiSIEM.
Instead of manually adding Malware Hashes to a group individually, you can upload a CSV file with multiple entries.
This requires that the data to be imported is already in a file in a comma-separated value format.
Botnet Name, Algorithm, Hash Code, Controller IP, Malware Type, Confidence, Severity,
Asn, Org, Country, Description, Data Found(MM/DD/YYYY), Last Seen(MM/DD/YYYY), High
IP, Malware Type, Confidence, Severity, ASN, Org, Country, Description, Data Found
(MM/DD/YYYY), Last Seen(MM/DD/YYYY)
Note: Although many fields are possible, only Botnet Name, Algorithm, and Hash Code are required.
l a file in comma-separated value format (separator can be any special character such as space, tab, hash, dollar
etc.).
l one entry is in a single line.
This is the most general case where the website data format does not satisfy the previous conditions. In this case,
write a Java plugin class by modifying the default system provided one.
Custom Threat Feed Websites - Non-CSV Data -STIX Formatted Data and TAXII Import
In this case, the threat feed data is available formatted as STIX and follows the TAXII protocol.
Default Password
The Default Password page contains a list of default vendor credentials. These well-known credentials should never
be used in production. During device discovery FortiSIEM checks if the device credentials are still set to default, The
system rule Default Password Detected by System triggers an incident if they are.
This is a sample raw event log for a default password incident:
<174>Oct 20 22:50:03 [PH_AUDIT_DEFAULT_PWD_MATCH]:[phEventCategory]=2,[appTrans-
portProto]=SNMP,[reptModel]=Firewall-1 SPLAT,[srcIpAddr]=192.168.19.195,[phCustId]=1,[ses-
sionId]=0f8bdee2b6a265c4bd075fc777ed,[procName]=AppServer,[reptVendor]=Checkpoint,
[hostIpAddr]=172.16.0.1,[hostName]=SJ-QA-F-Lnx-CHK,[eventSeverity]=PHL_INFO,[user]=,[phLo-
gDetail]=Default password matches for the same composite key (Vendor, Model, Access
method, User Name, Password)
Use the Delete button to select and remove any default password(s) from the list.
4. Click Import.
Anonymity Network
An anonymity network is used to hide one's network identity, and is typically used by malware to hide its originating IP
address. Enterprise network traffic should not be originating from or destined to Anonymity network.
When FortiSIEM discovers traffic destined to or originating from anonymity networks, it triggers these rules:
l Inbound Traffic from Tor Network
l Outbound Traffic to Tor Network
l Inbound Traffic from Open Proxies
l Outbound Traffic to Open Proxies
5. Click the Calendar icon to select the Date Found and Last Seen.
6. Click Save.
You can easily add an anonymity network IP address to your watch lists. Hover your mouse cursor over the anonymity
network IP address until the icon for the Options menu appears, and then select Add to Watchlist.
You can use the Delete button to select and remove any Anonymity Network from the list.
Prerequisites:
Before proceeding, gather the following information about a threat feed web site.
l Website URL.
Instead of manually adding anonymity networks to a group individually, you can upload a CSV file with multiple
entries. This requires that the data to be imported is already in a file in comma-separated value format.
IP, Port, Malware Type, Confidence, Severity, Asn, Org, Country, Description, Data
Found(MM/DD/YYYY), Last Seen(MM/DD/YYYY)
User Agents
The User Agent page lists common and uncommon user agents in HTTP communications. The traditional use case
for a user agent is to detect browser types so the server can return an optimized page. However, user agents are often
misused by malware, and are used to communicate the identity of the client to the BotNet controller over HTTP(S).
FortiSIEM monitors HTTP(S) logs and the system rule Blacklist User Agent Match uses regular expression matching
to detect blacklisted user agents.
You can use the Delete button to select and remove any User Agent from the list.
Complete these steps to import User Agents to a Group from a CSV File.
Remediations
Remediation can be performed either on an ad hoc basis or by using a Notification Policy. A Notification Policy directs
the system to take a Remediation action when an Incident occurs. To invoke a Remediation, do the following:
l Make sure the Remediation script for your scenario is defined.
l Check the existing Remediation scripts. Go to ADMIN > Settings > General > Notification Policy, then choose
Run Remediation/Script in the Action section of the Notification Policy dialog box. See Adding Incident Noti-
fication settings.
l If your device is not in the list, add the needed Remediation script.
The system-defined and custom Remediations are listed under RESOURCES > Remediations. The following sec-
tions describe how to create and manage custom Remediations.
l Adding Remediations
l Modifying Remediations
l Deleting Remediations
Adding Remediations
Complete these steps to create a new custom Remediation. You can also select any existing Remediation to Clone
and customize.
Modifying Remediations
Note that you cannot modify any system-defined Remediations.
Complete these steps to modify a custom Remediation:
Deleting Remediations
Note that you cannot remove any system-defined Remediations.
Complete these steps to delete a custom Remediation(s).
FortiSIEM allows you to create and assign cases for IT infrastructure tasks, and create tickets. You can see all tickets
that have been created under the CASES tab and use filter controls to view tickets by assignees, organization, priority,
and other attributes.
The following topics provide instructions for ticket related operations:
Creating a Ticket
FortiSIEM has a built-in ticketing system. A ticket can be created from the following:
l CASES tab
l INCIDENTS tab
l Via Incident Notification Policy
1. Go to CASES.
2. Click New.
3. In the New Ticket dialog box, enter the following information:
Settings Guidelines
Assignee Click the edit icon to select a user from the list
of Users.
Settings Guidelines
Medium, or Low.
4. Click Save.
A unique ID is automatically assigned to the ticket.
5. Select the ticket from the list to display tabs for the Detail, Action History, and Evidence information in the
lower pane.
Settings Guidelines
Assignee Click the edit icon to select a user from the list
of Users.
4. Click Save.
Settings Guidelines
4. Click Save.
Editing a Ticket
The Edit option under CASES allows you to edit any ticket settings except the Ticket ID.
Complete these steps to edit an existing ticket:
Managing Cases
You can perform the following operations from the CASES tab:
l Viewing a Ticket
l Searching a Ticket
l Escalating a Ticket
l Exporting a Ticket
Viewing a Ticket
The Ticket Dashboard displays the total number of:
Settings Description
Elapsed Percentage of time elapsed since the ticket was created. If the time
is beyond Due Date, this field displays the "Overdue" status.
Resolution
The time to resolve the incident in the external ticketing system.
Time
For any selected ticket, the Incident and event details are displayed in the Detail and Action History sections.
Settings Description
Detail
Close code The reason for closing the ticket. Choose one of the following from
the drop-down list: Solved (Workaround), Solved (Permanent),
Not Solved (Not Reproducible), Not Solved (Expensive),
Closed (Resolved by Caller)
Escalation
Escalation policy for the incident tickets.
Policies
Email address(es) of the users who will receive a copy of the ticket
CC
details.
Close Note Any description you want to enter when closing the ticket.
Elapsed Percentage of time elapsed since the ticket was created. If the time
is beyond Due Date, this field displays the "Overdue" status.
Resolution The time when the ticket was resolved in the ticketing system.
Time
Settings Description
Time Zone The time zone in which the ticket was created.
Action His-
tory
Incident ID To find the events that triggered the incident for the Case, click Trig-
gering Events.
Evidence
Triggering List of events that triggered the incident for the Case.
Event
Searching a Ticket
You can use various attributes mentioned in the table below from the search filter to find more information about any
ticket.
Complete these steps to search a ticket:
Time Range Search any ticket created during a specific time range. Use
LAST to find the tickets from the last number of days, hours
and/or minutes or FROM to choose a range of dates and time
from the Calendar.
Select the state of the ticket from the drop-down list: New,
State
Assigned, Closed, In Progress, or Reopened.
Elapsed Search using the time elapsed since the ticket was created.
Incident ID Search any ticket using the Incident ID associated with the
ticket.
Escalating a Ticket
Complete these steps to escalate a ticket:
Refer to Ticket Escalation Settings for more information about related settings.
Exporting a Ticket
You can export all or selected tickets using filters to a PDF or CSV report.
Complete these steps to export a ticket:
When a correlation rule triggers, an incident is created in FortiSIEM. This section describes how to view and manage
Incidents in FortiSIEM. There are three views:
l Overview: This view provides a "top down" view of the various types of Incidents and impacted hosts.
l List View: This tabular view enables the user to search incidents and take actions.
l Risk View: This view organizes impacted entities (Devices, Users) by Risk based on the triggered incidents.
l Incident Explorer View: This view helps users to correlate Actors (IP, Host, User) across multiple incidents,
without creating multiple reports in separate tabs.
l MITRE ATT&CK ViewThis view classifies security events detected by FortiSIEM into MITRE ATT&CK categories.
Note: Previously this was Attack View.
l UEBA View: This view monitors the AI alerts obtained from FortiInsight.
FortiSIEM can cross-correlate incident data and perform lookups on selected external ticketing/work flow systems.
See Filtering in the Incident Explorer View and Lookups Via External Websites.
FortiSIEM can also be configured to collect this host vulnerability data to preform CVE-Based IPS False Positive Ana-
lysis.
Overview View
The Overview view provides a "top down" view of various types of Incidents and impacted hosts. Go to INCIDENTS >
Overview to see this view. Overview can set as the default view by selecting User Profile > UI Settings then choos-
ing Incidents from the Home drop-down list and Overview from the Incident Home drop-down list.
The panel is divided into three sections:
l Incidents by Category – displays Incident Counts By Function and Severity.
l Top Incidents – displays the Top Incidents sorted first by Severity and then Count.
l Top Impacted Hosts – displays Top impacted hosts by Severity or Risk Score.
To change the incident time range, choose the Time Range option on the top right. For Service provider installations,
choose the appropriate Organizations on top right. By default, the data combined for all Organizations and the Organ-
ization is shown next to each host. This view will automatically refresh every minute by default. The refresh menu on
top bar allows the user to disable the automatic refresh or choose a different refresh interval.
Incidents by Category
This pane shows the number of unique Security, Performance, Availability, and Change incidents that have triggered
in the specified time range.
To drill into a specific category, click the number and the matching incidents are displayed in a separate Incident List
View. To return to the main view, click the < button. From this View, you can initiate the same actions as described in
Incidents List View.
Top Incidents
This pane shows the Top Incidents, first by Severity and then by Count.
l Each box represents an Incident.
To drill down, click the number in the left side bar or each host and the matching incidents are displayed in a separate
Incident List View. To return to the main view, click the < button. From this View, you can initiate the same actions as
described in Incidents List View.
This pane shows the Top Impacted Hosts, first by Severity and then by Count.
l Each box represents an impacted host (where an Incident has occurred during the specified time window).
l The color of the box title reflects the maximum of Severity over all Incidents.
l The number on the left of the box reflects the unique incidents that have triggered on the host in the chosen time
window.
l The entries inside the box represent the incidents that have triggered for that host.
l Boxes are ordered left to right by Incident Severity and then unique incident count. That means that the Red
colored boxes (High Severity) appear first, then Yellow (Medium Severity), and finally Green (Low Severity). Within
boxes of the same color, boxes with a higher number of Incident counts appear first. You can scroll to the right.
To drill down, click the number in the left side bar or each incident and the matching incidents are displayed in a sep-
arate Incident List View. To return to the main view, click the < button. From this View, you can initiate the same
actions as described in Incidents List View.
This pane shows the Top Impacted Hosts, first by Risk Score.
l Each Box represents an impacted host (where an Incident has occurred during the specified time window).
l The color of the box title reflects the Risk Score (80 and above is Red, 50-79 is Yellow, and less than 50 is Green).
l The number on the left of the box reflects the risk score.
l The entries inside the box represent the incidents that have triggered for that host.
l Boxes are ordered left to right by Risk Score. That means that Red colored boxes (High Risk) appear first, then Yel-
low colored boxes (Medium Risk), and Green colored boxes (Low Risk).
l You can scroll to the right.
To drill down, click the number in the left side bar or each incident and the matching incidents are displayed in a sep-
arate Incident List View. To return to the main view, click the < button. From this View, you can initiate the same
actions as described in Incidents List View.
List View
This tabular view enables the user to search incidents and take actions.
l Viewing Incidents
l Acting on Incidents
Viewing Incidents
To see this view, click INCIDENTS in the FortiSIEM header. By default, the List by Time view opens. The
INCIDENTS view also allows you to filter data by device and by incident.
You can set INCIDENTS as the default view by selecting User Profile > UI Settings then choosing Incidents from
the Home drop-down list. You can filter the INCIDENTS view further by choosing List – by Time, List – by Device,
or List – by Incident from the Incident Home drop down list.
An incident's status can be one of the following:
l Active: An ongoing incident.
l Manually Cleared: Cleared manually by a user - the incident is no longer active.
l Auto Cleared: Automatically cleared by the system when the rule clearing condition is met. Rule clearance logic
can be set in the rule definition.
l System Cleared: Cleared by the system. All non-security related incidents are cleared from the system every
night at midnight local time, and will show a status of System Cleared.
l Externally Cleared: Cleared in the external ticketing system.
When an Incident Status is Active, Incident Resolution is Open. When an Incident is Cleared, then the user can set
the Incident Resolution to be True Positive or False Positive. If you are changing the Incident Resolution to be
True Positive or False Positive, then you must Clear the Incident.
The following sections describe the three views that are available through the INCIDENTS view:
l List by Time View
l List by Device View
l List by Incident View
To see the incident details, click the incident. A bottom panel appears that shows more details about the incident:
l Details - includes the full list of incident attributes that are not shown in the top pane.
Column Description
Biz Service Impacted biz services to which either the incident source or target belongs.
Cleared Reason For manually cleared incidents, this displays the reason the incident was cleared.
Number of times this incident has occurred with the same incident source and target cri-
Count
teria.
Event type associated with this incident. All incidents with the same name have the same
Event Type
Incident Type.
External Cleared Time when the incident was resolved in an external ticketing system.
Time
External Resolve
Resolution time in an external ticketing system.
Time
External Ticket ID ID of a ticket in an external ticketing system such as ServiceNow, ConnectWise, etc.
External Ticket
State of a ticket in an external ticketing system.
State
External Ticket Type of the external ticketing system (ServiceNow, ConnectWise, Salesforce, Remedy).
Type
Column Description
First Occurred The first time that the incident was triggered.
Name of the rule that triggered the incident. Use the drop-down list near the Incident if
Incident
you must add this incident to filter.
Last Occurred The last time when the incident was triggered.
Notification Recip-
User who was notified about the incident.
ients
Reporting Device Status of the device: Approved or Pending. You must approve devices for the incidents to
Status trigger, but they will still be monitored.
Resolution itive)
l True Positive, or
l False Positive
Column Description
Severity Incident Severity is an integer in the range 0-10 (0-4 is set as Low, 5-8 as Medium, and 9-
10 as High).
Tag Name of the tag involved with the rule that triggered the incident.
l Events - this displays the set of events that triggered the incident. If an incident involves multiple sub-patterns,
select the sub-pattern to see the events belonging to that sub-pattern. For Raw Event Log column, click Show
Details from the drop-down to see the parsed fields for that event.
l Rule - this displays the Definition of Rule that Triggered the Incident and the Triggered Event Attributes.
Acting on Incidents
The Actions menu provides a list of actions that can be taken on incidents. To see a Location View of the incidents,
select Locations from the Actions menu. FortiSIEM has a built in database of locations of public IP addresses. Priv-
ate IP address locations can be defined in ADMIN > Settings > Discovery > Location.
To change the incident attribute display columns in the List View, select Change Display Columns from the Actions
menu, select the desired attributes and click Close.
You can perform the following operations using the Actions menu:
l Changing the Severity of an Incident
l Searching Incidents
l Searching for MITRE ATT&CK Incidents
l Clearing One or More Incidents
l Clearing All Incidents from the Incident View
l Disabling One or More Rules
l Adding or Editing Comments for One or More Incidents
l Exporting One or More Incidents into a PDF, RTF, or CSV File
l Fine Tuning a Rule Triggering an Incident
l Creating an Exception for the Rule
l Creating Event Dropping Rules
l Creating a Ticket
l Emailing Incidents
l Creating a Remediation Action
l Show Ticket History
Searching Incidents
l If you click Absolute enter a time range. If you select Always Prior, enter a time period prior to the current
time.
1. Click the Save icon ( )which appears above the list of incident attributes, and to the right of Search.
2. In the Save Search Filter under by Time as dialog box, enter a name for the filter or accept the default. The
default will be a time stamp value such as Search Filters - 12/17/2019 17:04:59.
The filter will appear in the Search ( ) drop-down list, for example:
l When saving a filter based on the List by Time View, it displays in the Search drop-down list.
l When saving a filter based on the List by Device View, it displays in the Search drop-down list.
l When saving a filter based on the List by Incident View, it displays in the Search drop-down list.
For more information on MITRE ATT&CK views and MITRE ATT&CK categories, see MITRE ATT&CK View.
1. Search for specific incidents and move them into the right pane.
2. Select the first incident.
3. Press and hold the Shift key and select the last incident – all incidents between the first and the last are high-
lighted.
4. Select Clear Incident from the Actions menu.
5. Select whether the Resolution is True Positive or False Positive.
6. Enter a Reason for clearing.
7. Click OK.
1. Search for specific incidents and move them into the right pane.
2. Select Clear All Incidents in View from the Actions menu.
3. Select whether the Resolution is True Positive or False Positive.
4. Enter a Reason for clearing.
5. Click OK.
1. Search for specific incidents and move them into the right pane.
2. Select the first incident.
3. Press and hold the Shift key and select the last incident – all incidents between the first and the last are high-
lighted.
4. Select Disable Rule from the Actions menu.
5. For Service Provider installations, select the Organizations for which to disable the rule.
6. Click OK.
1. Search for specific incidents and move them into the right pane.
2. Select the first incident.
3. Press and hold the Shift key and select the last incident – all incidents between the first and the last are high-
lighted.
4. Select Edit Comment from the Actions menu.
5. Enter or edit the comment in the edit box.
6. Click OK.
1. Search for specific incidents and move them into the right pane.
2. Select the first incident.
3. Press and hold the Shift key and select the last incident – all incidents between the first and the last are high-
lighted.
4. Select Export from the Actions menu.
5. Enter or edit the comment in the edit box.
6. Select the Output Format and Maximum Rows.
7. Click Generate.
A file will be downloaded in your browser.
1. Select an incident.
2. Select Edit Rule from the Actions menu.
3. In the Edit Rule dialog box, make the required changes.
4. Click OK.
1. Select an incident.
2. Select Edit Rule Exception from the Actions menu.
3. In the Edit Rule Exception dialog box, make the required changes:
a. For Service provider deployments, select the Organizations for which the exception will apply.
b. Select the exception criteria:
i. For incident attribute based exceptions, select the incident attributes for which rule will not trig-
ger.
ii. For time based exceptions, select the time for which rule will not trigger.
iii. Select AND/OR between the two criteria.
iv. Add Notes.
c. Click Save.
Event Dropping Rules may need to be created to prevent an incident from triggering. To create such a rule:
1. Select an incident.
2. Select Event Dropping Rule from the Actions menu.
3. In the Event Dropping Rule dialog box, enter the event dropping criteria:
a. Organization - For Service provider deployments, select the organizations for which the exception will
apply.
b. Reporting Device - Select the device whose reported events will be dropped.
c. Event Type - Select the matching event types.
d. Source IP - Select the matching source IP address in the event.
e. Destination IP - Select the matching destination IP address in the event.
f. Action - Choose to drop the events completely or store them in the event database. If you store
events, you can select the following actions:
l Do not trigger rules
l Drop attributes (Click the edit icon to open the selection window and select the attributes to drop)
g. Regex filter - Select a regex filter to match the raw event log.
h. Description - Add a description for the drop rule.
4. Click Save.
The Rule will be appear in ADMIN > Settings > Event Handling > Dropping.
Creating a Ticket
Emailing Incidents
Incidents can be emailed to one or more recipients. Make sure that Email settings are defined in ADMIN > Settings >
System > Email. Note that email notification from the Incident page is somewhat ad hoc and must be manually setup
by the user after the incident has triggered. To define an automatic notification, create an Incident Notification Policy in
ADMIN > Settings > Notification Policy. To email one or more incidents on demand:
1. Search for specific incidents and move them into the right pane.
2. Select the first incident.
3. Press and hold Shift key and select the last incident – all incidents between the first and the last are high-
lighted.
4. Select Notify via Email from the Actions menu and enter the following information:
a. Send To – a list of receiver email addresses, separated by commas.
b. Email template – Choose an email template. You can use the default email template, or create your
own in ADMIN > Settings > System > Email > Incident Email Template.
Incidents can be mitigated by deploying a mitigation script, for example, blocking an IP in a firewall or disabling a user
in Active Directory. Note that this type of incident mitigation from the Incident page is somewhat ad hoc and must be
manually setup by the user after the incident has triggered.
To define an automatic remediation, create an Incident Notification Policy in ADMIN > Settings > General > Noti-
fication Policy. Click New, and in the Notification Policy dialog box, select Run Remediation/Script in the Action
section. To create a remediation action:
1. Select an incident.
2. Select Remediate Incident from the Actions menu.
3. Choose the Enforce On devices – the script will run on those devices. Make sure that FortiSIEM has working
credentials for these devices defined in ADMIN > Setup > Credentials.
4. Choose the Remediation script from the drop-down menu.
5. Choose the node on which the remediation will Run On from the drop-down list.
6. Click Run. If the user does not have permission to run remediation, a Create New Request window will appear.
Take the following actions:
7. In the Approver drop-down list, select an approver. Fortinet recommends selecting all approvers to better
ensure a response.
8. In the Type drop-down list, ensure Remediation Request is selected.
9. In the Justification field, enter an explanation why you want to run a remediation.
10. Click Submit. An email with the your request will be sent to all selected approvers. Approvers will receive a
pending task notification in the FortiSIEM console, where they can resolve the request.
11. If you receive an email with an approval, repeat steps 1 through 6 before the expiration. If you received a rejec-
tion or received approval that has expired, repeat steps 1-10 if you wish to try again.
1. Select an incident.
2. Select Show Ticket History from the Actions menu.
3. The Ticket History dialog box opens and displays the following information:
Field Description
Detail:
Field Description
Action History:
Incident Name The name of the rule that triggered the incident.
Risk View
Risk view displays the Devices and Users ordered by Risk. Risk is calculated based on the triggering incidents using a
proprietary algorithm that incorporates asset criticality, incident severity, frequency of incident occurrence, and vul-
nerabilities found. Risk is only computed for devices in CMDB, private IP addresses, and users found in logs or dis-
covered via LDAP.
Go to INCIDENTS > Risk to see this view. Risk can set as the default view by selecting User Profile > UI Settings
then choosing Incidents from the Home drop-down list and Risk from the Incident Home drop-down list.
Devices and Users are categorized by Risk as follows:
l Devices - number of devices with Risk
l Users - number of users with Risk
l High Risk - number of devices and users with high risk
l Medium Risk - number of devices and users with medium risk
l Low Risk - number of devices and users with low risk
To see only the above categories of devices and users in the Risk View, click any of the five categories above.
The Risk View displays the following:
l Device or User name
l Current Risk - Current value, up or down versus the same period
To drill down, click one row and the incidents that led to this risk are shown in a time line format. You can select an
incident, and select any action from the Actions menu. The actions are similar to those described for the List View.
Explorer View
The Incident Explorer view allows you to correlate Actors (IP, Host, User) across multiple incidents, without creating
multiple reports in separate tabs. Incident trends, Actor and Incident detail are displayed on the same page. You can
choose an actor and see all the incidents that actor is part of. You can then choose a time range and narrow down the
incidents. Time ranges, Actors, and Incidents can be chosen in any order. Each time a selection is made, the rest of
the dashboard updates to reflect that selection.
To open the Incident Explorer view, click INCIDENTS, then click the Explorer icon ( ). Explorer can set as
the default view by selecting User Profile > UI Settings then choosing Incidents from the Home drop-down list and
Explorer from the Incident Home drop-down list.
The Incident Explorer view is divided into three layers:
l The top layer displays the Incident Trend graph. The graph displays the incident counts over time, organized by
severity, then by count.
Each bar in the graph represents the number of incidents at a given time. The colors used in the bars reflects the
Incident Severity. Red colored boxes (High Severity) appear first then Yellow (Medium Severity), and finally Green
(Low Severity). The numbers in the bars reflect the number of unique incidents that triggered in the chosen time
window.
l The middle layer displays panels for Incidents, Hosts, IPs, and Users. You can filter the items in the panels by Cat-
egory, Status, and Time Range. See “Filtering in the Incident Explorer” for more information.
l The bottom layer displays the Incidents Table with these headings: Severity, Last Occurred, Incident, Reporting,
Source, Target, Detail, Incident Status, and Resolution. Click an incident row to get more detail.
Drill down is available from the Reporting, Target, Detail, Resolution columns.
The following tables describe the drill down options available for each column.
Reporting Options
Option Description
Device
Availability, Performance, and Security health reports for the device.
Health
Option Description
Switches to List view. Open the drop-down list next to the Reporting column for the desired incident
Add to Fil-
and select Add to Filter. Add to Filter modifies the search on the current tab by including this con-
ter
straint.
Target Options
Option Description
External Looks up external threat intelligence websites about likely malicious Indicators of Compromise
Lookup (IOCs).
Device Availability, Performance, and Security health reports for the device.
Health
Related Incid-
Switches to List view and displays related incidents.
ents
Related Real Switches to the ANALYTICS tab and displays related real time events.
Time Events
Related His-
torical Events Switches to the ANALYTICS tab and displays related historical events.
Add to Filter Switches to List view. Open the drop-down list next to the Reporting column for the desired incid-
ent and select Add to Filter. Add to Filter modifies the search on the current tab by including this
constraint.
Add to Applic- Opens the IP Application Group Mapping Definition dialog box where you can choose the group
ation Group where you want to add the incident.
Detail Options
Displays other incident details, such as Counts, Average CPU utilization, file name, and so on.
Resolution Options
Option Description
Set Resolution to Sets the resolution status to Open (not defined or not known whether the incident is True Pos-
Open itive or False Positive).
Set Resolution to
Sets the incident resolution status to True Positive.
True Positive
Set Resolution to Sets the incident resolution status to False Positive. If you are changing the Resolution to
False Positive False Positive, you must clear the incident at the same time.
To leave the Incident Explorer View, click the List icon or select Actions > Show in Incident List View, if an incident
is already selected.
In order for any Incident to show up on this list, the rule must be configured to be one of the 4 unique categories
above (Security, Performance, Availability, Change). Incidents that trigger outside of the above 4 Categories will
not show up (eg. Other).
l The Status drop-down list allows you to filter on Active and/or Cleared incidents.
l The Time Range dialog box allows you to choose a relative or absolute time range. For Relative, enter a numer-
ical value and then either Minutes, Hours, or Days from the drop-down list. For Absolute, use the calendar dialog
to specify From and To dates.
The following sections describe the three views that are available through the MITRE ATT&CK view:
The following table briefly describes the attack (tactic) categories. See https://attack.mitre.org/matrices/enterprise/ for
more detailed information.
Reconnaissance The adversary is trying to gather information they can use to plan future oper-
ations.
The adversary is trying to establish resources they can use to support oper-
Resource Development
ations.
Credential Access The adversary is trying to steal account names and passwords.
Left clicking on any technique will bring up a small menu, allowing you to select Detail or Show Rules.
Clicking on Detail will provide you with details about the major techniques and sub-techniques.
Clicking on Show Rules will display all the rules associated with the specific technique as provided in the following
table:
Note: Clicking a tactic displays the rules information for all related techniques.
Note 2: Click the Columns drop-down list to select which headings you want to display.
Heading Description
The name of the rule is listed. You can left click on a rule to bring up the following selectable
options:
Name l Show in Resources > Rule - view/edit the selected rule on the Rules page.
l Rule Summary - view the rule summary description.
The involved technique is listed here. You can click on the technique link to get detailed
Techniques
information from the attack.mitre.org site.
l Show All - all techniques are highlighted. The "Show All" text appears when Show Covered and Show Not Covered
are both selected.
l Show Covered - only techniques covered by FortiSIEM are displayed.
l Show Not Covered - only techniques not covered by FortiSIEM are displayed.
Left clicking on any technique will bring up a small menu, allowing you to select Detail or Show Incidents.
Clicking on Detail will provide you with details about the major technique and sub-techniques.
Clicking on Show Incidents will display all the incidents associated with the specific technique. It also provides the fol-
lowing Incident information:
Note: Click the Columns drop-down list to select which headings you want to display.
Heading Description
Last Occurred The date and time when the incident last occurred is listed.
The event name of the incident is displayed. Clicking on it will bring up a drop-down list with
Event Name
the following options:
Heading Description
l Show in Incident List View - displays the incident in Incident List View.
l Rule Summary - displays the Rule Pattern Definitions that triggered the incident.
l Triggering Events - displays the Event Details that triggered the event, including
triggered event attributes.
The involved technique is listed here. You can click on the technique link to get detailed
Technique
information from the attack.mitre.org site.
Source information from the triggered incident is listed. For example, the TCP/UDP Port
Source
involved with a protocol tunneling technique is provided.
Target The object targeted in the incident is listed. For example, the target user in a steal or forge
kerberos tickets incident is listed.
Additional information about the incident is provided here. For example, the command
Detail
involved, service involved, or registry key is listed, if relevant.
l Click the number in the middle of the circle. All of the incidents associated with the selected device and category
are displayed.
l Click an incident and all of the actions in the Action drop-down list that you can perform on the event become avail-
able. See Acting on Incidents.
For more information on the column headings that appear in the lower pane of the Incident Explorer View, see Viewing
Incidents.
UEBA View
The UEBA view monitors AI alerts obtained from FortiInsight. To configure what data appears in the UEBA view, see
UEBA Settings. The UEBA view is divided into these layers:
l Incident Trend Chart
l Attribute List
l Related Incidents
l Triggering Events
The Actions drop-down list displays the operations you can perform on selected incidents. For descriptions of the
operations, see Acting on Incidents.
Incidents in the UEBA View can be filtered by activity status or time range. See Filtering in the UEBA View.
Attribute List
The Attribute List table provides the following information about the AI alerts received from FortiInsight:
Attribute Description
Attribute Description
Related Incidents
The Related Incidents table provides additional information on the incidents selected in the Attribute List table.
Attribute Description
Last Occurred The date and time when the incident was last
detected.
Triggering Events
The Triggering Events layer is typically hidden. Click an incident in the Related Incidents table to display its trig-
gering events.
These display options are available above the table:
Attribute Description
Event Receive The date and time when the event was
Time received.
Indicators of Compromise (IOC) can be transmitted via external IPs, domain names, URLs, and file hashes.
When a security incident is triggered due to a potentially malicious IOC, you may want to consult an external threat
intelligence website to get more information about the IOC. If the website can confidently say that the IOC is malware,
then you can take corrective action, such as blocking the IOC. On the other hand, if the website says that the IOC is
safe, then you can mark the IOC as a false positive.
There are two types of external lookups:
l Some websites accept an IOC as a parameter in the URL and the website will respond with information about the
IOC. In many of these cases, the IOC information in the web page cannot be parsed programmatically, and user
must manually determine whether the IOC is malware. For example, see https://www.talosin-
telligence.com/reputation_center/lookup?search=8.8.8.8.
l Other websites, such as VirusTotal, RiskIQ, and FortiGuard have APIs. FortiSIEM can analyze the data from these
websites and present the results in an easily understandable format for user. Note: VirusTotal supports domain,
URL, and file hash lookups. RiskIQ supports IP and domain lookups. FortiGuard supports IP, domain, URL and file
hash lookups.
FortiSIEM supports all three types of lookups. External Website lookups can be performed only from the Incident List
View.
Prerequisites
Complete these steps before performing external lookups:
1. External lookups that accept an IOC in the URL must be defined in ADMIN > Settings > System > Lookup.
See Lookup Settings for more information.
2. VirusTotal, RiskIQ, and FortiGuard integrations must be defined in ADMIN > Settings > General > External
Integration. This involves setting credentials.
See VirusTotal Integration, RiskIQ Integration, and FortiGuard Integration for more information.
have the option to Create a False Positive in ThreatConnect. Clicking this option will respond
with a message describing whether the creation was successful. This option assumes that you
have created a malware configuration for ThreatConnect. You can configure IPs, domains, hash, or
URLs for ThreatConnect. See Working with ThreatConnect IOCs.
c. Create Rule Exception: If it is a false positive, then you can create a rule exception. Click the edit icon
to create an exception to the rule. For more information on using the Edit Rule Exception dialog box,
see Creating an exception for the rule.
d. Set Incident Severity: You can change the incident severity. Open the drop-down list and choose
Change to LOW, Change to MEDIUM, or Change to HIGH.
e. Remediate Incident: You can remediate the Incident, e.g. block the malware domain. Click the edit
icon to remediate the incident. For more information on using the Run Remediation feature, see Creat-
ing a Remediation action.
f. Run External Integration: You can create a ticket in an external ticketing system. Click the edit icon to
choose an integration policy from the drop-down list. Click OK.
9. Click Close.
Network Intrusion Prevention Sensors (IPS) trigger alerts based on network traffic. When an IPS sees traffic matching
an attack signature, it generates an alert. Some of these attacks correspond to host vulnerabilities and have an asso-
ciated CVE number. Most organizations run vulnerability scanning tools to scan their servers for vulnerabilities. If
FortiSIEM is configured to collect this host vulnerability data, it can combine the IPS signature to CVE mapping, and
Host to CVE mapping to detect if an IPS Alert is false positive.
l Requirements
l False Positive Detection Logic
l Running an IPS False Positive Test
l Consequences of Running the IPS False Positive Test
Requirements
l Currently, FortiSIEM applies this logic on Incidents but not events. All important IPS events trigger some rule in
FortiSIEM.
l FortiSIEM IPS rules must be written with a Signature Id and Event Type in the group by conditions. All built-in
rules have been enhanced with this requirement starting with release 5.3.0.
l The primary source of IPS Signature to CVE mapping is FortiSIEM CMDB. These mappings are part of the
FortiSIEM knowledge base and upgraded with every release. For FortiGate IPS signatures, FortiSIEM can also
pull this information from FortiGuard Services via an API. The FortiGuard IOC license must be enabled in
FortiSIEM.
l The source of Host to CVE mapping is Vulnerability scanners. FortiSIEM currently supports Qualys, Rapid7, Nes-
sus and Tenable scanners. Make sure FortiSIEM is configured to collect this data at least once a day.
After the incident triggers, the associated CVEs for the Incident Event Type are first looked up. The primary source is
the CMDB. If the CMDB does not have this information, then external websites are looked up. In the current release,
only Fortinet IPS signatures are looked up using Signature Id in the FortiGuard database.
If associated CVEs are found, then another CMDB lookup is performed to see if the Host (in Incident Source or Tar-
get) is vulnerable to the CVEs. CMDB collects Host Vulnerability information from vulnerability scan data.
There are four detection outcomes:
l Vulnerable - this can result if ALL the following are true:
a. IP is internal and,
b. Event type to CVE mapping is found and,
c. Host has been scanned for vulnerabilities in the last 2 weeks and,
d. At least one CVE in (b) is found in the list of current vulnerabilities in (c).
l Not Vulnerable - this can result if ALL the following are true:
a. IP is internal and,
b. Event type to CVE mapping is found and,
c. Host has been scanned for vulnerabilities in the last 2 weeks and,
d. None of the CVEs in (b) are found in the list of current vulnerabilities in (c).
l Insufficient Information - this can result any of these cases:
a. Even type to CVE mapping is not found or,
b. Host has not been scanned in the last 2 weeks.
l Not Needed - this case is true if the IP is external.
The IPS False positive test can be automated so that it runs automatically when the Incident triggers for the first time.
To do this, create an Incident Notification Policy. The IPS Attack CVE Check will run as an Incident Action.
An Incident may not trigger for one or more of the following reasons:
1. Rule filter conditions may not be satisfied, or events may be present. In this case, Fortinet recommends the fol-
lowing:
l Test the rule with real events. If the rule does not trigger, then there may be some event attributes that are
not parsed, or the rule is not written correctly.
l View the rule and from the Filter condition page, and run the Rule as a Query for a previous time-period to
see if there are matches.
2. The reporting device may be in maintenance mode, in which case, its events are ignored.
3. The Rule exception condition may be satisfied – this is expected behavior.
4. Events from Collector are delayed more than dropping_time_threshold when received by Worker. In this
case, the log PH_DROP_EVENT_FROM_SHARED_BUFFER will be generated by the Rule Worker.
5. Rule Worker failed to upload packed aggregated result to Rule Master. This could be a networking issue. In
this case, the log PH_RULEMOD_SUMMARY_UPLOAD_FAILED will be generated by the Rule Worker.
6. Rule Worker failed to pack summary events, before sending to Rule Master because of send buffer limit
exceeded. This can happen if a rule is loosely written and the group by table size is very large at Rule Worker
level. In this case, the log PH_REPORT_PACK_FAILED will be generated by the Rule Worker.
7. Rule Master failed to upload Incident to App Server. In this case, the log PH_UTIL_NOTIFICATION_
UPLOAD_FAILURE will be generated by the Rule Master.
8. Incident dropped because of too many incidents from the same rule, or too many incidents in general. In this
case, the log PH_DROP_INCIDENT will be generated by the Rule Master. This is done to protect the system
from getting flooded with Incidents. There are 6 parameters (in phoenix_config.txt) to control the incident rate:
FortiSIEM search functionality includes real time and historical search of information that has been collected from your
IT infrastructure. With real time search, you can see events as they happen, while historical search is based on inform-
ation stored in the event database. Both types of search include simple keyword searching, and structured searches
that let you search based on specific event attributes and values, and then group the results by attributes.
Note: If Data Obfuscation is turned on for a FortiSIEM user:
l The value for that object marked for data obfuscation is obfuscated. For example, if IP is marked for data obfus-
cation, the IP address is obfuscated. In earlier versions of FortiSIEM, raw events were completely obfuscated.
l CSV Export feature is disabled.
The following sections provide information about the operations under ANALYTICS tab:
l Running a Built-in Search
l Understanding Search Components
l Viewing Historical Search Results
l Viewing Real-time Search Result
l Using Nested Queries
l Searches Using Pre-computed Results
l Saving Search Results
l Viewing Saved Search Results
l Exporting Search Results
l Emailing Search Results
l Creating a Rule from Search
1. Go to ANALYTICS tab.
2. From the folder drop-down list on the left, select Shortcuts or the Reports folder.
l Shortcuts folder contains a few quick reports.
example, Shortcuts > Raw Messages). Note that every time you re-run this query, the displayed results will
change.
l Historical mode – for previous time periods. Any query can be run in this mode. Note that the displayed search res-
ults will not change if you re-run this query for Absolute time range.
l Specifying Aggregations and Display Fields – this specifies how the data will be grouped and which fields will be
displayed in the search result.
l Specifying Organizations for a Service Provider Deployment – only events belonging to this organization will be
included in the Search.
l Run Multiple Searches Simultaneously – multiple real-time or historical searches can run simultaneously.
l Examples of Operators in Expressions
The ANALYTICS view also provides a list of five time range buttons ( ) which appear to the left
of the paginator. They allow you to filter data by the last 15 minutes, 1 hour, 1 day, 7 days, or 30 days.
1. From the Edit Filters and Time Range edit box, specify the Trend Interval:
a. Auto - (Default) Query is handled normally.
b. Hourly - Select this configuration for proper chart display if you want to check the data hourly.
c. Daily - Select this configuration for proper chart display if you want to check the data daily.
d. Weekly - Select this configuration for proper chart display if you want to check the data weekly.
1. Click the Change Display Fields drop-down list icon ( ) to create a display column.
2. Under the Group By and Display Fields section, enter an attribute:
a. For a non-aggregated search, choose the event attribute from the drop-down list. If the attribute is not
on the list, then enter a part of the attribute name to see some matches (for example, entering “IP” will
display “Source IP” which is not on the list).
3. Optionally, select the Order of display as ASC (ascending) or DESC (descending) if the search result needs to
show the results ordered by this column. Choose this order carefully. If multiple columns have Order specified,
then the system will order the column that appears first and then go on to the other columns in order of appear-
ance in the Display Column page.
4. If you want a column heading to display differently than the attribute, choose the desired name as Display As.
5. The search results are displayed in the order of the columns. You can alter the position of a column by clicking
the Move up and down arrows.
If you want to specify an aggregated search (with Group By fields), then complete these steps:
1. Click the Change Display Fields drop-down list icon ( ) to create a display column.
2. Under the Group By and Display Fields section, enter an attribute:
a. For aggregated search, enter an event attribute or create an expression using the Expression Builder,
described below.
3. Optionally, select the Order of display as ASC (ascending) or DESC (descending) if the search result needs to
show the results ordered by this column. Choose this order carefully. If multiple columns have Order specified,
then the system will order the column that appears first and then go on to the other columns in order of appear-
ance in the Display Column page.
4. If you want a column heading to display differently than the attribute, choose the desired name as Display As.
5. The search results are displayed in the order of the columns. You can alter the position of a column by clicking
the Move up and down arrows.
1. Click Save in the Group By and Display Fields dialog box to save your configuration as a template.
2. Choose a Scope from the drop-down list in the Save Group By and Display Fields as: dialog box and enter
a name for the template.
1. Click Load in the Group By and Display Fields dialog box if you want to see a list of display fields that can be
added to the template. The list can contain system- and user-defined display fields.
2. Click an item in the list, then click Load. The Group By and Display Fields dialog box closes and you will see
the selected item in the list of Attributes in the Group By and Display Fields section.
AVG, MAX, MIN, SUM, Pctile95, Numerical attribute AVG (CPU Util), MAX (CPU Util), MIN (CPU
PctChange Util)
DeviceToCMDBAttr (Reporting IP :
DeviceToCMDBAttr Host name/IP
County/Region )
Examples of Expressions
Operators with arguments can be combined with +, -, / and * with parenthesis to form an expression. For a good
example, see the built in report “Top Devices By System Uptime Pct” which computes the System Uptime percentage
using the expression
100 – (100*SUM(System Down Time)/SUM(Polling Interval)).
Both the bar and line charts show trends in a stacked manner, one for each row in the table. To see the trend for a spe-
cific row, disable all the other entries by deselecting the check box in the first column. To view the trend for a set of
entries, you can select the check box corresponding to those entries.
For continuous values, you can toggle between a stacked view and a non-stacked view:
l To show the stacked view, click .
l To show the line chart view, click .
l Select one column for Chart for and another column for Lower Chart to see the two charts at the same time – one
on +ve Y-axis and one on –ve Y-axis. This generally makes sense when the values are of the same order. For
example, AVG(CPU Utilization) and AVG(Memory Utilization) or AVG(Sent Bytes) and AVG(Recv Bytes).
You can visualize the results in other charts by clicking the drop-down. See FortiSIEM Charts and Views for
descriptions of the available charts.
Events in FortiSIEM have an Event Type (like an unique ID) and an Event Name, a short description. When you
choose to display Event Type, the Event Name is automatically displayed but Event type is hidden to make room to
show other fields. To see the Event Types, click the Show Event Type check-box.
Raw events often take many lines to display in a search result. By default, Raw events are truncated and displayed in
one line so that user can see many search results in one page. To see the full raw event, click the Wrap Raw Event
check-box.
Real-time Search results display matching events that occur from the current time onwards.
The search results are displayed in two panes:
l Bottom pane displays the results in tabular form following the definitions in the Display Fields.
Note that aggregations are not permitted in real-time search. Since results are coming in continuously, the results
The following actions are possible while viewing Real-time Search results:
l To pause the search, click Pause.
l To restart the real-time search from the point you left off, click Resume after Pause.
l To fast forward to the current time, click Fast forward.
l To clear the result table, click Clear.
l To restart the search all over again from the current time, click Stop and then Run.
In real-time search, only Event Type (like a unique ID) is displayed. Enable Show Event Type while running a real-
time query. Note that Event Names are not displayed.
Raw events often take many lines to display in a search result. By default, Raw events are truncated and shown in one
line so that user can see many search results in one page. To see the full raw event, click the Wrap Raw Event
check-box.
l When you run the Real-time search, a pop-up will appear asking if you want to stop the Real-time search before
proceeding to the Historical Search.
Nested Query functionality enables one query to refer to results from another query. This section describes how to set
up and use nested queries for the three supported scenarios:
l Outer CMDB Query, Inner Event Query
l Outer Event Query, Inner Event Query
l Outer Event Query, Inner CMDB Query
Step 2: Construct the Outer CMDB Query by Referring to the Query in Step 1
e. Open the Attribute drop-down list and choose the attribute that matches the attribute in Step 2, Sub-
step 5a.
f. Click OK.
6. Choose the Nested Time Range: the inner report will be run for this time range.
7. Click the Change Display Fields icon and choose the attributes you want to display.
8. Click Apply & Run.
9. To save the report, click Actions > Save as Report. Enter the name of the nested query.
If you want to run the same search again and again, or you want to run certain pre-defined searches over a large time
window, then the search time can be reduced by setting up pre-computation. See Known Issues in the latest What's
New for any limitations with pre-computed results.
It is important that search filters, group by, and display parameters and display filters do not change. Other-
wise, the pre-computation results will be invalid.
To use this feature, you must complete these steps:
The following sections provide more information about the pre-computation feature and how to use it.
l Usage Notes
l Setting Up Pre-computation
l Impact of Organization and Roles
l Viewing Pre-computed Results
l Running a GUI Search on Pre-computed Results
l Scheduling a Report Based on Pre-computed Results
l Running a Report Bundle Based on Pre-computed Results
l Scheduling a Report Bundle Based on Pre-computed Results
Usage Notes
1. Currently, pre-computation only works with
l FortiSIEM EventDB
l Elasticsearch
1. Pre-computation is currently supported for Aggregated queries with COUNT, SUM, AVG, MAX, and MIN oper-
ators. Raw event queries and nested searches are not supported.
2. If you run a query with pre-computed results, but the search interval is wider than the available pre-computed
results, then the results are returned for the pre-computed time interval only. Currently, FortiSIEM does not run
a separate search for the missing time window and stitch together the two search results.
3. Pre-computation begins at hourly/daily boundaries. For example, if you set up hourly pre-computation at 2:34
PM, then the first pre-computation will begin at 3:10 PM for the time interval 2:00 PM – 3:00 PM.
4. FortiSIEM does not semantically compare search filters, group by, and display parameters and display filters
for two searches. Thus, pre-computed results cannot be used for a cloned search.
5. Pre-computation is set up at a report level and not a report bundle level.
6. For the Service provider case, you must effectively have the same role in all Organizations to be able to use
pre-computed results. Examples are
a. Full Admin for all Organizations.
b. Help desk user for one Organization and Read only user for another Organization. Note that both of
these roles have empty data conditions and hence are effectively the same role from a pre-com-
putation perspective.
Setting Up Pre-computation
Only a Super Global user having the Full Admin role can set up pre-computation. This is because only such a user can
see all the roles. A Full Admin user for a specific organization cannot set up pre-computation. Follow these steps to set
up pre-computation.
The system will begin pre-computation on the hour or day boundary. For example, if you set up hourly pre-com-
putation at 2:34 PM, then the first pre-computation will begin at 3:10 PM for the time interval 2:00 PM – 3:00 PM. As
another example, if you set up daily pre-computation at 10:00 PM, then the first pre-computation will begin slightly
after 12:00 AM midnight for the previous day.
Pre-computation
Definition
Organization Role Who can use pre-computed results Who cannot use pre-computed results
All Orgs Com- Full Admin Super-global users that are Full Admin Other users, for example, Super Global
bined for all Organizations or have roles Network Admins for Org1 and Full
without data conditions in some organ- Admin for Org2
izations.
All Orgs Com- Network Super-global users that have the Net-
bined Admin work Admin role in All Organizations.
All Orgs Com- Network Super-global users that are both Network If the user is a Network Admin for Org1
bined Admin, Admin and Server Admin in All Organ- and Server Admin for Org2.
Server izations.
Admin
Org1 Full Admin Full Admin or users with no data con- Other users, for example, Org1 Network
straints belonging to Org1 can use pre- Admins cannot use these pre-computed
compute results. results.
Org1 Network Users belonging to BOTH Network If the user belongs to only one role, for
Admin, Admin and Server Admin and belonging example Network Admin only, then the
Server to Org1. user cannot use pre-computed results.
Admin
1. Select a Report.
2. Click Pre-compute > Results.
3. Click Refresh to get the latest results.
a. Time Range From and Time Range To represent the Query Time Window.
b. Organization and Roles relate to the query conditions.
c. Finish Time specifies when the pre-computed query finished.
a. Change the time range by clicking the Query Filter search bar and selecting a different Time range.
b. Load another pre-computed (Organization, Role) combination for the same query by going to the
Query Filter search bar and selecting a different (Organization, Role) from the Pre-compute Settings
menu.
All of the other possible choices, such as Query Filters, Organization Drip down, and Query Group By and Dis-
play Fields, are grayed out and unavailable.
4. If you want to stay in this page and change other conditions, click Query Filter search bar and deselect Pre-
compute Settings.
7. Note that because you are running a pre-computed query, you are allowed to perform only these two oper-
ations:.
a. Change the time range by clicking the Query Filter search bar and selecting a different Time range.
b. Load another pre-computed (Organization, Role) combination for the same query by going to the
Query Filter search bar and selecting a different (Organization, Role) from the Pre-compute Settings
menu.
All of the other possible choices, such as Query Filters, Organization Drip down, and Query Group By and Dis-
play Fields, are grayed out and unavailable.
8. If you want to stay in this page and change other conditions, click the Query Filter search bar and deselect
Pre-compute Settings.
The system will run the report based on a schedule. If pre-compute settings are specified then the report results will be
based on pre-computed data.
Sometimes you must save a search and/or the search results for later use. With the search result displayed in
ANALYTICS, complete these steps:
With the search results displayed under ANALYTICS, complete these steps to export:
You must first configure email settings under ADMIN > Settings > System > Email. With the search result displayed
in ANALYTICS tab, complete these steps to email search results:
With the search result displayed in Analytics, follow the steps below to create a rule:
Event Type The name you enter in the Rule Type field is replicated in the Event Type field.
Enter the Remediation script. Make sure that the Remediation script for your scenario
is defined. Check the existing Remediation scripts under ADMIN > Settings > General
Remediation Note
> Notification Policy, and check the Action column. If your device is not in the list,
add the needed Remediation script.
Condition Click Condition to create the rule conditions. See Defining Rule Conditions.
Severity Select a Severity to associate with the incident triggered by the rule.
Select the Subcategory from the available list based on the selected incident Cat-
Subcategory egory. To add custom subcategories, follow the steps under Setting Rule
Subcategory.
Technqiue Select any techniques from the available Technique list. You can choose to select
zero, one, or multiple techniques. The Tactics row will update itself based on the tech-
niques selected.
Click the edit icon to define the incident (Incident Attributes and Triggered Attributes)
Action that will be generated by this rule. You must have at least one incident defined before
you can save your rule.
Exception Click the edit icon to define any Exceptions for the rule. See Defining Rule Exceptions.
Click the drop-down list icon to view the tag list. If no tags appear, it means no tags
Tag have been created. From the drop-down list, select any tags you wish to associate with
the rule. From Incidents View (by Time, by Device, by Incident), tags are displayed in
Settings Guidelines
Update Status on Select Dashboard to add this report under DASHBOARD tab.
Summary Dash-
board
Select a Notification frequency for how often you want notifications to be sent when an
Notification
incident is triggered by this rule.
Impacts Select the Impacts of the incident triggered by this rule from the drop-down.
Click the edit icon to add the rule you want to add to the watch list.
Watch List Note: The Type that you set for the watch list must match the Incident Attribute Types
for the rule. For example, if your watch list Type is IP, and the Incident Attribute Type
for the rule is string, you will not be able to associate the watch list to the rule.
Clear Click the edit icon to define any Clear conditions for the rule. See Defining Clear Condi-
tions.
1. Click Save.
Your new rule will be saved to the group you selected in an inactive state. Before you activate the rule, you
should test it.
FortiSIEM collects logs and performance metrics and create Incidents by event correlation and other means. This
data can be summarized in Reports. A Dashboard provides a graphical view of these reports. FortiSIEM Dashboards
are organized into a two-level hierarchy: Dashboard folders with each folder containing multiple Dashboards.
You can perform various operations from FortiSIEM Dashboards:
l General Operations
General Operations
1. Click the User Profile icon ( ) in the upper right corner of the UI.
The dashboard folder drop-down list under the DASHBOARD tab will display only the selected dashboard folders.
1. Click the User Profile icon ( ) in the upper right corner of the UI.
1. Go to DASHBOARD tab.
2. Select the dashboard from the folder drop-down list. The dashboards belonging to the folder will display on the
top menu.
3. Click + to the right.
4. Enter a dashboard Name, select a dashboard Type, and add any related Description about this dashboard.
5. Click Save.
l Org users can share only with (the same) Org users.
l If a Global/Super user shares a dashboard with another user, the other user can see only this dashboard in Glob-
al/Super mode.
l If a Local/Super user shares a dashboard with another user, the other user can see only this dashboard in
Local/Super mode.
l If you share with all users in the current Org, then above rules also apply.
dashboard breaks the link with the original dashboard. If the user wants access to the original dashboard, then the
user who created the dashboard must share it again.
l For shared dashboards, run the report once, so that all users see the same data.
l A shared dashboard cannot be hidden from view.
1. Log in to FortiSIEM.
2. Go to Dashboard and select the dashboard folder that has been shared with you from the drop-down list.
3. Any changes you attempt to make, such as add a dashboard, change display settings, or delete the dash-
board, will open the Clone Dashboard Folder dialog box.
4. Enter a new Folder Name in the Clone Dashboard Folder dialog box.
5. Click Save.
You can now make your own changes to the dashboards in the cloned dashboard folder.
Deleting a Dashboard
Note: Built-in dashboards cannot be deleted.
Complete these steps to delete a user-created dashboard:
1. Go to DASHBOARD tab.
2. Select the dashboard folder drop-down list. The dashboards belonging to that folder will display.
3. Select the dashboard to delete from the top menu and click the x.
1. Go to DASHBOARD tab.
2. Select the dashboard folder from the folder drop-down list and click the x.
1. Go to DASHBOARD tab.
2. Click the dashboard folder drop-down list and click Start Slideshow to select the configured slideshow.
The slideshow starts in full screen mode. To exit full screen mode, click the Exit Full Screen (Esc) button.
3. To return to the dashboard page, click button on the top-right.
Widget Dashboard
A Widget Dashboard displays a graphical view of FortiSIEM reports. The reports can be from CMDB data or Event
data. The reports can be Top N type aggregated reports or non-aggregated reports, likely displaying raw messages.
Aggregated reports can be displayed in various forms: gadgets, bar, donuts, tables, line, stacked line, scatter plot,
heat maps, tree maps, and geo-maps.
l Creating a Widget Dashboard
l Data Source
l Populating a Widget Dashboard
l Modifying Widget Dashboard Layout
l Modifying Widget Information Display
l Searching in a Widget Dashboard
l Drill-down into a Widget
l Exporting Widget Dashboard Definition
l Importing Widget Dashboard
l Forcing a Refresh
Data Source
All Event data and CMDB Data can be used to populate a Widget Dashboard.
1. Make sure the report of your choice exists. CMDB Reports can be found in CMDB > CMDB Reports. Event
Reports can be found in RESOURCES > Reports.
l If the report exists, then run the report to make sure that data is accurate and the fields you want to see are
present. Do not choose too many columns in a dashboard view, as may clutter the dashboard.
l If the report does not exist, then create the report and Save it. You can save it in a folder for easy nav-
igation.
2. Go to DASHBOARD tab. Select the dashboard folder from the drop-down list.
3. Click + below the dashboard folder drop-down list. Select the report from the menu and click > to display it on
the dashboard.
The report will run and the results will be displayed in the Widget Dashboard.
h. To change the Trend Interval, select one of the following from the drop-down list:
Auto - (Default) Query is handled normally.
Hourly - Select this configuration for proper chart display if you want to check the data hourly.
Daily - Select this configuration for proper chart display if you want to check the data daily.
Weekly - Select this configuration for proper chart display if you want to check the data weekly.
i. Select Display Settings for the specific Display chosen before. FortiSIEM Charts and Views
describes the required settings for each of the charts.
2. Click Save.
This enables users to better understand the widget results. For example, if a column like AVG(CPU) is high over a
time duration, then drill down shows all the individual CPU values over the time duration so that you can quickly go to
the time when CPU spiked.
Forcing a Refresh
Each widget refreshes according to the Refresh Interval specified within the widget. To update the whole dashboard,
click the refresh icon on top-right.
Summary Dashboard
A Summary Dashboard displays the metrics for many devices in a spreadsheet format. Unlike the widget dashboard
that shows a few metrics in one widget, a Summary Dashboard can simultaneously show many more metrics. This
often allows rapid diagnostics. FortiSIEM calculates and maintains these metrics in an in-memory database inside
Query Master module.
Note: RBAC for Summary dashboard is controlled by hiding by Device Group and not by Data Condition. If you want
to hide a group of devices in Summary dashboard for a role, hide the Device Group in the role. The user should not be
able to choose the devices from the Device Group.
l Creating a Summary Dashboard
l Data Source
l Managing Devices in a Summary Dashboard
l Changing Display Columns
l Changing Refresh Interval
l Forcing a Refresh
l Searching a Summary Dashboard
Data Source
The source of data in a Summary Dashboard is the performance and availability monitoring metrics and incidents. To
see the metrics that can be displayed, click the column icon. The left table shows the event types and the middle table
shows the available metrics for the selected event type. These metrics can be displayed in a Summary Dashboard.
Custom attributes from custom monitoring may also be displayed after they are defined.
In addition to metrics, the following are shown:
l Performance, Availability and Security incident counts
l Performance, Availability and Security Status each derived from respective incident severities
If the devices do not display in the dashboard, check the pre-defined filters for Severity. You may want to set Severity
to All Severities to see the device recently added. When there are a large number of devices being monitored, you
may want to show only the devices with Critical + Warning severity, as they would need attention.
Complete these steps to remove a device from the dashboard:
Forcing a Refresh
To update the whole dashboard click the refresh icon on top-right menu.
You can also filter from the three pre-defined drop-down lists:
l Severity
l Organizations
l Locations
You can set the location property for devices from ADMIN > Settings > Discovery > Location.
In FortiSIEM, you can define a Business Service as a container of Devices (Go to CMDB > Business Services, then
click New). A Business Service Dashboard provides an overview of the health of the business service by showing the
related Incidents and impacted devices.
l Creating a Business Service Dashboard
l Data Source
l Adding/Removing Business Service to the Dashboard
l Summary View
l Drilldown View
l Filtering Summary View
l Filtering Drilldown View
l Changing Refresh Interval
l Forcing a Refresh
Data Source
The only source of data for this dashboard is incidents triggering for the devices belonging to a Business Service.
Summary View
Business Service Dashboard has two views: Summary view and Drilldown view. The Summary view is the default
view when you access the Dashboard.
The first level Summary view displays:
l Incident Counts By Severity and Top Impacted Devices across all Business Services.
l High and Medium Severity Incident Counts for each Business Service.
Click a specific Business Service in the first level to see the second level Summary view. This displays:
l Devices belonging to the Business Service that has triggered incidents.
l For each device:
l Device Name
l Device Type
l Availability Status
l Incidents and counts – you can click an Incident to see more details in a pop up. From there, you can take
action on an incident (for example, drill down the incident on Incident page).
Drilldown View
Click the Drilldown button to display the Drilldown view of Business Services.
The first level Drilldown view displays the Incidents of each Business Service.
Click a specific Business Service in the first level to display the second level Drilldown view. It displays the Summary
dashboard view of each device belonging to the selected Business Service.
Click the Overview button to get back to the Summary view.
Forcing a Refresh
To update the whole dashboard, select Refresh Now on top-right.
In many situations, you would like to know which user is using an IP address and where the user connected from. The
Identity and Location Dashboard provides you an audit trail of this information by providing the linkage between:
l Network Identity - IP address, or MAC address
l User identity - user name, host name, or domain
l Location - a wired switch port, a wireless LAN controller, or VPN gateway
The following sections provide more information about Identity and Location Dashboard:
l Data Source
l Adding to the Data Source
l Viewing Identity and Location Dashboard
l Searching for Specific Information
Data Source
This association is built over time by combining information from the following events:
l Active Directory logon events – such as Win-Security-540 and Win-Security-4624 that provide IP Address,
User, and Domain information
l DHCP events – these provide IP, MAC address, and sometimes host name information. Events include:
l WIN-DHCP-IP-LEASE-RENEW
l WIN-DHCP-IP-ASSIGN
l FortiGate-event-DHCP-response-Request
l FortiGate-event-DHCP-response-Ack
l AO-WUA-DHCP-IP-LEASE-RENEW
l AO-WUA-DHCP-IP-ASSIGN
l Linux_DHCPACK
l Generic_DHCPACK
l Cradlepoint-dhcp-updated
l VPN logon events – these provide IP and user information. Events include:
l ASA-713228
l Juniper-SecureAccess-Session-Start
l Cisco-VPN3K-IKE/25
l ASA-722022
l ASA-713049-Client-VPN-Logon-success
l FortiGate-ssl-vpn-session-tunnel-up
l ASA-113019
l WLAN logon events – these provide IP and user information. Events include:
l Aruba-1014-wlsxNUserEntryCreated,
l FortiGate-Wireless-Client-IP-Assigned
l Cisco-WLC-53-bsnDot11StationAssociate
l Cloud Service logon events – these provide IP and user information. Events include:
l AWS-CloudTrail-SIGNIN-ConsoleLogin-Success
l Google_Apps_login_login_success
l Salesforce_Login_Success
l OKTA-USER-AUTH-LOGIN-SUCCESS
l MS_OFFICE365_UserLoggedIn_Succeeded
l AAA Authentication events - these provide IP and user information. Events include:
l Win-IAS-PassedAuth
l CisACS_01_PassedAuth
l FortiSIEM Discovery events – these provide IP, user, and location information. Events include:
l PH_DISCOV_HOST_LOCATION
l PH_DISCOV_CISCO_WLAN_HOST_LOCATION
l PH_DISCOV_ARUBA_WLAN_HOST_LOCATION
l PH_DISCOV_GEN_WLAN_HOST_LOCATION
l For other fields, select the fields in the Search area and enter the value to be searched
l Search multiple fields at the same time – use the Filter area
l Select the field, enter the searched value and click OK. The condition will diaplay on the top
This dashboard provides an overview of the usage of individual interfaces of Router and Firewall devices. The dash-
board has three levels:
l The Top view displays device level metrics in a tabular form.
l Once you select a device in the Top view, the middle table shows the basic interface level metrics such as received
and sent bytes.
l You can drill-down and get Application level usage and QoS metrics for a specific device interface. To do this,
select a device in the Top view and a specific interface in the middle view.
The following sections provide more information about the Interface Usage Dashboard:
l Data Source
l Adding/Removing Devices and Interfaces to the Dashboard
l Viewing Device Level Metrics
l Viewing Interface Level Metrics
l Viewing Application Usage
l Viewing QoS Statistics
l Drill-down from Widgets
l Modifying Widget Information Display
l Changing Refresh Interval
l Forcing a Refresh
Data Source
This dashboard applies to network devices: Routers/Switches and Firewalls.
l Top View - Device level metrics are sourced from Ping monitoring and SNMP.
l Middle View – Basic interface level metrics are also sourced from SNMP.
l The sent and receive metrics are available for all network devices implementing MIB2 (RFC 1213).
l Latency, Jitter, and Loss are available for FortiGate Firewalls/UTM devices via SNMP – see FORTINET-
FORTIGATE-MIB: fgSystem.fgLinkMonitor (see note below on configuration restriction).
l Bottom View
l Application Usage is available from Netflow
l QoS values are available for FortiGate Firewalls/UTM devices via SNMP – see FORTINET-FORTIGATE-MIB:
fgIntf.fgIntfBcs.fgIntfBcInTable.fgIntfBcInEntry for ingress and fgInt-
f.fgIntfBcs.fgIntfBcTable.fgIntfBcEntry for egress.
FortiGate SNMP metrics report Latency, Jitter. and Loss by link ID, which is different from SNMP interface ID.
FortiSIEM requires that the user configures the link ID to be identical to SNMP interface ID.
SNMP interface IDs are available by running the SNMP walk command: snmpwalk –v2c –c<cred> <ip>
ifName. In the output, the integer after ifName is the interface ID.
Here the SNMP interface ID of port1 is 1, SNMP interface ID of port2 is 2 and so on.
Use the SNMP interface ID in the config system virtual-wan-link command – see the examples below:
This is a basic example where the port, health check members and SNMP index can align naturally, however this is
not likely to be the case with all configurations.
#config system virtual-wan-link
set status enable
config members
edit 1
set interface port1
next
edit 2
set interface port2
next
end
#config health-check
edit "HC_Backoffice"
set server "8.8.8.8"
set update-static-route disable
set members 1 2
next
As mentioned, to ensure that the Interface SNMP Index ID corresponds to that of the virtual WAN link and the health
check, it is required that SNMP index must align. This example and description shows how to configure a FortiGate for
SDWAN monitoring with FortiSIEM.
1. The interface should specify the SNMP index, for example, 105 (set snmp-index 105) :
config system interface
edit "port4"
This dashboard is data driven. That means the dashboard will be populated only if the metrics are present. First, cre-
ate a Summary dashboard and see if the devices are present in that dashboard and display values. Then, you will see
them in this dashboard.
Forcing a Refresh
To update the whole dashboard, select the refresh icon on the top-right menu.
A PCI Logging Status dashboard provides an overview of which devices in PCI are logging and logging correctly. The
devices are displayed by CMDB Device Groups (for example Windows, Linux, Firewalls, and so on) and by Business
Units.
l Setting Up Data Source
l Creating a Dashboard
l Analyzing Dashboard Data
l Searching Dashboard Data
The devices must be available in CMDB for displaying in the dashboard. This can be done in any of the following
ways:
l Manually:
a. Go to CMDB > select the Device Group > click New.
l Discovery:
a. Create the credentials in ADMIN > Setup > Credentials.
b. Discover in ADMIN > Setup > Discovery.
l Device Import:
a. Go to ADMIN > Settings > General > External Integration.
b. Click New and choose Type as "Device" and Direction as "Inbound".
c. Choose the File Path on the Supervisor node and place the CSV file there.
d. For Content Mapping, click the edit icon.
I. For Column Mapping, click + and enter the mapping between columns in the Source CSV file and
the Destination CMDB.
For the PCI Logging dashboard to display the devices logging and logging correctly by business units, the Business
Unit property needs to be set for a device. This can be done in any of the following ways:
l Manually:
a. Go to CMDB > select one or more devices > click Edit and set the Business Unit.
b. Click Save.
l Device Import:
a. Prepare a CSV file containing Device Host Names and Business Unit as two columns. Note that the Device
host names must match the host names in CMDB, if they are present.
b. Go to ADMIN > Settings > General > External Integration.
c. Click New and choose Type as "Device" and Direction as "Inbound".
d. Choose the File Path on the Supervisor node and place the CSV file there.
e. For Content Mapping, click the edit icon.
I. For Column Mapping, click + and enter the mapping between columns in the Source CSV file and
the Destination CMDB.
i. Enter Source CSV column Name for Source Column
ii. Check Create Property if it Does not Exist to create the new attribute in FortiSIEM if it
does not exist
A. Enter a name for the Destination Column of the property from the drop-down list.
B. Select Overwrite Existing Value if the property exists in the CMDB, but you want to
overwrite it's current value.
iii. If the property exists in the CMDB, select FortiSIEM CMDB attribute for Destination
Column.
iv. Select Overwrite Existing Value if the property exists in the CMDB, but you want to over-
write its current value.
v. Click OK.
II. For Data Mapping, click + and enter the mapping between data values in the external system and
the destination CMDB.
f. Click Save.
g. Select the instance and click Run.
Devices in the PCI Logging Status Dashboard belong to the PCI Business Service. Assigning Devices to the PCI Ser-
vice can be done in any of the following ways:
l Manually:
a. Go to CMDB > Business Services > Compliance > select the PCI Service > click Edit and add Devices.
b. Click Save.
l Device Import:
a. Prepare a CSV file containing Device Host Names and isPCI property. Host names must match the host
names in CMDB. The isPCI Device Property takes TRUE or FALSE values.
b. Go to ADMIN > Settings > General > External Integration.
c. Click New and choose Type as "Device" and Direction as "Inbound".
d. Choose the File Path on the Supervisor node and place the CSV file there.
e. For Content Mapping, click the edit icon.
I. For Column Mapping, click + and enter the mapping between columns in the Source CSV file and
the Destination CMDB.
i. Enter Source CSV column Name for Source Column
ii. Check Create Property if it Does not Exist to create the new attribute in FortiSIEM if it
does not exist
A. Enter a name for the Destination Column of the property from the drop-down list.
B. Select Overwrite Existing Value if the property exists in the CMDB, but you want to
overwrite it's current value.
iii. If the property exists in the CMDB, select FortiSIEM CMDB attribute for Destination
Column.
iv. Select Overwrite Existing Value if the property exists in the CMDB, but you want to over-
write its current value.
v. Click OK.
II. For Data Mapping, click + and enter the mapping between data values in the external system and
the destination CMDB.
f. Click Save.
g. Select the instance and click Run.
Note: Device Import options in Assigning Devices to Business Units and Assigning Devices to PCI Service can be
combined. So it is possible to have a single file with three columns: Host Name, Business Unit, and isPCI.
l PCI Logging Policy – these specify whether a CMDB Device Group needs to correctly send logs in the various
functional categories: Authentication, FIM, and Change. Currently, these three functional categories are fixed. PCI
Logging Policies can be specified in ADMIN > Settings > Compliance > PCI. Several PCI Logging Policies are
pre-defined.
1. Define a report in RESOURCES > Reports > Function > Compliance > Compliance Logging Policy.
2. Create a PCI Logging Policy in ADMIN > Settings > Compliance > PCI and specify the new report.
If you create your own correctly logging report, then it must have the following well-defined structure:
l Group By Criteria must have Customer ID and Reporting Device Name.
l Select Clause must have Customer ID, Reporting Device Name, and Last Event Receive Time.
l Filtering Criteria must be specific to the CMDB Device Group (for example: Firewalls, Routers, Windows Server,
and so on) and functional logging category (for example: Authentication, FIM, and Change).
Note: It is highly recommended to clone an existing correctly logging report and modify the Filtering Cri-
teria.
Specify the time duration after which a device is reported to be not logging or not logging correctly. Four properties are
defined in ADMIN > Device Support > Custom Properties:
l lastAuthTimeLimit - time limit for authentication logs (default 1 day)
l lastFIMTimeLimit - time limit for FIM logs (default 1 day)
l lastChangeTimeLimit - time limit for authentication log (default 1 day)
l lastLogTimeLimit - time limit for sending any log (default 1 day)
Similar to any other device property, you can change the global defaults and set them on a per-device basis.
Creating a Dashboard
Once you setup the data sources following the steps described in Setting up data source, the dashboard must be cre-
ated manually.
The dashboard is updated nightly at 12:00 am (Supervisor time). At that time, the Supervisor:
l Runs the reports specified in ADMIN > Settings > Compliance > PCI.
l Updates the last reporting times.
l Calculates violations using the thresholds defined in ADMIN > Device Support > Custom Properties.
When you open the PCI Logging Status dashboard, the results are displayed from the daily run of previous night.
l Logging By Group - Percentage of PCI devices logging correctly broken down by Device Group.
l Logging Correctly By Group - Percentage of PCI devices logging correctly broken down by Device Group.
l Logging Correctly By Business Unit, Group - Percentage of PCI devices logging correctly broken down by
Device Group.
The displays are color coded as Red, Yellow, and Green according to the tunable thresholds defined in Dashboard >
Threshold Setting. By default:
l Red – less than 50%
l Yellow – between 50% and 80%
l Green – higher than 80%
If you click the entries, the devices in violation are shown in a tabular format along with the last time they reported
events in each category.
Managing Tasks
FortiSIEM supports Data Anonymization to hide Personally Identifiable Information including IP addresses, host
names, user names and email addresses in external and internal logs, Incidents, and CMDB records based on the
user role for a specific period of time.
After assigning the user to anonymize a role and creating a Data Anonymization approver, the work-flow is as follows:
The following procedures describe how a user can submit a task request and the Data Anonymization approver
approves or rejects.
l Requesting a De-anonymization Request
l Approving a De-anonymization Request
You can send a de-anonymization request with justification, to a Data Anonymization approver, to de-anonymize the
requested data for a specific period of time.
When a user sends a de-anonymization request, the Data Anonymization approver receives an email notification. The
approver can see the list of de-anonymization requests under the Approval tab on login. The approver then verifies
the justification and provides approval.
ted in the time stamp field. You can click the time stamp field to choose a different date and time. The
Note: Fortinet understands that multiple approvers can be selected in a request. Fortinet's behavior in these situations
is to acknowledge the approver who first provides approval (or rejection), and ignore any further responses. Fur-
thermore, any approval or rejection is final, meaning it cannot be updated or changed.
If there is an approval for a task, but the another new request for the same task is sent again and another approval is
granted, the approval with the shortest expiration takes precedence in this situation.
Appendix
FortiSIEM is configured to only use eth0 network interface by default. This section describes steps to add another
interface, so that GUI traffic, storage traffic, and device access traffic can be split across multiple interface via proper
routing.
Notes:
1. Primary (eth0) should not be removed or disabled and is required for normal operation of FortiSIEM.
2. These are general steps to add interfaces. These instructions do not cover making changes to the firewall.
1. Verify if the interface added in Step 1 is available by running the following command.
ifconfig -a
Note: eth1, bolded in ifconfig -a Output, is the name of the new interface that was added.
ifconfig -a Output
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.30.57.230 netmask 255.255.252.0 broadcast 172.30.59.255
inet6 fe80::250:56ff:fea9:c9c9 prefixlen 64 scopeid 0x20<link>
ether 00:50:56:a9:c9:c9 txqueuelen 1000 (Ethernet)
RX packets 50833491 bytes 30705896470 (28.5 GiB)
RX errors 0 dropped 26644 overruns 0 frame 0
TX packets 9726951 bytes 66973923534 (62.3 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Note: The interface name may differ due to hypervisor naming of interfaces. Below is an example of interface
named eth1.
a. Run the following command to go to the network-scripts directory.
cd /etc/sysconfig/network-scripts/
b. Run the following command to create the ifcfg-eth1 file from ifcfg-eth0.
cp -a ifcfg-eth0 ifcfg-eth1
c. Edit the ifcfg-eth1 file and save changes (can be done via vi editor for example), following the
instructions that appear after "<<".
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0 << change to new interface name
DEVICE=eth0 << change to new interface name
ONBOOT=yes
IPV6INIT=no
DNS1=1.1.1.1
DNS2=172.30.1.106
d. Reset the interface to take the configuration in effect by running the following commands.
# ifdown eth1
# ifup eth1
Example:
ip route add 172.30.0.0/16 via 172.30.52.1 dev eth1 metric 101
If you want to manually create a routing configuration file and make it persistent across reboots, then follow
these steps. Suppose you want to create an IPv4 route to the 172.30.0.0/16 network via eth1 interface, with
172.30.52.1 as the default gateway. The gateway for the static route must be directly reachable on eth1.
a. Add the static IPv4 route to the /etc/sysconfig/network-scripts/route-eth1 file:
172.30.0.0/16 via 172.30.52.1 dev eth1
Your ifconfig -a output should appear similar to the following, and allow you to confirm the available interfaces.
In this case, eth1, eth2, eth3, which are bolded, are identified interfaces.
ifconfig -a Output
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.65.20.201 netmask 255.255.252.0 broadcast 10.65.23.255
inet6 fe80::ae1f:6bff:fe47:b318 prefixlen 64 scopeid 0x20<link>
ether ac:1f:6b:47:b3:18 txqueuelen 1000 (Ethernet)
RX packets 31177113 bytes 7280636740 (6.7 GiB)
RX errors 0 dropped 3746071 overruns 0 frame 0
TX packets 617574 bytes 142045223 (135.4 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xfb560000-fb57ffff
c. Edit the ifcfg-eth1 file and save changes, following the instructions that appear after the "<<".
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0 << change to new interface name
DEVICE=eth0 << change to new interface name
ONBOOT=yes
IPV6INIT=no
Example:
If you want to manually create a routing configuration file and make it persistent across reboots, then follow
these steps. Suppose you want to create an IPv4 route to the 172.30.0.0/16 network via eth1 interface, with
172.30.52.1 as the default gateway. The gateway for the static route must be directly reachable on eth1.
a. Add the static IPv4 route to the /etc/sysconfig/network-scripts/route-eth1 file:
172.30.0.0/16 via 172.30.52.1 dev eth1
Administrator Tools
This topic describes administration tools and scripts that are included with your FortiSIEM deployment, along with
information on where to find and how to use them.
A script to select-
ively delete event
data per org and
time interval
SVN Backup
The SVN files are stored in /svn. Copy the entire directory to another location.
# cd /
# cp -r /svn /<another>/<mount>/<point>
SVN Restore
Copy the entire /svn from the backup location and rename the directory to /svn.
# cd /<another>/<mount>/<point>
# cp -r svn /
CMDB Backup
The database files are stored in /cmdb/data. FortiSIEM automatically backs up this data twice daily and the backup
files are stored in /data/archive/cmdb. To perform a backup, move these files to another location. For example:
[root@SaaS-Sup cmdb] #cd /data/archive/cmdb
[root@SaaS-Sup cmdb] #cp phoenixdb* /<another>/<mount>/<point>
If your /data disk is on an external NFS mount then your CMDB backup is already separate from the VM infra-
structure.
[root@SaaS-Sup cmdb]# pwd
/data/archive/cmdb
[root@SaaS-Sup cmdb]# ls -lt
total 1213952
CMDB Restore
If your database becomes corrupted, restore it from backup by performing these steps on you Supervisor node.
3. Copy the latest phoenixdb_<timestamp> file to a directory like /tmp on the Supervisor host.
4. Go to /opt/phoenix/deployment.
5. Run db_restore /tmp/phoenixdb_<timestamp>.
6. When this process completes, reboot the system.
#reboot
These instructions are for copying the backup to the /data/eventdb directory.
You will see that these processes are still running, which is expected behavior.
These processes will continue to run, which is expected behavior:
Alternatively, you can use rsync and display the process status.
Configuration Notes
l PH_AUDIT_CMDB_DISK_PRUNE_SUCCESS: This event indicates that free CMDB disk space fell below the low
threshold (cmdb_disk_space_low_threshold) and old incidents and identity / location data were pruned to
bring the free CMDB disk space above the high threshold (cmdb_disk_space_high_threshold).
l PH_AUDIT_CMDB_DISK_PRUNE_FAILED: This event indicates that free CMDB disk space fell below the low
threshold (cmdb_disk_space_low_threshold) and in spite of pruning older incidents and identity / location
data, free CMDB disk space stays below the high threshold (cmdb_disk_space_high_threshold). To remedy
this situation, the user must reduce the number of months of incidents and identity / location data in CMDB
(month_retain_limit).
1. Edit the Glassfish configuration file using your favorite text editor: /op-
t/glassfish/domains/domain1/config/domain.xml.
2. Replace the 172.30.57.100 host value in the sample configuration to the Proxy Server IP, port and/or user-
name and password in the environment.
3. If no user name and password is required, then remove the Dhttp.proxyUser and Dht-
tp.proxyPassword lines from the configuration file..
4. If a proxy exclusion for certain destination hosts is required, then add the http.nonProxyHosts con-
figuration option to exclude the proxy server. If this is not required, then delete the line.
5. If the proxy server allows only HTTPS, then add ’s’ to http. For example, change http.proxyHost to
https.proxyHost.
l Group 1: Preserved between upgrades - these parameters can be changed by the user and the changes will be
preserved. For example:
# FSM upgrade preserves customer changes to parameter value
num_event_parser=16 #timeWithinSec requires at least 2 parser when former event will depend on later event
l Group 2: Overwritten during upgrade - these parameters are considered internal to and owned by FortiSIEM and
will be overwritten during upgrade. For example:
# FSM internal parameter; FSM overwrites
raw_sharedstore_size=268435456 #15M = 15728640, 64M = 67108864, 256M = 268435456, 512M = 536870912
Please follow these methods if you are intentionally making changes to these parameters.
1. For parameters affecting Supervisor and Worker nodes, you can safely change Group 1 parameters and they
will be preserved across upgrades. For Group 2 parameters, the changes will be effective, but will be over-
written during upgrade. Please contact Fortinet Support if you really need to preserve Group 2 parameter
changes.
2. For parameters affecting Collectors, instead of changing the /opt/config/phoenix_config.txt file, you
need to change /opt/phoenix/config/collector_config_template.txt on the Supervisor. This
ensures that new Collectors registering will get the new parameters and the changes are preserved across
upgrades. If you want to change the parameters for an existing Collector, then you need to make the same
change in 2 places:
l Change the /opt/config/phoenix_config.txt file on the Collector and restart the Collector.
l Make the same change on /opt/phoenix/config/collector_config_template.txt on the
Supervisor. This ensures that new Collectors registering will get the new parameters and the changes are
preserved across upgrades.
Other than that, the same rules for Group 1 and Group 2 apply. You can safely change Group 1 parameters
and they will be preserved across upgrades. For Group 2 parameters, the changes will be effective, but will be
overwritten during upgrade.
Enterprise Deployment
Enterprise deployment without Collector (Supervisor only) is the simplest setup where:
l Logs are sent to the Supervisor.
l Test Connectivity, Discovery performance monitoring, and Event pulling, (for example: Cloud Services, WMI
based Windows log Collection, etc.) are all done from the Supervisor – Go to ADMIN > Setup > Credentials and
ADMIN > Setup > Discovery.
l Does not scale up when a large number of devices must be monitored or high EPS needs to be handled. This can
be solved by deploying Workers – see here.
l Logs cannot be collected efficiently from devices across the Internet. Devices cannot be monitored across the
Internet. This is because of latency and security issues over Wide Area Networks. This can be solved by deploying
Collectors – see here.
l FortiSIEM Agents cannot be used as they need Collectors – see here.
The scalability issue above can be resolved by deploying Worker nodes. To add a Worker node:
In this case:
l Logs can be sent to the Supervisor or Workers. Sending to Workers is recommended since you can load balance
across multiple Workers.
l Test Connectivity and Discovery is always done from Super.
l However, Performance monitoring and Event pulling jobs (for example: Cloud Services, WMI based Windows log
Collection and so on) are done by the Worker nodes in addition to the Supervisor nodes. After Test connectivity
and Discovery, Supervisor node distributes the jobs to the Workers. When a new Worker is added to the FortiSIEM
Cluster, jobs are re-distributed to the Workers.
Although it provides scalable event handling, this system has the following shortcomings:
l Logs cannot be collected efficiently from devices across the Internet. Devices cannot be monitored across the
Internet. This is because of latency and security issues over Wide Area networks. This can be solved by deploying
Collectors – see here.
l FortiSIEM Agents cannot be used, because they need Collectors – see here.
This solution provides the flexibility of log collection and performance across the Internet and behind firewalls. It also
provides even more scalability because the Collectors, instead of the Workers, parse events.
To add a Collector node:
1. Go to ADMIN > Setup > Collector and create a Collector in the Supervisor.
2. If you have Workers, define the Workers that the Collectors will upload to (Go to ADMIN > Settings > System
> Worker Upload).
3. If you are not using Workers you should define the Supervisor IP or DNS name of the Supervisor (Go to
ADMIN > Settings > System > Worker Upload).
4. Install a Collector.
5. Register the Collector to the Supervisor using any FortiSIEM user credential with Admin privileges (see CMDB
> User). The built-in admin credential will work. During registration, the Collector will get the Workers to upload
events to.
In this case:
l Logs can be sent to Collectors (preferred). However, they can be sent to Workers or Super as well. Collectors will
upload parsed logs to the Workers in a load-balanced fashion.
l For Test Connectivity and Discovery, choose the Collector for the job. Collectors will collect events and send them
to Workers in a load-balanced fashion.
In this configuration, you can add FortiSIEM Windows and Linux Agents:
1. Go to CMDB > User > Add and create an Agent User for Agents to register to the Supervisor node.
2. Install the Agents and register them to the Supervisor using the Agent user credential created in the previous
step.
3. Define the Agent Monitoring templates.
4. Assign templates to the Agents and choose Collectors from the set created earlier.
Agents will send logs to the Collectors in a load-balanced manner. Collectors can then send to Workers in a load-bal-
anced manner. This enables log collection in a geographically distributed and scalable manner.
While Supervisor, Workers, and Agents are shared infrastructure across Organizations, Collectors may be present
and may be dedicated or shared.
This section provides details on how various infrastructure components are deployed, with an eye towards assigning
devices and logs to the right Organization.
l Organizations with Dedicated Collector
l Organizations with Shared Collector
In this case, Organization has one of more Collectors that belong to that Organization only. This is suited for large
Organizations.
Setup
2. Install the Collectors and register them to Supervisor. Use any Organization Admin credentials defined in
ADMIN > Setup > Organizations, to register the Collector.
Operations
1. Install Agents and register them to the Supervisor. Use the Agent credentials for the Organization that the
Agents belong to.
2. Define the Agent Monitoring templates. Assign the templates to agents and designate Collectors belonging to
the specific Organization.
Agents will send logs to Collectors in a load-balanced fashion. Since Agents are configured with the Organization ID,
they include the Organization in every log. This information is used by Collectors to assign devices and logs to the cor-
rect Organization.
Configure devices to send logs to the Organization’s Collectors. Since these collectors belong to one organization, it
assigns received devices and logs to that Organization.
It may not be economically viable for smaller Organizations to deploy their own collectors. But Collectors may be
needed to deploy Agents and to scale out data collection across many smaller Organizations managed under the
same FortiSIEM.
Setup
In this setup, special multi-tenant Collectors must be defined under the Super/Local Organization as follows:
1. Log in to the Super-Local Organization. This is a built-in organization meant for the Service Provider’s use only
.
2. Go to ADMIN > Setup > Collector and add Collectors to that Organization. These are called multi-tenant Col-
lectors as they handle devices and logs from multiple Organizations.
3. Install the Collectors and register them to the Supervisor. Use any Full Admin user in CMDB > User to register
the Collector.
4. For each Collector that will be multi-tenant, do the following:
SSH into the Collector and modify the following line under /opt/phoenix/config/phoenix_
config.txt:
Multi_Tenant_Collectors=false
Change:
Multi_Tenant_Collectors=false
To:
Multi_Tenant_Collectors=true
5. Reboot the Collector.
Operations
1. Install Agents and register them to the Supervisor. Use the Agent credentials for the Organization that the
Agents belong to.
2. Define Agent Monitoring templates. Assign templates to Agents and designate multi-tenant collectors belong-
ing to the Super-local Organization.
FortiSIEM Agents will send logs to multi-tenant Collectors in a load-balanced fashion. Since Agents are configured
with the Organization ID, they include the Organization in every log. This information is used by multi-tenant Collectors
to assign devices and logs to the correct Organization.
Configure devices to send logs to the multi-tenant Collectors. Make sure the reporting device IP matches the
Include/Exclude IP ranges defined for that Organization in ADMIN > Setup > Organization. A multi-tenant Collector
uses the reporting device IP to assign devices and logs to the correct Organization.
This is possible so long as the IP Address range matches the Include/Exclude IP ranges defined for that Organization
in ADMIN > Setup > Organizations.
This can be done in two ways:
A shared Collector also enables you to collect logs from multi-tenant devices such as FortiGate with Virtual Domains
(VDOM). This assumes that the logs contain an attribute (such as FortiGate VDOM) that enables FortiSIEM to classify
logs from multi-tenant devices to different Organizations.
From a Super/Global Organization:
1. Go to ADMIN > Settings > Event Handling > Event Org Mapping.
2. Click New and enter the Organization mappings for the discriminating log attribute (such as VDOM).
3. Click Save.
Note: AWS Elasticsearch Service is now officially known as AWS OpenSearch Service (See here). References to
"AWS Elasticsearch Service" in this documentation can be considered the same as "AWS OpenSearch Service".
Self-Managed (On-Prem or Hosted) REST Hot, Warm, Yes Yes (6.8 and
Cold above)
3. When merging indices from different days together, make sure to create aliases for the different days to point
to the merged index
Steps
2. Merge the smaller indices into the new index created in Step 1.
curl -XPOST '172.30.56.182:9200/_reindex?pretty' -H 'Content-Type: applic-
ation/json' -d'
{
"conflicts": "proceed",
"source": {
"index": "fortisiem-event-2021.07.30-3-000001,fortisiem-event-
2021.07.29-3-000001"
},
"dest": {
"index": "fortisiem-event-2021.07.30-3-000001-merged",
"op_type": "create"
}
}
'
Issues
1. EventDB is a sub-string match while Elasticsearch is a word-based match with white space as a delimiter
between words. This means that the EventDB will find a match anywhere in the string. For Elasticsearch, you
must explicitly include wildcard characters. This affects string operations involving the following operators: =,
IN, CONTAIN, REGEXP and their inverse versions: !=, NOT IN, NOT CONTAIN and NOT REGEXP.
2. For Elasticsearch query, if an expression is defined as a display parameter and the expression includes
aggregate functions, then the aggregates must be separately added as display parameters. For example, if a
user wants to display an expression such as 100 - (100.0 * SUM(System Downtime))/SUM(Polling Interval),
then the user must also add SUM(System Downtime) and SUM(Polling Interval) to the list of display para-
meters.
3. Sorting does not work for
l LAST and FIRST operators when the operand is a non-Date type.
4. When sorting is used for multiple key values, e.g. Group By Source IP, Destination IP, COUNT(*) DESC, then
the results are presented by the last attribute (e.g. Destination IP). FortiSIEM EventDB sorts by all the fields
taken as a tuple, e.g. (Source IP, Destination IP). See
https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-terms-aggreg-
ation.html
See also Example 1 - Matching Event Types and Example 2 - Matching Raw Messages
5. Elasticsearch (and lucene) do not support full Perl-compatible regex syntax.
https://www.elastic.co/guide/en/elasticsearch/reference/current/regexp-syntax.html
The table in Elasticsearch Support for Regex lists what is supported and workaround suggestions.
Suppose you are trying to exactly match PH_DEV_MON_INTF_UTIL for Event Type:
l In EventDB, you can write any of the following:
l EventType = PH_DEV_MON_INTF_UTIL
l EventType = ph_dev_mon_intf_util
l EventType = ph_dev_MON_INTF_UTIL
l In Elasticsearch, you must write:
l EventType = PH_DEV_MON_INTF_UTIL
Elasticsearch
Regex syntax Workaround (if any)
support
.?+*| Yes
?? +? *? No Not possible
() Yes
[] Yes
[^] Yes
{} Yes
\b \A \Z No Not possible
\1 \2 No Not possible
Case sensitive match on keyword attrib- No If an attribute is not a keyword, it will be stored as lower
utes case in Elasticsearch. Use abc or [aA][bB][cC]
Elasticsearch
Regex syntax Workaround (if any)
support
1. With pre-compute queries via Rollup, sorting on AVG() is not supported by Elasticsearch. See here.
2. Elasticsearch pre-compute is done using the Elasticsearch Rollup API, which requires raw events matching
the pre-compute search condition be populated into a separate Elasticsearch index. This operation can
become very expensive if a large number of events match the pre-compute search filter condition. Fortinet
recommends that the user set up a report for pre-compute only if the search filter conditions for the pre-com-
pute interval result in less than 100K entries. This allows the pre-computed result to exactly match the adhoc
report for faster operation. Specifically, follow these steps:
A. Suppose you want to run a report in pre-compute mode, with the operation running pre-computations
hourly. This means the report will be run hourly, and when a user runs for a longer interval, the pre-com-
puted results would be combined to generate the final result.
B. Check for pre-compute eligibility.
i. Run the report in adhoc mode for 1 hour by removing group by conditions.
ii. If the number of rows is less than 100K, then the original report is a candidate for pre-com-
putation.
Note: This is for Elasticsearch only. If the number of results in #Bii is more than 100K, then the
pre-computed results and adhoc results will be different since FortiSIEM caps the number of res-
ults retrieved via Rollup API to be less than 100K.
3. AWS Managed Elasticsearch 7.x limits search.max_buckets to 10K. In 6.8 there was no such limit. This may
cause Elasticsearch to throw an exception and not return results for aggregated queries. Contact AWS Man-
aged Elasticsearch Support to increase search.max_buckets to a large value (recommended 10M). There is
an API to change this value, but this does not work in AWS Managed Elasticsearch. Therefore you must con-
tact AWS Managed Elasticsearch Support before running queries.
a. For general discussion about search.max_buckets, see here.
b. For general discussion about this issue, see here.
c. Elasticsearch does not consistently handle sorting functions when there are NULL values. For
example:
i. AVG(): NULL values are at the bottom.
ii. MIN(): NULL values are considered to be the largest value possible, so if you choose ASC
(respectively DESC) order, NULL values appear at the bottom (respectively top).
iii. MAX():NULL values are considered to be the smallest value possible, so if you choose ASC
(respectively DESC) order, NULL values appear at the top (respectively bottom).
4. Pre-compute queries do not work with the HAVING clause. Currently, the FortiSIEM GUI is preventing this
operation. For public discussion about Rollup search and query scripts, see here.
5. The HourOfDay(Event Receive Time) and DayOfWeek(Event Receive Time) calculations are incorrect if
Elasticsearch and Supervisor are in different time zones.
6. In Elasticsearch, a non-aggregated query spanning multiple display pages requires 1 open scroll context per
shard. This enables the user to visit multiple pages and see the results. Elasticsearch has a (configurable) limit
on open scroll contexts. This is defined in phoenix_config.txt on the Supervisor node. By default,
FortiSIEM limits to 1000 open scroll contexts and each context remains open for 60 seconds, as shown.
[BEGIN Elasticsearch]
...
max_open_scroll_context=1000
scroll_timeout=60000
...
[END Elasticsearch]
When the open scroll context limit is reached, Elasticsearch throws an exception and returns partial results.
When 80% of the search context limit is reached, FortiSIEM writes a log in /op-
t/phoenix/log/javaQueryServer.log, as shown.
com.accelops.elastic.server.task.ChoresTask - [PH_JAVA_QUERYSERVER_WARN]:
[eventSeverity]=PHL_WARNING,[phEventCategory]=3,[procName]=javaQueryServer,
[phLogDetail]=node=node236, openContexts=1000, it has 80 percent of available
search contexts open
l You can increase max_open_scroll_context. However, AWS Elasticsearch does not allow more than 500
open scroll contexts, and will enforce a 500 limit. Be careful in choosing very high max_open_scroll_context.
It is strongly recommended to use a test instance to experiment with your number prior to production.
l After changing max_open_scroll_context, you need to apply Test & Save from the GUI for changes to take
effect. This is because max_open_scroll_context is a cluster level setting.
l You can change scroll_timeout, but after changing this value, you must restart the Java Query Server on the
Supervisor for the change to take effect.
7. The maximum number of group by query result is 2,000 by default. You can change the setting in phoenix_
config.txt on the Supervisor node by taking the following steps.
a. Change the setting: aggregation_size=2000
b. Restart the JavaQueryServer.
phExportESEvent
You can run the phExportESEvent tool from a Supervisor or Worker node to export events to CSV files. The file will
contain these fields:
This code block shows the commands that you can use with phExportESEvent, followed by a table that describes
them in more detail.
phExportESEvent <ESUrl> <ESPort> <ESDeploymentType> "<ESUser>" "<ESPassword>" <ESIn-
dexName> <ReportingDevIp> <destDir> <splitThreads> <LogLevel>
logDevel The debug level for script output printing: INFO or DEBUG.
Example Usage
l Native Elasticsearch Deployment Example
l AWS Elasticsearch Service Deployment Example
l Elasticsearch Cloud Deployment Example
Example: CSVExport_fortisiem-event-2021.08.30-1_16
When exporting events from one specific device, the output file name is like CSVExport_<ES Index Name>_
<reportDevIp>_<thread_no>
Example: CSVExport_fortisiem-event-2021.08.30-1_192.168.20.1_10
Note that each thread will write its own output file and thus if you are using 20 threads, there will be twenty output files.
thread_no will be empty if you are using only 1 thread to do export.
Example Files
$ /opt/phoenix/bin/phExportESEvent http://192.0.2.5 "" "" fortisiem-event-2021.08.30-
1 "" /opt/phoenix/bin/result/ 20 INFO
The above command will use 20 threads to export events. The result directory will contain the following files, with each
thread having its own file.
14
-rw-rw-r-- 1 admin admin 9435935 Sep 2 14:39 CSVExport_fortisiem-event-2021.08.30-1_7
-rw-rw-r-- 1 admin admin 9413179 Sep 2 14:39 CSVExport_fortisiem-event-2021.08.30-1_9
-rw-rw-r-- 1 admin admin 9363945 Sep 2 14:39 CSVExport_fortisiem-event-2021.08.30-1_
10
-rw-rw-r-- 1 admin admin 9386964 Sep 2 14:39 CSVExport_fortisiem-event-2021.08.30-1_
18
-rw-rw-r-- 1 admin admin 9397264 Sep 2 14:39 CSVExport_fortisiem-event-2021.08.30-1_
13
-rw-rw-r-- 1 admin admin 9436265 Sep 2 14:39 CSVExport_fortisiem-event-2021.08.30-1_
11
-rw-rw-r-- 1 admin admin 9422549 Sep 2 14:39 CSVExport_fortisiem-event-2021.08.30-1_8
-rw-rw-r-- 1 admin admin 9422993 Sep 2 14:39 CSVExport_fortisiem-event-2021.08.30-1_4
-rw-rw-r-- 1 admin admin 9416394 Sep 2 14:39 CSVExport_fortisiem-event-2021.08.30-1_
15
-rw-rw-r-- 1 admin admin 9386560 Sep 2 14:39 CSVExport_fortisiem-event-2021.08.30-1_3
-rw-rw-r-- 1 admin admin 9442445 Sep 2 14:39 CSVExport_fortisiem-event-2021.08.30-1_5
-rw-rw-r-- 1 admin admin 9355790 Sep 2 14:39 CSVExport_fortisiem-event-2021.08.30-1_
12
-rw-rw-r-- 1 admin admin 9396961 Sep 2 14:39 CSVExport_fortisiem-event-2021.08.30-1_0
-rw-rw-r-- 1 admin admin 9336639 Sep 2 14:39 CSVExport_fortisiem-event-2021.08.30-1_2
-rw-rw-r-- 1 admin admin 9381330 Sep 2 14:39 CSVExport_fortisiem-event-2021.08.30-1_6
-rw-rw-r-- 1 admin admin 9371624 Sep 2 14:39 CSVExport_fortisiem-event-2021.08.30-1_1
phExportEvent
You can run the phExportEvent tool from a Supervisor or Worker node to export events to CSV files. The file will con-
tain these fields:
l Customer Id (applicable to SP license)
l Reporting Device IP
l Reporting Device Name
l Event Received Time
l Raw Message
This code block shows the commands that you can use with phExportEvent, followed by a table that describes
them in more detail.
phExportEvent {--dest DESTINATION_DIR} {--starttime START_TIME | --relstarttime
RELATIVE_START_TIME} {--endtime END_TIME | --relendtime RELATIVE_END_TIME} [--dev
DEVICE_NAME] [--org ORGANIZATION_NAME] [-t TIME_ZONE]
pHExportEvent
Description
Command
DESTINATION_ DIR Destination directory where the exported event files are saved.
pHExportEvent
Description
Command
RELATIVE_ START_ This must be used together with END_TIME. Starting time of
TIME events to be exported is relative backwards to the end time, spe-
cified using --endtime END_TIME. The format is
{NUM}{d|h|m}
DEVICE_NAME Provide the host name or IP address of the device with the events
to be exported. Use a comma-separated list to specify multiple
IPs or host names, for example, --dev
10.1.1.1,10.10.10.1,router1,router2. Host name is
case insensitive.
ORGANIZATION_ This is used only for Service Provider deployments. Provide the
NAME name of the organization with the events to be exported. To spe-
cify multiple organizations, enter a command for each organ-
ization, for example, --org "Public Bank" --org
"Private Bank". The organization name is case insensitive.
TIME_ZONE Specifies the time zone used to format the event received time in
the exported event files. The format is {+|-}TZ, for example, -8
means Pacific Standard Time, +5:30 means India Standard
Time.
TestESSplitter
You can run the TestESSplitter tool from a Supervisor or Worker node to export events from ElasticSearch to
FortiSIEM eventDB format. It is located in n /opt/phoenix/bin/.
This code block shows the commands you can use with TestESSplitter followed by a table that describes them in
more detail.
TestESSplitter <ESBroker> <ESPort> <ESClusterType> <ESUser> <ESPassword> <IndexName>
<destDir> <splitThreads> <logLevel>
ESClusterType The ElasticSearch Cluster type. Values are "1" for Native, "2" for Amazon
OpenSearch Service (previously known as Amazon Elasticsearch Service), and "3"
for Elastic Cloud.
IndexName Provide an Index name. A new Index is created per day. Here is an example index
name, fortisiem-event-2021.05.14-2000-000001 where“fortisiem-event-
2021.05.14” is the day and “2000” is the Organization ID. To find a list of indexes,
run this command:
curl -XGET '10.10.2.5:9200/_cat/shards?v'
replacing 10.10.2.5 with the IP of a Co-ordinator node.
destDir Destination directory where the exported events are saved in FortiSIEM eventDB
format.
Example Usage
l TestESSplitter Example
TestESSplitter Example
[PH_MODULE_LOG_LEVEL_CHANGE]:[eventSeverity]=LM_INFO,[procName]=<unknown>,[fileName]-
]=phBaseProcess.cpp,[lineNumber]=675,[oldLogLevel]=2047,[newLogLevel]=424,[phLo-
gDetail]=Module received log level change
[PH_MODULE_LOCAL_CONFIG_LOADED]:[eventSeverity]=LM_INFO,[procName]=<unknown>,
[fileName]=phConfigLoader.cpp,[lineNumber]=166,[configName]=global,[phLo-
gDetail]=Module loaded local config successfully
[PH_MODULE_LOCAL_CONFIG_LOADED]:[eventSeverity]=LM_INFO,[procName]=<unknown>,
[fileName]=phConfigLoader.cpp,[lineNumber]=166,[configName]=phdatamanager,[phLo-
gDetail]=Module loaded local config successfully
[PH_GENERIC_INFO]:[eventSeverity]=LM_INFO,[procName]=<unknown>,[fileName]-
]=phHttpClientPool.cpp,[lineNumber]=46,[phLogDetail]=phHttpClientPool: init
hosts/port/auth/header=10.10.2.5/9200/:****/Content-Type: application/json
* Trying 10.10.2.5...
* TCP_NODELAY set
* Connected to 10.10.2.5 (10.10.2.5) port 9200 (#0)
> GET / HTTP/1.1
Host: 10.10.2.5:9200
Accept: */*
Content-Type: application/json
<
[PH_GENERIC_INFO]:[eventSeverity]=LM_INFO,[procName]=<unknown>,[fileName]-
]=EventLoader.cpp,[lineNumber]=1974,[phLogDetail]=Elastic succeed hits total 66 for
index fortisiem-event-2021.05.14-2000-000001 slice 1 max 10
* Connection #0 to host 10.10.2.5 left intact
[PH_GENERIC_INFO]:[eventSeverity]=LM_INFO,[procName]=<unknown>,[fileName]-
]=EventLoader.cpp,[lineNumber]=1974,[phLogDetail]=Elastic succeed hits total 61 for
index fortisiem-event-2021.05.14-2000-000001 slice 8 max 10
[PH_GENERIC_INFO]:[eventSeverity]=LM_INFO,[procName]=<unknown>,[fileName]-
]=EventLoader.cpp,[lineNumber]=2002,[phLogDetail]=Elastic index query completed 0
seconds
[PH_GENERIC_INFO]:[eventSeverity]=LM_INFO,[procName]=<unknown>,[fileName]-
]=EventLoader.cpp,[lineNumber]=2002,[phLogDetail]=Elastic index query completed 0
seconds
< HTTP/1.1 200 OK
< content-type: application/json; charset=UTF-8
< content-length: 47737
<
* Connection #0 to host 10.10.2.5 left intact
[PH_GENERIC_INFO]:[eventSeverity]=LM_INFO,[procName]=<unknown>,[fileName]-
]=EventLoader.cpp,[lineNumber]=1974,[phLogDetail]=Elastic succeed hits total 53 for
index fortisiem-event-2021.05.14-2000-000001 slice 3 max 10
< HTTP/1.1 200 OK
< content-type: application/json; charset=UTF-8
< content-length: 47178
<
* Connection #0 to host 10.10.2.5 left intact
< HTTP/1.1 200 OK
< content-type: application/json; charset=UTF-8
< content-length: 41910
<
* Connection #0 to host 10.10.2.5 left intact
< HTTP/1.1 200 OK
< content-type: application/json; charset=UTF-8
< content-length: 53258
<
* Connection #0 to host 10.10.2.5 left intact
< HTTP/1.1 200 OK
< content-type: application/json; charset=UTF-8
< content-length: 60587
<
* Connection #0 to host 10.10.2.5 left intact
[PH_GENERIC_INFO]:[eventSeverity]=LM_INFO,[procName]=<unknown>,[fileName]-
]=EventLoader.cpp,[lineNumber]=1974,[phLogDetail]=Elastic succeed hits total 59 for
index fortisiem-event-2021.05.14-2000-000001 slice 4 max 10
[PH_GENERIC_INFO]:[eventSeverity]=LM_INFO,[procName]=<unknown>,[fileName]-
]=EventLoader.cpp,[lineNumber]=1974,[phLogDetail]=Elastic succeed hits total 53 for
index fortisiem-event-2021.05.14-2000-000001 slice 7 max 10
[PH_GENERIC_INFO]:[eventSeverity]=LM_INFO,[procName]=<unknown>,[fileName]-
]=EventLoader.cpp,[lineNumber]=1974,[phLogDetail]=Elastic succeed hits total 68 for
index fortisiem-event-2021.05.14-2000-000001 slice 6 max 10
[PH_GENERIC_INFO]:[eventSeverity]=LM_INFO,[procName]=<unknown>,[fileName]-
]=EventLoader.cpp,[lineNumber]=1974,[phLogDetail]=Elastic succeed hits total 46 for
index fortisiem-event-2021.05.14-2000-000001 slice 2 max 10
[PH_GENERIC_INFO]:[eventSeverity]=LM_INFO,[procName]=<unknown>,[fileName]-
]=EventLoader.cpp,[lineNumber]=2002,[phLogDetail]=Elastic index query completed 0
seconds
[PH_GENERIC_INFO]:[eventSeverity]=LM_INFO,[procName]=<unknown>,[fileName]-
]=EventLoader.cpp,[lineNumber]=2002,[phLogDetail]=Elastic index query completed 0
seconds
[PH_GENERIC_INFO]:[eventSeverity]=LM_INFO,[procName]=<unknown>,[fileName]-
]=EventLoader.cpp,[lineNumber]=2002,[phLogDetail]=Elastic index query completed 0
seconds
[PH_GENERIC_INFO]:[eventSeverity]=LM_INFO,[procName]=<unknown>,[fileName]-
]=EventLoader.cpp,[lineNumber]=2002,[phLogDetail]=Elastic index query completed 0
seconds
[PH_GENERIC_INFO]:[eventSeverity]=LM_INFO,[procName]=<unknown>,[fileName]-
]=EventLoader.cpp,[lineNumber]=2002,[phLogDetail]=Elastic index query completed 0
seconds
[PH_GENERIC_INFO]:[eventSeverity]=LM_INFO,[procName]=<unknown>,[fileName]-
]=TestESSplitter.cpp,[lineNumber]=82,[phLogDetail]=Events processed for split: 559
3.15
Flow Support
FortiSIEM supports different formats of flow data. These must be sent to FortiSIEM on the correct port. Refer to the
table for more information.
sFlow v5 UDP/6343
JFlow v5 UDP/6343
GUI Notes
FortiSIEM HTML5-based GUI is similar to the earlier Flash-based GUI. In addition to the Dashboard, Analytics, Incid-
ents, CMDB and Admin tabs from Flash-based GUI, the HTML5-based GUI adds two new tabs - CASES and
RESOURCES.
The following tables show the mapping for each tab.
Dashboard
Incident Dashboard > Location View INCIDENTS > List View > Action > Locations
Summary Dashboard > Biz Service Sum- DASHBOARD > Click + to add new Dashboard and choose
mary Type as 'Business Service Dashboard'.
Summary Dashboard > All Device DASHBOARD > Network Dashboard > Summary
DASHBOARD > Server Dashboard > Summary
DASHBOARD > Storage Dashboard > Summary
Summary Dashboard > Network Device DASHBOARD > Network Dashboard > Summary
Summary Dashboard > Servers DASHBOARD > Server Dashboard > Summary
Summary Dashboard > EC2 Systems DASHBOARD > Amazon Web Services Dashboard > Sum-
mary
Summary Dashboard > Azure Systems Currently not available as built-in (user can create their
own)
Summary Dashboard > My Devices DASHBOARD > Any customized summary dashboard can
be used to manage devices.
Availability / Performance > Hardware DASHBOARD > Network Dashboard > Hardware
Summary DASHBOARD > Server Dashboard > Hardware
Windows DHCP Currently not available as built-in (user can create their
own)
VoIP Summary Currently not available as built-in (user can create their
own)
IPSLA Summary Currently not available as built-in (user can create their
own)
STM Summary Currently not available as built-in (user can create their
own)
Dashboard By Function > Network > Gen- DASHBOARD > Network Dashboard > Availability
eric DASHBOARD > Network Dashboard > Performance
DASHBOARD > Network Dashboard > Login/Change
DASHBOARD > Network Dashboard > Change
Dashboard By Function > Network > DASHBOARD > Network Dashboard > VoIP
VoIP
Dashboard By Function > Application > DASHBOARD > Server Dashboard > Availability
Generic DASHBOARD > Server Dashboard > Performance
Dashboard By Function > Application > Currently not available as built-in (user can create their
Mail own)
Dashboard By Function > Application > Currently not available as built-in (user can create their
Database own)
Analytics
Identity and Location Report DASHBOARD > Click + to add new Dashboard and choose
Type as 'Identity and Location Dashboard'.
Incident Notification Policy ADMIN > Settings > General > Notification
Incidents
Tickets CASE
CMDB
Admin
Admin > Setup Wizard > Organizations ADMIN > Setup > Organizations
Admin > Setup Wizard > Windows Agents ADMIN > Setup > Windows Agents
Admin > Setup Wizard > Credentials ADMIN > Setup > Credentials
Admin > Setup Wizard > Discovery ADMIN > Setup > Discovery
Admin > Setup Wizard > Pull Events ADMIN > Setup > Pull Events
Admin > Setup Wizard > Monitor Change/Performance ADMIN > Setup > Monitor Performance
Admin > Device Support > Device/App Types ADMIN > Device Support > Device/App
Admin > Device Support > Event Attribute Types ADMIN > Device Support > Event Attribute
Admin > Device Support > Event Types ADMIN > Device Support > Event
Admin > Device Support > Parsers ADMIN > Device Support > Parser
Admin > Device Support > Performance Monitoring ADMIN > Device Support > Monitoring
Admin > Device Support > Custom Properties ADMIN > Device Support > Custom Property
Admin > Device Support > Dashboard Columns Currently not available
Admin > Collector Health ADMIN > Health > Collector Health
Admin > Cloud Health ADMIN > Health > Cloud Health
Admin > Elasticsearch health ADMIN > Health > Elasticsearch health
Admin > General Settings > System ADMIN > Settings > System
Admin > General Settings > Analytics ADMIN > Settings > Analytics
Admin > General Settings > Discovery ADMIN > Settings > Discovery
Admin > General Settings > Monitoring ADMIN > Settings > Monitoring
Admin > General Settings > UI ADMIN > Settings > System > UI
Admin > General Settings > Email Template ADMIN > Settings > System > Email
Admin > General Settings > Event Handling ADMIN > Settings > Event Handling
Admin > General Settings > Kafka Config ADMIN > Settings >System > Kafka
Admin > General Settings > External Authentication ADMIN > Settings > General > Authentication
Admin > General Settings > Integration ADMIN > Settings > General > Integration
Admin > General Settings > External Lookup ADMIN > Settings > System > Lookup
Admin > General Settings > Escalation Policy ADMIN > Settings > General > Escalation
Admin > Discovery Results ADMIN > Setup > Discovery > History
Aggregation Displays data similar to a bar chart. Select the Aggregate Field At least one numeric
(Bar) View (Column) to display and their column is required.
colors. You can also reverse
the color map.
Choropleth A thematic map in which areas are Select the Location and At least one location
Map (Region shaded or patterned in proportion to Value from the drop-down column is required.
Map) the measurement of the statistical vari- lists. Configure Google
able being displayed on the map. Maps API Key in
ADMIN > Settings >
System > UI See UI
Settings.
Clustered You can use a bubble chart instead of Select the Column from the At least one numeric
Bubble Chart a scatter chart if your data has three drop-down list. column is required.
data series that each contain a set of
values. The sizes of the bubbles are
determined by the values in the third
data series.
Combo View Displays an aggregate field and a line Select the Aggregate Field One GROUP BY
chart. (Column) to display and the column and one
colors. You can also reverse aggregation column is
the color map and set color required.
thresholds.
Heat Map Displays two event attributes and a Select the Heat map coordin- At least two key
numerical aggregate value. ates X and Y, and an asso- columns and one
ciated Value. numeric column are
required.
Sankey Dia- A specific type of flow diagram, in Select the Source, Target, At least two GROUP
gram which the width of the arrows is shown and Value from the drop- BY columns and one
proportionally to the flow quantity. down lists. numeric column are
required.
Single Line Displays a single value. Select the Text or Gauge At least one numeric
view and the Column and column is required.
Row. For Gauge, you can
also select a color-coded
Range.
Table View Displays data in a tabular format. You can choose to display the None
bar chart (Show Bar), the
event type (Show Event
Type), and the count (Count).
Set the colors for the bar chart
or reverse the color map.
Knowledge Base
appCategory cat
appTransportProto app
count cnt
destAction act
destDomain destinationDnsDomain
destIntfName deviceOutboundInterface
destIpAddr dst
destIpPort destinationTranslatedPort
destIpPort dpt
destMACAddr dmac
destName dhost
destServiceName destinationServiceName
destUser duser
destUserId duid
destUserPriv dpriv
deviceIdentification deviceExternalId
deviceTime rt
domain deviceDnsDomain
endTime end
errReason reason
extEventId externalId
fileAccess filePermission
fileId fileId
fileModificationTime fileModificationTime
fileName fname
filePath filePath
fileSize fsize
fileType fileType
hashCode fileHash
hostIpAddr dvc
hostMACAddr dvcmac
hostName dvchost
httpCookie requestCookies
httpMethod requestMethod
httpReferrer requestContext
httpUserAgent requestClientApplication
infoURL request
ipProto proto
msg msg
postNATHostIpAddr deviceTranslatedAddress
postNATSrcIpAddr sourceTranslatedAddress
postNATSrcIpPort sourceTranslatedPort
procId dvcpid
procName deviceProcessName
recvBytes in
sentBytes out
serviceName sourceServiceName
srcDomain sourceDnsDomain
srcIntfName deviceInboundInterface
intfName deviceInboundInterface
srcIpAddr src
srcIpPort spt
srcMACAddr smac
srcName shost
srcUser suser
srcUserPriv spriv
startTime start
targetProcId dpid
targetProcName dproc
incidentDetail cs3Label=IncidentDetail
ruleName cs4Label=RuleName
inIncidentEventIdList cs5Label=IncidentEventIDList
phCustId cn1Label=CustomerID
incidentId cn2Label=IncidentID
Counted
System
in phstatus -a Stored in
Event Description
EPS outout DB?
Category
License
0 External events and not flow events (e.g. sys- Yes EPS Yes
log, SNMP Trap, Event pulling)
Counted
System
in phstatus -a Stored in
Event Description
EPS outout DB?
Category
License
2 FortiSIEM Audit Events (events that begin with No EPS INTERNAL Yes
PH_AUDIT)
Files
nections connection/sysmon_powershell_network_connection.yml
maHQ/sigma/blob/master/rules/windows/powershell/powershell_
data_compressed.yml
Ransomware git-
hub.-
com/SigmaHQ/sigma/blob/master/rules/windows/malware/win_
mal_ryuk.yml ;
https://-
github.com/SigmaHQ/sigma/blob/master/rules/windows/process_
creation/win_malware_ryuk.yml
exe
tions creation/win_susp_run_locations.yml
cactustorch.yml
License Enforcement
This section describes how FortiSIEM enforces CMDB Device license, Agent license and EPS License.
When you try to add a device to the system, either via discovery or manually, then the global device limit and the per-
org device limit is enforced. If the limit is reached, then the device is either not added to CMDB or added and set as
Unmanaged. If you decommission a managed device, then the license is returned to the pool. If you recommission a
device, then a license is consumed.
CMDB Device License is shown in Admin > License > General and the usage is shown in Admin > License >
Usage > Device Usage.
Events
phParser on every node generates the following PH_SYSTEM_EPS_NODE event every 3 minutes. To query these sys-
tem events, the Analytics search filter must also include “System Event Category” = 3.
[PH_SYSTEM_EPS_NODE]:[eventSeverity]=PHL_INFO,[fileName]=parserProcess.cpp,[lineNum-
ber]=6169,[role]=Super,[hostName]=FSM-Host,[incomingEventsPerSec]=10.0,
[peakIncomingEventsPerSec]=35.0,[dropPolicyEvents]=0,[dropPolicyEventsPerSec]=0.0,
[peakDropPolicyEventsPerSec]=0.0,[dropLicenseEvents]=0,[dropLicenseEventsPerSec]=0.0,
[peakDropLicenseEventsPerSec]=0.0,[dropLicenseEventRatio]=0
Attributes:
l incomingEventsPerSec: Total received events in 3 minutes divided by 180.
l peakIncomingEventsPerSec: The maximum value of incomingEventsPerSec over all 3-minute periods,
since phParser started.
l dropPolicyEvents: The number of events that are dropped by Event Dropping rules in last 3 minutes.
l dropPolicyEventsPerSec: dropPolicyEvents divided by 180.
l peakDropPolicyEventsPerSec: The maximum value of dropPolicyEventsPerSec over all 3-minute peri-
ods, since phParser started.
l dropLicenseEvents: The number of events that are dropped because of exceeding license in last 3 minutes.
l dropLicenseEventsPerSec: dropLicenseEvents divided by 180.
l peakDropLicenseEventsPerSec: The maximum value of dropLicenseEventsPerSec over all 3-minute
periods, since phParser started.
l dropLicenseEventRatio: Ratio of dropped events because of license to total incoming events in last 3
minutes.
phParser on Supervisor node generates the following PH_SYSTEM_EPS_ORG event every 3 minutes. This event
provides Organization level EPS information by combining information from every node.
[PH_SYSTEM_EPS_ORG]:[eventSeverity]=PHL_INFO,[fileName]=parserProcess.cpp,[lineNum-
ber]=6205,[phCustId]=1,[customer]=Super,[incomingEventsPerSec]=0.000000,[peak-
IncomingEventsPerSec]=0.000000,[dropLicenseEventsPerSec]=0.000000,
[peakDropLicenseEventsPerSec]=0.000000,[phLogDetail]=
Attributes:
l customer: name of organization
l incomingEventsPerSec: Total received events in 3 minutes divided by 180 for this Organization.
l peakIncomingEventsPerSec: The maximum value of incomingEventsPerSec over all 3-minute periods for
this Organization, since phParser started.
l dropLicenseEvents: The number of events that are dropped because of exceeding license in last 3 minutes.
l dropLicenseEventsPerSec: dropLicenseEvents divided by 180.
l peakDropLicenseEventsPerSec: The maximum value of dropLicenseEventsPerSec over all 3-minute
periods, since phParser started.
phParser on Supervisor node generates the following PH_SYSTEM_EPS_GLOBAL event every 3 minutes. This event
provides Global EPS information by combining information from every node.
[PH_SYSTEM_EPS_GLOBAL]:[eventSeverity]=PHL_INFO,[fileName]=parserProcess.cpp,[lineNum-
ber]=6252,[licenseEventsPerSec]=13000,[incomingEventsPerSec]=0.000000,[peak-
IncomingEventsPerSec]=0.000000,[dropLicenseEventsPerSec]=0.000000,
[peakDropLicenseEventsPerSec]=0.000000,[unusedEvents]=1897731307,[phLogDetail]=
Attributes:
l licenseEventsPerSec: Global licensed events per second
l incomingEventsPerSec: Total received events in 3 minutes divided by 180.
l peakIncomingEventsPerSec: The maximum value of incomingEventsPerSec over all 3-minute periods for
this Organization, since phParser started.
l dropLicenseEvents: The number of events that are dropped because of exceeding license in last 3 minutes.
l dropLicenseEventsPerSec: dropLicenseEvents divided by 180.
l peakDropLicenseEventsPerSec: The maximum value of dropLicenseEventsPerSec over all 3-minute
periods, since phParser started.
l unusedEvents: difference between licenseEventsPerSec and incomingEventsPerSec accumulated
since system installed.
phParser on an event handling node (e.g. a Collector) generates the following PH_SYSTEM_EVENT_RATE_
EXCEED_LICENSE event when it starts to drop events.
<174>Mar 12 11:33:20 PARSER-HOST phParser[1234]: [PH_SYSTEM_EVENT_RATE_EXCEED_
LICENSE]: [eventSeverity]=PHL_INFO,[procName]=phParser,[fileName]=parserProcess.cpp,
[eventsPerSec]=120.49,[phLogDetail]=120.49 events/sec exceeds licensed event rate of
100 events/sec
Attributes:
l eventsPerSec: Total received events per second
In this case, the following incidents “FortiSIEM EPS License Exceeded” and “External Event Dropped By License” trig-
gers.
The following public REST API can be used to query Worker Event Upload Queue state. An upstream load balancer
can use the information to route events from Collectors to the least loaded Worker.
API: GET https://<WorkerIP>/workerUploadHealth/response.json
Response: { allowUpload: true, fileQueueSizeMB: 500, fileQueueCount: 300 }
allowUpload True means Worker upload queue is less than 100MB and
Worker will accept events.
False means Worker upload queue is more than 100MB and
Copyright© 2024 Fortinet, Inc. All rights reserved. Fortinet®, FortiGate®, FortiCare® and FortiGuard®, and certain other marks are registered trademarks of Fortinet, Inc., and other Fortinet names
herein may also be registered and/or common law trademarks of Fortinet. All other product or company names may be trademarks of their respective owners. Performance and other metrics contained
herein were attained in internal lab tests under ideal conditions, and actual performance and other results may vary. Network variables, different network environments and other conditions may affect
performance results. Nothing herein represents any binding commitment by Fortinet, and Fortinet disclaims all warranties, whether express or implied, except to the extent Fortinet enters a binding writ-
ten contract, signed by Fortinet’s General Counsel, with a purchaser that expressly warrants that the identified product will perform according to certain expressly-identified performance metrics and, in
such event, only the specific performance metrics expressly identified in such binding written contract shall be binding on Fortinet. For absolute clarity, any such warranty will be limited to performance in
the same ideal conditions as in Fortinet’s internal lab tests. Fortinet disclaims in full any covenants, representations, and guarantees pursuant hereto, whether express or implied. Fortinet reserves the
right to change, modify, transfer, or otherwise revise this publication without notice, and the most current version of the publication shall be applicable. Fortinet disclaims in full any covenants, rep-
resentations, and guarantees pursuant hereto, whether express or implied. Fortinet reserves the right to change, modify, transfer, or otherwise revise this publication without notice, and the most current
version of the publication shall be applicable.