知名站长分享博客网站由内而外的安全防御思路

投稿   明月登楼  2018-01-29 07:30:04  258 人阅读  69 条评论

最近明月又开始瞄向网站安全方面的折腾了,又是 HTTP 响应头,又是 Nginx Lua 的,可以说折腾的是不亦乐乎!为了与众同乐今天就总结分享一下最近折腾的这个“由内而外的安全防御思路”给大家,希望可以起到“抛砖引玉”的效用,欢迎大家踊跃点评讨论分享哦!

知名站长分享博客网站由内而外的安全防御思路 建站经验 第1张

对于博客网站的安全问题,很多新手站长们可能感触不多,甚至没有感觉。对于玩博客时间久一点儿的站长来说几乎每个人都有一段“安全”的辛酸故事,就拿明月自己来说,这七八年的博客站长生涯里几乎经历了所有的安全故障,什么木马、后门植入、网页篡改、HTTP 流量劫持、恶意解析、CC/DDOS 攻击、XSS 攻击、SQL 植入、点击劫持(ClickJacking)等等,可以说五花八门什么样的都有。套用电影《疯狂的石头》里郭涛的那句咆哮:“公共厕所嘛!想来就来,想走就走嗖!”真的是太贴切了,所以明月对网站安全防御一直都是很重视的,或者说一直都是心中的“梦魇”。

至于说安全因素给博客网站带来的坏处有哪些?可能很多新手博客站长对此还是很模糊的,明月就自己的经验和亲身经历总结如下,以供大家参考:

  • 流量、带宽的损耗造成服务器成本增加;
  • 过多的安全隐患造成网站整体稳定性持续性差,影响用户浏览体验甚至严重到影响搜索引擎排名、权重;
  • 网站用户、信息、服务器资源被盗用、篡改;
  • 被恶意镜像复制、仿冒造成搜索引擎误判拔毛;
  • 网站投放的联盟广告被点击劫持(ClickJacking)连带联盟账号被封禁;
  • 被人恶意持续 CC/DDOS 攻击,造成服务器商封禁主机;
  • 被植入涉及违法的文字、链接造成域名被 GFW 拉黑。

上述这些后果基本上都是明月亲身经历过的,最后一条是一个朋友网站真实发生的后果,这些并不是危言耸听,几乎每条都是一个真实实例,可以说都是些“血淋淋”的教训。造成这些后果的主因其实就是站长对网站安全不够重视造成的,很多站长们都认为自己的站点没有什么价值,被人攻破也没有什么影响,殊不知这种认知将会给你的网站埋下很大的祸根,最严重的甚至会给你带来法律上的麻烦等等。

说了这么多,其实明月就是想告诉大家,如果你想好好的运营你的网站,那么相应的安全方面也必须要重视起来,并且这样的安全工作不是一次性的,而是一个长期的工作(技术的发展是日新月异的,任何防御手段都没法保证可以永久有效)。所以,网站的安全防御其实更多的一些思想观念,技术层面的都差不多的原理,下面明月就以网站服务器为例由外而内的讲讲我自己总结的安全防御思路。

知名站长分享博客网站由内而外的安全防御思路 建站经验 第2张

网站外部安全防御

明月曾经有一篇文章【互联网世界里的“黑暗森林法则”】一文里提到过,其实我们的互联网就类似于科幻小说《三体》中描述宇宙一样,无论你是多么先进的文明生存的第一要素其实就是“隐藏自己”(详情可看原文了解)。对于网站来说某些重要的网站数据“隐藏”起来势必就增加了“破坏者”的攻击/破坏成本,或者说是门槛也可以。比如【如何在 HTTP 头中隐藏 PHP 版本号】、【如何隐藏 Nginx 版本号和 Web 服务器名称】文章中的这些其实就是这个目的。就目前的互联网安全环境来说真实的网站 IP 是首要隐藏的一个重要指标,这也是网站外部安全防御里的重中之重,因为对方一旦知道你的真实 IP 地址,那么在试试 CC/DDOS 攻击的时候就是目标明确了,一旦实施攻击,除了服务器宕机几乎没有其他的办法补救,说白了暴露网站主机真实 IP 就意味着放弃了防御纵深,一旦被攻击只有“死路一条”!要想隐藏网站主机的真实 IP 其实很简单挂个免费的 CDN 即可,如果是自带防御的 CDN 最好了,比如:百度云加速360 网站卫士又拍云等等!

