security-manual-configuration.asciidoc 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. [[manually-configure-security]]
  2. == Manually configure security
  3. Security needs vary depending on whether you're developing locally on your
  4. laptop or securing all communications in a production environment. Regardless
  5. of where you're deploying the {stack} ("ELK"), running a secure cluster is
  6. incredibly important to protect your data. That's why security is
  7. <<configuring-stack-security,enabled and configured by default>> in {es} 8.0
  8. and later.
  9. If you want to enable security on an existing, unsecured cluster, use your own
  10. Certificate Authority (CA), or would rather manually configure security, the
  11. following scenarios provide steps for configuring TLS on the transport layer,
  12. plus securing HTTPS traffic if you want it.
  13. If you configure security manually _before_ starting your {es} nodes, the
  14. auto-configuration process will respect your security configuration. You can
  15. adjust your TLS configuration at any time, such as
  16. <<update-node-certs,updating node certificates>>.
  17. image::images/elastic-security-overview.png[Elastic Security layers]
  18. [discrete]
  19. [[security-minimal-overview]]
  20. === Minimal security ({es} Development)
  21. If you've been working with {es} and want to enable security on your existing,
  22. unsecured cluster, start here. You'll set passwords for the built-in users to prevent
  23. unauthorized access to your local cluster, and also configure password
  24. authentication for {kib}.
  25. // tag::minimal-security-note[]
  26. IMPORTANT: The minimal security scenario is not sufficient for
  27. <<dev-vs-prod-mode,production mode>> clusters. If your cluster has multiple
  28. nodes, you must enable minimal security and then
  29. <<security-basic-setup,configure Transport Layer Security (TLS)>> between
  30. nodes.
  31. // end::minimal-security-note[]
  32. <<security-minimal-setup,Set up minimal security>>
  33. [discrete]
  34. [[security-basic-overview]]
  35. === Basic security ({es} + {kib})
  36. This scenario configures TLS for communication between
  37. nodes. This security layer requires that nodes verify security certificates,
  38. which prevents unauthorized nodes from joining your {es} cluster.
  39. Your external HTTP traffic between {es} and {kib} won't be encrypted, but
  40. internode communication will be secured.
  41. <<security-basic-setup,Set up basic security>>
  42. [discrete]
  43. [[security-basic-https-overview]]
  44. === Basic security plus secured HTTPS traffic ({stack})
  45. This scenario builds on the one for basic security and secures all HTTP
  46. traffic with TLS. In addition to configuring TLS on the transport interface of
  47. your {es} cluster, you configure TLS on the HTTP interface for both
  48. {es} and {kib}.
  49. NOTE: If you need mutual (bidirectional) TLS on the HTTP layer, then you'll
  50. need to configure mutual authenticated encryption.
  51. You then configure {kib} and Beats to communicate with
  52. {es} using TLS so that all communications are encrypted. This level
  53. of security is strong, and ensures that any communications in and out of your
  54. cluster are secure.
  55. <<security-basic-setup-https,Set up basic security plus HTTPS traffic>>
  56. include::securing-communications/security-minimal-setup.asciidoc[]
  57. include::securing-communications/security-basic-setup.asciidoc[]
  58. include::securing-communications/security-basic-setup-https.asciidoc[]
  59. include::securing-communications/change-passwords-native-users.asciidoc[]
  60. include::securing-communications/enabling-cipher-suites.asciidoc[]
  61. include::securing-communications/tls-versions-jdk.asciidoc[]
  62. include::reference/files.asciidoc[]
  63. include::fips-140-compliance.asciidoc[]