跳到主要内容

安全组策略

安全组是 QVMConsole VPC 网络的访问控制核心,基于 nftables ACL 实现细粒度的网络流量控制。通过安全组策略,管理员可以定义入站和出站规则,精确控制虚拟机的网络访问权限,确保网络安全。

安全组架构

安全组管理

安全组类型

类型说明特点
默认组系统预设的安全组基础安全策略,不可删除
自定义组用户创建的安全组可自由配置规则

安全组操作

操作说明限制
创建创建新的安全组名称需唯一
编辑修改安全组名称和描述-
删除删除安全组需确保无虚拟机使用
默认安全组

每个 VPC 网络都包含一个默认安全组,提供基础的安全保护。默认安全组包含必要的入站和出站规则,确保虚拟机可以正常通信。

安全组规则配置

规则配置项

配置项说明必填示例
方向规则应用的方向入站/出站
协议网络协议类型TCP/UDP/ICMP/全部
端口范围目标端口范围80-80 或 1-65535
目标类型规则匹配的目标类型CIDR/交换机/安全组
目标值具体的目标值192.168.1.0/24
备注规则说明信息允许 HTTP 访问

方向说明

方向说明应用场景
入站(ingress)控制进入虚拟机的流量限制外部访问虚拟机
出站(egress)控制从虚拟机发出的流量限制虚拟机访问外部

协议类型

协议说明典型应用
TCP传输控制协议Web 服务、数据库、SSH
UDP用户数据报协议DNS、DHCP、视频流
ICMP互联网控制消息协议Ping、网络诊断
全部所有协议通用访问控制

目标类型

类型说明示例
CIDRIP 地址段192.168.1.0/24
交换机VPC 交换机 IDswitch-001
安全组引用其他安全组sg-web-server
目标类型选择

选择合适的目标类型可以简化规则管理。例如,使用"交换机"类型可以自动匹配该交换机下的所有虚拟机,无需手动指定 IP 地址。

规则展开查看

安全组支持展开查看所有规则,便于管理和审计:

规则列表显示

规则详情字段

字段说明
方向入站/出站
协议TCP/UDP/ICMP/全部
端口范围起始端口-结束端口
目标类型CIDR/交换机/安全组
目标值具体的目标值
备注规则说明

ACL 预览与应用

安全组规则最终需要转换为 nftables ACL 规则才能生效。

ACL 预览

ACL 预览功能展示当前所有安全组规则生成的 nftables 规则:

预览内容说明
规则总数生成的 nftables 规则数量
入站规则入站方向的规则列表
出站规则出站方向的规则列表
规则格式nftables 配置格式

ACL 应用流程

安全组规则匹配流程

当网络数据包到达虚拟机时,安全组规则按以下流程进行匹配:

匹配流程图

匹配规则说明

阶段说明处理方式
方向匹配确定数据包方向匹配对应方向的规则
协议匹配检查协议类型匹配协议字段
端口匹配检查端口范围匹配端口范围字段
目标匹配检查目标地址匹配目标类型和值
规则顺序

安全组规则按顺序匹配,一旦匹配成功就停止后续规则的匹配。建议将最严格的规则放在前面,最宽松的规则放在后面。

实现原理

安全组规则最终转换为 nftables ACL 规则,加载到 kvm_console_vpc_acl 表中。

nftables 表结构

表名说明
kvm_console_vpc_aclVPC 安全组规则表

链结构

链名方向说明
ingress入站处理进入虚拟机的流量
egress出站处理从虚拟机发出的流量

规则转换示例

安全组规则nftables 规则
入站 TCP 80 允许 0.0.0.0/0ip daddr 0.0.0.0/0 tcp dport 80 accept
出站 TCP 443 允许 10.0.0.0/8ip saddr 10.0.0.0/8 tcp dport 443 accept
入站 ICMP 允许 192.168.1.0/24ip saddr 192.168.1.0/24 icmp type echo-request accept

安全组最佳实践

规则设计原则

  1. 最小权限原则:只开放必要的端口和协议
  2. 分层防护:结合网络层和应用层安全策略
  3. 定期审计:定期检查和更新安全组规则
  4. 文档记录:为每条规则添加清晰的备注

常见安全组配置

场景入站规则出站规则
Web 服务器TCP 80, 443 允许所有TCP 80, 443 允许所有
数据库服务器TCP 3306 允许内网限制出站
SSH 管理TCP 22 允许管理员 IP允许所有
开发测试允许所有允许所有
安全警告

避免配置过于宽松的安全组规则,如允许所有 IP 访问所有端口。这会带来严重的安全风险,可能导致未授权访问。

安全组与虚拟机关系

关系说明

关系说明
绑定关系虚拟机必须绑定至少一个安全组
多对多一个虚拟机可以绑定多个安全组
规则叠加多个安全组的规则会叠加生效
动态更新修改安全组规则后自动应用到绑定的虚拟机

多安全组规则叠加

规则叠加规则

当虚拟机绑定多个安全组时,规则会叠加生效。入站规则取并集(允许任一安全组允许的流量),出站规则同样取并集。

故障排除

常见问题

问题可能原因解决方案
无法访问虚拟机安全组规则未配置入站添加相应的入站规则
虚拟机无法访问外部安全组规则未配置出站添加相应的出站规则
部分端口无法访问端口规则配置错误检查端口范围和协议
规则不生效ACL 未应用应用 ACL 规则

诊断步骤

诊断建议

遇到网络访问问题时,建议先检查安全组绑定和规则配置,然后检查 ACL 是否已应用。如果问题仍然存在,可以使用网络诊断工具进一步排查。