隐藏了网站主机真实 IP 后,并不是就万事大吉了,这时候还有可能被人恶意抓取、复制镜像、HTTP 流量劫持、恶意 Frame 框引用、点击劫持(ClickJacking)等等,这些可以借助 CDN 层面的 WAF 防火墙来应对。同时还可以利用 HTTP 响应头来让客户端的浏览器来提升你的网站安全(可参考【在 Nginx 里容易被忽视的 HTTP 响应头】、【Content Security Policy 入门教程】)等文章,目前主流浏览器如:IE/EDGE、Chrome、Firefox 等对安全类的 HTTP 响应头的支持已经很完善了,借助不同的 HTTP 响应头来告诉浏览器自己网站的安全防护规则,浏览器就会根据这些规则自动过滤掉 HTTP 流量劫持、恶意 Frame 框引用、点击劫持(ClickJacking)等等不安全的隐患的(顺带说一下,HTTP 响应头可以很好的解决国内运营商 DNS 劫持的问题)。这个其实是很多站长们都忽略的一个安全防御环节,脸书、推特、谷歌等网站其实都在使用这些 HTTP 响应头的,微软、谷歌、火狐也都在不断的制定安全防护的 HTTP 响应头来应对当前日趋严重的安全形势。

关于网站的外部安全防御明月就总结这么多了,有些可能就是一句话带过的,这些具体的以后大家有需要我可以专们分开单独给大家讲解,今天主要就是讲个思路,不注重实践的,只有思想观念跟上了,才会有所行动嘛!

知名站长分享博客网站由内而外的安全防御思路 建站经验 第3张

网站内部安全防御

所谓的网站内部其实更多的是指网站平台的后台和服务器层面,网站平台可以是 WordPress、Typecho 等等平台,无论何种网站平台都要养成好的使用习惯,比如:不乱装来路不明的插件和主题、尽量购买使用正版的主题插件、自己无法判定的文件绝不随意上传等等。可以说网站被植入木马、后门的几乎百分百都是盗版主题、插件带来的,这些很多新手站长的网站上经常可以找到样本的。这类安全隐患最麻烦,有些潜伏期甚至长达几年才会发作或者被发现,造成的后果也是千奇百怪,总之就是后果很严重,大家需谨慎。这方面没有很好的应对方法,就是一个好习惯的养成的问题!要想减少这方面的隐患危害,明月建议大家在设置网站目录权限的时候不少都是 777 权限,一般 644 都可以的就不要懒省事儿直接给个 777 了,大部分 Linux 服务器被攻破其实都是“权限”惹的货,特别是木马等的传播其实拥有“写入”权限才能实现的。

服务器层面的内部安全防御,其实这是个很大的话题,基本上服务器运维的主要工作就是围绕安全防御展开的,所以真要细说起来的话,明月水平就真的是有限了,所以我只捡自己目前正在用的和自己实践过的来讲,希望可以起到“抛砖引玉”的作用。

目前明月在服务器端采取的安全防御措施还是不少的,像:

再加上 WEB 服务器 Nginx 层面的安全措施(可参考【Nginx 限制单个 IP 的并发连接数改进适配开启 CDN 站点】一文)都是我目前所在尝试和使用的安全防御措施。基本上就是结合着一起使用,根据不同情况不同对待,平时主要就是屏蔽和拦截各类垃圾蜘蛛爬虫的抓取和访问以及各种扫描脚本屏蔽,这个主要借助的是 ngx_lua_waf 这个 Nginx 模块,目前来看只要及时的收集和返现被扫描都可以很好的拦截和屏蔽。配合相应的规则还可以减少漏洞带来的风险。整体的效果目前来看明月自己还是很满意的,在配合 CDN 情况下小当量的 CC/DDOS 攻击应对合适的话都是没有问题的,总结下来就是服务器端的安全防御是个长期性的工作,因为矛和盾的故事永远都在上演着,安全防御也得跟随着进行下去,从服务器层面来看,网站发展到一定时候一个好的运维服务是非常重要的,至少可以节省不少的服务器维护、升级成本。

