安全组规划做什么
安全组规划的核心是分层与复用:按角色(web、app、db、管理)建组,用组之间的引用替代 IP 白名单,让规则随角色变化而不是随机器变化。命名规范让变更与审计一眼看清,也避免把测试机器的组误绑到生产实例上。
基本信息
| 分层建组 | web、app、db、管理四类角色各一组 |
|---|---|
| 组间引用 | db 的源写 app 组,app 的源写 web 组,层层收窄 |
| 命名规范 | 环境-角色-序号,如 prod-web-01 |
| 规则并集 | 实例绑定多个组时规则取并集,等于叠加放宽 |
| 默认行为 | 多数平台默认拒绝入方向、允许出方向 |
| 配额 | 安全组数量与规则条数都有上限 |
分层规则示例
| 安全组 | 入方向来源 | 放行端口 |
|---|---|---|
| web 组 | 公网或负载均衡 | 80、443 |
| app 组 | web 组 | 应用端口,如 8080 |
| db 组 | app 组 | 3306 或 5432 |
| 管理组 | 办公网段或堡垒机 | 22 或 3389 |
典型引用链
典型引用链
bastion-sg --22--> app-sg --8080--> web-sg
web-sg --8080--> app-sg
app-sg --3306--> db-sg
各层只认上一层安全组,不写 ANY典型使用场景
- 新业务上线前按角色建组,避免临时开全通规则
- 实例扩容时复用已有安全组,规则随角色自动生效
- 安全审计时按命名快速判断一条规则影响哪些环境
- 收窄数据库访问来源,只允许应用层入站
安全组规则是并集:一台实例绑定多个组时任意一个放行即通过,所以不要给实例叠加职责无关的组,那等于悄悄放宽。
用组间引用替代写死 IP,机器扩容或替换时不必改规则,这是减少变更出错最根本的办法。
安全组数量与规则条数都有配额,先规划结构再建组,别等上线时才发现建不了新规则。
出方向规则常被忽略:默认允许全部出方向虽然方便,但一旦被入侵,外联通道完全敞开;数据库等敏感角色可以收紧出方向,只放行必要目标。