- Filebeat Reference: other versions:
- Overview
- Getting Started With Filebeat
- Step 1: Install Filebeat
- Step 2: Configure Filebeat
- Step 3: Configure Filebeat to use Logstash
- Step 4: Load the index template in Elasticsearch
- Step 5: Set up the Kibana dashboards
- Step 6: Start Filebeat
- Step 7: View the sample Kibana dashboards
- Quick start: modules for common log formats
- Repositories for APT and YUM
- Setting up and running Filebeat
- Upgrading Filebeat
- How Filebeat works
- Configuring Filebeat
- Specify which modules to run
- Configure inputs
- Manage multiline messages
- Specify general settings
- Load external configuration files
- Configure the internal queue
- Configure the output
- Set up index lifecycle management
- Load balance the output hosts
- Specify SSL settings
- Filter and enhance the exported data
- Parse data by using ingest node
- Enrich events with geoIP information
- Set up project paths
- Set up the Kibana endpoint
- Load the Kibana dashboards
- Load the Elasticsearch index template
- Configure logging
- Use environment variables in the configuration
- Autodiscover
- YAML tips and gotchas
- Regular expression support
- HTTP Endpoint
- filebeat.reference.yml
- Beats central management
- Modules
- Exported fields
- Alias fields
- Apache2 fields
- Auditd fields
- Beat fields
- Cloud provider metadata fields
- Docker fields
- elasticsearch fields
- haproxy fields
- Host fields
- Icinga fields
- IIS fields
- Kafka fields
- kibana fields
- Kubernetes fields
- Log file content fields
- logstash fields
- mongodb fields
- MySQL fields
- Nginx fields
- Osquery fields
- PostgreSQL fields
- Redis fields
- System fields
- Traefik fields
- Monitoring Filebeat
- Securing Filebeat
- Troubleshooting
- Migrating from Logstash Forwarder to Filebeat
- Contributing to Beats
Specify SSL settings
editSpecify SSL settings
editYou can specify SSL options when you configure:
- outputs that support SSL
- the Kibana endpoint
Example output config with SSL enabled:
output.elasticsearch.hosts: ["https://192.168.1.42:9200"] output.elasticsearch.ssl.certificate_authorities: ["/etc/pki/root/ca.pem"] output.elasticsearch.ssl.certificate: "/etc/pki/client/cert.pem" output.elasticsearch.ssl.key: "/etc/pki/client/cert.key"
Also see Secure communication with Logstash by using SSL.
Example Kibana endpoint config with SSL enabled:
setup.kibana.host: "https://192.0.2.255:5601" setup.kibana.ssl.enabled: true setup.kibana.ssl.certificate_authorities: ["/etc/pki/root/ca.pem"] setup.kibana.ssl.certificate: "/etc/pki/client/cert.pem" setup.kibana.ssl.key: "/etc/pki/client/cert.key"
Configuration options
editYou can specify the following options in the ssl
section of the filebeat.yml
config file:
enabled
editThe enabled
setting can be used to disable the ssl configuration by setting
it to false
. The default value is true
.
SSL settings are disabled if either enabled
is set to false
or the
ssl
section is missing.
certificate_authorities
editThe list of root certificates for server verifications. If certificate_authorities
is empty or not set, the trusted certificate authorities of the host system are used.
certificate: "/etc/pki/client/cert.pem"
editThe path to the certificate for SSL client authentication. If the certificate is not specified, client authentication is not available. The connection might fail if the server requests client authentication. If the SSL server does not require client authentication, the certificate will be loaded, but not requested or used by the server.
When this option is configured, the key
option is also required.
key: "/etc/pki/client/cert.key"
editThe client certificate key used for client authentication. This option is required if certificate
is specified.
key_passphrase
editThe passphrase used to decrypt an encrypted key stored in the configured key
file.
supported_protocols
editList of allowed SSL/TLS versions. If SSL/TLS server decides for protocol versions
not configured, the connection will be dropped during or after the handshake. The
setting is a list of allowed protocol versions:
SSLv3
, TLSv1
for TLS version 1.0, TLSv1.0
, TLSv1.1
and TLSv1.2
.
The default value is [TLSv1.0, TLSv1.1, TLSv1.2]
.
verification_mode
editThis option controls whether the client verifies server certificates and host
names. Valid values are none
and full
. If verification_mode
is set
to none
, all server host names and certificates are accepted. In this mode,
TLS-based connections are susceptible to man-in-the-middle attacks. Use this
option for testing only.
The default is full
.
cipher_suites
editThe list of cipher suites to use. The first entry has the highest priority. If this option is omitted, the Go crypto library’s default suites are used (recommended).
The following cipher suites are available:
- RSA-RC4-128-SHA (disabled by default - RC4 not recommended)
- RSA-3DES-CBC3-SHA
- RSA-AES-128-CBC-SHA
- RSA-AES-256-CBC-SHA
- ECDHE-ECDSA-RC4-128-SHA (disabled by default - RC4 not recommended)
- ECDHE-ECDSA-AES-128-CBC-SHA
- ECDHE-ECDSA-AES-256-CBC-SHA
- ECDHE-RSA-RC4-128-SHA (disabled by default- RC4 not recommended)
- ECDHE-RSA-3DES-CBC3-SHA
- ECDHE-RSA-AES-128-CBC-SHA
- ECDHE-RSA-AES-256-CBC-SHA
- ECDHE-RSA-AES-128-GCM-SHA256 (TLS 1.2 only)
- ECDHE-ECDSA-AES-128-GCM-SHA256 (TLS 1.2 only)
- ECDHE-RSA-AES-256-GCM-SHA384 (TLS 1.2 only)
- ECDHE-ECDSA-AES-256-GCM-SHA384 (TLS 1.2 only)
Here is a list of acronyms used in defining the cipher suites:
- 3DES: Cipher suites using triple DES
- AES-128/256: Cipher suites using AES with 128/256-bit keys.
- CBC: Cipher using Cipher Block Chaining as block cipher mode.
- ECDHE: Cipher suites using Elliptic Curve Diffie-Hellman (DH) ephemeral key exchange.
- ECDSA: Cipher suites using Elliptic Curve Digital Signature Algorithm for authentication.
- GCM: Galois/Counter mode is used for symmetric key cryptography.
- RC4: Cipher suites using RC4.
- RSA: Cipher suites using RSA.
- SHA, SHA256, SHA384: Cipher suites using SHA-1, SHA-256 or SHA-384.
curve_types
editThe list of curve types for ECDHE (Elliptic Curve Diffie-Hellman ephemeral key exchange).
The following elliptic curve types are available:
- P-256
- P-384
- P-521
renegotiation
editThis configures what types of TLS renegotiation are supported. The valid options
are never
, once
, and freely
. The default value is never.
-
never
- Disables renegotiation. -
once
- Allows a remote server to request renegotiation once per connection. -
freely
- Allows a remote server to repeatedly request renegotiation.
client_authentication
editThis configures what types of client authentication are supported. The valid options
are none
, optional
, and required
. The default value is required.
This option is only valid with the TCP or the Syslog input.
-
none
- Disables client authentication. -
optional
- When a client certificate is given, the server will verify it. -
required
- Will require clients to provide a valid certificate.
On this page