我是吐鲁番一个做葡萄干ERP系统的老板,前几年公司系统被攻击了三次,客户数据差点泄露。后来我找人做安全加固,结果加固完老客户全部打不开系统,业务停摆了一周。今天我把这段血泪教训讲讲。
安全要求用最新的加密算法、最新协议、最新权限模型。但吐鲁番很多客户还在用老电脑、老系统、老浏览器,这些老设备不支持新东西。一升级就崩。
新协议、新算法、新权限、新跨域四大矛盾。常见矛盾:
第一,HTTPS升级。新TLS协议用老IE访问不了。吐鲁番一些工厂还在用Windows 7+IE8,这些老设备打不开HTTPS。
第二,加密算法升级。从MD5升到SHA256,老API调用全部报错。吐鲁番ERP有几百个调用方,不能一刀切。
第三,权限收紧。原来代码里有些绕过权限的逻辑,一收紧就崩。吐鲁番老板的老系统经常有这种野路子代码。
第四,跨域策略。CORS策略收严,老前端的跨域请求全被拦截。
第一步,全面摸底。盘点所有客户端的设备、浏览器、系统版本。我当初盘点了葡萄干ERP的客户端,30%还在用Win7+IE。
摸底、分级、渐进、应急四步走。第二步,分级兼容。对老客户端保留特殊通道,新客户端用新标准。吐鲁番ERP对Win7+IE的客户端,单独保留一个TLS 1.0的子域名。
第三步,渐进式升级。先升10%观察一周,没问题再扩到50%,再扩到100%。我当初用了3个月才完成全部升级。
第四步,应急预案。升级出问题能5分钟内回滚。吐鲁番老板加固前一定要做这个预案,不能等崩了再救。
第一,HTTPS兼容。服务器同时支持TLS 1.0、1.1、1.2、1.3,老客户端用1.0-1.1,新客户端用1.2-1.3。Nginx一行配置的事。
HTTPS、加密、权限、前端四方案。第二,加密算法兼容。API同时支持MD5和SHA256,老调用方继续用MD5,新调用方用SHA256。吐鲁番ERP有几百个老调用方,不能一刀切。
第三,权限分级。核心数据严控、一般数据中等、公开数据放开。吐鲁番老板的客户信息、订单数据要严控,行业资讯可以放开。
第四,前端兼容。CORS策略配置白名单,老域名放行,新域名严控。
第一,完整备份。加固前全量备份数据库、代码、配置。我当初备份了三份,本地、云端、异地各一份。
备份、测试、通知、回滚四项准备。第二,测试环境。先在测试环境加固,跑通所有业务流程再上线上。吐鲁番老板加固前至少要在测试环境跑一周。
第三,客户通知。提前一周通知客户升级时间,让客户做好准备。我当时通知了但有些客户没看到,后来我改成电话+短信+邮件三通知。
第四,回滚预案。5分钟内能回滚到升级前。吐鲁番老板加固前要演练回滚,确认能跑通。
微信扫码咨询
×