1. 概述:
阿里云提供了 DDOS 高防、web 应用防火墙、堡垒机、云安全中心(态势感知)等安全设施,其它产品比如 负载均衡SLB, 账号体系 RAM,RDS 数据库等提供访问控制,来维护应用的安全。
2. 对外服务安全设置
应用服务是容器服务集群通过 SLB 负载均衡对外提供服务,为了防止 CC 攻击等,建议采用 DDOS 高防和 web 应用防火墙,使用 SLB 访问控制来防止攻击,具体配置流程如下图:
2.1 七层协议服务:
如上图所示,协议服务通过域名向外提供,配置顺序为:
- 容器服务应用通过负载均衡 slb提供服务,配置 SLB 访问控制 IP 段 为 web 应用防火墙的回源 IP段,回源 IP 段信息在 web 应用防火墙网站配置处获取;
- web 应用防火墙网站配置增加域名,设置 http/https 协议,服务器地址 IP 指向 SLB 负载均衡地址,WAF 前设置有七层代理;
- 拷贝 waf 配置后的 CNAME 域名,用以后续DDOS 高防配置使用。
- 配置 DDOS 高防接入-->网站-->添加域名做配置
- 配置域名服务指向 DDOS 高防的 CNAME 域名。
- 使用 web 应用防火墙设置访问控制。
2.2 四层协议服务:
四层访问协议服务,不支持 web 应用防火墙,其它配置与上文一样,其中 WAF 的功能可以通过接入层改造接入 WAF 接口实现。
3. 运维配置
运维同学与开发人员,需要访问部署的应用服务器,建议使用阿里云堡垒机配置访问服务器,其中运维同学可以访问几乎所用应用,设立 admin 账户,而应用开发同学只能使用 kubectl 等客户端命令访问自己负责开发的应用:
3.1 直连跳板机运维:
运维同学通过证书直连跳板机,运维线上环境,通过跳板机的安全组,限定访问范围在办公区。
3.2 堡垒机运维:
需要根据应用分维度授权:
- 应用按照 namespace部署,一组业务应用一个 NameSpace;
- 堡垒机跳板机上建立应用对应的用户;
- 在 堡垒机跳板机上使用Kubernetes-kubectl 工具 生成证书,该证书绑定应用的 namespace和用户;
- 建立 role 和 roleBinding ,授予namespace 下只读权限给证书用户;
- 堡垒机使用堡垒机跳板机建立服务器设置,并使用该应用对应的用户建立登录凭证;
- 跳板机上建立授权组,使用凭证登录堡垒机的跳板机,并授权给相应用户,包括开发人员等。
- 开发人员等登录堡垒机,使用授权组,只读访问其所属应用的 namespace.
4. 访问控制
主要有以下几类访问控制
- SLB 负载均衡访问控制:
- ECS 机器安全组访问控制:
- web 应用防火墙访问控制:
- Ram 用户访问控制:
- DRDS/RDS 等云资源访问控制
严格设置各类访问控制,仅仅开发必须的访问范围。