• 我为什么支持高校的信息系统放弃Apache Struts2框架(三)


    月初听闻广东某高校(中山大学)发布通知:关于停止使用Apache Struts2开发框架的通知

    鉴于S2漏洞较多、维护难度较大,为防范控制网络安全风险,经研究决定,新建信息化项目不得使用S2;

    在用S2的信息系统(网站)应尽快转用其他更安全的MVC框架(如Spring MVC等);从即日起,使用S2的信息系统(网站)将仅限校园网内访问。

    作为信息安全爱好者,个人对学校的决定是举双手支持的,Struts 2框架在安全方面似乎有着与生俱来的缺陷,与同类开源项目相比,它的问题是在是太多了。下面说一下我个人支持的原因:

    三、运维成本

    Struts 2框架属于web应用的底层核心,补丁更新升级并不是直接替换个文件那么简单,需要考虑是否影响到网站应用的功能;

    此外补丁更新每次都需要停启服务,造成业务中断。我们以2017年的Struts 2高危的远程代码执行漏洞的TimeLine时间线为例:

    2017年3月7日,S2-045远程代码执行,你需要停机更新补丁;

    2017年3月20日 S2-046远程代码执行,你又要评估打补丁;

    2017年7月7日 S2-048远程代码执行,你又要评估打补丁;

    上半年因为Struts 2漏洞,你都已经停机维护三次了,先不提在应用系统打补丁之前已经发现应用系统被漏洞利用入侵,需要应急处理了。

    下半年其实也不轻松:

    9月5日Apache Struts2官方公布严重漏洞:Struts2 S2-052远程代码执行漏洞,你需要停机更新补丁;

    9月7日 Apache Struts2官方再爆RCE漏洞:Struts2 S2-053远程代码执行漏洞,你需要停机更新补丁;

    或许你已经习惯了Struts2这种爆发漏洞的行为,但是不知道你是否发现2017年Struts2的RCE漏洞一般是在当月成双成对出现的,
    比如3月份的远程代码执行漏洞:S2-045、S2-046,或许是漏洞发布者觉得当月两连发,能够带给大众的快感会持久一些吧,

    或许以后会有三连发,四连发,bao得你不要,不要的……

    高校中仍然在使用Struts 2框架运行的业务系统的用户,需要具备如下能力:

    如果你没有BAT的技术实力,那你需要一颗铁一样的心脏,并且精力旺盛,能够承受凌晨起来断网或更新补丁;

    还要巧舌如簧,有各种理由能够向领导解释生产环境频繁的停机维护;

    最后还要勇于承担,在发生恶劣的数据泄密和反动篡改之后,能够主动跳出来替领导背锅。

    如果你不具备这样的能力,那你应该考虑摈弃Struts 2框架的应用系统,

    其实解决以上忧虑的方法也很简单:在新产品新业务建设初期,产品选型调研阶段,你只需问一句“请问贵公司的产品研发有没有使用Struts 2?”

  • 相关阅读:
    mysql存储过程
    命令简写 ~/.bash_aliases
    TestCafe 快速上手 (三)
    TestCafe 快速上手 (二)
    OWASP 文档
    读书笔记
    读书笔记
    类数组转化为真正的数组
    Vue子组件向父组件传递数据
    node.js取参四种方法req.body,req.params,req.param,req.body
  • 原文地址:https://www.cnblogs.com/wecare/p/7783348.html
Copyright © 2020-2023  润新知