云上等保部署要点——WEB应用防火墙和DDOS高防IP

问:把大象放冰箱统共分几步?
——小品《钟点工》

WEB应用防火墙顾名思义就是解决WEB应用防护问题的专属服务,今天的WEB应用已不仅限于网站门户,APP服务接口、业务系统之间的相互调用、数据共享服务都在大量的使用WEB通道,当下绝大部分的系统交互都发生在WEB应用服务之上,可以说没有WEB就没有今天的互联网和移动互联网,在结合现在的信息安全形势,不管需不需要过“等保”,WEB应用防火墙都是居家旅行的必备服务。

DDOS高防防御的则是信息安全领域的第一顽疾:DDOS攻击,DDOS攻击翻译过来就是分布式拒绝服务攻击,就是攻击者利用技术手段调集大量的攻击资源同时对受害者的网络服务进行阻塞以阻止其正常对外提供服务。目前DDOS攻击和防护所需的成本还处于不对等状态,防御者通常需要消耗几十、上百倍的成本方可成功的防御DDOS攻击。正是因为这个原因,DDOS高防IP出现在用户购物车里的频率可能是所有安全服务里最低的,不过随着anycast技术的出现很可能会扭转这一状况,另外等级保护相关要求中也有对网络关键位置进行防护的相关要求,所以DDOS 高防IP在云上等保系统中也有一席之地。

WEB应用防火墙和DDOS高防IP经常一起出现在WEB应用系统的防护解决方案中,今天就让我们来聊聊阿里云WEB应用防火墙和DDOS高防IP的部署吧。

第一个要点,部署模式选择
WEB应用防火墙和DDOS高防IP都有两种部署模式。
DDOS高防IP支持网站接入和端口接入:

  • 网站接入、一般面向网站提供接入防护,使用CNAME地址重定向方式接入。
  • 端口接入、一般面向游戏应用,使用端口映射的方式接入。

WEB应用防火墙的接入方式包括:

  • CNAME接入、同DDOS的网站接入,使用CNAME地址重定向接入。
  • 透明接入、在部分地域支持透明接入,服务器在这些地域的情况下可以选择透明接入,但透明接入和CNAME接入模式不能共存,只能选择一种。

假如要保护的对象是WEB应用,建议都使用CNAME接入模式
DDOS高防IP使用端口方式接入WEB应用无法使用80端口,而且一个端口只能映射一个应用,无法通过域名进行区分复用。WEB应用防火墙假如使用透明模式则只能保护本账号及本地域下的服务器,而WEB应用防火墙和DDOS高防IP通过CNAME接入时不仅支持对部署在阿里云上的应用进行保护,还支持对部署在云下的应用进行防护。

CNAME接入:就是在DNS里将原来系统的域名从A记录修改为CNAME记录,记录值从IP地址修改为一个阿里云智能DNS提供的CNAME地址串,通过这个CNAME地址串,阿里云智能DNS就可以将用户对域名的请求重新调度到提供相关安全服务的地址上去。

看到这里有人可能会耽心:假如DDOS攻击者去攻击阿里云的智能DNS,岂不把所有的服务都干趴下?打这个主意的应该不少,但都想多了。对于这一点,大家尽可放心,因为阿里云的智能DNS服务使用的是anycast的抗DDOS方案,又有充足的带宽和阿里云的安全运维团队的保驾护航。

第二个要点,拓扑结构
这个没有什么“假如”,一定要把DDOS高防IP部署在WEB应用防火墙之前,否则DDOS高防IP就白买了。

WEB应用防火墙主要的功能是防御WEB应用层攻击,当遇到DDOS攻击时WEB应用防火墙也会被打到无法继续提供服务,DDOS高防IP必须部署在WEB应用防火墙之前才能够有效的拦截DDOS攻击。

第三个要点,部署顺序
假如是对一个正在运行中的系统进行防护,建议先从DDOS高防IP开始部署

