Why hardening the Ceph Dashboard matters for production clusters
Hardening the Ceph Dashboard means reducing what someone can do with the cluster's web management interface if they reach it, guess a password, or act with more privilege than their job requires. It is needed as soon as a production cluster has a dashboard that is reachable from more than the administrators' management network, or that has accounts with broad rights and no documented review. The dashboard is a privileged management surface over the cluster, so a compromise of it can change how the cluster is configured and operated, not just view its status.
A storage team in this position usually finds that the dashboard was enabled during bootstrap or early operations and was never reviewed. The work covers five areas: role assignment for each account, the password policy and lockout behavior, API audit logging, single sign-on where the organization already runs an identity provider, and network placement so the dashboard is only reachable from trusted networks. Each area has settings that the Ceph Dashboard documentation describes, and the right values depend on how your organization manages accounts and networks. Before changing anything, confirm which dashboard endpoints are exposed, which users hold administrative roles, and which logs you can already retain.
DeployOpen plans and implements dashboard hardening inside your own infrastructure, with the scope, deliverables and timeline agreed in writing before work starts. The starting point is an inventory of accounts, roles, network paths and current settings, followed by a change plan that your storage and security teams can review. Your team keeps ownership of the cluster and the decisions about who should have access, and the outcome is a documented configuration that can be verified and maintained.
Which hardening controls fit which environment
Local dashboard accounts are the baseline option and work on any cluster where the Dashboard is enabled. They fit small or single-team clusters, lab and test environments, and sites where no central identity provider can reach the Ceph management network. Access is controlled by assigning each account a predefined dashboard role, so the design question is which people need read-only visibility and which need to change configuration.
- Role assignment: Give each person the least role that covers their task, and avoid sharing one administrator account across the team.
- Password policy and lockout: Set the dashboard password rules and lockout behavior before onboarding users, and confirm the exact settings for your release.
- Account lifecycle: Document who creates, changes and removes local accounts, because these accounts sit outside your directory and offboarding processes.
- Audit trail: Plan API audit logging so that actions taken under each account can be traced back to a person.
- Cephadm dependency: Local users need no extra services, but confirm the dashboard options and role names for your Ceph release in the dashboard documentation.
Before you rely on local accounts, check how your release handles password policy and lockout and whether your audit tooling records the account name for each API call.
The Ceph Dashboard supports single sign-on through SAML 2.0. This fits organizations that already run a SAML identity provider and want dashboard access governed by the same groups, offboarding and multi-factor policies as other internal applications. It is usually the first choice for sites where local accounts would create a second identity store to manage.
- Identity provider readiness: Confirm that your IdP can issue assertions the dashboard accepts, and that group or attribute claims map to dashboard roles.
- Role mapping: Decide which IdP groups map to read-only, administrator and other dashboard roles before go-live.
- Break-glass access: Keep a documented fallback for the case when the IdP is unavailable, since a SAML-only design can lock out the whole team.
- Network reachability: The dashboard host must reach the IdP metadata and sign-in endpoints, and the IdP must reach the dashboard's assertion consumer address.
- Release and configuration: Confirm the SAML setup steps and supported options for your Ceph release, because they vary between versions.
Before committing to SAML, test a sign-in with a non-administrator account and confirm that role mapping produces the access you expect.
OAuth2 sign-in for the dashboard depends on the cephadm-managed Management Gateway and OAuth2 Proxy services. It fits clusters that are deployed with cephadm, where your organization wants OAuth2 or OpenID Connect sign-in in front of the dashboard. Because the gateway and proxy become part of the access path, this option adds components that must be deployed, patched and monitored alongside the cluster.
- Cephadm requirement: Confirm that the Management Gateway and OAuth2 Proxy services are available in your release and deployed through cephadm. Clusters managed another way will not have these services.
- Exposure of the gateway: The gateway becomes the entry point to the dashboard, so limit which networks can reach it and treat it as a security-sensitive service.
- Identity provider configuration: Register the client, redirect addresses and token settings with your OAuth2 or OIDC provider, and check the scopes the dashboard requests.
- Patching scope: Add the gateway and proxy images to your security update process, not only the Ceph daemons.
- Support check: Ask the Ceph documentation for your release, or your vendor, to confirm OAuth2 support before planning the design.
If support for these services is not confirmed for your release, plan SAML 2.0 or local accounts instead.
Network restriction limits who can reach the dashboard at all, regardless of the account type. It fits air-gapped sites, segmented management networks, and clusters where the dashboard should only be reached from administrator workstations or a jump host. Restriction works alongside authentication, not as a replacement for it, so most sites use it with one of the sign-in options above.
- Management network placement: Put dashboard endpoints on a management network that is separate from client and replication traffic.
- Access sources: Allow only named administrator subnets, jump hosts or bastions, and document each rule with its owner.
- Air-gapped sites: Plan how updates, container images and documentation are delivered without internet access, since dashboard and gateway components must still be patched.
- Host firewall and load balancing: Apply host-level filtering on every node that serves the dashboard, and check how any load balancer or proxy in front of it forwards client addresses.
- Verification: Test from an allowed and a disallowed network segment, and record the results as evidence.
Before finalizing the design, confirm with your network team which addresses the dashboard must reach and which must be blocked, and check the port and endpoint details in the dashboard documentation for your release.
How to harden the dashboard step by step
This sequence narrows who can reach the Ceph Dashboard, what each user can change, how logins are protected, and where administrative activity is recorded. Each step closes with a check you can run before moving on.
Inventory dashboard users and their reasons for access
Before changing anything, list every dashboard account, including local users, service accounts and any shared logins, and record the job each person needs the dashboard for. Ask the platform team to confirm who currently holds administrative rights and who only views health or capacity. The output is a short table of user, purpose, required actions and an owner for each account. The step is done when every account has a named owner and a stated purpose, and any account without either is flagged for removal.
Assign the narrowest built-in role to each user
Map each account from the inventory to the least-privileged built-in dashboard role that covers its job, most often read-only for monitoring and administrator only for the few people who change cluster configuration. Confirm the role names and the commands that assign them in the documentation for your exact release, since role handling has changed across versions. Remove the default administrator from accounts that do not need it. The check: sign in as a read-only user and confirm that configuration changes are refused, then confirm the same change succeeds for an administrator account.
Set and verify the password policy and lockout
Configure the dashboard password policy so that passwords meet your organization's standard, and confirm the lockout behavior after repeated failed attempts using the setting names in the release you run. Test the policy with a non-production account first, since a rule change can lock out administrators if applied without a fallback. Record the chosen values in your configuration management system. The check: attempt a password that breaks each rule and confirm it is rejected, then trigger failed logins on a test account and confirm the lockout applies as documented.
Enable API audit logging and route the entries
Turn on audit logging for dashboard API requests, then confirm the setting name and log destination for your release. Route the log entries to the central logging system your security team already monitors, with retention that matches your policy. Ask the platform team which fields the entries contain so the security team can build searches on user, source address and action. The check: perform one configuration change and one read as a test user, then confirm both appear in the central log with the correct user identity. Also trigger a failed login and confirm it is recorded.
Configure single sign-on if central identity is required
If your organization requires dashboard sign-in through a central identity provider, choose between SAML 2.0 and OAuth2 based on your deployment. The OAuth2 option depends on cephadm running the Management Gateway and OAuth2 Proxy services, so confirm those services are present before planning that path. Keep at least one break-glass local administrator, stored under documented custody, so that an identity outage does not lock out cluster operations. Map identity provider groups to the dashboard roles you assigned earlier. The check: sign in through the identity provider as each test user and confirm each one receives only the role their group grants.
Restrict the listening address and network path
Bind the dashboard only to the management network or to the address your administrators use, and confirm the configuration key that controls the listening address and port for your release. Place the dashboard behind the access path your organization approves, such as a jump host or a reverse proxy with TLS, and block direct access from user or untrusted networks at the firewall. Keep monitor and storage traffic on their own networks, as the Ceph hardware guidance describes network separation for the cluster. The check: from an untrusted network segment, confirm the dashboard port is unreachable, and from the approved administrative network, confirm it loads over the intended path.
Confirm the configuration and record the baseline
Review every setting changed in the previous steps against the configuration exported from the cluster, and confirm the exact keys and commands in the documentation for the release you run. Store the final configuration, role assignments and log routing in your change record, and schedule a periodic review of user access. Ask your DeployOpen or internal team to repeat the role and lockout checks after every Ceph upgrade, because defaults and key names can change. The output is a signed baseline that an auditor or colleague can compare against later.
Where the dashboard sits in the trust boundary
The Ceph Dashboard is a manager module, so it runs inside the active ceph-mgr daemon and talks to the cluster through the same management interfaces that operators and automation use. That placement is the reason its trust boundary matters: a person who can log in to the dashboard is not limited to viewing a status page. Depending on the role granted, that session can change pool settings, manage RBD images and gateways, and alter configuration. Before you harden anything else, map four things: the browsers and users that reach the dashboard, the identity provider behind any single sign-on design, the networks that can reach the dashboard port, and the cluster functions each role can call.
Treat a compromised dashboard account as a path into cluster management, not as a read-only incident. An attacker with a valid session, or with a stolen password for a privileged role, can use the dashboard's own features to reach the functions that the role permits, and the blast radius follows the role's permissions. For that reason, the first decision is which people hold administrative roles at all. The second is where the login path leads: if single sign-on is used, the security of the identity provider and its group mappings becomes part of the dashboard's boundary, so a weak or loosely governed provider weakens the cluster too. Confirm the exact SAML 2.0 or OAuth2 options your cephadm release supports in the Ceph Dashboard documentation before you design around them.
Finally, decide which networks may reach the dashboard and keep that list short. The dashboard should sit on a management network that administrators reach through controlled paths, not on the client or public network where application hosts and untrusted segments can open connections. Write down who may reach the port, from which source ranges, and through which proxy or gateway, then test that the restriction holds from outside the approved networks. Record the answers in your design document, because every later control in this topic, from roles to audit logging, assumes that the boundary is where you said it is.
Security and operational risks to plan for
The Ceph Dashboard is a management plane with broad reach over the cluster, so a weakness in one place can affect the whole storage estate. The six risks below connect account design, login protection, network placement, audit visibility and patching, and each card names the habit that keeps its control working after handover.
Over-privileged dashboard accounts
Dashboard roles decide who can change pools, OSD state, users and configuration. Accounts often accumulate administrator rights because it is faster than assigning the right role. Review every account against the job it performs, keep most operators in read-only or narrowly scoped roles, and remove accounts for people who have changed teams. Ask your DeployOpen team to map each operator group to a role during design, then repeat that review each quarter with the cluster owner.
Weak or unmanaged local passwords
Local dashboard users authenticate with passwords stored by the Dashboard module, so password strength and rotation are your responsibility when SSO is not in use. Set a password policy that meets your identity standard, prohibit shared logins, and confirm that default or initial passwords are changed before any operator signs in. Make password resets part of the offboarding checklist, not a side task for whoever is on call.
Lockout settings that block or invite guessing
Lockout thresholds must balance two failures. A threshold that is too low locks out on-call engineers during an incident, while one that is too high or absent makes online guessing practical against an exposed login page. Agree the threshold and lockout duration with your security team, and document the unlock procedure so an operator can recover access without disabling protection. Test both paths during acceptance testing.
Dashboard exposure on untrusted networks
The dashboard should be reachable only from administrative networks, such as a management VLAN or a jump host, and never directly from user or internet-facing segments. Place it behind your network controls, restrict the listening address and port where possible, and require TLS for every browser session. Confirm the exposure with a scan from outside the management network, because a dashboard that was reachable during testing is easy to forget after a firewall change.
Audit logs that nobody reviews
API audit logging records who changed what through the dashboard and REST API, but a log that no one reads gives no protection. Enable audit logging in the cluster configuration, forward entries to your central log platform, and define which events trigger a review, such as role changes, new users and configuration edits. Assign a named owner for the review and confirm during handover that a test change appears in the central system.
Patching the dashboard with the release
The dashboard ships as part of the Ceph manager, so it is updated when the cluster is updated. Security fixes reach it only if the cluster stays on a release that still receives backports. Track the release lifecycle, schedule point updates through cephadm, and check the dashboard version after each upgrade. Record which release is running and who approved the change, so the patching record matches what auditors will ask to see.
Questions teams ask before hardening the dashboard
What does dashboard hardening cost and what drives the price?
The cost depends on the scope agreed in writing before work starts, and DeployOpen does not publish a price list. The main drivers are the number of clusters, how many identity providers and SSO flows must be wired in, the network design between the dashboard, administrators and monitoring tools, and how many roles and users need separate access. Each cluster adds its own verification pass, and each SSO integration needs claim mapping and testing. Ask for a quote that separates one-time work (role model, SSO configuration, audit logging, network restriction, testing and handover) from recurring work such as patch review, role reviews and retainer support, which are available as retainers.
How long does dashboard hardening usually take?
Duration depends on the same drivers as cost: cluster count, the complexity of SSO, how quickly network owners can make changes, and how many change windows the production environment allows. The work is usually sequenced so that a test cluster is hardened and verified first, then production follows in controlled windows. Ask the provider for a written timeline tied to the agreed deliverables and to the dates on which your identity, network and change teams must act. Treat any duration given without that breakdown as an assumption to challenge.
What does our team need to provide before the work starts?
Hardening goes faster when the inputs are ready before the first session. Typically you provide:
- Access to the identity provider administrators who can register SAML 2.0 or OAuth2 applications and map group claims to dashboard roles
- Named owners for the network, firewall and DNS changes that restrict where the dashboard can be reached
- Agreed change windows for production clusters and a rollback plan
- A test cluster that matches production versions and deployment method closely enough to rehearse changes
- A list of administrators, operators and read-only users, with the roles each one needs
Can our internal team harden the Ceph dashboard alone?
Yes, a capable internal team can do this, provided it has someone who understands cephadm, the dashboard role model and your identity provider. The work is mostly configuration, testing and documentation, but it touches authentication, so mistakes can lock administrators out. Teams that do it alone usually lack time for the test cluster, for verifying audit log output, or for independent review of the role design. An outside partner can take the work as a fixed-scope engagement with written deliverables, or provide a retainer for ongoing review. Compare both options against the people and time you can commit.
How does dashboard hardening relate to cephx and SSH access hardening?
They protect different paths into the same cluster, so they should be planned together. The dashboard is a web interface for administrators and operators, cephx controls which clients and daemons can reach RADOS and each pool, and SSH access controls how cephadm manages hosts. Tightening the dashboard alone does not limit what a compromised application key can do, and restricting cephx does not protect the web console. Review the dashboard role model alongside the least-privilege cephx users and the cephadm SSH design, so that an administrator who can reach the dashboard does not automatically hold host-level or keyring-level rights you did not intend.
Does the dashboard support single sign-on, and what is required?
Yes. The Ceph Dashboard supports single sign-on through SAML 2.0, and through OAuth2 when cephadm runs the Management Gateway and OAuth2 Proxy services, according to the Ceph Dashboard documentation. Confirm which method fits your identity provider and Ceph release before design starts, because the OAuth2 path depends on those additional services. Plan for certificate handling, group-to-role mapping, and a local break-glass administrator in case the identity provider is unavailable. Verify the exact configuration keys against the documentation for your release during planning.
Does hardening the dashboard satisfy a compliance audit?
No. DeployOpen prepares systems, controls and evidence for compliance assessments, but it does not issue audit reports, attestations or certifications. Independent auditors and certification bodies make those determinations. Hardening the dashboard produces evidence such as role definitions, audit log settings, access review records and network restriction configurations, which your auditor may test. Ask your auditor which control areas they expect to see evidence for before the work is scoped, so the deliverables match what they will request.
What DeployOpen delivers for dashboard hardening
The engagement is a fixed scope agreed in writing before work starts. The deliverables are an access inventory of every dashboard account, role and API client in use, a role model that maps each team to the least set of dashboard permissions it needs, and the configured password policy and lockout settings applied to the cluster. The scope also covers the audit logging design, including where API audit records are kept and who reviews them, an SSO integration where you have chosen one, and a review of where the dashboard sits on the network. Each item is written down so your team can judge whether it matches your requirements before anything changes in production.
Verification evidence and a handover runbook close the engagement. The evidence shows each control in its applied state: role assignments, policy values, a test lockout, sample audit entries and the network path to the dashboard. The runbook explains how to add an operator, rotate credentials, read the audit trail and roll back a change. DeployOpen prepares these controls and this evidence for compliance assessments, but it does not issue audit reports, attestations or certifications. Independent auditors and certification bodies make those determinations, so confirm early which evidence format your assessor expects.
Ongoing support, upgrades and continuous testing are available as a retainer, which suits clusters whose dashboard roles and SSO settings change often. Ask any provider for a written scope that names the cluster version, the accounts in scope and the acceptance checks, then compare the quote against that list line by line. Confirm with your own team which dashboard functions must stay available to on-call staff, because that answer decides how tight the role model can be.
How DeployOpen scopes and supports this work
Dashboard hardening is scoped in writing before any setting changes. The agreed scope names the dashboard endpoints, the users and roles in scope, the password and lockout policy to be applied, whether API audit logging will be turned on and where its logs are sent, and whether single sign-on is in or out of scope. Deliverables and timelines are fixed in the same document, so the client knows what will be changed, what will be left alone, and what evidence will be handed over at the end. If SSO depends on cephadm running the Management Gateway and OAuth2 Proxy services, or on an identity provider the client has not yet set up, confirm that dependency during scoping because it can move the timeline more than the dashboard settings do.
Changes are tested on a non-production cluster where possible. Role reassignments, lockout thresholds and the move of the dashboard onto a management network can each lock out an operator or break a monitoring integration, so DeployOpen proposes to rehearse them on a lab or staging cluster first, using the same Ceph release as production. Where a non-production cluster is not available, the scope should say so and describe the rollback path, such as keeping a tested administrator account with its previous settings until the new login path has been verified. Ask whether the client can provide a staging cluster, how closely it matches production, and who approves the production change window.
Support continues after handover through an optional retainer. Once the hardening is complete, the dashboard configuration, role model and audit logging still need review as the Ceph release moves through its maintenance period and as operators join or leave. DeployOpen offers ongoing support, upgrades and continuous testing as retainers, which can cover reviewing dashboard access, applying security point releases and re-running the configuration checks after a change. A retainer is a separate agreement from the fixed-scope work, so ask for its terms, response expectations and what is excluded before deciding whether it fits your team.
How DeployOpen approaches Ceph security hardening
DeployOpen approaches Hardening the Ceph Dashboard as a fixed-scope piece of work inside your own infrastructure. We agree the dashboard's role assignments, password and lockout rules, audit logging, single sign-on and network exposure in writing, then build and test each change on your cluster before handing it over with documentation your operators can follow.
How we scope
- We inventory who uses the dashboard today, which roles they hold and which networks can reach it.
- The written scope lists each dashboard control, the cluster it applies to and the evidence you will receive.
- We confirm with you whether single sign-on uses SAML 2.0 or OAuth2 based on your cephadm services and identity provider.
- Engagements are fixed-scope, so scope, deliverables and timelines are agreed in writing before work starts.
How we build
- We apply role assignments and password policy in a non-production cluster first, then record the exact settings used.
- We enable API audit logging and confirm that log entries reach the logging system you already operate.
- We test lockout behavior and single sign-on sign-in paths with named test accounts before production change.
- We restrict dashboard access to approved management networks and verify that untrusted networks cannot connect.
How we hand over
- You receive a configuration record listing roles, policy values, logging settings, single sign-on settings and network rules.
- Runbooks explain how to add or remove dashboard users, rotate credentials and review audit log entries.
- A verification report shows each scoped control, the test performed and the result, for your own compliance evidence.
- Your operators walk through the runbooks with us so the team can run the dashboard without us.
How we support
- Ongoing support, upgrades and continuous testing are available as a retainer after handover.
- We can re-check dashboard controls after each Ceph point release, since security fixes arrive on maintained releases.
- Quotes follow from the written scope. Ask for the effort split between configuration, testing, documentation and handover.
- Confirm with your auditor which evidence they expect. DeployOpen prepares controls and evidence but does not issue audit reports.

