Security Design

Security design describes ZCF architecture capabilities in compute and data security, network security, and permission management security. Different security mechanisms are implemented within corresponding capability domains and collectively reduce access risk, operational risk, and runtime risk under a unified framework of access control, permissions, and auditing.

Compute and Data Security

Compute and Data Security encompasses capabilities such as compute resource access control, image access management, resource operation protection, and data encryption across the cloud platform and Container Service, mitigating risks of unauthorized access, misoperations, and data leakage during workload execution.

Cloud Platform Security

Cloud Platform Security focuses on VM instance access control, image and snapshot management, resource deletion protection, and data encryption to reduce risks of unauthorized access, misoperations, and data leakage during cloud resource usage.

HTTPS-Encrypted UI Login

The system supports HTTPS access to the management UI for enhanced security.
  • HTTPS is disabled by default.
  • When HTTPS is enabled, the system uses port 5443 by default and supports configuration of custom ports for access.
  • After enabling HTTPS, accessing the UI via HTTP on port 5000 will be automatically redirected to HTTPS. Currently, only automatic redirection from HTTP port 5000 is supported.
  • The system supports PKCS12 format certificates by default. Currently, only PKCS12 and JKS format certificates are supported. If you are using certificates in other formats, convert them to a supported format.

VM Instance Console

The VM instance console provides users with a streamlined entry point for monitoring and managing VM instances. You must have appropriate permissions to access the VM console. Two authentication methods are supported for console login: SSH key authentication and username/password.
  • SSH Key Authentication
    • You can use SSH key authentication to log in to Linux VM instances.
    • An SSH key is a pair of cryptographic keys generated by an algorithm: a public key, which is shared openly, and a private key, which is kept secure by the user.
    • After a public key is attached to a VM instance, you can use the corresponding private key to SSH into the VM instance from another VM instance without requiring a password.
    • To attach a public key during the VM instance creation, ensure that the VM image has cloud-init pre-installed. The recommended cloud-init versions are 0.7.9, 17.1, 19.4, or later.
    • To attach a public key after the VM instance creation, ensure that the VM instance is running and has QEMU Guest Agent (QGA) installed and running. You can install QGA by installing the GuestTool. If you install QGA by using other methods, install version 2.5 or later.
  • Username/Password
    • You can log into VM instances using a username and password.
    • The fixed username for Linux VM instances is root, and the fixed username for Windows VM instances is administrator.
    • After a password is injected into a VM instance, you can use the username or password to SSH into the VM instance from another VM instance.
    • Ensure that the VM image has cloud-init pre-installed. The recommended cloud-init versions are 0.7.9, 17.1, 19.4, or later.

Images and Snapshots

Images

You can create images from VM instances or volumes. An image contains complete data information for a VM instance or volume. You can use images to quickly replicate corresponding resources.

ZStack Cloud provides protection for image integrity and security:
  • Security: Image files are stored in slices in the ImageStore. The segmented image files must be reassembled by ZStack Cloud before their specific content can be read, thereby protecting image data security.
  • Integrity: Images use cryptographic algorithms to protect integrity.
    • When you upload an image to the ImageStore, the system calculates the MD5 checksum of the uploaded image. You can compare this value to verify image integrity.
    • When an image is downloaded from the ImageStore to primary storage, it must pass a cryptographic verification check. The download only proceeds if the verification is successful.

Snapshots

You can create snapshots for VM instances or volumes. A snapshot is essentially a data state file of a disk at a specific time. Before performing important operations, creating a snapshot for a VM instance or volume can retain the data state (including the memory state) at that specific time, facilitating quick rollback in case of failures. For long-term backup, it is recommended that you use the backup service.

Snapshots include manual snapshots and automatic snapshots:
  • Manual Snapshots: You can manually create a snapshot for the root volume or data volume of a VM instance at any time.
  • Automatic Snapshots: The system creates snapshots through scheduled tasks or triggers one-time automatic snapshots in specific scenarios.
The snapshot feature is applied in the following scenarios:
  • Quick Failure Recovery: If an unexpected failure occurs in the production environment, you can use the snapshot rollback feature to quickly restore the environment to the normal state. This method is a temporary solution. For comprehensive long-term data protection, it is recommended that you use the backup service.
  • Data Development: By creating snapshots of production data, you can acquire near real-time authentic production data for applications such as data mining, report query, and development testing.
  • Improve Operation Fault Tolerance: Before major operations such as system upgrades or business data migration, we recommend that you create one or more snapshots. If any problem occurs during the upgrade or migration process, you can use snapshots to restore the normal system data state in time.

