大家好,我是你们的老朋友。继前两天解决了API加速和HTTPS配置后,本以为可以高枕无忧了,结果今天差点在“阴沟”里翻船。

事情是这样的,我的个人博客最近流量起来了,结果引来了一些“不速之客”。今天就来聊聊我是如何利用360CDN的WAF(Web应用防火墙)功能,把那些恶意攻击挡在门外的。

一、 遇到的坑:半夜收到报警短信

昨天半夜,手机突然收到360CDN的报警短信,提示“检测到异常高频请求”。我迷迷糊糊爬起来一看监控,好家伙,源站CPU飙升到90%,带宽也被占满了。

打开日志一查,发现有人在疯狂扫描我的登录接口,而且请求参数里夹杂着各种奇怪的字符,比如' OR '1'='1

二、 排查过程:原来是SQL注入攻击

作为一个老前端,我对后端安全其实了解不多。但看到这些参数,我立刻意识到这是典型的SQL注入攻击。攻击者试图通过构造恶意SQL语句,绕过登录验证,甚至拖库。

更可怕的是,这些攻击都是通过HTTPS加密通道发过来的。如果我只开了HTTPS而没有WAF,这些恶意流量就会像正常用户一样,直接打到我的源站上。

三、 填坑之路:360CDN的WAF真香

我赶紧登录360CDN后台,找到了“安全防护”模块。

  1. 开启WAF防护
    之前为了省事,我一直没开这个功能。这次我毫不犹豫地点了“开启”。系统提示我选择防护等级,我直接选了“严格模式”。

    • 配置:不需要写复杂的正则表达式,也不用懂什么规则库。360CDN内置了针对SQL注入、XSS、命令执行等常见攻击的防护规则,一键生效。
  2. 配置CC攻击防护
    除了SQL注入,我还发现有很多IP在高频刷新页面,试图耗尽我的服务器资源(CC攻击)。

    • 操作:在WAF设置里,我开启了“CC防护”,设置为“单个IP在10秒内请求超过30次则封禁1小时”。
  3. 自定义黑白名单
    为了保险起见,我还把自己公司的固定IP加入了白名单,防止误伤。

四、 最终效果:世界清静了

配置生效后,大概过了5分钟,监控曲线就下来了。

  • 攻击拦截:后台日志显示,刚才那波SQL注入攻击被全部拦截,返回了403 Forbidden。
  • 源站恢复:CPU使用率降到了10%以下,网站访问恢复正常。
  • 误报率:我特意试了几下登录,正常操作完全没问题,没有被误拦。

五、 给同行的建议

  • 安全无小事:不要以为你的网站小就没人攻击,自动化扫描工具无处不在。
  • WAF是标配:360CDN的WAF功能集成在控制台里,配置非常简单,不开启简直是浪费资源。
  • HTTPS+WAF:这两个组合才是网站安全的完全体,缺一不可。

技术路上,不仅要会写代码,还要会“防身”。希望我的这次经历,能帮大家避开安全的大坑。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