先配置DDOS高防IP只需要修改一次DNS记录

  1. 完成DDOS高防IP的配置,源站地址填服务器的外网IP,配置完成后将获得DDOS高防的接入CNAME地址串。
  2. 修改DNS记录为DDOS高防IP的CNAME记录,实现DDOS高防IP接入。
  3. 完成WEB应用防火墙的配置,WEB应用防火墙的源站同样也是服务器的外网IP,获得WEB应用防火墙的接入CNAME地址串。
  4. 修改DDOS高防的源站服务器地址,将服务器的IP地址替换为WEB应用防火墙的CNAME地址,从而实现WEB应用防火墙接入。

假如先配置WEB应用防火墙就需要修改两次DNS记录

  1. 完成WEB应用防火墙的配置,源站填服务器外网IP,获得WEB应用防火墙的接入CNAME地址串。
  2. 将DNS记录修改为WEB应用防火墙的CNAME记录以验证WEB应用防火墙是否正常工作。
  3. 完成DDOS高防IP的配置,后端服务器地址填写为WEB应用防火墙的CNAME记录,但此时的DNS记录依然指向的是WEB应用防火墙,因此还需要再修改一次DNS记录。
  4. 将DNS记录修改为DDOS高防IP的CNAME记录验证DDOS高防IP和WEB应用防火墙的工作是否正常。

DNS服务有缓存和过期机制,默认的TTL过期时间一般都是10分钟,这样在两次修改期间假如出现服务异常要切换回原来的地址一般都需要10分钟左右,再加上有部分的DNS缓存服务器不遵守TTL设定,回切的时间将会更长。

因此在对在线应用服务部署WEB应用防火墙和DDOS高防IP时,建议先部署DDOS 高防IP。

第四个要点,CC攻击的防御
这个也没有什么“假如”,在同时部署DDOS高防IP和WEB应用防火墙的情况下,优先使用WEB应用防火墙的CC攻击防御能力。

CC攻击是一种通过大量消耗应用服务器CPU、内存、磁盘处理能力的方式来让应用服务无法正常对外服务的一种攻击方式。

为什么?CC攻击的名字就说明一切了,CC攻击全称Challenge Collapsar,意思是挑战黑洞,黑洞是当年国内一个安全厂商推出的抗DDOS产品,在当时的公开测试时有攻击者使用了CC攻击,CC攻击成功的绕过了黑洞的防御机制而让后台业务应用无法继续提供服务。

第五个要点,为网站接入预留端口
DDOS的端口映射模式不能使用80/443端口,但可以使用8080/8443,而我的建议是尽量不要在端口模式下使用这两个端口。
因为在和WEB应用防火墙配合使用时可以通过网站接入的方式来使用8080/8443 端口,但前提是8080/8443端口没有被映射使用。

第六个要点,网站迁移保护期
当把网站在两个WEB应用防火墙实例之间迁移时,出于维护集群稳定性的考虑,不能直接将网站从一个实例删除后直接加入到另一个实例,在添加实例时会收到有关域名在若干时间的保护期后才能加入的信息,针对这种情况有如下建议:

  • 选一个业务维护窗口进行迁移,在迁移期间不提供服务。
  • 可以通过工单和服务群申请解除保护期,在保护期被解除后就可以在另一个WEB应用防火墙实例添加网站域名。
  • 在切换期间将请求通过DNS接回源站,并祈求老天保佑这个时间不会有人来攻击。
  • 在切换期间将请求通过DNS接回源站,在源站将请求重定向到另一个临时域名,并将该域名接入WEB应用防火墙进行防护。这里必须使用显式的HTTP重定向,而不能使用CNAME。

以上,就是我能想到的一些DDOS高防IP和WEB应用防火墙的部署要点,希望对大家有用。

上一篇:Docker系列教程04-Docker镜像常用命令


下一篇:【MySQL】【备份】mydumper安装与使用细节