Resource Deletion Protection

Deletion Policy

ZStack Cloud supports configuring deletion policies for critical resources to reduce the risk of accidental deletion.

The current deletion policies include Direct, Delay, and Never.
  • Direct: Resources are physically deleted directly and removed from the database. Deleted resources cannot be recovered.
  • Delay: Resources are first marked as deleted in the database but are not physically deleted. Within a certain period, you can recover resources from the recycle bin in the UI or using APIs. During this period, resources still exist physically and occupy physical space (for example, disk space). After a certain period, resources are physically deleted and cannot be recovered.
  • Never: Resources are marked as deleted in the database but are never physically deleted. They occupy physical space all the time.
Resources that currently support deletion policy include VM instances, volumes, images, baremetal instances, and elastic baremetal instances.
  • VM Instance Deletion Policy: Direct, Delay, and Never. The default policy is Delay.
  • Volume Deletion Policy: Direct, Delay, and Never. The default policy is Delay.
  • Image Deletion Policy: Direct, Delay, and Never. The default policy is Delay.
  • Baremetal Instance Deletion Policy: Direct, Delay, and Never. The default policy is Delay.
  • Elastic Baremetal Instance Deletion Policy: Direct, Delay, and Never. The default policy is Delay.
    Note:

    An elastic baremetal instance is a customized VM instance. Elastic baremetal instances and VM instances are controlled by the same set of deletion policies. If the VM instance deletion policy changes, the elastic baremetal instance deletion policy changes accordingly.

UI Deletion Reminder

The UI provides a protection mechanism for deleting important resources. The system displays the consequences of deleting the resource and shows the number of directly associated VM instances and volumes. You must confirm the deletion to proceed, reducing the risk of accidental operation.

National Cryptographic Data Protection

The feature provides data protection based on national cryptographic algorithms (such as SM3, HMAC-SM3, and SM4). After you enable this feature, important data such as logs, passwords, and images can be encrypted to ensure data confidentiality and integrity.

To use this feature, ensure that you have installed the cryptography security compliance module license and enabled data protection.

SE Device Encryption

SE (Security Element) is an embedded security IP core within the processor. It provides foundational software and application systems with secure, compliant, and standardized cryptographic support. ZStack Cloud can detect SE devices on hosts and allows you to virtualize and attach them to VM instances to deliver security and encryption services.

Note: Currently, only SE devices on Hygon and Loongarch hosts can be detected.

Container Security

Container Security centers on Pod-level network access control and image access permissions to minimize network exposure and image access risks during containerized workload execution.

Pod Security Policy

Pod security policies define network security policies for east-west traffic within a container cluster (i.e., internal communication between Pods). Fine-grained rules—defined via label selectors—specify which Pods are allowed inbound/outbound traffic and which protocols/ports may be used. By default, policies operate in "whitelist" mode: all traffic not explicitly permitted is denied.

Image Access Control

Container Service enforces permission isolation through Projects. Each Project can host multiple local registries; users with read/write permissions on the Project inherit corresponding read/write access to those local registries—enabling them to push and pull images. Local registries support both public and private modes: in public mode, anonymous users may pull images without authentication (but cannot push); in private mode, all unauthenticated access is denied—only authenticated and authorized users may push or pull images.

Network Security

Network Security covers east-west access control, north-south traffic protection, traffic monitoring, and port mirroring—enabling secure business network communications and supporting network troubleshooting and auditing.

Security Group

Security groups provide L3 network security control for VM instances, effectively filtering ingress and egress TCP/UDP/ICMP packets for NICs based on specified security rules.

VPC Firewall

You can configure firewalls for VPC vRouters. After a VPC firewall is created, the system automatically configures an ingress rule set for the VPC vRouter, and you can flexibly configure the egress rule set. Each interface direction on a VPC router can have one rule set applied. By filtering north-south traffic at the VPC vRouter interfaces, the VPC firewall effectively protects the communication security of the entire VPC and the VPC vRouter itself. The VPC firewall provides complementary protection to security groups. These security groups operate at the VM's virtual NICs, with primary focus on securing east-west traffic within the VPC.

NetFlow

The VPC vRouter supports directed NetFlow export for network flow monitoring and analysis. By analyzing the ingress and egress traffic on VPC vRouter NICs through NetFlow, you can quickly locate network-wide bottlenecks, optimize network topology and bandwidth, and mitigate malicious attacks, thereby enhancing overall network security. Currently, the supported versions of output data flows are V5 and V9.

