Skip to content

Commit 320db04

Browse files
committed
Clarify ECE doc about wildcard DNS certificate
1 parent 9108cce commit 320db04

File tree

4 files changed

+58
-18
lines changed

4 files changed

+58
-18
lines changed

deploy-manage/deploy/cloud-enterprise/change-endpoint-urls.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ https://<CLUSTER_ID.LOCAL_HOST_IP>.ip.es.io:9243
2020
```
2121

2222
::::{important}
23-
If your application does not support HTTPS, you can connect to the HTTP endpoint on port 9200. However, for security reasons, it is recommended to use **HTTPS (9243)** whenever possible.
23+
For security reasons, it is recommended to use **HTTPS (9243)** whenever possible.
2424
::::
2525

2626
To change endpoints in the Cloud UI:
@@ -43,3 +43,7 @@ If you have an App Search instance, after specifying a new deployment domain nam
4343
::::{note}
4444
The built-in Proxy Certificate only validates against the default endpoint format described on this page. Once you change it, it is necessary to upload a new Proxy Certificate as described in [Manage security certificates](/deploy-manage/security/secure-your-elastic-cloud-enterprise-installation/manage-security-certificates.md). For test only, clients can be configured with hostname verification disabled until the new certificate is uploaded.
4545
::::
46+
47+
::::{note}
48+
If you do not use wildcard certificates, you must configure SAN entries for each component of the deployment (for example, {{es}} or {{kib}}) and repeat this process for every deployment. Review [Wildcard DNS record and certificates](./ece-wildcard-dns.md) for more guidance.
49+
::::

deploy-manage/deploy/cloud-enterprise/ece-wildcard-dns.md

Lines changed: 40 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,56 @@ products:
88
- id: cloud-enterprise
99
---
1010

11-
# Wildcard DNS record [ece-wildcard-dns]
11+
# Wildcard DNS record and certificates [ece-wildcard-dns]
1212

1313
::::{warning}
1414
Don't use `ip.es.io` for production systems. Set up your own domain name and DNS resolver for production. We do not guarantee uptime with `ip.es.io`.
1515

1616
`ip.es.io` is intended for use only by {{ece}} customers. We may, acting in our sole discretion, immediately terminate, suspend, or block any unauthorized users or uses without notice.
1717
::::
1818

19-
By default, {{ece}} uses the external `ip.es.io` service provided by Elastic to resolve virtual {{es}} cluster host names in compliance with RFC1918. The service works by resolving host names of the form `<ip>.ip.es.io` to `<ip>`. In the case of {{ece}}, each cluster is assigned a virtual host name of the form `<cluster id>.<proxy ip address>.ip.es.io:<port>`, such as `6dfc65aae62341e18a8b7692dcc97186.10.8.156.132.ip.es.io:9243`. The `ip.es.io` service simply resolves the virtual host name of the cluster to the proxy address which is specified during installation, `10.8.156.132` in our example, so that client requests are sent to the proxy. The proxy then extracts the cluster ID from the virtual host name of the cluster and uses its internal routing table to route the request to the right allocator.
19+
By default, {{ece}} uses the external `ip.es.io` service provided by Elastic to resolve virtual {{es}} cluster host names in compliance with RFC1918. The service works by resolving host names of the form `<ip>.ip.es.io` to `<ip>`. In the case of {{ece}}, each cluster is assigned a virtual host name of the form `<cluster id>.<proxy ip address>.ip.es.io:<port>`, such as `6dfc65aae62341e18a8b7692dcc97186.10.8.156.132.ip.es.io:9243`.
20+
21+
The `ip.es.io` service simply resolves the virtual host name of the cluster to the proxy address which is specified during installation, `10.8.156.132` in our example, so that client requests are sent to the proxy. The proxy then extracts the cluster ID from the virtual host name of the cluster and uses its internal routing table to route the request to the right allocator.
22+
23+
## Considerations for production
2024

2125
The `ip.es.io` service is provided to help you evaluate {{ece}} without having to set up DNS records for your environment. You must set up a wildcard DNS record for your production system. You typically set up a wildcard DNS record that resolves to the proxy host or to a load balancer if you set up multiple proxies fronted by a load balancer. You can create both a wildcard DNS entry for your endpoints and a wildcard TLS/SSL certificate, so that you can create multiple clusters without the need for further DNS or TSL/SSL modifications. Simply configure your DNS to point to your load balancers and install your certificates on them, so that communication with the cluster is secure.
2226

23-
A wildcard certificate is enabled based on the deployment domain name. For more information on modifying the deployment domain name, check [Configure endpoints](change-endpoint-urls.md). The deployment domain name also determines the endpoint URLs that are displayed in the Cloud UI.
27+
## Configuring wildcard DNS certificates
28+
29+
{{ece}} highly recommends using a wildcard DNS certificate, typically configured as a subdomain (for example, `*.ece.mycompany.com`), to automatically secure the unique endpoints generated for each deployment (for example, `[deployment-id].ece.mycompany.com`). For details on modifying the deployment domain name, see [Change endpoint URLs](change-endpoint-urls.md). The deployment domain name also determines the endpoint URLs displayed in the Cloud UI.
30+
31+
Alternatively, if you use custom endpoint aliases, you can configure a wildcard DNS certificate for each application-specific subdomain, such as `*.es.mycompany.com` for {{es}} or `*.kb.mycompany.com` for {{kib}}. See [Enable custom endpoint aliases](./enable-custom-endpoint-aliases.md) for more information. Platform administrators must enable this feature to allow deployment managers to create and modify aliases for their deployments.
32+
33+
34+
## Wildcard DNS certificate vs static SAN certificate
35+
36+
In {{ece}}, where you create new cluster deployments dynamically, a wildcard DNS certificate is more performant, scalable, and operationally safe than a static SAN certificate.
37+
38+
### Operational cost perspective
39+
40+
A central ECE proxy manages all traffic for dynamically created endpoints and performs TLS termination for incoming requests. Since all deployment hostnames cannot be predicted in advance, a wildcard certificate (`*.ece.mycompany.com`) provides optimal flexibility, allowing the proxy to present a valid certificate for any deployment URL accessed by a user.
41+
42+
By contrast, a static SAN certificate requires reissuing the certificate whenever a new deployment is created and updating the SAN list for all clusters and applications (Elasticsearch, Kibana, etc.), which increases operational overhead.
43+
44+
### Security perspective
45+
46+
We suggest configuring your wildcard DNS certificate as a subdomain (e.g., `*.ece.mycompany.com`). Doing so significantly reduces security risks associated with certificate misconfigurations.
47+
48+
By contrast, if a static SAN certificate does not include a new deployment’s hostname, clients will encounter a certificate name mismatch warning, indicating a security misconfiguration.
49+
50+
51+
### Performance perspective
52+
53+
Wildcard certificates are generally more performant than large static SAN certificates. They are smaller, which reduces TLS handshake time, and scale automatically with new deployments.
54+
55+
By contrast, large SAN certificates can increase handshake latency and may affect client compatibility.
56+
57+
58+
## Security Contact
2459

2560
Report security issues to [email protected].
2661

62+
63+

deploy-manage/deploy/cloud-enterprise/enable-custom-endpoint-aliases.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,21 +23,21 @@ After installing or upgrading to version 2.10 or later:
2323
2. [Update your proxy certificate(s)](../../security/secure-your-elastic-cloud-enterprise-installation/manage-security-certificates.md). In addition to currently configured domains, additional SAN entries must be configured for each application-specific subdomain:
2424

2525
::::{note}
26-
If you are not using wildcard certificates, you need to repeat this process for each deployment to account for specific aliases.
26+
If you are not using wildcard certificates, you need to repeat this process for each deployment to account for specific aliases. Review [Wildcard DNS record and certificates](./ece-wildcard-dns.md) for more guidance.
2727
::::
28-
28+
2929

3030
* For {{es}}, the certificate needs to allow for **\*.es.<your-domain>**
3131
* For {{kib}}, the certificate needs to allow for **\*.kb.<your-domain>**
3232
* For APM, the certificate needs to allow for **\*.apm.<your-domain>**
3333
* For Fleet, the certificate needs to allow for **\*.fleet.<your-domain>**
3434
* For Universal Profiling, the certificate needs to allow for **\*.profiling.<your-domain>** and **\*.symbols.<your-domain>**
3535

36+
::::{note}
37+
If you plan to deploy [Integration Servers](../../deploy/cloud-enterprise/manage-integrations-server.md), you must add two additional wildcard subdomains, `*.fleet.<your-domain>` and `*.apm.<your-domain>`, to the Subject Alternative Names (SANs) attached to the proxy wildcard certificate.
38+
::::
39+
3640
3. In the **Platform** menu, select **Settings**.
3741
4. Under the **Enable custom endpoint alias naming**, toggle the setting to allow platform administrators and deployment managers to choose a simplified, unique URL for the endpoint.
3842

39-
If you do not perform these steps, application endpoints will behave as they did in versions before 2.10.
40-
41-
To learn about setting up custom endpoint aliases for your deployments, check [Custom endpoint aliases](ece-regional-deployment-aliases.md).
42-
4343

deploy-manage/security/secure-your-elastic-cloud-enterprise-installation/manage-security-certificates.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,21 @@ In these instructions, we show you how you can download the security certificate
1616

1717
You can change the certificates for the following ECE components separately:
1818

19-
Cloud UI certificate
19+
**Cloud UI certificate**
2020
: Used to connect securely to the Cloud UI and to make RESTful API calls.
2121

22-
Proxy certificate
23-
: Used to connect securely to {{es}} clusters and {{kib}}. You should use a wildcard certificate rooted at the [cluster endpoint that you set](../../deploy/cloud-enterprise/change-endpoint-urls.md) (`*.example.com`, for example). A wildcard certificate is required, because the first label of the DNS address is distinct for {{es}} clusters and {{kib}} (`bc898abb421843918ebc31a513169a.example.com`, for example).
22+
**Proxy certificate**
23+
: Used to connect securely to {{es}} clusters and other components such as {{kib}}, etc.
2424

25-
If you wish to enable [custom endpoint aliases](../../deploy/cloud-enterprise/enable-custom-endpoint-aliases.md) in ECE 2.10 or later, also follow the directions for adding Subject Alternative Name (SAN) entries to support these aliases.
25+
{{ece}} highly recommend to use a wildcard certificate typically configured as a subdomain, at the [cluster endpoint that you set](../../deploy/cloud-enterprise/change-endpoint-urls.md) (`*.ece.mycompany.com`, for example).
2626

27-
::::{note}
28-
If you plan to deploy [Integration Servers](../../deploy/cloud-enterprise/manage-integrations-server.md), you must add two additional wildcard subdomains, `*.fleet.<your-domain>` and `*.apm.<your-domain>`, to the Subject Alternative Names (SANs) attached to the proxy wildcard certificate. Based on the previous example, your proxy certificates should end up with those three wildcards: `*.example.com`, `*.fleet.example.com`, and `*.apm.example.com`.
29-
::::
27+
If you wish to enable [custom endpoint aliases](../../deploy/cloud-enterprise/enable-custom-endpoint-aliases.md) in ECE 2.10 or later, also follow the directions for adding Subject Alternative Name (SAN) entries to support these aliases.
3028

29+
A wildcard DNS certificate is more performant, scalable, and operationally safe than a static SAN certificate. Review [Wildcard DNS record and certificates](./ece-wildcard-dns.md) for more guidance.
3130

3231
After the certificates have been installed, connecting securely to {{es}}, {{kib}}, and the Cloud UI or making secure RESTful API calls to ECE should not result in any security warnings or errors.
3332

34-
Adminconsole certificate
33+
**Adminconsole certificate**
3534
: This certificate facilitates a secure connection to an alternative API port, which can be used in rare scenarios where the UI is unavailable. We recommend using the same certificate as the one configured for the Cloud UI.
3635

3736

0 commit comments

Comments
 (0)