Attack surface
The attack surface encompasses all points where an unauthorized user could attempt to enter or extract data from the system. For Charmed Ceph, these include:
Open Ports and Network Interfaces
Ceph daemons by default listen on the TCP ports below.
Port | Component | Purpose | Security Considerations |
---|---|---|---|
3300, 6789 | Ceph MON | Monitor daemon client communication | Should ideally be restricted to internal networks and specific client subnets via firewall. |
6800-7300 | Ceph OSD / MGR / MDS | Intra-cluster communication | Must be strictly firewalled from external access. Essential for cluster operation. |
80 | RGW (HTTP) | RADOS Gateway (Object storage HTTP access) | Object storage access. Disable if not needed. |
443 | RGW (HTTPS) | RADOS Gateway secure traffic (HTTPS) | Object storage access. Disable if not needed. Requires TLS certificate management. |
9283 | MGR (Dashboard) | Ceph Dashboard HTTPS access | Access should be restricted. Authentication is required. |
9128 | MGR (Prometheus) | Prometheus metrics endpoint | Restrict access to monitoring servers. |
22 | SSH | Host OS access | Standard SSH hardening practices (key auth, restricted access). |
17070 | Juju Agent | Juju agent communication with Controller | Communication is TLS encrypted. Access to hosts implies potential access to agents. |
Other (various) | Other Services | Potentially other services running on hosts | Audit open ports on cluster nodes. |
Network Protocols and Endpoints
- Ceph Protocol (Messenger v1/v2): Used for all internal Ceph communication (MON, OSD, MGR, MDS). Messenger v2 (default in newer Ceph versions) provides encryption capabilities for data in transit.
- Cephx Authentication: Primary mechanism for authenticating Ceph internal and client communication. It provides mutual authentication between clients/daemons and the MONs.
- HTTP/HTTPS (RGW): Used for S3/Swift access via the RADOS Gateway. HTTPS with strong TLS configuration is best practice for protecting data and credentials in transit, especially if RGW is externally accessible.
- Juju Agent Protocol: Communication between Juju agents and the controller is encrypted with TLS.
Data Interfaces
- Block Devices and Filesystems: OSDs interact directly with underlying storage (disks or logical volumes). The OSD processes require elevated privileges to access these devices. The ceph-osd charm provides an option to limit capabilities via AppArmor – this should be used as a best practice.
- CephFS Mounts: Clients mounting CephFS interact via the Ceph kernel module or FUSE, requiring Cephx authentication.
Management Infrastructure (Juju)
Juju itself presents a management attack surface:
- Juju Controller: Gaining access to the Juju controller provides complete control over the entire deployment. Secure controller access using strong credentials and network restrictions.
- Juju Agents: Agents run on each machine managed by Juju. Compromise of a host machine could potentially lead to compromise of the agent and interaction with the controller.
- Charms and Configuration: Configuration applied via Juju (including charm configurations and relations) can impact security. Review charm options of ceph and related charms.
Refer to the Official Juju Security Documentation for more details on securing Juju itself.