跳到主要内容

ACL 管理

ACL(Access Control List)是 QVMConsole VPC 网络的底层访问控制机制,基于 nftables 实现。ACL 管理模块提供了对 VPC 安全组规则生成的 nftables 规则进行预览和应用的功能,是网络安全策略的最终执行层。

ACL 架构

ACL 预览

ACL 预览功能用于查看当前所有 VPC 安全组规则生成的 nftables 规则,帮助管理员了解当前的安全策略配置。

预览内容

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

预览界面说明

预览规则格式

ACL 预览显示的规则格式为标准的 nftables 配置语法:

元素说明示例
表名nftables 表名称kvm_console_vpc_acl
链名规则所属的链ingressegress
规则具体的匹配和动作ip daddr 0.0.0.0/0 tcp dport 80 accept
预览用途

ACL 预览功能主要用于审计和调试。在应用规则前,建议先预览规则内容,确保规则符合预期。

ACL 应用

ACL 应用功能用于将预览的 nftables 规则应用到系统,使其生效。

应用流程

应用操作说明

操作说明影响
预览按当前安全组规则生成 nftables 规则文本(支持一键复制)只读
刷新预览重新生成预览内容只读
应用 ACL危险操作二次确认后,将预览规则加载到系统(需高风险二次验证)立即生效
应用影响

应用 ACL 规则会立即影响所有绑定安全组的虚拟机的网络访问。建议在业务低峰期进行操作,并提前通知相关用户。

实现原理

安全组到 ACL 的转换流程

规则生成逻辑

ACL 规则生成遵循以下逻辑:

步骤说明处理方式
1遍历所有安全组获取安全组列表
2获取安全组规则读取每条规则
3规则格式转换转换为 nftables 语法
4生成 nftables 配置生成完整配置
5加载到内核应用到系统

nftables 表结构

ACL 规则加载到 kvm_console_vpc_acl 表中,该表包含以下结构:

组件说明用途
kvm_console_vpc_acl存储所有 VPC ACL 规则
ingress处理入站流量
egress处理出站流量
规则具体的匹配规则控制网络访问

链结构说明

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

规则转换示例

安全组规则nftables 规则说明
入站 TCP 80 允许 0.0.0.0/0ip daddr 0.0.0.0/0 tcp dport 80 accept允许所有 IP 访问 80 端口
出站 TCP 443 允许 10.0.0.0/8ip saddr 10.0.0.0/8 tcp dport 443 accept允许内网访问 443 端口
入站 ICMP 允许 192.168.1.0/24ip saddr 192.168.1.0/24 icmp type echo-request accept允许内网 Ping

与安全组的关系

关系说明

关系说明
用户界面安全组是用户友好的规则管理界面
底层实现ACL 是安全组规则的底层实现
规则转换安全组规则转换为 ACL 规则
双向同步修改安全组规则后需要重新应用 ACL

层次关系图

同步机制

操作触发条件处理方式
规则更新修改安全组规则重新生成 ACL 规则
规则应用手动应用 ACL加载规则到内核
规则清除清除所有规则移除所有 ACL 规则
同步建议

每次修改安全组规则后,建议重新预览和应用 ACL 规则,确保安全策略立即生效。

ACL 规则管理

ACL 管理模块提供以下操作(均为管理员权限):

操作说明
预览预览生成的 nftables 规则(代码块展示,支持一键复制)
刷新预览重新生成预览内容
应用二次确认 + 高风险验证后将规则加载到系统
规则备份

预览内容支持一键复制为 nftables 文本,可自行保存用于审计与备份;面板不提供独立的规则导出接口。已生效的规则也可在宿主机通过 nft list table inet kvm_console_vpc_acl 查看。

ACL 最佳实践

管理建议

  1. 定期预览:定期预览 ACL 规则,确保规则符合预期
  2. 及时应用:修改安全组规则后及时应用 ACL
  3. 备份规则:复制预览内容或宿主机 nft 输出自行留档,便于恢复
  4. 审计日志:记录 ACL 规则变更日志,便于追溯

规则优化

优化项说明预期效果
规则合并合并相似规则减少规则数量
规则排序按优先级排序提升匹配效率
规则清理删除无用规则减少系统负载
规则分组按功能分组(安全组划分)便于管理维护

安全建议

建议说明重要性
最小权限只开放必要端口
默认拒绝默认拒绝所有访问
日志记录记录规则变更日志
定期审计定期审计规则配置
安全警告

ACL 规则直接控制网络访问权限,错误的规则配置可能导致安全漏洞或服务中断。建议在测试环境验证后再应用到生产环境。

故障排除

常见问题

问题可能原因解决方案
规则不生效ACL 未应用应用 ACL 规则
规则冲突多个安全组规则冲突检查规则优先级
性能下降规则数量过多优化规则配置
规则丢失系统重启后规则丢失重新应用规则

诊断步骤

诊断工具

工具说明用途
ACL 预览查看当前规则验证规则配置
nftables 状态宿主机执行 nft list table inet kvm_console_vpc_acl验证已生效规则
日志查看查看系统日志追溯问题原因
诊断建议

遇到 ACL 问题时,建议先使用 ACL 预览功能检查规则配置,然后在宿主机检查 nftables 表是否存在及其内容。如果问题仍然存在,可以查看系统日志获取更多信息。