@@ -26,65 +26,65 @@ NOTE: You do not need to enable the {es} {security-features} for this type of en
2626When you obtain a server certificate, you must set its subject alternative name (SAN) correctly to ensure that modern web browsers with
2727hostname verification will trust it. You can set one or more SANs to the {kib} server's fully-qualified domain name (FQDN), hostname, or IP
2828address. When choosing the SAN, you should pick whichever attribute you will be using to connect to {kib} in your browser, which is likely
29- the FQDN.
29+ the FQDN in a production environment .
3030
31-
32- You may choose to generate a certificate signing request (CSR) and private key using the {ref}/certutil.html[`elasticsearch-certutil`] tool.
31+ You may choose to generate a signed certificate and private key using the {ref}/certutil.html[`elasticsearch-certutil`] tool.
3332For example:
3433
3534[source,sh]
3635--------------------------------------------------------------------------------
37- bin/elasticsearch-certutil csr -name kibana-server -dns some-website.com,www.some-website.com
36+ bin/elasticsearch-certutil cert -name kibana-server -dns localhost,127.0.0.1
3837--------------------------------------------------------------------------------
3938
40- This will produce a ZIP archive named `kibana-server.zip`. Extract that archive to obtain the PEM-formatted CSR (`kibana-server.csr`) and
41- unencrypted private key (`kibana-server.key`). In this example, the CSR has a common name (CN) of `kibana-server`, a SAN of
42- `some-website.com`, and another SAN of `www.some-website.com`.
39+ This will produce a PKCS#12 file named `kibana-server.p12`, which contains the server certificate and private key.
4340
44- NOTE: You will need to use a certificate authority (CA) to sign your CSR to obtain your server certificate. This certificate's signature
45- will be verified by web browsers that are configured to trust the CA.
41+ NOTE: In this example, the server certificate is signed by a locally-generated certificate authority (CA). This is not suitable for a
42+ production environment, and it will result in warnings in your web browser until you configure your browser to trust the certificate. Steps
43+ to configure certificate trust vary depending upon your browser and operating system. If you want to obtain a server certificate for a
44+ production environment, you can instead generate a certificate signing request (CSR) with `elasticsearch-certutil` using
45+ {ref}/certutil.html#certutil-csr[CSR mode].
4646--
4747
4848. Configure {kib} to access the server certificate and private key.
4949
50- .. If your server certificate and private key are in PEM format :
50+ .. If your server certificate and private key are contained in a PKCS#12 file :
5151+
5252--
53- Specify your server certificate and private key in `kibana.yml`:
53+ Specify your PKCS#12 file in `kibana.yml`:
5454
5555[source,yaml]
5656--------------------------------------------------------------------------------
57- server.ssl.certificate: "/path/to/kibana-server.crt"
58- server.ssl.key: "/path/to/kibana-server.key"
57+ server.ssl.keystore.path: "/path/to/kibana-server.p12"
5958--------------------------------------------------------------------------------
6059
61- If your private key is encrypted, add the decryption password to your <<secure-settings,{kib} keystore>>:
60+ If your PKCS#12 file is encrypted, add the decryption password to your <<secure-settings,{kib} keystore>>:
6261
6362[source,yaml]
6463--------------------------------------------------------------------------------
65- bin/kibana-keystore add server.ssl.keyPassphrase
64+ bin/kibana-keystore add server.ssl.keystore.password
6665--------------------------------------------------------------------------------
66+
67+ NOTE: If you used `elasticsearch-certutil` to generate a PKCS#12 file and you did not specify a password, the file is encrypted, and you
68+ need to set `server.ssl.keystore.password` to an empty string.
6769--
6870
69- .. Otherwise, if your server certificate and private key are contained in a PKCS#12 file :
71+ .. Otherwise, if your server certificate and private key are in PEM format :
7072+
7173--
72- Specify your PKCS#12 file in `kibana.yml`:
74+ Specify your server certificate and private key in `kibana.yml`:
7375
7476[source,yaml]
7577--------------------------------------------------------------------------------
76- server.ssl.keystore.path: "/path/to/kibana-server.p12"
78+ server.ssl.certificate: "/path/to/kibana-server.crt"
79+ server.ssl.key: "/path/to/kibana-server.key"
7780--------------------------------------------------------------------------------
7881
79- If your PKCS#12 file is encrypted, add the decryption password to your <<secure-settings,{kib} keystore>>:
82+ If your private key is encrypted, add the decryption password to your <<secure-settings,{kib} keystore>>:
8083
8184[source,yaml]
8285--------------------------------------------------------------------------------
83- bin/kibana-keystore add server.ssl.keystore.password
86+ bin/kibana-keystore add server.ssl.keyPassphrase
8487--------------------------------------------------------------------------------
85-
86- TIP: If your PKCS#12 file isn't protected with a password, depending on how it was generated, you may need to set
87- `server.ssl.keystore.password` to an empty string.
8888--
8989
9090+
@@ -103,7 +103,7 @@ server.ssl.enabled: true
103103
104104. Restart {kib}.
105105
106- After making these changes, you must always access {kib} via HTTPS. For example, https://<your_kibana_host>.com .
106+ After making these changes, you must always access {kib} via HTTPS. For example, ` https://localhost:5601` .
107107
108108[[configuring-tls-kib-es]]
109109==== Encrypt traffic between {kib} and {es}
@@ -166,8 +166,8 @@ If your PKCS#12 file is encrypted, add the decryption password to your <<secure-
166166bin/kibana-keystore add elasticsearch.ssl.truststore.password
167167--------------------------------------------------------------------------------
168168
169- TIP : If your PKCS#12 file isn't protected with a password, depending on how it was generated, you may need to set
170- `elasticsearch .ssl.truststore.password` to an empty string.
169+ NOTE : If you used `elasticsearch-certutil` to generate a PKCS#12 file and you did not specify a password, the file is encrypted, and you
170+ need to set `server .ssl.truststore.password` to an empty string.
171171--
172172
173173+
0 commit comments