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
Copy file name to clipboardExpand all lines: deploy-manage/security/self-tls-considerations.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,18 +6,18 @@ applies_to:
6
6
eck:
7
7
products:
8
8
- id: elasticsearch
9
-
navigation_title: External CA considerations
9
+
navigation_title: Private or 3P CA considerations
10
10
---
11
11
12
-
# Considerations for using an external CA for transport layer security
12
+
# Considerations for using an private or third-party CA for transport layer security
13
13
14
14
By default, {{es}} uses mutual TLS (mTLS) to secure node-to-node transport connections. Mutual TLS means that data is encrypted in transit, ensuring confidentiality and integrity, and also that both nodes in a connection must present a valid certificate to the other node when establishing the connection. Each node requires that certificates be issued by a trusted certificate authority, ensuring that only authorized nodes can connect. Configure trusted certificate authorities using settings in the [`xpack.security.transport.ssl.*`](elasticsearch://reference/elasticsearch/configuration-reference/security-settings.md#transport-tls-ssl-settings) namespace, such as `xpack.security.transport.ssl.certificate_authorities` and `xpack.security.transport.ssl.truststore.path`.
15
15
16
16
::::{warning}
17
17
Transport connections between {{es}} nodes are security-critical and you must protect them carefully. Malicious actors who can observe or interfere with unencrypted node-to-node transport traffic can read or modify cluster data. A malicious actor who can establish a transport connection might be able to invoke system-internal APIs, including APIs that read or modify cluster data.
18
18
::::
19
19
20
-
## External CA mTLS transport certificate requirements
20
+
## mTLS transport certificate requirements for private or third-party CAs
21
21
22
22
Obtain your transport certificates from a certificate authority that only issues certificates to {{es}} nodes permitted to connect to your cluster. Do not use a public certificate authority or an organization-wide private certificate authority, because these issue certificates to entities beyond your authorized cluster nodes. Use a dedicated private certificate authority for each {{es}} cluster.
Copy file name to clipboardExpand all lines: deploy-manage/security/set-up-basic-security.md
+28-15Lines changed: 28 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,34 +17,45 @@ Configuring TLS between nodes is the basic security setup to prevent unauthorize
17
17
18
18
This document focuses on the **manual configuration** of TLS for [{{es}} transport protocol](./secure-cluster-communications.md#encrypt-internode-communication) in self-managed environments. Use this approach if you want to provide your own TLS certificates, generate them with Elastic’s tools, or have full control over the configuration. Alternatively, {{es}} can [automatically generate and configure HTTPS certificates](./self-auto-setup.md) for you.
19
19
20
+
In this guide, you will learn how to:
21
+
22
+
*[Either provide or generate security certificates](#obtain-certificates).
23
+
*[Configure your {{es}} nodes to use the generated certificate for the transport layer](#encrypt-internode-communication).
24
+
25
+
Refer to [Transport TLS/SSL settings](elasticsearch://reference/elasticsearch/configuration-reference/security-settings.md#transport-tls-ssl-settings) for the complete list of available settings in {{es}}.
26
+
20
27
::::{note}
21
28
For other deployment types, such as {{ech}}, {{ece}}, or {{eck}}, refer to [](./secure-cluster-communications.md).
22
29
::::
23
30
24
-
In this guide, you will learn how to:
31
+
## Obtain certificates
25
32
26
-
*[Generate a Certificate Authority (CA) and a server certificate using the `elasticsearch-certutil` tool](#generate-certificates).
27
-
*[Configure your {{es}} nodes to use the generated certificate for the transport layer](#encrypt-internode-communication).
33
+
You can add as many nodes as you want in a cluster but they must be able to communicate with each other. The communication between nodes in a cluster is handled by the transport module. To secure your cluster, you must ensure that internode communications are encrypted and verified, which is achieved with mutual TLS.
28
34
29
-
Refer to [Transport TLS/SSL settings](elasticsearch://reference/elasticsearch/configuration-reference/security-settings.md#transport-tls-ssl-settings) for the complete list of available settings in {{es}}.
35
+
In a secured cluster, {{es}} nodes use certificates to identify themselves when communicating with other nodes.
30
36
31
-
## Considerations for using an external CA
37
+
The cluster must validate the authenticity of these certificates. The recommended approach is to trust a specific certificate authority (CA). When nodes are added to your cluster they must use a certificate signed by the same CA.
32
38
33
-
You might choose to use an external CA to generate transport certificates for node-to-node connections.
39
+
For the transport layer, we recommend using a separate, dedicated CA instead of an existing, possibly shared CA so that node membership is tightly controlled.
34
40
35
-
Transport connections between {{es}} nodes are security-critical and you must protect them carefully. Malicious actors who can observe or interfere with unencrypted node-to-node transport traffic can read or modify cluster data. A malicious actor who can establish a transport connection might be able to invoke system-internal APIs, including APIs that read or modify cluster data.
41
+
When you manually set up transport TLS, you can choose from the following CA options:
36
42
37
-
Carefully review [](/deploy-manage/security/self-tls-considerations.md) to ensure that the certificates that you provide meet the security requirements for transport connections.
43
+
*[Provide certificates from a private or third-party CA](#private-3p)
44
+
*[Use the `elasticsearch-certutil` tool to generate a CA unique to your cluster](#generate-certificates)
38
45
39
-
##Generate the certificate authority [generate-certificates]
46
+
### Provide certificates from a private or third-party CA [private-3p]
40
47
41
-
You can add as many nodes as you want in a cluster but they must be able to communicate with each other. The communication between nodes in a cluster is handled by the transport module. To secure your cluster, you must ensure that internode communications are encrypted and verified, which is achieved with mutual TLS.
48
+
You might choose to use a private or third-party CA to generate transport certificates for node-to-node connections.
42
49
43
-
In a secured cluster, {{es}} nodes use certificates to identify themselves when communicating with other nodes.
50
+
Transport connections between {{es}} nodes are security-critical and you must protect them carefully. Malicious actors who can observe or interfere with unencrypted node-to-node transport traffic can read or modify cluster data. A malicious actor who can establish a transport connection might be able to invoke system-internal APIs, including APIs that read or modify cluster data.
44
51
45
-
The cluster must validate the authenticity of these certificates. The recommended approach is to trust a specific certificate authority (CA). When nodes are added to your cluster they must use a certificate signed by the same CA.
52
+
Carefully review [](/deploy-manage/security/self-tls-considerations.md) to ensure that the certificates that you provide meet the security requirements for transport connections.
53
+
54
+
After you obtain your certificate, place the certificate file in the `$ES_PATH_CONF` directory on **every** node in your cluster.
46
55
47
-
For the transport layer, we recommend using a separate, dedicated CA instead of an existing, possibly shared CA so that node membership is tightly controlled. Use the `elasticsearch-certutil` tool to generate a CA for your cluster.
56
+
### Generate the certificate authority using `elasticsearch-certutil`[generate-certificates]
57
+
58
+
You can use the `elasticsearch-certutil` tool to generate a CA for your cluster. Using `elasticsearch-certutil` guarantees that your certificates meet {{es}} certificate requirements and security best practices.
48
59
49
60
1. Before starting {{es}}, use the `elasticsearch-certutil` tool on any single node to generate a CA for your cluster.
50
61
@@ -67,7 +78,7 @@ For the transport layer, we recommend using a separate, dedicated CA instead of
67
78
1. Enter the password foryour CA, or press **Enter** if you did not configure onein the previous step.
68
79
2. Create a password for the certificate and accept the default file name.
69
80
70
-
The output file is a keystore named `elastic-certificates.p12`. This file contains a node certificate, node key, and CA certificate.
81
+
The output file is a keystore named `elastSic-certificates.p12`. This file contains a node certificate, node key, and CA certificate.
71
82
72
83
3. On **every** node in your cluster, copy the `elastic-certificates.p12` file to the `$ES_PATH_CONF` directory.
73
84
@@ -76,7 +87,9 @@ For the transport layer, we recommend using a separate, dedicated CA instead of
76
87
77
88
The transport networking layer is used forinternal communication between nodesin a cluster. When security features are enabled, you must use TLS to ensure that communication between the nodes is encrypted.
78
89
79
-
Now that you’ve generated a certificate authority and certificates, you’ll update your cluster to use these files.
90
+
Now that you’ve obtained your certificates, you’ll update your cluster to use these files.
91
+
92
+
These steps assume that you [generated a CA and certificates](#generate-certificates) using `elasticsearch-certutil`. The `xpack.security.transport.ssl` settings that you need to set differ if you're using a private or third-party CA. Refer to [Transport TLS/SSL settings](elasticsearch://reference/elasticsearch/configuration-reference/security-settings.md#transport-tls-ssl-settings) full list of available settings.
80
93
81
94
::::{note}
82
95
{{es}} monitors all files such as certificates, keys, keystores, or truststores that are configured as values of TLS-related node settings. If you update any of these files, such as when your hostnames change or your certificates are due to expire, {{es}} reloads them. The files are polled for changes at a frequency determined by the global {{es}} `resource.reload.interval.high` setting, which defaults to 5 seconds.
0 commit comments