|
1 | 1 | --- |
| 2 | +applies_to: |
| 3 | + deployment: |
| 4 | + self: |
| 5 | + eck: |
| 6 | + ece: |
2 | 7 | mapped_urls: |
3 | 8 | - https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-security.html |
4 | 9 | - https://www.elastic.co/guide/en/elasticsearch/reference/current/security-basic-setup.html |
5 | 10 | - https://www.elastic.co/guide/en/kibana/current/elasticsearch-mutual-tls.html |
6 | 11 | --- |
7 | 12 |
|
| 13 | + |
| 14 | +% TODO: what to do about this page that doesn't exist |
| 15 | +% * [/raw-migrated-files/cloud-on-k8s/cloud-on-k8s/k8s-security.md](/raw-migrated-files/cloud-on-k8s/cloud-on-k8s/k8s-security.md) |
| 16 | + |
| 17 | + |
8 | 18 | # Secure cluster communications |
9 | 19 |
|
10 | | -% What needs to be done: Refine |
| 20 | +This page explains how to secure communications between components in your {{stack}} deployment. |
11 | 21 |
|
12 | | -% GitHub issue: https://github.com/elastic/docs-projects/issues/346 |
| 22 | +For {{ech}} and {{serverless-full}} deployments, communications security is fully managed by Elastic with no configuration required. |
13 | 23 |
|
14 | | -% Use migrated content from existing pages that map to this page: |
| 24 | +For ECE, ECK, and self-managed deployments, this page provides specific configuration guidance to secure the various communication channels between components. |
15 | 25 |
|
16 | | -% - [ ] ./raw-migrated-files/cloud-on-k8s/cloud-on-k8s/k8s-security.md |
17 | | -% - [ ] ./raw-migrated-files/elasticsearch/elasticsearch-reference/security-basic-setup.md |
18 | | -% Notes: concepts |
19 | | -% - [ ] ./raw-migrated-files/kibana/kibana/elasticsearch-mutual-tls.md |
| 26 | +:::{tip} |
| 27 | +For a complete comparison of security feature availability and responsibility by deployment type, see [Security features by deployment type](../security.md#security-features-by-deployment-type). |
| 28 | +::: |
20 | 29 |
|
21 | | -% Internal links rely on the following IDs being on this page (e.g. as a heading ID, paragraph ID, etc): |
| 30 | +## Communication channels overview |
22 | 31 |
|
23 | | -$$$generate-certificates$$$ |
| 32 | +Your {{stack}} deployment includes several distinct communication channels that must be secured to protect your data and infrastructure. |
24 | 33 |
|
25 | | -$$$encrypt-internode-communication$$$ |
| 34 | +| **Channel** | **Description** | **Security needs** | |
| 35 | +|-------------|-----------------|--------------------| |
| 36 | +| [Transport layer](#transport-layer-security) | Communication between {{es}} nodes within a cluster | - Mutual TLS (required)<br>- Node authentication<br>- Node role verification | |
| 37 | +| [HTTP layer](#http-layer-security) | Communication between external clients and {{es}} through the REST API | - TLS encryption<br>- Authentication (basic auth, API keys, or token-based)<br>- Optional client certificate authentication | |
| 38 | +| [{{kib}}-to-{{es}}](#kib-to-es-communications) | Communication from the {{kib}} server to {{es}} for user requests and queries | - TLS encryption<br>- Service authentication (API keys, service tokens, or mutual TLS) | |
26 | 39 |
|
27 | | -**This page is a work in progress.** The documentation team is working to combine content pulled from the following pages: |
28 | 40 |
|
29 | | -% Doesn't exist |
30 | | -% * [/raw-migrated-files/cloud-on-k8s/cloud-on-k8s/k8s-security.md](/raw-migrated-files/cloud-on-k8s/cloud-on-k8s/k8s-security.md) |
| 41 | +## Transport layer security |
| 42 | + |
| 43 | +The transport layer is used for communication between {{es}} nodes in a cluster. Securing this layer prevents unauthorized nodes from joining your cluster and protects internode data. |
| 44 | + |
| 45 | +**Deployment type notes:** |
| 46 | +- **Elastic Cloud & Serverless**: Transport security is fully managed by Elastic. No configuration is required. |
| 47 | +- **ECE/ECK**: Transport security is automatically configured by the operator. No direct user configuration is required. |
| 48 | +- **Self-managed**: Transport security must be manually configured following the steps in [Set up basic security](set-up-basic-security.md). |
| 49 | + |
| 50 | +## HTTP layer security |
| 51 | + |
| 52 | +The HTTP layer secures client communication with your {{es}} cluster via its REST API, preventing unauthorized access and protecting data in transit. |
| 53 | + |
| 54 | +**Deployment type notes:** |
| 55 | +- **Elastic Cloud & Serverless**: HTTP security is fully managed by Elastic. No configuration is required. |
| 56 | +- **ECE/ECK**: HTTP security is automatically configured with self-signed certificates. Custom certificates can be configured. |
| 57 | +- **Self-managed**: HTTP security must be manually configured following [Secure HTTP communications](secure-http-communications.md). |
| 58 | + |
| 59 | +## {{kib}}-to-{{es}} communications |
| 60 | + |
| 61 | +{{kib}} connects to {{es}} as a client but requires special configuration as it performs operations on behalf of end users. |
| 62 | + |
| 63 | +**Deployment type notes:** |
| 64 | +- **Elastic Cloud & Serverless**: {{kib}}-{{es}} communication is fully managed using HTTPS and service tokens. |
| 65 | +- **ECE/ECK**: {{kib}}-{{es}} communication is automatically secured with service tokens. |
| 66 | +- **Self-managed**: {{kib}}-{{es}} communication must be manually secured. For mutual TLS configuration, see [Mutual TLS authentication between {{kib}} and {{es}}](secure-http-communications.md#mutual-tls-kib-es). |
| 67 | + |
| 68 | +## Certificate management [generate-certificates] |
| 69 | + |
| 70 | +Managing certificates is critical for secure communications. Certificates have limited lifetimes and must be renewed before expiry to prevent service disruptions. |
| 71 | + |
| 72 | +**Deployment type notes:** |
| 73 | +- **Elastic Cloud & Serverless**: Certificate management is fully automated by Elastic. |
| 74 | +- **ECE**: ECE generates certificates for you. Refer to [](/deploy-manage/security/secure-your-elastic-cloud-enterprise-installation/manage-security-certificates.md). |
| 75 | + |
| 76 | +ECK**: Certificate generation and basic rotation is handled by the operator. Custom HTTP certificates require manual management. |
| 77 | +- **Self-managed**: Certificate management is your responsibility. See [Security certificates and keys](security-certificates-keys.md). |
| 78 | + |
| 79 | +## Next steps |
31 | 80 |
|
32 | | -* [/raw-migrated-files/elasticsearch/elasticsearch-reference/security-basic-setup.md](/raw-migrated-files/elasticsearch/elasticsearch-reference/security-basic-setup.md) |
33 | | -* [/raw-migrated-files/kibana/kibana/elasticsearch-mutual-tls.md](/raw-migrated-files/kibana/kibana/elasticsearch-mutual-tls.md) |
| 81 | +- Configure [basic security and HTTPS](set-up-basic-security-plus-https.md) for self-managed deployments. |
| 82 | +- Learn about [HTTP communication security](secure-http-communications.md) best practices. |
| 83 | +- Understand how to securely manage [security certificates and keys](security-certificates-keys.md). |
| 84 | +- Check [SSL/TLS version compatibility](supported-ssltls-versions-by-jdk-version.md) for optimal encryption. |
0 commit comments