Skip to main content

ModSecurity

ModSecurity, sometimes called Modsec, is an open-source web application firewall. This integration allows you to send ModSecurity logs to your Logz.io SIEM account.

Before you begin, you'll need:

Download the Logz.io public certificate​

For HTTPS shipping, download the Logz.io public certificate to your certificate authority folder.

sudo curl https://raw.githubusercontent.com/logzio/public-certificates/master/AAACertificateServices.crt --create-dirs -o /etc/pki/tls/certs/AAACertificateServices.crt

Configure Filebeat​

Open the Filebeat configuration file (/etc/filebeat/filebeat.yml) with your preferred text editor. Copy and paste the code block below, overwriting the previous content. (You want to replace the file's content with this code block.)

note

Filebeat requires a file extension specified for the log input.

### Filebeat ###
filebeat.inputs:

- type: filestream
paths:
- /var/log/apache2/error.log
fields:
logzio_codec: json
token: <<LOG-SHIPPING-TOKEN>>
type: modsecurity
fields_under_root: true
encoding: utf-8
ignore_older: 3h

### Output ###
output:
logstash:
hosts: ["<<LISTENER-HOST>>:5015"]
ssl:
certificate_authorities: ['/etc/pki/tls/certs/AAACertificateServices.crt']

If you're running Filebeat 7 to 8.1, paste the code block below instead:

### Filebeat ###
filebeat.inputs:

- type: log
paths:
- /var/log/apache2/error.log
fields:
logzio_codec: json
token: <<LOG-SHIPPING-TOKEN>>
type: modsecurity
fields_under_root: true
encoding: utf-8
ignore_older: 3h

#For version 6.x and lower
#filebeat.registry_file: /var/lib/filebeat/registry

# For version 7 and higher
filebeat.registry.path: /var/lib/filebeat

# The following processors are to ensure compatibility with version 7
processors:
- rename:
fields:
- from: "agent"
to: "beat_agent"
ignore_missing: true
- rename:
fields:
- from: "log.file.path"
to: "source"
ignore_missing: true

### Output ###
output:
logstash:
hosts: ["<<LISTENER-HOST>>:5015"]
ssl:
certificate_authorities: ['/etc/pki/tls/certs/AAACertificateServices.crt']

Replace the placeholders to match your specifics. (They are indicated by the double angle brackets << >>):

  • Replace <<LOG-SHIPPING-TOKEN>> with the token of the account you want to ship to.

  • Replace <<LISTENER-HOST>> with the host for your region.

note

One last validation - make sure Logz.io is the only output and appears only once. If the file has other outputs, remove them.

Start Filebeat​

Start or restart Filebeat for the changes to take effect.

Check Logz.io for your logs​

Give your logs some time to get from your system to ours, and then open Open Search Dashboards.

If you still don't see your logs, see Filebeat troubleshooting.