对安全和效率的一点思考
没有漏洞的系统是不存在的。安全事件也从来不会停止。
最近一段时间,也发生了好几起安全大事件,比如某机构泄露了 10 亿用户数据,比如万豪国际被窃取了 20GB 的文件(这已经是万豪第 N 次被黑客攻陷了)。
无数的黑客攻击和信息泄露事件,给企业敲响了警钟:安全问题需要被重视。
但今天不仅仅是要谈安全,还要谈效率。不计成本追求安全,同样也是不可取的,特别对于创业公司来说,因为安全往往伴随着牺牲效率,我们需要追求的安全和效率之间的相对平衡。如何追求二者的平衡呢? 这是一个让人头痛的问题。
华为是怎么做的呢?在《华为:数字化转型必修课》里, 华为的 CIO 提到了华为针对这个问题的解法:五不,两可。
五不”是指攻不进,看不见,看不懂,拿不走,毁不掉攻不进是指外面的黑客无法通过边界入侵进入企业的系统,对边界最简单的理解就是各种外边界应用、邮箱和账号密码等;“看不见”说的是黑客看不到企业的核心资产,比如说黑客攻击华为,重点是盗取华为的 5G 技术,但华为已经提前对 5G 技术做了深度隔离,黑客在系统里看不到任何 5G 相关的内容;“看不懂”主要指加密和伪装技术,达到的效果是,黑客即便看到了某项核心数据,也不会认为这项数据很关键;“拿不走”,强调的是企业要能感知到自己的数据资产是否被黑客转移或者挪动,一旦出现异常情况,企业要有一套阻隔的系统,防止数据被拿走。“毁不掉”,针对摧毁等高危操作进行实时告警与阻隔,比如像勒索加密
两可是指可恢复,可追溯
具体实现在文章里并没有说的很清楚,但是猜测这里面一定有一个专门且庞大的安全团队在搞,开发或者采购了很多安全类系统和工具,设计了很多精密的流程,这里无论哪一项,都是一个庞大的支出。 这对于创业公司来说,可望不可及,道理都懂,要实现和落地又是另外一回事。
对于创业公司,在安全和效率上怎么取舍呢?这一直是我在思考的问题。作为一个日常关注安全动态的创业公司技术负责人,在这里分享自己一些实践过的不成系统的经验。
密码管理。 用密码器统一管理和分发企业的账号密码,替代 excel 和记事本的明文管理方式。推荐使用 bitwarden,1password 等知名的开源 saas 解决方案。
环境隔离。 生产环境和测试环境严格隔离,测试环境绝对不能直接访问生产环境。 生产环境也尽可能不直接暴露 IP,尽量减少端口的暴露。 可以通过负载均衡或者 API 网关隐藏真实的服务器地址,登录服务器使用堡垒机,而不是直接 IP 加端口访问。
定期打安全补丁。 定时打补丁,如果不想自己搭,可以直接买云厂商的安全产品服务。
漏洞扫描和攻击监测。 同样可以直接买云厂商的安全服务,比较省心。
层层加密。 对传输进行加密,尽可能全站启用 HTTPS,对接口进行加密,API 接口调用进行公私钥加签验签,对数据加密,数据落库后再加一次密。提高攻击者的数据获取成本。
规范流程。 比如数据外发流程,尽量在线处理数据,而不是离线导出后处理; 如果导出数据,要走流程,方便审核审计; 离职人员,要及时清理公司账号,回收相关权限,清理敏感信息等等。 另外保持最小权限原则,不要过度给相关的人员分配过多过大的权限,权限够用进行。
人员意识培训。 人永远是最大的漏洞。 系统做得再完善,安全的锁再精密,钥匙永远掌握在人的手里。经常可以听到这样的案例,公司的高管的邮箱被盗,各种系统开始不攻自破。社会工程学的黑客攻击手法比常规的黑客暴力破解攻击更为隐蔽,危害也更大。 所以需要时常对人员进行安全意识的培训,比如不要随便点开陌生的链接,平时的密码设置不要过于简单等等
通过安全认证。 比如等保三级,ISO27001 认证等等,这些资质不仅仅是你项目投标时的敲门砖,更多时候能够在一定程度上帮助你梳理细节,查漏补缺。
总结一下,如果人员的精力不够,没有专门的安全岗,推荐使用云厂商的安全服务,减少了安全系统的维护和开发成本,是对安全和效率上的一种权衡。
系统安全的防护是一场没有终点的长跑。时时对黑客保持敬畏之心,不要掉以轻心,保持耐心和学习之心,才可能有希望在恶劣的生存环境中活得更久。
未完待续。。。
版权声明: 本文为 InfoQ 作者【hackstoic】的原创文章。
原文链接:【http://xie.infoq.cn/article/b53824641916a25bd519b9f50】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论