小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
正确配置源站ECS的安全组和SLB的白名单,可以防止黑客直接攻击您的源站IP。本文介绍了源站服务器保护的相关配置方法。
背景信息
说明 源站保护不是必须的。没有配置源站保护不会影响正常业务转发,但可能导致攻击者在源站IP暴露的情况下,绕过Web应用防火墙直接攻击您的源站。
如何确认源站泄露?
您可以在非阿里云环境直接使用Telnet工具连接源站公网IP地址的业务端口,观察是否建立连接成功。如果可以连通,表示源站存在泄露风险,一旦黑客获取到源站公网IP就可以绕过WAF直接访问;如果无法连通,则表示当前不存在源站泄露风险。
例如,测试已接入WAF防护的源站IP 80端口和800端口是否能成功建立连接,测试结果显示端口可连通,说明存在源站泄露风险。
注意 配置安全组存在一定风险。在配置源站保护前,请注意以下事项:
- 请确保该ECS或SLB实例上的所有网站域名都已经接入Web应用防火墙。
- 当Web应用防火墙集群出现故障时,可能会将域名访问请求旁路回源至源站,确保网站正常访问。这种情况下,如果源站已配置安全组防护,则可能会导致源站无法从公网访问。
- 当Web应用防火墙集群扩容新的回源网段时,如果源站已配置安全组防护,可能会导致频繁出现5xx错误。
操作步骤
- 登录云盾Web应用防火墙控制台。
- 前往管理 > 网站配置页面,选择WAF实例所在的地区。
- 单击Web应用防火墙回源IP网段列表,查看Web应用防火墙所有回源IP段。
说明 WAF回源IP网段会定期更新,请关注定期变更通知。及时将更新后的回源IP网段添加至相应的安全组规则中,避免出现误拦截。 - 在WAF回源IP段对话框,单击复制IP段,复制所有回源IP。
- 参照以下步骤,配置源站只允许WAF回源IP进行访问。
- 源站是ECS
- 前往ECS 实例列表,定位到需要配置安全组的ECS实例,单击其操作列下的管理。
- 切换到本实例安全组页面。
- 选择目标安全组,并单击其操作列下的配置规则。
- 单击添加安全组规则,并配置如下安全组规则:说明 安全组规则授权对象支持输入“10.x.x.x/32”格式的IP网段,且支持添加多组授权对象(以“,”隔开),最多支持添加10组授权对象。
- 网卡类型:内网
说明 如果ECS实例的网络类型为经典网络,则网卡类型需设置为公网。 - 规则方向:入方向
- 授权策略:允许
- 协议类型:TCP
- 授权类型:地址段访问
- 端口范围:80/443
- 授权对象:粘贴步骤4中复制的所有Web应用防火墙回源IP段
- 优先级:1
- 为所有Web应用防火墙回源IP段添加安全组规则后,再添加如下安全组规则,拒绝公网入方向的所有IP段访问,优先级为100。
- 网卡类型:内网
说明 如果ECS实例的网络类型为经典网络,则网卡类型需设置为公网。 - 规则方向:入方向
- 授权策略:拒绝
- 协议类型:TCP
- 端口范围:80/443
- 授权类型:地址段访问
- 授权对象:0.0.0.0/0
- 优先级:100
- 说明 如果本安全组防护的服务器还与其他的IP或应用存在交互,需要将这些交互的IP和端口通过安全组一并加白放行,或者在最后添加一条优先级最小的全端口放行策略。
- 源站是SLB通过类似的方式,将Web应用防火墙的回源IP加入相应负载均衡实例的白名单,具体设置方法请参见设置负载均衡白名单访问控制。
- 登录负载均衡管理控制台,前往访问控制页面,单击创建访问控制策略组。
- 填写策略组名称,添加WAF回源IP网段,单击确定。
- 在实例管理页面,选择相应的负载均衡实例。
- 在监听页签中,选择端口监听记录,单击更多 > 设置访问控制。
- 启用访问控制,选择访问控制方式为白名单,并选择所创建的WAF回源IP网段的访问控制策略组,单击确定。
后续步骤
源站保护配置完成后,您可以通过测试已接入WAF防护的源站IP80端口和8080端口是否能成功建立连接验证配置是否生效。如果显示端口无法直接连通,但网站业务仍可正常访问,则表示源站保护配置成功。
Buy me a cup of coffee :)