知名站长分享博客网站由内而外的安全防御思路 建站经验 第4张

整体思路总结

其实无论是外部还是内部的安全防御都是一个长期的工作,无论哪种防御方法都不是永久有效的,技术的更新迭代在进化者防御的同时也在加持着攻击/破坏的法力,所以明月警告大家不要迷信某一种防御手段,正所谓“道高一尺魔高一丈”!网络永远不是大家看到的“风平浪静”的表象,你的网站每时每刻都在被别有用心的“人”关注着、扫描着、分析着!不要幼稚的认为自己的网站没有价值,所谓的“价值”都是相对的,用你的服务器攻击别人、用你的服务器来“挖矿”对别人都是有价值的呀。所以,在安全防御的路上明月还有很长的路要走下去,还是那句话“生命不止、折腾不息”。

历史上的今天:

如果文章对你有帮助,请赞赏支持作者继续创作!

文章标签: ,   ,   ,  
原文地址:https://www.imydl.com/wzjs/6778.html
温馨提示:文章内容仅代表作者个人观点,不代表boke112导航赞同其观点和对其真实性负责!
版权声明:本文为投稿文章,感谢 明月登楼 的投稿,版权归原作者所有,欢迎分享本文,转载请保留出处!

 发表评论


  1. 魏义齐
    魏义齐 【小白】 @回复

    我博客上线第二个月就被镜像了,百度所有的强行跳转js代码都没用,最终是用西数技术客服给我发的一个文档里的方法解决了,这个过程真的是一番折腾。开启云加速是可以隐藏ip,但也有缺点,比如百度云加速,开启之后我的网站后台登录经常是登录成功了不进入管理中心,就是进了管理中心,有些模块也加载不出来,加载出来了有时候文章编辑器的正文输入框部分也加载不出来,西数技术客服最终给的解决方案是“与百度云有关系,直接hosts到服务器IP速度很快。如确实影响使用,可关闭百度云”,我真想把工单截图张贴出来。但是,已经做了这么长时间,有了自己的圈子和朋友,漫漫长路,坚持吧!

    • 懿古今
      懿古今【村长】2018-03-22 16:38  回复

      @魏义齐[思考] 确实奇怪,不过我原先也使用过百度云加速,站点的使用都比较正常,除了偶尔某个节点会有问题之外,没有遇到其他问题,可能跟站点或服务器有关吧。

  2. 博客之家
    博客之家 【小白】 @回复

    上个月被cc了几天几夜了,简直苦不堪言。

  3. 狂放
    狂放 【进士】 @回复

    没漏洞就好,DDCC只有花钱解决,软防再多对于大规模的攻击都是无用的

    • 明月登楼
      明月登楼 作者回复2018-02-04 15:56  回复

      @狂放是的,不过,要实施有效的CC/DDOS攻击也得是花钱买的流量和代理才能有效的!

  4. 皇家元林
    皇家元林 【小白】 @回复

    我的dns解析经常反馈宕机,恢复,宕机,恢复,一天好几次,打开网站又没什么问题,这个是咋回事呢

    • 明月登楼
      明月登楼 作者回复2018-02-04 15:57  回复

      @皇家元林这个如果提示宕机期间你的站点其实是正常的,那就是DNS解析服务的验证被你服务器防火墙拦截了造成的误报!

  5. 纯洁博客
    纯洁博客 【书童】 @回复

    云盾一直提示有漏洞,从来没有修复

    • 明月登楼
      明月登楼 作者回复2018-01-31 15:40  回复

      @纯洁博客呵呵,云盾提示的无非也就是系统补丁类的漏洞而已!其实跟我们网站的安全关系关联性并不强的!

  6. 易发网
    易发网 【秀才】 @回复

    安全防御很重要,看来我们玩zblog的也可以伪装成WordPress [偷笑]

  7. 姜辰
    姜辰 【秀才】 @回复

    一个CDN,一个伪装成WordPress,我觉得差不多了。😂

    没错,我不是WP,但是我装成了WP。WP后台入口有的,我都有。😂

    • 懿古今
      懿古今【村长】2018-01-30 15:04  回复

      @姜辰[赞] 这个思路不错,看来我们玩WordPress的也可以伪装成zblog [偷笑]

      • 姜辰
        姜辰 【秀才】2018-01-30 15:40  回复

        @懿古今不不不,你们这个一看首页HTML源代码就可以确认了。😂

    • 明月登楼
      明月登楼 作者回复2018-01-31 15:42  回复

      @姜辰呵呵,伪装成 WordPress 其实意义不大!因为XSS类的注入和扫描漏洞类的攻击,甚至CC/DDOS的攻击都无视你用的是啥系统平台的!

      • 姜辰
        姜辰 【秀才】2018-01-31 18:14  回复

        @明月登楼呵呵,注入的你自己不会控制提交的地方?真是呵呵了,针对WP的扫描比如/wp-login.php或者/wp-admin/的不少吧?不会看网站日志?cc/ddos攻击你没CDN?呵呵,难道你露出自己内裤出去让别人打?真的是呵呵了。您还真的博学~

        • 明月登楼
          明月登楼 作者回复2018-01-31 18:27  回复

          @姜辰注入攻击可从来没有固定过某个文件或者目录的!除了注入攻击类,post攻击、get攻击、cookie攻击、url攻击还有更多!CC/DDOS攻击造成 CDN 服务商关停提供 CDN 服务这都是我经历过的,你“呵呵”只能说是你还没有碰到过一定规模当量的CC/DDOS攻击而已,一旦碰到你就能理解什么叫“束手无策”了!至少我的经验是由内而外的结合防御才能有效的阻挡这类攻击!当然被人付费购买流量攻击的只能“上帝保佑”了!

        • 姜辰
          姜辰 【秀才】2018-02-01 00:02  回复

          @明月登楼一定规模的?一个小时的流量打到三台服务器全部挂了算吗?真是~你难道认为正常情况下会有人专门去攻击你?想多了 ,都是机器人程序爬过来,你以为机器人是看你网站?不都是直接看源代码,符合WP要求直接按WP的规则来就行。= =、这种情况完全可以自己伪装一下让机器人自娱自乐就行。

          最后再说了,URL,post这些,如果你自己程序明面上没注入的谁有心情去弄?又不是付钱,付钱直接D就行了,哪来这么多事。

        • 明月登楼
          明月登楼 作者回复2018-02-01 08:43  回复

          @姜辰正常情况下被人专门攻击这个事情我碰到过,老古碰到过,知更鸟碰到过!都想你说的这么简单纯真,这个世界可就真的是“美好”了! [委屈]
          至于说XSS注入等你最好自行百度了解一下!看看啥叫Content-Security-Policy响应头就知道绝对不是你想象的那么简单了! [嘘]
          至于你说的伪装,说实话也就是糊弄一下小白水平的新手而已! CDN 背后的真实IP都可以给你挖出来更何况你这种前端的“伪装”呢! [偷笑]

  8. 风紧扯乎
    风紧扯乎 【秀才】 @回复

    早上好~!

  9. 雅兮网
    雅兮网 【秀才】 @回复

    最后一段深有体会“网络永远不是大家看到的“风平浪静”的表象,你的网站每时每刻都在被别有用心的“人”关注着、扫描着、分析着!” 随便装个防护插件,就能看到 每天被扫描很多次

    • 明月登楼
      明月登楼 作者回复2018-01-29 18:28  回复

      @雅兮网呵呵,无论你的网站大小!只要有漏洞必然就攻击和破坏!很多爬虫就是干这个的!

  10. 优站云免费主机
    优站云免费主机 【小白】 @回复

    干货,正需要这个,感谢!

  11. 夏日博客
    夏日博客 【小白】 @回复

    安全问题,简直苦不堪言。

  12. 值品分享
    值品分享 【秀才】 @回复

    一直在做,确实需要跟上时代步伐。

  13. 唯心寒辞
    唯心寒辞 【书童】 @回复

    网站安全问题一直是长久的工作 [赞]

  14. 西枫里博客
    西枫里博客 【进士】 @回复

    安全无小事,防患于未然~

  15. 清秋暖冬
    清秋暖冬 【秀才】 @回复

    上个月被cc了一天一夜

  16. 80后记忆
    80后记忆 【举人】 @回复

    怎么隐藏真实ip呢,明月大佬有教程吗?

    • 明月登楼
      明月登楼 作者回复2018-01-29 11:53  回复

      @80后记忆呵呵,很简单给你的网站启用个免费的 CDN 即可!比如:百度云加速、360网站卫士、又拍云等等!

  17. 99八十一
    99八十一 【举人】 @回复

    前段时间博客动不动就报错,后台乱码,也不知道是不是被攻击了。最后没办法只能重装,所有密码改一遍。很头疼啊!

  18. Mr.li
    Mr.li 【秀才】 @回复

    果然还是低调点好,所有内容及时备份

    • 明月登楼
      明月登楼 作者回复2018-01-29 11:55  回复

      @Mr.li现在的态势看,光低调是不行的了!因为实施一次攻击的成本几乎为0,所以很多手贱的小白为了满足一下自己幼稚的虚荣心就恶意的攻击所看到的域名来秀一下“水平”的越来越多了!所以……

  19. 我们的青春不打烊
    我们的青春不打烊 【秀才】 @回复

    内容写的不错,学习了~~确实有时候遇到不少问题,网站安全还是非常重要的

  20. 码农BTS
    码农BTS 【举人】 @回复

    哈哈,最后总结还是我的静态站好

  21. 小苍老师
    小苍老师 【举人】 @回复

    安全意识还是要有的!不然中标的时候,很痛苦的!

    • 明月登楼
      明月登楼 作者回复2018-01-29 10:37  回复

      @小苍老师是的,最好自己要有一些安全防御措施准备!一旦被攻击可以马上采取防御,这样那些手贱类的攻击可以很快的阻挡住!除非对方愿意花钱购买流量来攻击!

  22. 钟水洲博客
    钟水洲博客 【举人】 @回复

    用着百度云加速,能抗点

  23. 玉苏子
    玉苏子 【书童】 @回复

    中过一次CC,整的头都大了

  24. BanYuner
    BanYuner 【书童】 @回复

    已经连续被DDOS了三天,没有任何解决办法,除了硬抗,可能CDN的效果也是微乎其微

    • 明月登楼
      明月登楼 作者回复2018-01-29 09:50  回复

      @BanYuner呵呵,看来你这是被小人盯上了!你可以加我QQ,我给你试试!只要不是虚拟主机!

  25. 看视频赚钱
    看视频赚钱 【进士】 @回复

    我就奇怪了,一个破小站还经常被攻击,那些人真的闲的没事干

    • 明月登楼
      明月登楼 作者回复2018-01-29 09:57  回复

      @看视频赚钱有很多非常“贱”的小白,就喜欢网上下载个压力测试器实施攻击,这种攻击都是采用网上获取的免费IP来实施的!如果服务器没有任何防御措施的话很容易宕机的!当然如果没有泄露真实IP的话,还是可以通过防火墙来阻挡的!

  26. 靠谱学生兼职网
    靠谱学生兼职网 【进士】 @回复

    DDOS 攻击小站居然也碰上了

  27. 学习笔记Blog
    学习笔记Blog 【进士】 @回复

    呵呵,我自己顶一下! [威武]
    就当是报个到了!