You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This integration has been tested against FortiOS versions 13.x. While newer versions may work, they have not been officially tested.
17
+
This integration has been tested against FortiOS versions 6.x and 7.x up to 7.4.1. Newer versions are expected to work but have not been tested.
18
18
19
19
This integration is compatible with Elastic Stack version 8.11.0 or higher.
20
20
21
21
### How it works
22
22
23
-
This integration collects logs from FortiGate firewalls by receiving syslog data over TCP or UDP, or by reading directly from log files. An Elastic Agent is deployed on a host that is configured as a syslog receiver or has access to the log files. The agent forwards the logs to your Elastic deployment, where they are processed and enriched by the integration's ingest pipelines.
23
+
This integration collects logs from FortiGate firewalls by receiving syslog data over TCP or UDP, or by reading directly from log files. An Elastic Agent is deployed on a host that is configured as a syslog receiver or has access to the log files. The agent forwards the logs to your Elastic deployment, where they can be monitored or analyzed.
24
24
25
25
## What data does this integration collect?
26
26
@@ -54,26 +54,118 @@ Elastic Agent must be installed on a host that will receive the syslog data or h
54
54
55
55
#### Syslog Configuration
56
56
57
-
1. Log in to your FortiGate firewall's management interface.
58
-
2. Navigate to the syslog configuration settings.
59
-
3. Configure the FortiGate device to send syslog messages to the IP address and port of the host where the Elastic Agent is installed.
60
-
4. If you are using TCP with reliable syslog mode, ensure that the framing is set to `rfc6587`. This is a critical step for ensuring message integrity. For more details, refer to the [FortiGate CLI reference](https://docs.fortinet.com/document/fortigate/7.4.0/cli-reference/405620/config-log-syslogd-setting).
61
-
5. Configure the appropriate syslog facility and severity levels to match the data you wish to collect.
57
+
You can configure FortiGate to send logs to the Elastic Agent using either the GUI or the CLI.
58
+
59
+
**GUI Configuration:**
60
+
61
+
1. Log in to the FortiGate web-based manager (GUI).
62
+
2. Navigate to **Log & Report -> Log Settings**.
63
+
3. Enable **Send Logs to Syslog**.
64
+
4. In the IP address field, enter the IP address of the host where the Elastic Agent is installed.
65
+
5. Click **Apply**.
66
+
6. Under **Log Settings**, ensure that **Event Logging** and all desired log subtypes are enabled to generate and send the necessary logs.
67
+
68
+
**CLI Configuration:**
69
+
70
+
1. Log in to the FortiGate CLI.
71
+
2. Use the following commands to configure the syslog server settings:
72
+
73
+
```sh
74
+
config log syslogd setting
75
+
set status enable
76
+
set server "<elastic_agent_ip>"
77
+
set port <port> // Default syslog ports are 514 for UDP and TCP
78
+
// For TCP with reliable syslog mode, ensure framing is set to rfc6587
79
+
set mode reliable
80
+
set format rfc6587
81
+
end
82
+
```
83
+
84
+
3. Configure the appropriate log types and severity levels to be sent to the syslog server. For example:
85
+
86
+
```sh
87
+
config log syslogd filter
88
+
set severity information
89
+
set forward-traffic enable
90
+
set local-traffic enable
91
+
set web enable
92
+
set antivirus enable
93
+
// Enable other UTM and event logs as needed
94
+
end
95
+
```
96
+
97
+
For more detailed information, refer to the [FortiGate CLI reference](https://docs.fortinet.com/document/fortigate/7.4.0/cli-reference/405620/config-log-syslogd-setting).
62
98
63
99
### Onboard / configure in Kibana
64
100
65
101
1. In Kibana, navigate to **Management > Integrations**.
66
102
2. Search for"Fortinet FortiGate Firewall Logs" and selectthe integration.
4. Configure the integration with one of the following input types:
69
-
***TCP**: Provide the listen address and port (e.g., `0.0.0.0:9004`) for the syslog receiver.
70
-
***UDP**: Provide the listen address and port (e.g., `0.0.0.0:9004`) for the syslog receiver.
71
-
***Log file**: Specify the path to the log files you want to monitor.
72
-
5. Under the **Settings** tab, configure any optional settings:
73
-
***Internal/External interfaces**: Define your network interfaces to correctly map network direction.
74
-
***Internal networks**: Specify your internal network ranges (defaults to private address spaces).
75
-
***Preserve original event**: Check this option if you want to keep the original, unprocessed log message.
76
-
6. Assign the integration to an agent policy and click **Save and continue**.
104
+
4. Configure the integration by selecting an input type and providing the necessary settings. This integration supports `TCP`, `UDP`, and `Log file` inputs.
105
+
106
+
#### TCP Input Configuration
107
+
108
+
This input collects logs over a TCP socket.
109
+
110
+
| Setting | Description |
111
+
|---|---|
112
+
|**Listen Address**| The bind address for the TCP listener (e.g., `localhost`, `0.0.0.0`). |
113
+
|**Listen Port**| The TCP port number to listen on (e.g., `9004`). |
114
+
|**Preserve original event**| If checked, a raw copy of the original log is stored in the `event.original` field. |
115
+
116
+
Under **Advanced Options**, you can configure the following optional parameters:
117
+
118
+
| Setting | Description |
119
+
|---|---|
120
+
|**Internal/External interfaces**| Define your network interfaces to correctly map network direction. |
121
+
|**Internal networks**| Specify your internal network ranges (defaults to private address spaces). Supports CIDR notation and named ranges like `private`. |
122
+
|**SSL Configuration**| Configure SSL options for encrypted communication. See the [SSL documentation](https://www.elastic.co/guide/en/beats/filebeat/current/configuration-ssl.html#ssl-common-config) for details. |
123
+
|**Custom TCP Options**|`framing`: Specifies how messages are framed. Defaults to `rfc6587`, which is required for FortiGate's reliable syslog mode. <br> `max_message_size`: The maximum size of a log message (e.g., `50KiB`). <br> `max_connections`: The maximum number of simultaneous connections. |
124
+
| **Timezone** | Specify an IANA timezone or offset (e.g., `+0200`) for logs with no timezone information. |
125
+
| **Timezone Map** | A mapping of timezone strings from logs to standard IANA timezone formats. |
126
+
| **Processors** | Add custom processors to enhance or reduce event fields before parsing. |
127
+
128
+
#### UDP Input Configuration
129
+
130
+
This input collects logs over a UDP socket.
131
+
132
+
| Setting | Description |
133
+
|---|---|
134
+
| **Listen Address** | The bind address for the UDP listener (e.g., `localhost`, `0.0.0.0`). |
135
+
| **Listen Port** | The UDP port number to listen on (e.g., `9004`). |
136
+
| **Preserve original event** | If checked, a raw copy of the original log is stored in the `event.original` field. |
137
+
138
+
Under **Advanced Options**, you can configure the following optional parameters:
139
+
140
+
| Setting | Description |
141
+
|---|---|
142
+
| **Internal/External interfaces** | Define your network interfaces to correctly map network direction. |
143
+
| **Internal networks** | Specify your internal network ranges (defaults to private address spaces). |
144
+
| **Custom UDP Options** | `read_buffer`: The size of the read buffer for the UDP socket (e.g., `100MiB`). <br> `max_message_size`: The maximum size of a log message (e.g., `50KiB`). <br> `timeout`: The read timeout for the UDP socket (e.g., `300s`). |
145
+
| **Timezone** | Specify an IANA timezone or offset (e.g., `+0200`) for logs with no timezone information. |
146
+
| **Timezone Map** | A mapping of timezone strings from logs to standard IANA timezone formats. |
147
+
| **Processors** | Add custom processors to enhance or reduce event fields before parsing. |
148
+
149
+
#### Log file Input Configuration
150
+
151
+
This input collects logs directly from log files on the host where the Elastic Agent is running.
152
+
153
+
| Setting | Description |
154
+
|---|---|
155
+
| **Paths** | A list of file paths to monitor (e.g., `/var/log/fortinet-firewall.log`). |
156
+
| **Preserve original event** | If checked, a raw copy of the original log is stored in the `event.original` field. |
157
+
158
+
Under **Advanced Options**, you can configure the following optional parameters:
159
+
160
+
| Setting | Description |
161
+
|---|---|
162
+
| **Internal/External interfaces** | Define your network interfaces to correctly map network direction. |
163
+
| **Internal networks** | Specify your internal network ranges (defaults to private address spaces). |
164
+
| **Timezone** | Specify an IANA timezone or offset (e.g., `+0200`) for logs with no timezone information. |
165
+
| **Timezone Map** | A mapping of timezone strings from logs to standard IANA timezone formats. |
166
+
| **Processors** | Add custom processors to enhance or reduce event fields before parsing. |
167
+
168
+
After configuring the input, assign the integration to an agent policy and click **Save and continue**.
This integration has been tested against FortiOS versions 13.x. While newer versions may work, they have not been officially tested.
17
+
This integration has been tested against FortiOS versions 6.x and 7.x up to 7.4.1. Newer versions are expected to work but have not been tested.
18
18
19
19
This integration is compatible with Elastic Stack version 8.11.0 or higher.
20
20
21
21
### How it works
22
22
23
-
This integration collects logs from FortiGate firewalls by receiving syslog data over TCP or UDP, or by reading directly from log files. An Elastic Agent is deployed on a host that is configured as a syslog receiver or has access to the log files. The agent forwards the logs to your Elastic deployment, where they are processed and enriched by the integration's ingest pipelines.
23
+
This integration collects logs from FortiGate firewalls by receiving syslog data over TCP or UDP, or by reading directly from log files. An Elastic Agent is deployed on a host that is configured as a syslog receiver or has access to the log files. The agent forwards the logs to your Elastic deployment, where they can be monitored or analyzed.
24
24
25
25
## What data does this integration collect?
26
26
@@ -54,26 +54,118 @@ Elastic Agent must be installed on a host that will receive the syslog data or h
54
54
55
55
#### Syslog Configuration
56
56
57
-
1. Log in to your FortiGate firewall's management interface.
58
-
2. Navigate to the syslog configuration settings.
59
-
3. Configure the FortiGate device to send syslog messages to the IP address and port of the host where the Elastic Agent is installed.
60
-
4. If you are using TCP with reliable syslog mode, ensure that the framing is set to `rfc6587`. This is a critical step for ensuring message integrity. For more details, refer to the [FortiGate CLI reference](https://docs.fortinet.com/document/fortigate/7.4.0/cli-reference/405620/config-log-syslogd-setting).
61
-
5. Configure the appropriate syslog facility and severity levels to match the data you wish to collect.
57
+
You can configure FortiGate to send logs to the Elastic Agent using either the GUI or the CLI.
58
+
59
+
**GUI Configuration:**
60
+
61
+
1. Log in to the FortiGate web-based manager (GUI).
62
+
2. Navigate to **Log & Report -> Log Settings**.
63
+
3. Enable **Send Logs to Syslog**.
64
+
4. In the IP address field, enter the IP address of the host where the Elastic Agent is installed.
65
+
5. Click **Apply**.
66
+
6. Under **Log Settings**, ensure that **Event Logging** and all desired log subtypes are enabled to generate and send the necessary logs.
67
+
68
+
**CLI Configuration:**
69
+
70
+
1. Log in to the FortiGate CLI.
71
+
2. Use the following commands to configure the syslog server settings:
72
+
73
+
```sh
74
+
config log syslogd setting
75
+
set status enable
76
+
set server "<elastic_agent_ip>"
77
+
set port <port> // Default syslog ports are 514 for UDP and TCP
78
+
// For TCP with reliable syslog mode, ensure framing is set to rfc6587
79
+
set mode reliable
80
+
set format rfc6587
81
+
end
82
+
```
83
+
84
+
3. Configure the appropriate log types and severity levels to be sent to the syslog server. For example:
85
+
86
+
```sh
87
+
config log syslogd filter
88
+
set severity information
89
+
set forward-traffic enable
90
+
set local-traffic enable
91
+
set web enable
92
+
set antivirus enable
93
+
// Enable other UTM and event logs as needed
94
+
end
95
+
```
96
+
97
+
For more detailed information, refer to the [FortiGate CLI reference](https://docs.fortinet.com/document/fortigate/7.4.0/cli-reference/405620/config-log-syslogd-setting).
62
98
63
99
### Onboard / configure in Kibana
64
100
65
101
1. In Kibana, navigate to **Management > Integrations**.
66
102
2. Search for"Fortinet FortiGate Firewall Logs" and selectthe integration.
4. Configure the integration with one of the following input types:
69
-
***TCP**: Provide the listen address and port (e.g., `0.0.0.0:9004`) for the syslog receiver.
70
-
***UDP**: Provide the listen address and port (e.g., `0.0.0.0:9004`) for the syslog receiver.
71
-
***Log file**: Specify the path to the log files you want to monitor.
72
-
5. Under the **Settings** tab, configure any optional settings:
73
-
***Internal/External interfaces**: Define your network interfaces to correctly map network direction.
74
-
***Internal networks**: Specify your internal network ranges (defaults to private address spaces).
75
-
***Preserve original event**: Check this option if you want to keep the original, unprocessed log message.
76
-
6. Assign the integration to an agent policy and click **Save and continue**.
104
+
4. Configure the integration by selecting an input type and providing the necessary settings. This integration supports `TCP`, `UDP`, and `Log file` inputs.
105
+
106
+
#### TCP Input Configuration
107
+
108
+
This input collects logs over a TCP socket.
109
+
110
+
| Setting | Description |
111
+
|---|---|
112
+
|**Listen Address**| The bind address for the TCP listener (e.g., `localhost`, `0.0.0.0`). |
113
+
|**Listen Port**| The TCP port number to listen on (e.g., `9004`). |
114
+
|**Preserve original event**| If checked, a raw copy of the original log is stored in the `event.original` field. |
115
+
116
+
Under **Advanced Options**, you can configure the following optional parameters:
117
+
118
+
| Setting | Description |
119
+
|---|---|
120
+
|**Internal/External interfaces**| Define your network interfaces to correctly map network direction. |
121
+
|**Internal networks**| Specify your internal network ranges (defaults to private address spaces). Supports CIDR notation and named ranges like `private`. |
122
+
|**SSL Configuration**| Configure SSL options for encrypted communication. See the [SSL documentation](https://www.elastic.co/guide/en/beats/filebeat/current/configuration-ssl.html#ssl-common-config) for details. |
123
+
|**Custom TCP Options**|`framing`: Specifies how messages are framed. Defaults to `rfc6587`, which is required for FortiGate's reliable syslog mode. <br> `max_message_size`: The maximum size of a log message (e.g., `50KiB`). <br> `max_connections`: The maximum number of simultaneous connections. |
124
+
| **Timezone** | Specify an IANA timezone or offset (e.g., `+0200`) for logs with no timezone information. |
125
+
| **Timezone Map** | A mapping of timezone strings from logs to standard IANA timezone formats. |
126
+
| **Processors** | Add custom processors to enhance or reduce event fields before parsing. |
127
+
128
+
#### UDP Input Configuration
129
+
130
+
This input collects logs over a UDP socket.
131
+
132
+
| Setting | Description |
133
+
|---|---|
134
+
| **Listen Address** | The bind address for the UDP listener (e.g., `localhost`, `0.0.0.0`). |
135
+
| **Listen Port** | The UDP port number to listen on (e.g., `9004`). |
136
+
| **Preserve original event** | If checked, a raw copy of the original log is stored in the `event.original` field. |
137
+
138
+
Under **Advanced Options**, you can configure the following optional parameters:
139
+
140
+
| Setting | Description |
141
+
|---|---|
142
+
| **Internal/External interfaces** | Define your network interfaces to correctly map network direction. |
143
+
| **Internal networks** | Specify your internal network ranges (defaults to private address spaces). |
144
+
| **Custom UDP Options** | `read_buffer`: The size of the read buffer for the UDP socket (e.g., `100MiB`). <br> `max_message_size`: The maximum size of a log message (e.g., `50KiB`). <br> `timeout`: The read timeout for the UDP socket (e.g., `300s`). |
145
+
| **Timezone** | Specify an IANA timezone or offset (e.g., `+0200`) for logs with no timezone information. |
146
+
| **Timezone Map** | A mapping of timezone strings from logs to standard IANA timezone formats. |
147
+
| **Processors** | Add custom processors to enhance or reduce event fields before parsing. |
148
+
149
+
#### Log file Input Configuration
150
+
151
+
This input collects logs directly from log files on the host where the Elastic Agent is running.
152
+
153
+
| Setting | Description |
154
+
|---|---|
155
+
| **Paths** | A list of file paths to monitor (e.g., `/var/log/fortinet-firewall.log`). |
156
+
| **Preserve original event** | If checked, a raw copy of the original log is stored in the `event.original` field. |
157
+
158
+
Under **Advanced Options**, you can configure the following optional parameters:
159
+
160
+
| Setting | Description |
161
+
|---|---|
162
+
| **Internal/External interfaces** | Define your network interfaces to correctly map network direction. |
163
+
| **Internal networks** | Specify your internal network ranges (defaults to private address spaces). |
164
+
| **Timezone** | Specify an IANA timezone or offset (e.g., `+0200`) for logs with no timezone information. |
165
+
| **Timezone Map** | A mapping of timezone strings from logs to standard IANA timezone formats. |
166
+
| **Processors** | Add custom processors to enhance or reduce event fields before parsing. |
167
+
168
+
After configuring the input, assign the integration to an agent policy and click **Save and continue**.
0 commit comments