Encryption
Couchbase Server uses encryption, to protect data.
Encryption in Couchbase Server
By means of encryption, data is encoded such that it is non-readable, other than by authorized parties who possess the appropriate means of decryption. Prior to decryption, therefore, encrypted data can be securely saved or transmitted. This ensures the privacy of user-data, and the integrity of servers and their clients.
Couchbase Server provides extensive support for data encryption and decryption. Multiple areas of the system are affected: therefore, essential information is distributed throughout the documentation set.
Areas of Encryption
The principal areas of Couchbase Server encryption-support are listed below, along with links to further information.
Encryption on the Wire
This allows data to pass in encrypted form between nodes, between clusters, and between a cluster and its clients.
-
Node-to-Node Encryption. Network traffic between the individual nodes of a Couchbase-Server cluster can be encrypted, in order to optimize cluster-internal security. See Node-to-Node Encryption.
-
On-the-Wire Security Configuration. To support secure communications between nodes, clusters, and clients, Couchbase Server provides interfaces for the configuration of TLS and supportive cipher-suites; of cluster-internal encryption-levels; and of secure UI-access. See On-the-Wire Security for a conceptual overview, and Manage On-the-Wire Security for step-by-step configuration-instructions.
-
Secure Console Access. Administrators can connect securely to Couchbase Web Console. Non-secure access can be disabled, for extra security. See Manage Console Access.
-
X.509 Certificates. These support encrypted communications between nodes, between clusters, and between a cluster and its clients.
-
Certificates provides an overview of certificates and their management.
-
Configure Server Certificates explains the practical steps towards configuring certificates for Couchbase Server. This page also provides information on working with different versions of SSL/TLS, and on supported ciphers.
-
Configure Client Certificates describes how to create a certificate to allow a client’s secure access to Couchbase Server.
-
Enable Client-Certificate Handling explains how to configure Couchbase Server to accept communications from clients that wish to authenticate and communicate securely by means of certificates.
-
Certificate Rotation provides steps whereby server certificates can be rotated periodically, to ensure optimal security.
-
Certificate Error Handling explains how to handle errors related to certificate-based secure communication.
-
Enable Fully Secure Replications describes how certificates can be used to ensure that data is replicated securely between clusters.
-
Certificate Management API lists the REST API methods and URIs available for certificate management.
-
The ssl-manage CLI command supports management of SSL certificates.
-
-
Secure Ports. Services are available on secure ports. See Couchbase Server Ports.
-
General Network Security. Best practices for ensuring the security of the network are provided in Network Security Recommendations.
Encryption at Rest
Encryption at Rest (meaning, on disk or other storage-device) allows passwords and data in files and directories to be encrypted.
-
Data in Files and Directories. Programs are available for the encryption of data in files and directories. See Securing On-Disk Data.
-
System Secrets. Passwords, certificates, and other items essential to Couchbase-Server security can be written to disk in encrypted format. See Manage System Secrets.
Encryption in Applications
-
Field Level Encryption. This allows fields within a document to be securely encrypted by the SDK, to support FIPS-140-2 compliance. See Field Level Encryption, for an overview.
-
Field Level Encryption from the Java SDK. Provides directions for configuring encrypted field-level communication with Couchbase Server. See Field Level Encryption from the Java SDK.