ssl-settings.asciidoc 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. ==== {component} TLS/SSL settings
  2. You can configure the following TLS/SSL settings.
  3. ifdef::server[]
  4. +{ssl-prefix}.ssl.enabled+::
  5. (<<static-cluster-setting,Static>>)
  6. Used to enable or disable TLS/SSL on the {ssl-layer}. The default is `false`.
  7. endif::server[]
  8. +{ssl-prefix}.ssl.supported_protocols+::
  9. (<<static-cluster-setting,Static>>)
  10. include::{es-repo-dir}/settings/common-defs.asciidoc[tag=ssl-supported-protocols]
  11. ifdef::server[]
  12. +{ssl-prefix}.ssl.client_authentication+::
  13. (<<static-cluster-setting,Static>>)
  14. Controls the server's behavior in regard to requesting a certificate
  15. from client connections. Valid values are `required`, `optional`, and `none`.
  16. `required` forces a client to present a certificate, while `optional`
  17. requests a client certificate but the client is not required to present one.
  18. ifndef::client-auth-default[]
  19. Defaults to `required`.
  20. endif::client-auth-default[]
  21. ifdef::client-auth-default[]
  22. Defaults to +{client-auth-default}+.
  23. endif::client-auth-default[]
  24. endif::server[]
  25. +{ssl-prefix}.ssl.verification_mode+::
  26. (<<static-cluster-setting,Static>>)
  27. ifndef::verifies[]
  28. The SSL settings in `pass:a[{ssl-prefix}.ssl]` control a _server context_ for TLS, which
  29. defines the settings for the TLS connection. The use of `verification_mode` in
  30. a TLS _server_ is discouraged.
  31. endif::verifies[]
  32. Defines how to verify the certificates presented by another party in the TLS
  33. connection:
  34. include::{es-repo-dir}/settings/common-defs.asciidoc[tag=ssl-verification-mode-values]
  35. +{ssl-prefix}.ssl.cipher_suites+::
  36. (<<static-cluster-setting,Static>>)
  37. include::{es-repo-dir}/settings/common-defs.asciidoc[tag=ssl-cipher-suites-values]
  38. [#{ssl-context}-tls-ssl-key-trusted-certificate-settings]
  39. ===== {component} TLS/SSL key and trusted certificate settings
  40. The following settings are used to specify a private key, certificate, and the
  41. trusted certificates that should be used when communicating over an SSL/TLS connection.
  42. ifdef::server[]
  43. A private key and certificate must be configured.
  44. endif::server[]
  45. ifndef::server[]
  46. A private key and certificate are optional and would be used if the server requires client authentication for PKI
  47. authentication.
  48. endif::server[]
  49. ===== PEM encoded files
  50. When using PEM encoded files, use the following settings:
  51. +{ssl-prefix}.ssl.key+::
  52. (<<static-cluster-setting,Static>>)
  53. include::{es-repo-dir}/settings/common-defs.asciidoc[tag=ssl-key-pem]
  54. +{ssl-prefix}.ssl.key_passphrase+::
  55. (<<static-cluster-setting,Static>>)
  56. include::{es-repo-dir}/settings/common-defs.asciidoc[tag=ssl-key-passphrase]
  57. +{ssl-prefix}.ssl.secure_key_passphrase+::
  58. (<<secure-settings,Secure>>)
  59. include::{es-repo-dir}/settings/common-defs.asciidoc[tag=ssl-secure-key-passphrase]
  60. +{ssl-prefix}.ssl.certificate+::
  61. (<<static-cluster-setting,Static>>)
  62. include::{es-repo-dir}/settings/common-defs.asciidoc[tag=ssl-certificate]
  63. +{ssl-prefix}.ssl.certificate_authorities+::
  64. (<<static-cluster-setting,Static>>)
  65. include::{es-repo-dir}/settings/common-defs.asciidoc[tag=ssl-certificate-authorities]
  66. ===== Java keystore files
  67. When using Java keystore files (JKS), which contain the private key, certificate
  68. and certificates that should be trusted, use the following settings:
  69. +{ssl-prefix}.ssl.keystore.path+::
  70. (<<static-cluster-setting,Static>>)
  71. include::{es-repo-dir}/settings/common-defs.asciidoc[tag=ssl-keystore-path]
  72. +{ssl-prefix}.ssl.keystore.password+::
  73. (<<static-cluster-setting,Static>>)
  74. include::{es-repo-dir}/settings/common-defs.asciidoc[tag=ssl-keystore-password]
  75. +{ssl-prefix}.ssl.keystore.secure_password+::
  76. (<<secure-settings,Secure>>)
  77. include::{es-repo-dir}/settings/common-defs.asciidoc[tag=ssl-keystore-secure-password]
  78. +{ssl-prefix}.ssl.keystore.key_password+::
  79. (<<static-cluster-setting,Static>>)
  80. include::{es-repo-dir}/settings/common-defs.asciidoc[tag=ssl-keystore-key-password]
  81. +{ssl-prefix}.ssl.keystore.secure_key_password+::
  82. (<<secure-settings,Secure>>)
  83. include::{es-repo-dir}/settings/common-defs.asciidoc[tag=ssl-keystore-secure-key-password]
  84. +{ssl-prefix}.ssl.truststore.path+::
  85. (<<static-cluster-setting,Static>>)
  86. include::{es-repo-dir}/settings/common-defs.asciidoc[tag=ssl-truststore-path]
  87. +{ssl-prefix}.ssl.truststore.password+::
  88. (<<static-cluster-setting,Static>>)
  89. include::{es-repo-dir}/settings/common-defs.asciidoc[tag=ssl-truststore-password]
  90. +{ssl-prefix}.ssl.truststore.secure_password+::
  91. (<<secure-settings,Secure>>)
  92. include::{es-repo-dir}/settings/common-defs.asciidoc[tag=ssl-truststore-secure-password]
  93. [#{ssl-context}-pkcs12-files]
  94. ===== PKCS#12 files
  95. {es} can be configured to use PKCS#12 container files (`.p12` or `.pfx` files)
  96. that contain the private key, certificate and certificates that should be trusted.
  97. PKCS#12 files are configured in the same way as Java keystore files:
  98. +{ssl-prefix}.ssl.keystore.path+::
  99. (<<static-cluster-setting,Static>>)
  100. include::{es-repo-dir}/settings/common-defs.asciidoc[tag=ssl-keystore-path]
  101. +{ssl-prefix}.ssl.keystore.type+::
  102. (<<static-cluster-setting,Static>>)
  103. include::{es-repo-dir}/settings/common-defs.asciidoc[tag=ssl-keystore-type-pkcs12]
  104. +{ssl-prefix}.ssl.keystore.password+::
  105. (<<static-cluster-setting,Static>>)
  106. include::{es-repo-dir}/settings/common-defs.asciidoc[tag=ssl-keystore-password]
  107. +{ssl-prefix}.ssl.keystore.secure_password+::
  108. (<<secure-settings,Secure>>)
  109. include::{es-repo-dir}/settings/common-defs.asciidoc[tag=ssl-keystore-secure-password]
  110. +{ssl-prefix}.ssl.keystore.key_password+::
  111. (<<static-cluster-setting,Static>>)
  112. include::{es-repo-dir}/settings/common-defs.asciidoc[tag=ssl-keystore-key-password]
  113. +{ssl-prefix}.ssl.keystore.secure_key_password+::
  114. (<<secure-settings,Secure>>)
  115. include::{es-repo-dir}/settings/common-defs.asciidoc[tag=ssl-keystore-secure-key-password]
  116. +{ssl-prefix}.ssl.truststore.path+::
  117. (<<static-cluster-setting,Static>>)
  118. include::{es-repo-dir}/settings/common-defs.asciidoc[tag=ssl-truststore-path]
  119. +{ssl-prefix}.ssl.truststore.type+::
  120. (<<static-cluster-setting,Static>>)
  121. Set this to `PKCS12` to indicate that the truststore is a PKCS#12 file.
  122. //TBD:Should this use the ssl-truststore-type definition and default values?
  123. +{ssl-prefix}.ssl.truststore.password+::
  124. (<<static-cluster-setting,Static>>)
  125. include::{es-repo-dir}/settings/common-defs.asciidoc[tag=ssl-truststore-password]
  126. +{ssl-prefix}.ssl.truststore.secure_password+::
  127. (<<secure-settings,Secure>>)
  128. include::{es-repo-dir}/settings/common-defs.asciidoc[tag=ssl-truststore-secure-password]