撰于 阅读 2297

浅谈网站防护措施

昨天晚上在十年之约的QQ群中,看到两位博主在吵架,起因是一位博主的网站访问较慢,说可能被ddos攻击了,另一位博主就回复“你这网站也配被攻击?人家攻击不要成本的吗”(这句话被撤回了,所以截屏上面没有)因为这句话,两位博主在群内吵了起来。


为了当事人的隐私,我们以在群内等级头衔白银和黄金来称呼他们。且不说两位博主吵架的行为是不是正确的,单纯从对话内容当中,可以了解到,白银博主认为别人ddos或者cc攻击他人网站是需要钱的,可能以他的理解,认为这个成本很大,一般不会有人浪费成本去攻击个人网站。随后黄金博主贴出了阿里云短信通知,服务器遭受异常流量攻击已经被屏蔽,证明自己的服务器遭受了攻击。

其实到这为止,就应该能确定了,黄金博主服务器确实被攻击了,导致网站服务加载缓慢。而白银博主还觉得,自己是在好心解释却不被理解。

而我作为一位旁观者,我觉得,未经他人苦,莫劝他人善,白银博主自己网站没有被攻击过,他就觉得个人网站没有人会去攻击,用他的原话就是“不配”被攻击,但是他可能不清楚,现在的攻击成本会有多低。这个攻击不针对大公司的网站,我们单论个人博主的网站,我并不是一名专业的网络安全工程师,所以对于网络攻击方面也不是很清楚,但我知道的是,在国外的一些社交平台上面,会有很多免费的攻击资源,以这些免费资源为例,基本上可以将一台个人博主使用的轻量服务器打进黑洞。

而作为个人网站的站长,我们也需要时刻保护好自己的网站,我也是一名小白站长,但在建站的过程中,也学习了很多防护措施,下面会以本博揽星为例,讲解一下揽星现在的防护方案,也希望能帮助到其他站长。

揽星部署在阿里云杭州的一台ECS上面,先看CDN方面,通过揽星的CNAME记录可以看到,中国大陆的解析为百度智能云DNS,而中国香港解析为888033.xyz,如果查看更全面解析,则会发现港澳台地区和海外解析均是888033.xyz

国内访问使用百度智能云加速,可以提高访问速度,并且隐藏原IP,而港澳台及海外地区解析到888033.xyz,则是因为海外线路均是通过SAAS方案接入了cloudflare,因为非大陆访问的时候,你完全可以相信cloudflare。

而使用国内CDN的时候,需要配置好防护,例如CDN的QPS阈值、单请求响应限速、以及用量封顶。

在配置好CDN的时候,如果你有多余的服务器,可以安装一个长亭雷池,雷池(SafeLine)是长亭科技耗时近 10 年倾情打造的 WAF,核心检测能力由智能语义分析算法驱动。而社区版是免费的。

雷池可以和网站服务部署在同一台服务器,也可以分开部署,我的建议是分开部署,可以降低负载。因为我们网站的海外流量均是由cloudflare分流,因此雷池只需要处理国内流量即可。

雷池可以拦截SQL注入、XSS等恶意攻击行为,并且要求作出行为验证,同时还有IP情报黑名单,可以共享恶意IP信息。

当网站存在非正常访问行为时,雷池会立刻拦截,并且记录数据,若高频恶意攻击的话,可以开启人机验证或直接封禁对应IP。

除了上述防护以外,由于个人博客存在评论功能,且部分网站评论回复是有邮件通知的,因此在邮件功能上面需要注意防范。因为部分邮件通知在原文内会携带服务器源IP,因此建议将邮件通知改为阿里云邮件推送或者阿里企业邮,能有效处理源IP暴露的风险。

当然,就算做好了防护,也可能面临被攻击的风险,我们只能把这个风险降低,而没办法做到规避风险。最后,需要提醒各位站长,做好网站防护是作为一名站长的职责,但必要时可以通过法律途径维护自己的权益。


已有 29 条评论

  1. 昨天去不图床也被打了,不过没打多久。
    之前用CDN,很怕别人刷流量的,现在自建CDN了,也不怕流量浪费了~

    回复
    1. 揽星 作者 回复了 TeacherDu

      可是自建CDN也要成本吧

      回复
      1. TeacherDu 回复了 揽星

        相比市面的CDN更好控制成本~

        回复
  2. 真巧了,昨天下午我那个万年不维护的主页服务器被打进黑洞了,不会是这群人吧?但我也没在这个群里啊,怎么找到我的主页链接的?

    回复
    1. 揽星 作者 回复了 Jialuo Chen

      这个不清楚,我的监控页status.zc.wiki/status/lx,昨天下午3点多提醒你的主页超时了,今天早上也超时过

      回复
      1. Jialuo Chen 回复了 揽星

        昨天黑洞了我就把资料迁移了,后面加上了cdn,今天早上cdn触发限流策略然后自动关闭了,谁在搞我,我真无语了。。。

        回复
  3. 我之前也部署了雷池,但是后面因为服务器太小了,两g内存不够用,没办法就给关了,现在域名都挂到了cdn上,害怕的就是被刷,虽然我也想过没人闲着没事刷我的这个小站哈哈哈,所以前两天尝试着用防盗链相关的东西,但是好像连网站都给屏蔽了,所以也就没办法了,只能继续看后面能不能发现一些其他的防护工具

    回复
    1. 揽星 作者 回复了 Liushen

      cdn开启qps限制和流量限制就行,或者设置地域访问。不建议用防盗链,开了就需要把你可能用到的平台Referer加进去,而且好像可以通过伪造Referer访问,感觉用处并不是很大

      回复
  4. 可惜我的域名解析了邮件,分线路解析会导致收不到海外邮件,只能暂且把海外的解析停了。国内也有很多恶意的攻击,保护源站ip不泄露,保护cdn流量不被刷,其它的就看情况了。

    回复
    1. 揽星 作者 回复了 w4j1e

      这个我没理解,域名CNAME可能会和MX解析冲突,但是有的平台能够处理一下这种冲突,比如阿里云解析好像可以做好这样的处理,但是就算不分线路的话,你的原本的CNAME解析应该也会和MX冲突吧,可能也会造成收不到邮件的情况吧

      回复
      1. w4j1e 回复了 揽星

        dnspod 支持解析拉平(cname flattening)。默认解析 cname 和 MX 的话不冲突,正常收发件。但是我给 cname 单独解析了一条境外,就导致境外邮件服务器发来邮件时,解析到 cname 了。

        回复
        1. 揽星 作者 回复了 w4j1e

          我想起来了,之前在你博客看过文章。我现在邮箱和博客不用同一个域名了,也不担心解析问题

          回复
  5. 芜湖 不错 我也去弄个雷池,不过有些cdn后台自带防cc策略就是不知道哪个强一些

    回复
    1. 揽星 作者 回复了 八九

      小孩子才做选择,如果cdn有防护策略的话,当然也要开,雷池可以限制访问频率和恶意的注入攻击,cdn同时限制一下,会更好点

      回复