“零成本”实现企业网络安全防护(上)

186 阅读7分钟

一、前言

这篇文章最初是2020年底工作总结,发给同行一些朋友,都觉得不错,最近拿出来修改了发出来。

本人非网络安全专家,内容都是工作中实践得到,比较low,恳请业界高手请拍。

在万物互联的时代,各行各业与互联网无缝结合已经是众所周知的事实,

所在的传统零售行业,由于受到互联网冲击严重,集团在业务上云方面投入了很多精力,业务团队在上云初期的确碰到很多意想不到的问题,本篇单讲安全问题。

二、问题与现象

1、轻敌:传统企业其实早就有成熟的内网业务环境,我们对业务上云的看法当初停留在内网业务系统上云、数据汇聚等业务需求上,然而实际工作发现,业务问题倒还好,安全问题更可怕!业务问题有业务和我们一起解决,业务流程和代码都很清晰,面对的大部分是复杂度和稳定性问题等已知问题,安全问题是未知问题而且一剑封喉,一个不注意就会有资损、信息被盗,搞不好还能上头条……

2、经费:摆在面前的问题是,传统行业毛利率低,企业在安全投入上有心无力(甚至完全无心);

3、人员:最开始我们认为只要构建成熟的外围环境就能抵挡绝大部分安全问题,所以将近20多人的团队中就没设安全岗,没办法后来购买了外包安服,真的不推荐!不专业能力一般还不稳定,还是需要专业的人做专业的事然而又发现工资和行业属性都吸引不到专业优质人才(主要是行业属性),之前认识了一些看机会的安全人才,但人家知道集团名称后就不聊了,也招过一些应届生,大部分都流失去互联网公司了;

我们还是行业内TOP5的企业,其他企业可想而知。

三、结论

人员问题:解决方案就不多说了,具体方法就是启用年轻人,集团特批安全人才招聘要求对院校资历要求降低,对能力、兴趣和主动性的要求提高,的确能找到一批好苗子,给了5个HC,专设安全团队;

技术方案:经过两年的打磨,现在回头去看,发现我们除了为满足合规和必要的安全设备,已经实现使用开源方案替代对重型商业化安全产品的依赖;

当然实现这些都是由代价的,比如暴露在外部的业务数据量在可控范围,业务的变化还是会带来一定的变化工作量,稳定性问题等等,但使用商业产品也一样会碰到这些问题。

四、方案

略(抱歉,这部分之前写了,但是发出来之前自己看了下觉得有太多内部信息,还是删了)

早期我们花了很多精力跟风尝试了大量“新玩意”,最后都发现不能用在生产环境,bug多、不稳定、出了问题找不到处理方案,很多奇葩问题GitHub上给开发团队留言都说没碰到过。

后来我们慢慢把目光集中在具备以下几点的开源产品上,并总结出了很多考核细节:

1、官方文档:必须有丰富的文档,包括安装、配置使用场景等文档,越详细越好,不用担心项目太老了,有些产品其实很多年没更新了,但仍然有效且稳定;

2、用户讨论:有些项目文档已经很久没更新了,但是这个项目可以在网上找到大量的讨论或分享案例甚至视频教学,注意必须是有解决方案的QA,那种很多人问问题但没人解答的不算,细节:发现凡是有用户愿意做视频教学的项目,大部分还可以,想想也有道理,谁也不愿意给一个垃圾项目录制视频……;

3、使用场景:官方提供建议使用场景,且场景清晰符合我们需求,细节:某些项目会详细告知其最大承载能力,凡是有这种细节指标的项目,根据我们的血泪经验,一般都是有成熟场景的比较可信的项目;

4、研发团队:如果能联系上研发团队最好,包括GitHub留言、邮件,国内的最好有微信群,细节:和境外团队对接最好不要过度暴露自己,有些老外比较仇华,你说是中国人或者中国公司,他就不回复你,国内团队如果微信群比较活跃或者负责对接的是女生,一般都比较靠谱;

说实话,经过这些筛选留下的项目再进行测试就会发现好很多,然后就是玩精这些项目,融入到自己的业务中,说下我们使用的部分开源项目:

(1)业务爬虫、暴力破解、扫描、注入、API安全:www.fail2ban.org/

Fail2ban 是一个完全用Python实现的根据配置扫描日志,并将识别出来的IP 推送给下一步Action(通常是联动防火墙封禁一段时间)的老牌开源程序。

业内很多人将Fail2ban 用于防御SSH暴力破解,其实Fail2ban 可以在各类日志监控场景中应用,Fail2ban 可以非常有效的遏制有频率特征的攻击,对于爬虫、扫描、sql注入、API安全都有很好的感知效果,

我个人感觉业内低估了Fail2ban,该项目虽然已经很久没有更新,但仍然可以使用,非常稳定。

(2)WAF:github.com/loveshell/n…

特点是灵活,需要注意安装有点复杂,网上有一键脚本,另外由于官网不更新了,GitHub还有一些魔改版本,增加了不少功能,自己选把。

lua语言也比较简单,团队小伙子看了几天文档就可以上手,我们应用这个项目的主要目的其实是提供一个只能被内部调用的URL作为API,当蜜罐、流量检测设备发现攻击时进行联动封禁!

(3)流量分析:zeek.org/

建议使用LTS版本,需要注意在网上搜zeek没有太多资料是因为这个项目原名脚bro,

非常好用的开源流量分析项目,刚开始入手问题很多,流量太大需要装PFring

(4)堡垒机:github.com/jumpserver/…tp4a.com/

缺点是性能一般,商业产品我们也看了很多,各有各的问题,感觉没有特别好用的。

(5)蜜罐:hfish.io/

国内的免费蜜罐,支持单机和分布式部署,支持windows、linux、arm,官网有微信群二维码,群很活跃,有运营小妹负责回答问题,

能模拟巨多http、以及常见tcp端口监听服务,放在内网抓到过无数次内部被黑主机以及勒索软件的扫描行为,缺点是更新的太频繁了,刚搞明白了一个版本,新版本就推送了。

(6)静态代码审计:www.sonarqube.org/

最近发现的不错的工具,目前支持java,C#,C/C++,Python,PL/SQL,Cobol,JavaScrip,Groovy等二十几种编程语言的代码质量管理与检测。

完全满足我们业务需求,可以和我们现有的集团持续发布平台对接。

船漏水了,以其增加人手挑水,不如把漏洞堵上,通过静态代码扫描,我们花了很多精力将集团一些老业务代码做了全面排查,发现大量极高风险漏洞。

还有一些放到下一章写。