SSL input settingsedit
You can specify the following options in the apm-server.ssl
section of the apm-server.yml
config file.
They apply to SSL/TLS communication between the APM Server and APM Agents.
enabled
edit
The enabled
setting can be used to enable the ssl configuration by setting
it to true
. The default value is false
.
certificate
edit
The path to the file containing the certificate for Server authentication.
Required if apm-server.ssl.enabled
is true
.
key
edit
The path to the file containing the Server certificate key.
Required if apm-server.ssl.enabled
is true
.
key_passphrase
edit
The passphrase used to decrypt an encrypted key stored in the configured key
file.
We recommend saving the key_passphrase
in the APM Server Secrets keystore.
supported_protocols
edit
This setting is a list of allowed protocol versions:
SSLv3
, TLSv1.0
, TLSv1.1
, TLSv1.2
and TLSv1.3
. We do not recommend using SSLv3
or TLSv1.0
.
The default value is [TLSv1.1, TLSv1.2, TLSv1.3]
.
cipher_suites
edit
The 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). Note that TLS 1.3 cipher suites are not individually configurable in Go, so they are not included in this list.
The following cipher suites are available:
Cypher | Notes |
---|---|
ECDHE-ECDSA-AES-128-CBC-SHA |
|
ECDHE-ECDSA-AES-128-CBC-SHA256 |
TLS 1.2 only. Disabled by default. |
ECDHE-ECDSA-AES-128-GCM-SHA256 |
TLS 1.2 only. |
ECDHE-ECDSA-AES-256-CBC-SHA |
|
ECDHE-ECDSA-AES-256-GCM-SHA384 |
TLS 1.2 only. |
ECDHE-ECDSA-CHACHA20-POLY1305 |
TLS 1.2 only. |
ECDHE-ECDSA-RC4-128-SHA |
Disabled by default. RC4 not recommended. |
ECDHE-RSA-3DES-CBC3-SHA |
|
ECDHE-RSA-AES-128-CBC-SHA |
|
ECDHE-RSA-AES-128-CBC-SHA256 |
TLS 1.2 only. Disabled by default. |
ECDHE-RSA-AES-128-GCM-SHA256 |
TLS 1.2 only. |
ECDHE-RSA-AES-256-CBC-SHA |
|
ECDHE-RSA-AES-256-GCM-SHA384 |
TLS 1.2 only. |
ECDHE-RSA-CHACHA20-POLY1205 |
TLS 1.2 only. |
ECDHE-RSA-RC4-128-SHA |
Disabled by default. RC4 not recommended. |
RSA-3DES-CBC3-SHA |
|
RSA-AES-128-CBC-SHA |
|
RSA-AES-128-CBC-SHA256 |
TLS 1.2 only. Disabled by default. |
RSA-AES-128-GCM-SHA256 |
TLS 1.2 only. |
RSA-AES-256-CBC-SHA |
|
RSA-AES-256-GCM-SHA384 |
TLS 1.2 only. |
RSA-RC4-128-SHA |
Disabled by default. RC4 not recommended. |
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
edit
The list of curve types for ECDHE (Elliptic Curve Diffie-Hellman ephemeral key exchange).
certificate_authorities
edit
The list of root certificates for verifying client certificates.
If certificate_authorities
is empty or not set, the trusted certificate authorities of the host system are used.
Sending client certificates is currently only supported by the RUM agent through the browser
and by the Jaeger agent.
client_authentication
edit
This configures what types of client authentication are supported. The valid options
are none
, optional
, and required
. The default is none
.
If certificate_authorities
has been specified, this setting will automatically change to required
.
This option only needs to be configured when the agent is expected to provide a client certificate.
Sending client certificates is currently only supported by the RUM agent through the browser
and by the Jaeger agent.
-
none
- Disables client authentication. -
optional
- When a client certificate is given, the server will verify it. -
required
- Requires clients to provide a valid certificate.
See Securing APM Server for more information.