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:
- Apache2 Web Server and Terminal access to the instance running it
- ModSecurity module installed
- OWASP ModSecurity Core Rule Set (CRS) imported
- Filebeat
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/COMODORSADomainValidationSecureServerCA.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.)
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/COMODORSADomainValidationSecureServerCA.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/COMODORSADomainValidationSecureServerCA.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.
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.