Product Security Overview
ZStack Cloud Security provides the information that ensures the Cloud environment security. This paper introduces the core security features of ZStack Cloud.
Product Security Analysis
Compute Security
HTTPS Login to the UI
- HTTPS login is disabled by default.
- After you enable HTTPS login, you can log in to the UI via the default port 5443. You can specify another port for login.
- After you enable HTTPS login, your HTTP login via the port 5000 will auto-direct to HTTPS. Currently, only the HTTP logins via the port 5000 can auto-direct to HTTPS.
- The system supports the certificates in the PKCS12 format by default. You can also use the certificates in the JKS format. If you use the certificates of other formats, convert the formats in advance.
VM Instance Console
- SSH Keys
- ZStack Cloud allows you to log in to VM instances with SSH keys. This method only applies to Linux-based VM instances.
- SSH keys are a couple of keys generated through an encryption algorithm: one is a public key, which is available to the public; another one is a private key, which is kept by yourself.
- After attaching the public key to a VM instance, you can use the private key to SSH to this VM instance from another VM instance without the password.
- If you attach an SSH key during the VM creation, make sure that you have installed a cloud-init for the VM instance image in advance. We recommend that you install a cloud-init of 0.7.9, 17.1, 19.4, or later versions.
- If you attach an SSH key to an existing VM instance, make sure that the VM is running has had QGA installed. The QGA must be running. You can install QGA by installing VM GuestTools or through other methods. If through other method, use a QGA of 2.5 or a latter version.
- Username/Password
- ZStack Cloud allows you to log in to a VM instance with Username/Password.
- The fixed username of Linux VM instances is root. The fixed username of Windows VM instances is administrator.
- After injecting the password into a VM instance, you can SSH to it with the Username/Password.
- Make sure that you have installed a cloud-init for the VM instance. We recommend that you install a cloud-init of 0.7.9, 17.1, 19.4, or later versions.
High Availability (HA)
VM Instance HA
ZStack Cloud allows you to enable the High Availability (HA) feature for VM instances. The VM instances with HA enabled can automatically reboot after being stopped due to the daily maintenance (planned) or burst exceptions (unplanned), which increases the VM instances availability.
- The system checks the VM instance states through round robin, trigger, or other mechanisms. A VM instance automatically reboots if it is detected as stopped.
- The system checks the VM instance states through round robin, trigger, or
other mechanisms. If it cannot decide the state of a VM instance, it takes
the following steps for further detection:
- Selects the most precise method according to the network configurations to detect the state of the host that the VM instance is running on.
- If the host is abnormal, the VM instance with HA enabled will attempt to reboot automatically.
Load Balancing
With the load balancing service, multiple VM instances form a cluster to resolve the single point of failure and improve the application availability.
Anti-IP/MAC/ARP Spoofing
IP/MAC/ARP spoofing, which helps the hackers disrupt the network environment and eavesdrop on network secrets, has always been a severe risk that traditional networks face.
ZStack Cloud isolates the abnormal protocol access initiated by the VM instances outward, blocks the MAC/ARP spoofing of VM instances on the host data-link layer, and prevents the IP spoofing of VM instances on the host network layer.
Image and Snapshot
Image
ZStack Cloud allows you to create images based on VM instances/volumes. The images contain the full data of the VM instances/volumes. You can quickly recreate resources with corresponding images.
- The image integrity is ensured by the encryption algorithm. You have to pass the verification of the encryption algorithm before you download an image from the ImageStore to your primary storage.
- The image files are stored in the ImageStore in the form of slices. You can only readout the image information after you splice them into an complete image file. This mechanism ensures the image security.
Snapshot
ZStack Cloud allows you to create snapshots based on VM instances/volumes. A snapshot is a point-in-time capture of the data state in a volume. You can create a snapshot before you perform important actions on a VM instance/volume for the quick rollback of the data states (including the memory state) stored at one specified time point in case of breakdowns. If you need a long-term backup, we recommend that you use the backup service.
- Manual snapshot: You can create snapshots manually based on the root volumes or data volumes of VM instances.
- Automatic snapshot: You can use a scheduled job to create snapshots. Or, you may trigger the system to automatically create snapshots for one time in specific conditions.
- Quick recovery after breakdowns: You can use a snapshot to quickly recover a production environment to the normal state after breakdowns. However, this is a temporary solution. For a long-term and more completed protection for the data, we recommend that you use the backup service.
- Data exploration: You can create snapshots based on the production data, so as to provide a nearly real-time production data for data exploration, report query, development, and testing.
- Fault tolerance improvement: We recommend that you create one or multiple snapshots before you perform important actions on the resources, such as the system upgrading and data migration. You can quickly recover the data states with the snapshots when you encounter any problems during the upgrading or the migration.
Encrypted Storage for Password
ZStack Cloud allows you to encrypt and store all the clear-text passwords, which protects your privacy and autonomy.
- Host password: Displayed in non-cleartext mode.
- Primary storage password: Displayed in non-cleartext mode.
- Database password: Stored and encrypted by keys. Invisible to users.
- Log password: Displayed in non-cleartext mode, or invisible users.
Resource Deletion Protection
Set the Deletion Policy
ZStack Cloud allows you to set deletion policies for important resources, thus decreasing the risk of error actions.
- Direct: Deletes the resources directly and physically. You cannot recover the resources deleted from the database.
- Delay: The resources are marked as "deleted" in the database, but are not deleted physically. In a specified period, you can recover them on the Recycle Bin page, or with ZStack Cloud APIs. Beyond this period, the resources will be deleted physically. Before it, the resources keep existing physically and occupying physical spaces.
- Never: The resource are marked as "deleted" in the database, but will never be deleted physically. The resources keep occupying physical spaces.
- Deletion policies for VM instances: Direct, Delay, Never. Default: Delay.
- Deletion policies for volumes: Direct, Delay, Never. Default: Delay.
- Deletion policies for images: Direct, Delay, Never. Default: Delay.
- Deletion policies for baremetal instances: Direct, Delay. Default: Delay.
- Deletion policies for elastic baremetal instances: Direct, Delay, Never.
Default: Delay.
Note:
Elastic baremetal instances are custom VM instances, and share the same deletion policy with VM instances. When you change the deletion policy for the VM instances, this change takes effect on elastic baremental instances as well.
Deletion Prompt on the UI
ZStack Cloud provides a deletion protection mechanism on the UI for important resources. The system will remind you of the results brought by the deletion, and display the number of the associated VM instances and volumes. You have to confirm these information before you delete the resources, which decreases the risk of error actions.
Commercial Cryptography Data Protection
ZStack Cloud provides data protection based on SM algorithms (SM3, HMAC-SM3, and SM4). You can encrypt the logs, commands, images, and other important data, protecting the data integrity and confidentiality.
Make sure that you have uploaded a license of Cryptography Security Compliance, and enabled Platform Cryptography Security Compliance.
Monitoring and Alarm
ZStack Cloud provides monitoring and alarm services mainly through the monitoring system and message system. The monitoring system monitors the sequential data and events, while the message system pushes the alarm to endpoints.
ZStack Cloud provides monitoring data indicators through the monitoring system, including the system performance, and the resource usage. You can view the resource usage, the system state, and the health of the Cloud from the screen monitoring, dashboard, visual chart, and banner prompt. You can customize alarms and specify endpoints, thus realizing the fine-grained and flexible monitoring, and diagnosing problems in time.
- Sequential monitoring: Two kinds of sequential data are monitored.
- Resource utilization data: The data like the CPU utilization, the host memory utilization, etc.
- Resource capacity data: The data like the count of available IPs, the count of running VM instances, etc.
- Event collection: Collects the predefined events in the Cloud, such as the host disconnection, and the VM instance HA enabling.
- Alarm: Alarms on the sequential data and events, and gives a global prompt on important resources, such as the available physical capacity of the primary storage.
- Audit: Records all the actions, and allows you to search auditing information.
- Custom: Allows you to customize alarms and alarm templates.
- Pushes alarm messages to the specified endpoints.
- Provides a system endpoint by default. You can set Email/DingTalk/HTTP application/SMS/Microsoft Teams endpoints by yourself.
Security Scenario Template
| Name | Description |
|---|---|
| IP Allowlist/Blocklist | You can specify whether to enable the IP allowlist/blocklist feature here. After you enable this feature, the Cloud will check the login IPs. Default: false. |
| Host Login Password Encrypted Storage |
You can specify the encrypted storage policy for the host login
passwords in the database. Options: None | LocalEncryption.
Default: None.
|
| Multiple Connection Session Disallowance of One User | You can specify whether to disallow one user to connect to multiple sessions here. Default: false. If you set it to "true", one user can establish only one connection session with the platform. If the user establishes a new connection session, the previous session will be forcibly closed. |
| Session Timeout Period | Default value: 7200s. Unit: s/m/h/d. Note: If a
session times out, the system will become unavailable. You need
to log into the system again. |
| SSL Certificate Check Skipping | You can specify whether to skip all check items of LDAP SSL certificate. Default: false. If you set it to "true", all check items of the SSL certificate are not checked. |
| Platform Verification Code Policy | You can specify whether to enable the verification by the verification code if logins continuously fail. Default: false. If you set it to "true", you will trigger the verification code mechanism when you achieve the maximum number of continuous login failures. You have to enter the correct account, password, and verification code to log into the Cloud. |
| Platform Login Password Update Policy | You can specify whether to enable regular update of login password. Default: false. If you set it to "true", you can set an update interval. When the update time comes, you are reminded to modify the password when you log into the platform. |
| The Maximum Times of Platform Login Password Repetition | Default: false. If you set is to "true", the new password you set cannot be the same as previous ones. You can specify a maximum number for password repetition times. |
| Lock Account Policy Upon Continuous Failed Login | You can specify whether to lock the login account if its logins continuously fail. Default: false. If you set it to "true", the login account will be locked for a specific duration if you achieve the maximum number of login failure. |
| Password Strength Policy | Default: false. If you set it as "true", you can specify the range of the password length and choose whether to enable the combination of digits, lowercase letters, uppercase letters, and special characters. |
| Two-factor Verification | You can specify whether to enable the two-factor verification for the platform login. Default: false. |
| VNC Console Password Strength Policy | You can specify whether to set a password for VNC
console login. Default: false. Note: The length range of a password
is in the format of m-n. Default: 6-8. You can set a password
length that ranges from 6 to 8. You can also enable the
combination of digits, lowercase letters, uppercase letters, and
special characters for a password. |
| VM Password Strength Policy | You can specify whether to set login passwords
for VM instances. Default: false. Note:
|
Backup Service
ZStack Cloud provides backup service in a separate module. Focusing on the business, backup service integrates multiple technologies, including scheduled incremental backup, and scheduled full backup. It provides various backup solutions, such as local backup, remote backup, and Public Cloud backup. You can choose a suitable backup method according to your business characteristics.
- Local backup:
- You can specify a local ImageStore as a Local Backup Server to store the scheduled backup data of local VM instances/volumes/Mangement node database (abbreviated as database). You can specify two servers respectively as the primary backup server and the secondary backup server. These two servers apply the fail-over mechanism, which ensures the business continuity effectively.
- If your local data is mistakenly deleted, or your data in the local primary storage is damaged, you can recover the backup data to local from the local backup server.
- If you encounter a disaster in your local data center, you can rely totally on your local backup server to rebuild your data center, and recover your business.
- Remote backup:
- You can specify a storage server in a remote data center as a Remote Backup Server to store the scheduled backup data of local VM instances/volumes/database. The backup data needs to be synchronized to the remote backup server from the local backup server.
- If your local data is mistakenly deleted, or your data in the local primary storage is damaged, you can recover the backup data to local from the remote backup server.
- If you encounter a disaster in your data center, you can rely totally on your remote backup server to rebuild your data center and recover your business.
- Public Cloud backup:
- You can specify a storage server in Public Cloud as a Public Cloud Backup Server to store the scheduled backup data of VM instances/volumes/database. The backup data needs to be synchronized to the Public Cloud backup server from the local backup server.
- If your local data is mistakenly deleted, or your data in the local primary storage is damaged, you can recover the backup data to local from the Public Cloud backup server.
- If you encounter a disaster in your data center, you can rely totally on your Public Cloud Backup Server to rebuild your data center and recover your business.
Continuous Data Protection (CDP) Service
ZStack Cloud provides Continuous Data Protection (CDP) service in a separate module. This feature provides second-level and fine-grained continuous backup services for important business systems in VM instances, allowing you to restore the VM data to a specific time state and retrieve files without restoring the systems. CDP provides two data recovery policies: Create VM Instance, or Restore to Original VM Instance. You can select a suitable policy according to your business requirements.
- Local CDP Recovery | Restore to Original VM Instance
- You can specify a backup storage as a Local Backup Server to store the data of local VM instances.
- You can create CDP tasks in bulk for multiple VM instances, providing them with a unified CDP protection. You can set second/minute-level RPO policy during the CDP task creation. When you make adjustments on important resources, you can mark and lock the recovery point to store important recovery point data for long term.
- If your local data is mistakenly deleted, or your data in the local primary storage is damaged, you can quickly verify the business availability with its hardware authorization. You can find the locked recovery point and restore the data to the original VM instance to check whether the application is normal. You can create new volumes to realize this data restoration. The volumes before the recovery can be retained and reattached to the VM instance, ensuring the data security to the greatest extent.
- Once the data is recovered, the VM instance will start quickly. The second-level RTO ensures the business continuity effectively.
- Local CDP Recovery | Create VM Instance
- You can specify a backup storage as a Local Backup Server to store the data of local VM instances.
- You can create CDP tasks in bulk for multiple VM instances, providing them with a unified CDP protection. You can set second/minute-level RPO during the CDP task creation.
- During important recovery drills, you can create new VM instances based on the selected recovery point without affecting the running of existing VM instances. The data will be restored to the original environment after being checked as correct.
- Once the data is recovered, the VM instance will start quickly. The second-level RTO ensures the business continuity effectively.
Network Security
Security Group
ZStack Cloud provides security group control for the VM instances on L3 networks, effectively filtering TCP/UDP/ICMP data packets, and controlling specified VM NIC according to the security rules.
Firewall
ZStack Cloud allows you to configure firewalls for VPC vRouters. After you create a VPC firewall, the system will automatically configure the ingress rule set for the VPC vRouter. The egress rule set is configured flexibly by yourself. You can configure one rule set for each interface direction of the VPC vRouter, which is used to filter the north-south traffic at its interface, and effectively ensures the VPC vRouter security and the communication security of the VPC network. The firewall works together with the security group, which is working on the VM NIC, and focusing on the east-west communication security of the VPC.
VPC vRouter HA Group
ZStack Cloud supports the feature of VPC vRouter HA group. You can deploy two VPC vRouters in a VPC vRouter HA group. Either of them can act as a primary or secondary VPC vRouter in the group. If the primary VPC vRouter does not work as expected, the other one will automatically replace it as the primary VPC vRouter within seconds, thus ensuring the business stability.
Netflow
ZStack Cloud allows you to export the Netflow analysis and monitoring of a VPC vRouter. By monitoring and analyzing the ingress and egress traffic of the VPC vRouter NIC with a Netflow, the system can quickly locate the traffic bottleneck of the network, optimize the network topology and bandwidth, prevent malicious attacks, and improve the network security. The supported versions of data flows are V5 and V9.
Port Mirroring
ZStack Cloud provides port mirroring service. Port mirroring mirrors the ingress and egress traffic of one VM instance NIC, and sends the traffic data to another VM instance, allowing you to analyze the business messages on the VM instance port without affecting the business throughout of the source port. With this feature, an enterprise can monitor and manage its internal network data conveniently, and quickly locate the network breakdowns. You need to configure a dedicated flow network for the port mirroring instead of reusing other networks to ensure high transmission efficiency.
Permission Management Security
Separation of Three Roles
ZStack Cloud allows you to realize the permission management through the Separation of Three Roles. The permissions of the Super Administrator (admin) is decomposed to the system manager, the security manager, and the security auditor. The system manager is responsible for the resource management; the security manager is responsible for the permission management; and the security auditor is responsible for the audit management. Each role is separated from, restricting and restricted by the other two roles.
The Separation of Three Roles decomposes the permissions of the admin, and makes the Cloud managed by three roles together, which effectively decreases the risks brought by the super power of the admin, and further improves the Cloud security.
Tenant Management Permission
ZStack Cloud provides the tenant management feature in a separate module. This module supports the organization structure management, the project-based resource access control, the ticket management, and the independent zone management.
- In the Tenant Management module, the users are separated from roles. A role is a group of permissions, and can be flexibly bound to or unbound from users.
- Roles are divided into system roles and custom roles. System roles are the roles automatically provided by the system with predefined permissions, while custom roles are the roles created by yourself as needed.
- You can control the API-level permissions on the UI, configuring the permissions according to various scenarios flexibly.
Commercial Cryptography Certificate Login
ZStack Cloud provides certificate login feature based on SM algorithm (SM2). If you enable this feature, you need to pass the verification with Ukey before you login to the Cloud, thus ensuring your identity authenticity.
To enable this feature, make sure that you have installed the license of Cryptography Security Compliance, and enabled Platform Cryptography Security Compliance.
You can enable certificate login for the admin and the tenants. To enable this feature for tenants, make sure that you have installed a license of Tenant Management.
Two-factor Authentication
ZStack Cloud provides a higher-level protection on the basis of the static password authentication: two-factor authentication. After you enable this feature for the Cloud, you need to correctly enter the 6-digit security code provided by the identity authentication APP to login to the Cloud.
Once you pass the two-factor authentication and login to the Cloud successfully, the QR code is no longer displayed in avoidance of malicious logins, thus further improving the system security.
AccessKey Authentication
ZStack Cloud provides the AccessKey authentication feature.
- Local AccessKey: Consists of an AccessKey ID and AcessKey Secret. It is a security credential that ZStack Cloud authorizes a third-party user to call ZStack Cloud APIs to access ZStack Cloud resources, and shall be kept confidential.
- Third-party AcessKey: Consists of an AcessKey ID and AccessKey secret. It is a security credential that a third-party user authorizes ZStack Cloud users to call APIs to access its cloud resources, and shall be kept confidential.
Action Audit
ZStack Cloud provides an unified action log management, recording the login history of all accounts and their actions on the resources. The logs display these information: Description, Result, Operator, Login IP, Creation/Completion Time, and Returned Details. Operation log audit can meet various requirements, including security analysis, intrusion detection, resource change tracking, and compliance audit.
