Attack surface

The attack surface encompasses all points where an unauthorized user could attempt to enter or extract data from the system. For MicroCeph, these include:

Open ports and network interfaces

Ceph daemons and potentially microcephd listen on TCP ports. Use host-level firewalls (like ufw, firewalld, or nftables) to control access.

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 access)

Object storage access. Only enable if needed.

443

RGW (HTTPS)

RADOS Gateway secure traffic (HTTPS)

Object storage access. Requires TLS certificate management (see Encryption section). Only enable if needed.

9283

MGR (Dashboard)

Ceph Dashboard HTTPS access

Access should be restricted via firewall. Authentication is required.

9128

MGR (Prometheus)

Prometheus metrics endpoint

Restrict access to monitoring servers via firewall.

Internal/Local

microcephd

Local API socket for microceph CLI

Access controlled by filesystem permissions on the socket file within the snap’s data directory.

7443

microcephd

Inter-node communication (if clustered)

Uses TLS. Must be firewalled from external access, allowing only cluster members.

22

SSH

Host OS access

Standard SSH hardening practices (key auth, restricted access, firewall).

Other

Other Services

Potentially other services on host

Audit all open ports on the host system.

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.

  • Microcluster Protocol: Used for communication between microcephd instances in a multi-node cluster. This communication is secured using TLS.

  • Cephx Authentication: Primary mechanism for authenticating Ceph internal and client communication. It provides mutual authentication.

  • HTTP/HTTPS (RGW): Used for S3/Swift access via the RADOS Gateway. HTTPS with strong TLS configuration is best practice.

  • SSH: Used for accessing the host system to run microceph commands and perform system maintenance.

  • Local Socket API (microcephd): Communication between microceph CLI and microcephd occurs over a Unix domain socket, protected by filesystem permissions.

Data interfaces

  • Block Devices and Filesystems: OSDs interact directly with underlying storage (disks, partitions, or files configured via microceph disk add). The OSD processes require elevated privileges, managed within the snap’s confinement.

  • dqlite Database Files: microcephd reads/writes configuration and state to dqlite database files located within the snap’s data directory (e.g., /var/snap/microceph/common/state/). Access is controlled by filesystem permissions.

  • CephFS Mounts: Clients mounting CephFS interact via the Ceph kernel module or FUSE, requiring Cephx authentication.

Management infrastructure

The primary management attack surface is the host, snap environment, and the microcephd service:

  • microceph CLI: Accessing this command usually requires sudo privileges on the host. Compromising a host would allow an attacker to impact the Ceph cluster.

  • microcephd: Compromising the microcephd process could allow manipulation of the cluster state and Ceph daemon configuration. Vulnerabilities in microcephd or the underlying Microcluster library are potential vectors.

  • Host OS: Compromise of the host OS grants control over MicroCeph, including access to microcephd and its database. Standard host hardening is advised.

  • Snap Environment (snapd): Vulnerabilities in snapd or the MicroCeph snap package itself could be vectors. Note that MicroCeph is running with strict snap confinement; see here for details on confinement.

  • Ceph Dashboard: If enabled, secure its access via network controls and strong authentication.