HBASE-30130 Add a security-model section to the website#8170
HBASE-30130 Add a security-model section to the website#8170apurtell wants to merge 2 commits intoapache:masterfrom
Conversation
raboof
left a comment
There was a problem hiding this comment.
looks good, added a few comments!
|
|
||
| ## Reporting Security Vulnerabilities | ||
|
|
||
| To report an undisclosed, sensitive security vulnerability in Apache HBase, please preferentially send your report to the private mailing list [private@hbase.apache.org](mailto:private@hbase.apache.org). You may also report security vulnerabilities to the Apache Software Foundation's security team privately via email at [security@apache.org](mailto:security@apache.org). Please do not use JIRA or any public channel for security reports. |
There was a problem hiding this comment.
Please do not ask people to report vulnerabilities to private@hbase.apache.org, but ask them to email security@apache.org.
If you're ready to receive reports 'directly', you can request a project security list (https://security.apache.org/resources/#project-specific-security-lists)
|
|
||
| ## What Is Considered a Vulnerability | ||
|
|
||
| The following categories of issues are considered valid security vulnerabilities and should be reported to [private@hbase.apache.org](mailto:private@hbase.apache.org) or [security@apache.org](mailto:security.apache.org): |
| - **Authorization bypass**: An authenticated user performing operations beyond their granted ACL permissions. | ||
| - **Privilege escalation**: An authenticated user with limited permissions gaining administrative or superuser capabilities. |
| - **Access requiring operator-level cluster configuration changes**: Issues that require modifying `hbase-site.xml` or other server configuration files require host-level access, which is outside the HBase security boundary. | ||
| - **Information disclosure via administrative interfaces on trusted networks**: Version information, configuration details, or metrics visible in the web UIs when accessed from within the trusted network. | ||
| - **Exposure of services on untrusted networks**: Placing HBase services directly on the public internet without firewalls or VPN is an operator misconfiguration, not a vulnerability. | ||
|
|
There was a problem hiding this comment.
Some more things to put in either of the above lists:
- Are logs intended to be safe to expose to users with read-only authorization, or may they contain credentials?
- Is it a problem when an unauthenticated user can easily determine the deployed version?
- Is it OK if an attacker can discover what usernames are valid for the system?
|
Looks good to me from the code perspective 👍 |
|
|
||
| Information exposed through the web UIs, such as software version, configuration properties, table metadata, and operational metrics, is not considered sensitive within HBase's security model because these interfaces are expected to be accessible only within the trusted network perimeter. | ||
|
|
||
| The web UI can optionally be configured with SPNEGO authentication. See [Secure Access to HBase Web UIs](/docs/security/web-ui). |
There was a problem hiding this comment.
We also support LDAP for Web UI.
There was a problem hiding this comment.
| - **Unauthenticated access to unconfigured gateways**: The REST and Thrift gateways operating without authentication when authentication has not been configured. | ||
| - **Administrative actions by authorized administrators**: Superusers and global administrators can, by design, perform any operation in the cluster. This includes loading coprocessors, modifying table schemas, and accessing all data. | ||
| - **Access requiring operator-level cluster configuration changes**: Issues that require modifying `hbase-site.xml` or other server configuration files require host-level access, which is outside the HBase security boundary. | ||
| - **Information disclosure via administrative interfaces on trusted networks**: Version information, configuration details, or metrics visible in the web UIs when accessed from within the trusted network. |
There was a problem hiding this comment.
We can also put logs/conf/metrics and all privileged servlets in general, behind auth by configuring admins.
Refer https://hbase.apache.org/book.html#_defining_administrators_of_the_web_ui_with_ldap. We can add same for SPNEGO its missing today though
There was a problem hiding this comment.
There was a problem hiding this comment.
ALright even SPNEGO supports https://hbase.apache.org/book.html#_defining_administrators_of_the_web_ui_with_spnego
|
Thank you for the recommendations. I think I've incorporated them all. |
| Information exposed through the web UIs, such as software version, configuration properties, table metadata, and operational metrics, is not considered sensitive within HBase's security model because these interfaces are expected to be accessible only within the trusted network perimeter. | ||
|
|
||
| The web UI can optionally be configured with [SPNEGO](https://hbase.apache.org/book.html#hbase.secure.spnego) or [LDAP](https://hbase.apache.org/book.html#hbase.secure.ldap.ui) authentication. Additionally, privileged servlets — including logs, server configuration, metrics, and other administrative endpoints — can be restricted to designated administrators. Both SPNEGO and LDAP support defining administrators who have exclusive access to these servlets. See [Defining Administrators with SPNEGO](https://hbase.apache.org/book.html#_defining_administrators_of_the_web_ui_with_spnego) and [Defining Administrators with LDAP](https://hbase.apache.org/book.html#_defining_administrators_of_the_web_ui_with_ldap) for details. | ||
|
|
There was a problem hiding this comment.
before we commit: maybe we should use new book, sorry i shared old book links.
Add a "Security Model" page to the Apache HBase website, following the ASF Security Team's recommendation for projects to document their security assumptions.
The page defines HBase's trust boundaries, explains that HBase's default unauthenticated configuration is intended only for development and testing, and clarifies security expectations for gateway services, coprocessors, web UIs, and transport encryption. It enumerates what constitutes a valid vulnerability versus what does not, providing clear guidance for operators, security researchers, and the ASF Security Team when triaging incoming reports.