Port Mirroring

ZStack Cloud supports port mirroring. Port mirroring forwards the ingress and egress traffic of a VM instance NIC to another VM instance. This enables you to capture and analyze packets from the source port without affecting its normal business throughput. Port mirroring facilitates internal network monitoring and management, allowing for rapid troubleshooting of network issues. Port mirroring requires a dedicated traffic network, which cannot be shared with other networks, to ensure transmission efficiency.

IP/MAC/ARP Spoofing Protection

In traditional networks, IP/MAC/ARP spoofing has always been a severe challenge. Through IP/MAC/ARP spoofing, attackers can disrupt the network environment and intercept network secrets.

The system isolates abnormal protocol access initiated by VM instances at the host's data link layer and blocks VM instance MAC/ARP spoofing. It also prevents VM instance IP spoofing at the host's network layer.

Access Control Security

Permission management security focuses on role-based privilege separation, tenant permissions, certificate-based login, two-factor authentication, AccessKey authentication, and operation auditing—enforcing administrative boundaries, protecting access credentials, and enabling traceability and security auditing for critical operations.

Three-Role Separation

ZStack Cloud supports a Three-Role Separation model, which is an implementation of the Separation of Duties. This model decomposes the super administrator (admin) privileges and assigns them to three distinct roles: the System Administrator, the Security Administrator, and the Security Auditor. The System Administrator is responsible for managing platform resources. The Security Administrator is responsible for managing platform permissions. The Security Auditor is responsible for platform auditing and compliance. These three roles operate independently and provide checks and balances on each other's authority.

By distributing the comprehensive privileges of the super administrator among three separate roles, this model effectively mitigates security risks associated with over-concentrated super-administrator access and significantly enhances the overall security posture of the platform.

Tenant Management Permissions

Tenant management provides enterprise users with organizational structure management, project-based resource access control, ticket management, independent zone management, and other functions. The tenant management module is offered as an independent feature, which requires a separate license.

Characteristics:
  • User-Role Separation: Roles, defined as collections of permissions, can be flexibly assigned to or removed from users in the tenant management.
  • Roles are categorized into system roles and custom roles. System roles are predefined by the platform with fixed permission scopes, while custom roles can be created by users to meet specific requirements.
  • The UI supports API-level permission control, enabling flexible adaptation to various permission configuration scenarios.

SM2 Certificate Login

The cloud platform provides a certificate login feature based on the Shang Mi 2 (SM2) algorithm. After enabling this feature, you must use a UKey for login authentication to ensure identity authenticity.

To use this feature, ensure that the cryptography security compliance module license is installed and certificate login is enabled.

Certificate login can be enabled for admin users or tenants. To enable certificate login for tenants, ensure that the tenant management module license is installed on the cloud platform.

Two-Factor Authentication

ZStack Cloud supports two-factor authentication (2FA) as an additional layer of security beyond static passwords. When 2FA is enabled, you must correctly enter a 6-digit dynamic security code from your authenticator app during each login attempt to gain access.

After 2FA is enabled and you successfully log in for the first time, the login QR code is no longer displayed. This helps prevent malicious login attempts and further enhances system security.

AccessKey Authentication

ZStack Cloud supports AccessKey authentication.

AccessKeys include:
  • Local AccessKey, consisting of AccessKey ID and AccessKey Secret, is a secure credential issued by ZStack Cloud. Local AccessKey authorizes third-party users to call ZStack Cloud APIs and access its resources. These credentials must be kept strictly confidential.
  • Third-Party AccessKey, consisting of AccessKey ID and AccessKey Secret, is a secure credential provided by a third-party service. Third-party AccessKey authorizes you to call the third-party's APIs and access resources within that external platform. These credentials must be kept strictly confidential.

Operation Auditing

ZStack Cloud provides unified operation log management, recording user logins and resource operations performed under various accounts. The logs capture details such as operation description, task result, operator, client IP, task creation and completion time, and operation return details. Through operation log auditing, you can meet requirements for security analysis, intrusion detection, resource change tracking, and compliance auditing.

Note: If operation requests are forwarded to ZStack Cloud through a load balancer, you need to correctly configure X-Forwarded-For forwarding on the load balancing device so that ZStack Cloud can obtain the actual client IP.
Technical Design | ZStack Cloud Foundation | ZStack Resource Center