index.asciidoc 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. [[secure-cluster]]
  2. = Secure the {stack}
  3. [partintro]
  4. --
  5. The {stack} is comprised of many moving parts. There are the {es}
  6. nodes that form the cluster, plus {ls} instances, {kib} instances, {beats}
  7. agents, and clients all communicating with the cluster. To keep your cluster
  8. safe, adhere to the <<es-security-principles,{es} security principles>>.
  9. The first principle is to run {es} with security enabled. Configuring security
  10. can be complicated, so we made it easy to
  11. <<configuring-stack-security,start the {stack} with security enabled and configured>>.
  12. For any new clusters, just start {es} to automatically enable password protection,
  13. secure internode communication with Transport Layer Security (TLS), and encrypt
  14. connections between {es} and {kib}.
  15. If you have an existing, unsecured cluster (or prefer to manage security on your
  16. own), you can
  17. <<manually-configure-security,manually enable and configure security>> to secure
  18. {es} clusters and any clients that communicate with your clusters. You can also
  19. implement additional security measures, such as role-based access control, IP
  20. filtering, and auditing.
  21. Enabling security protects {es} clusters by:
  22. * <<preventing-unauthorized-access, Preventing unauthorized access>>
  23. with password protection, role-based access control, and IP filtering.
  24. * <<preserving-data-integrity, Preserving the integrity of your data>>
  25. with SSL/TLS encryption.
  26. * <<maintaining-audit-trail, Maintaining an audit trail>>
  27. so you know who's doing what to your cluster and the data it stores.
  28. TIP: If you plan to run {es} in a Federal Information Processing Standard (FIPS)
  29. 140-2 enabled JVM, see <<fips-140-compliance>>.
  30. [discrete]
  31. [[preventing-unauthorized-access]]
  32. == Preventing unauthorized access
  33. To prevent unauthorized access to your {es} cluster, you need a way to
  34. _authenticate_ users in order to validate that a user is who they claim to be. For
  35. example, making sure that only the person named _Kelsey Andorra_ can sign
  36. in as the user `kandorra`. The {es-security-features} provide a standalone
  37. authentication mechanism that enables you to quickly password-protect your
  38. cluster.
  39. If you're already using LDAP, Active Directory, or PKI to manage users in your
  40. organization, the {security-features} integrate with those systems to perform
  41. user authentication.
  42. In many cases, authenticating users isn't enough. You also need a way to
  43. control what data users can access and what tasks they can perform. By enabling
  44. the {es-security-features}, you can _authorize_ users by assigning access
  45. privileges to roles and assigning those roles to users. Using this role-based
  46. access control mechanism (RBAC), you can limit the user `kandorra` to only
  47. perform read operations on the `events` index restrict access to all other
  48. indices.
  49. The {security-features} also enable you to restrict the nodes and clients that
  50. can connect to the cluster based on <<ip-filtering,IP filters>>. You can
  51. block and allow specific IP addresses, subnets, or DNS domains to
  52. control network-level access to a cluster.
  53. See <<setting-up-authentication,User authentication>> and
  54. <<authorization,User authorization>>.
  55. [discrete]
  56. [[preserving-data-integrity]]
  57. == Preserving data integrity and confidentiality
  58. A critical part of security is keeping confidential data secured.
  59. {es} has built-in protections against accidental data loss and
  60. corruption. However, there's nothing to stop deliberate tampering or data
  61. interception. The {stack-security-features} use TLS to preserve the _integrity_
  62. of your data against tampering, while also providing _confidentiality_ by
  63. encrypting communications to, from, and within the cluster. For even greater
  64. protection, you can increase the <<ciphers,encryption strength>>.
  65. See <<configuring-stack-security,Configure security for the {stack}>>.
  66. [discrete]
  67. [[maintaining-audit-trail]]
  68. == Maintaining an audit trail
  69. Keeping a system secure takes vigilance. By using {stack-security-features} to
  70. maintain an audit trail, you can easily see who is accessing your cluster and
  71. what they're doing. You can configure the audit level, which accounts for the
  72. type of events that are logged. These events include failed authentication
  73. attempts, user access denied, node connection denied, and more. By analyzing
  74. access patterns and failed attempts to access your cluster, you can gain
  75. insights into attempted attacks and data breaches. Keeping an auditable log of
  76. the activity in your cluster can also help diagnose operational issues.
  77. See <<enable-audit-logging,Enable audit logging>>.
  78. --
  79. include::es-security-principles.asciidoc[]
  80. include::configuring-stack-security.asciidoc[]
  81. include::security-manual-configuration.asciidoc[]
  82. include::securing-communications/update-tls-certificates.asciidoc[]
  83. include::authentication/overview.asciidoc[]
  84. include::authorization/overview.asciidoc[]
  85. include::auditing/index.asciidoc[]
  86. include::using-ip-filtering.asciidoc[]
  87. include::ccs-clients-integrations/index.asciidoc[]
  88. include::operator-privileges/index.asciidoc[]
  89. include::troubleshooting.asciidoc[]
  90. include::limitations.asciidoc[]