Mitigation Strategy: Disable "Admin Party"
-
Mitigation Strategy: Disable "Admin Party"
-
Description:
- Edit CouchDB Configuration: Access the
local.ini
ordefault.ini
configuration file. - Modify
[admins]
Section: Remove or comment out any default usernames and passwords in the[admins]
section. Optionally, set up initial admin user credentials if needed using secure methods. - Restart CouchDB: Apply changes by restarting the CouchDB service.
- Edit CouchDB Configuration: Access the
-
List of Threats Mitigated:
- Unauthorized Administrative Access (High Severity): Prevents default, unauthenticated administrative access to CouchDB.
-
Impact:
- Unauthorized Administrative Access: High Risk Reduction
-
Currently Implemented:
- Yes, implemented in
couchdb.ini
within deployment scripts. Default admin credentials are removed.
- Yes, implemented in
-
Missing Implementation:
- N/A - Implemented across all environments.
Mitigation Strategy: Implement Role-Based Access Control (RBAC)
-
Mitigation Strategy: Implement Role-Based Access Control (RBAC)
-
Description:
- Define Roles: Determine necessary user roles and their required permissions within CouchDB (e.g., read-only, write access to specific databases).
- Configure CouchDB Security: Utilize CouchDB's security features (security objects,
validate_doc_update
in design documents) to define and enforce these roles. Manage roles via CouchDB API or tools. - Assign Roles to Users: Assign appropriate roles to CouchDB users, either directly or through external authentication integration.
- Enforce Permissions: Configure CouchDB security settings to actively enforce defined roles for data access and operations.
- Regular Review: Periodically review and update roles and permissions.
-
List of Threats Mitigated:
- Unauthorized Data Access (Medium to High Severity): Restricts data access to authorized users based on their roles.
- Privilege Escalation (Medium Severity): Limits users to their intended access levels.
- Data Breaches due to Insider Threats (Medium Severity): Reduces potential damage from compromised internal accounts by limiting access.
-
Impact:
- Unauthorized Data Access: High Risk Reduction
- Privilege Escalation: Medium Risk Reduction
- Data Breaches due to Insider Threats: Medium Risk Reduction
-
Currently Implemented:
- Partially implemented. Database-level RBAC using CouchDB security objects is in place in production.
-
Missing Implementation:
- Document-level RBAC using
validate_doc_update
functions is not fully implemented for fine-grained control within databases.
- Document-level RBAC using
Mitigation Strategy: Enforce HTTPS/TLS
-
Mitigation Strategy: Enforce HTTPS/TLS
-
Description:
- Obtain TLS Certificates: Acquire TLS/SSL certificates for the CouchDB server.
- Configure CouchDB TLS: Edit
local.ini
ordefault.ini
to enable TLS in the[ssl]
section, providing paths to certificate and key files. - Enable
httpsd
Listener: Ensure thehttpsd
listener is enabled in the[httpd]
section. - Redirect HTTP to HTTPS (Recommended): Configure redirection from HTTP to HTTPS, ideally via a reverse proxy.
- Verify Configuration: Confirm CouchDB serves requests over HTTPS and validate certificate details.
-
List of Threats Mitigated:
- Data in Transit Interception (High Severity): Encrypts communication to prevent eavesdropping.
- Man-in-the-Middle (MITM) Attacks (High Severity): Protects against interception and modification of data in transit.
- Credential Theft (Medium Severity): Reduces risk of credentials being stolen during transmission.
-
Impact:
- Data in Transit Interception: High Risk Reduction
- Man-in-the-Middle (MITM) Attacks: High Risk Reduction
- Credential Theft: Medium Risk Reduction
-
Currently Implemented:
- Yes, HTTPS/TLS is enforced in production and staging using CA-signed certificates and HTTP redirection.
-
Missing Implementation:
- TLS enforcement is inconsistent in development environments. Self-signed certificates should be used at minimum in development.