小型互联网企业安全建设的管窥之见

0x0 背景

最近发现大家都在讨论一个人的安全部这个话题,两年前在某A轮互联网公司(80人左右的研发团队)做过一段一个人的安全部的经验就简单分享自己的经验。之前也在FreeBuf看到过很多关于这方面的规划设计的方案,私下觉得这样的规划是建立一些标准的信息安全体系之上的比较全面,真正的落地起来往往需要大量的人力物力和财力,很多一个人的安全部往往没有这么多预算只希望以最小的代价做好安全工作。

一点个人经验之谈,大佬们不喜勿喷。

0x1 工作环境

往往也就是自己一个人做安全,通常就放在了测试部门或者运维部门或者开发部门,你的直属上级可能是一个经验丰富的开发大佬、运维大佬、或者有着PMP管理经验的项目经理,他们对于安全的理解并没有那么深刻。

目标就只有一个:安全还是很重要。你来了,安全方面的事情就交给你了,尽量不要再出安全事件了。

由于互联网公司往往提倡扁平化管理,公司的Boss对你也是有一定期待的:大家都说安全很重要,你要做好尽量少花钱。

0x2 工作计划

主要系统产品可能包括手机APP包括安卓端与IOS端、几个对外的网站系统、几个对内的网站系统,涉及几十台主机系统。也许还被wooyun提交过一些较为严重的安全漏洞,所以当务之急是尽快发现未知的安全漏洞,先救火再治理分5步走。

0x3 安全漏洞修复

首先需要确认范围从同事们手里拿到当前最新的应用系统清单与开发的同事确认一下使用了怎么样的技术组件等,顺便熟悉一下相关的一些业务流程与功能。

需要治理的安全漏洞主要简单的分为4类:

1.传统的web安全风险,如常见的sql盲注、cookies注入、多种xss、代码注入、CSRF、敏感数据泄漏、命令执行漏洞,文件包含、文件上传绕过、弱密码、任意文件下载等;

2.业务相关的安全风险,比如短信借口过滤不严格、越权查询、配置文件合理、校验不严格、验证码爆破、明文传输密码、任意用户密码重置等;

3.组件框架类安全风险,比如Struct2命令执行、Weblogic组件漏洞、jboss漏洞、ImageMagick命令执行、网页编辑器漏洞、Apace解析漏洞、Nginx解析漏洞、心脏出血等;

4.操作系统类风险,比如windows 338弱口令、MS08-067、http.sys命令执行 数据库的弱漏洞、Sqlserver的配置风险等。

为了梳理逻辑方面就简单画了个思维导图方面查看:

剩下的工作就是对每一个系统和应用进行测试、当然也许要借助一些成熟的安全工具进行测试。当时也想到一些不错的idea可以偷懒比如Burpsuit联动Sqlmap跑接口参数对测试sql注入与xss就能省下不少工作量、比如使用wvs的web端设置任务列表可以半夜扫描、检查linux配置项可以自己写shell、github找poc批量测试组件漏洞等等。

其实还是一个比较费时间的工作,一个应用系统差不多一周到二周就测试完毕,毕竟996的工作模式。将发现的安全问题截图保存并梳理成excel表格提交给领导,并跟进后续的整改工作,后来发现常见的安全问题基本都有,比如一些参数遍历可以导致系统所有的订单数据被脱裤、还有短信验证码就4位又没有次数限制的情况也是很普遍的,想想还是觉得很可怕比较还是有不少个人数据。

0x4 应用加固

安全加固就是相对比较容易一些了,但是风险也是比较大的因为不清楚可能会造成什么样的影响,所以这个事情之前一定要给领导们说清楚先慢慢测试最后实施的时候出一个整体的方案。

主要包含Linux主机的加固、Windows主机的加固、数据库的策略优化、应用加固,其实google一下还是能搜到不少相关资料具体的流程还是要结合业务流程,内容大同小异。

网站应用的防护既然不想花钱买waf就只有找开源的了,由于大量基于nginx的服务器当时主要在nginx+lua来实现WAF和nginx modsecurity之间选择纠结过,后期还是选择了lua方式。

连接如下:

https://github.com/SpiderLabs/ModSecurity

https://github.com/unixhot/waf

运维安全也是要有才行,既然不花钱买设备就使用开源的JumpServer,现在都已经支持docker部署了,当时我搭建这个还是花了一些时间,有需要的还可以做二次开发。

https://github.com/jumpserver/jumpserver

接口安全,由于一个应用有很多客户端比如IOS、安卓端、微信端等多种平台一套统一的API就显得格外重要了。由于接口很多参数的条件过滤不严格、权限控制不严格存在较大的安全隐患、整改起来工作量较大,于是想了一个简单的办法,对http提交的安全进行加密,主要采用AES加密保证了完整性和保密性,性能消耗也在毫秒级可以忽略不计。

由于有前车之鉴,对图片上传的控制就更加严格一些,最开始只是准备采用数据流的方式加上白名单进行校验,领导居然还觉得不够。于是就将所有的图片重名之后保存在另外的服务器,数据库当中只关联相关的访问的路径。

0x5 安全开发

开发的各位都是大佬们,当然不能得罪只能小心伺候着。但是安全也还是要做,那就只能提需求了,这里较多的参考了OWASP 指南,与各类编程语言的安全编码规范,但是又不能说别人代码有问题,只能说代码可以这样优化一下会更好。

代码审计的设备还是比较贵的、什么Fortify,Checkmarx就想都不要想了,还好有一些开源的代码审计工具可以用用。

RIPS:

https://sourceforge.net/projects/rips-scanner/

VCG(VisualCodeGrepper):

http://sourceforge.net/projects/visualcodegrepp/

对于编码完成之后的项目,都可以去跑一下但是涉及到的误报也是相当的多,所以静态扫描一般就只解决高中风险的问题,自己还要配合开发大佬们一起看看是不是问题还要说一下要怎么优化会更好,开发大佬是得罪不起的。

0x6 安全测试

在中小型企业推SDL落地其实就有点扯淡了,谈ISO27001之类的安全体系也没有那么精力支撑。对上线前的应用系统主要进行安全测试,主要还是部署漏扫工具,主要没有什么大问题其他都好说。

比如在Kali下面就集成了ZAP、openvas和github上也能找到一些扫描工具重点关注一些高位漏洞风险大的问题,有预算的可以考虑买了个Appscan或者WVS的商业版也不是特别贵,pojie版不推荐如果不怕版权也无所谓。

大版本有较多新代码的版本就自己手动测试一下,不过还好频率也不是特别频繁,发现的问题及时修正可以在内部jira这种缺陷管理工具注册一个帐号专门来提安全Bug。

0x7 安全运营

运营工作工作主要分成三个部分:

第一,将日常发现的安全问题、被各大SRC披露的安全问题及时响应并跟进修复,形成案例库定期给开发大佬们交流经验根本不敢说是培训。

第二,及时跟进一些最新的安全漏洞、最新的攻击手法督促开发大佬修补。

第三,总结工作内容,日常给领导汇报体现价值。

0x8 总结

一个人的安全部有时候压力还是很大的,要和很多对安全不是很了解大佬们一起工作总会被嫌弃,感觉是亲妈不要后娘不爱的感觉。领导们的想法也很简单,只要不出特别大的安全事件不花太多钱工作自由度还是比较高的,累了乏了的时候刷刷乌云逛逛freebuf,对个人的整体的安全能力建设还是很有帮助的。

当然一个人的安全部也可以很欢乐,同事们都比较好相处很友善也没有那么多条条框框。当初s2-032漏洞刚刚出来的时候wooyun都被刷屏了大家连夜修复的漏洞之后一起坐在成都的路边撸串,感觉也是过的很巴适。

*本文原创作者:si1ence,本文属于FreeBuf原创奖励计划,未经许可禁止转载

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2018-10-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据库

DaaS,聊聊关于数据库你可能想知道的一些事儿

作为一名程序猿,如今“大数据”, “AI”,这些词每天都会被媒体360度无死角轰炸我们,让我们很容易浮躁焦虑,但不得不承认,真是因为媒体的传播与吹捧,才推动了整...

1867
来自专栏IT大咖说

Connecting People ---- 独乐乐 不如众乐乐

摘要 io游戏大致是指具有多人对抗+地图限制+死后即刻复活等为特点的休闲moba类竞技游戏,在近几年内发展迅速。 ? io&HTML5 HTML5这个领域在过去...

3467
来自专栏java一日一条

前谷歌高级Java架构师分享工作8年经验(如何成为一名架构师)

很多工作一定年限的程序员感觉自己到了瓶颈不知道怎么去突破,其实这个时候就要冲破传说中的架构师。

1911
来自专栏数据科学与人工智能

【数据】常用API接口汇总

下面列举了100多个国内常用API接口,并按照 笔记、出行、词典、电商、地图、电影、即时通讯、开发者网站、快递查询、旅游、社交、视频、天气、团队协作、图片与图像...

4.8K8
来自专栏IT技术精选文摘

解密腾讯海量服务之道

一直对腾讯做产品的能力比较敬佩的,我们组做消息推送系统,而腾讯的信鸽就是我们学习的榜样。京东很多做产品的思想是跟腾讯学的,而京东很多同事也从腾讯过来的(京东合并...

6465
来自专栏游戏杂谈

游戏版本更新小记

先大概介绍一下项目,卡牌游戏,主要面向女性用户。前期是走IOS市场,后来又移值到Android平台上,在几家大一点的Android渠道上进行运营。Android...

1101
来自专栏云教程

腾讯云在线教育企业上云图鉴

在线教育的互动直播系统上云,能够避免业务侧重复造轮子、提高资源利用率、降低开发和运维成本,且因其基于音视频开源标准和主流方案,能够更容易跟随技术发展的步伐。

1610
来自专栏高性能服务器开发

5 各类游戏对应的服务端架构

卡牌跑酷类因为交互弱,玩家和玩家之间不需要实时面对面PK,打一下对方的离线数据,计算下排行榜,买卖下道具即可,所以实现往往使用简单的 HTTP服务器:

2982
来自专栏沃趣科技

基于Oracle的私有云架构探析(连载一)@【DTCC干货分享】

云是当今最为热门的一个话题或者说技术,在数据库界也一样,Oracle 12G这个名字不硬生生被掰弯成了Oracle 12C,数据库云在我看来能给企业带来的第一价...

4465
来自专栏IT派

【大数据分析必备】超全国内常用API接口汇总

下面列举了100多个国内常用API接口,并按照 笔记、出行、词典、电商、地图、电影、即时通讯、开发者网站、快递查询、旅游、社交、视频、天气、团队协作、图片与图像...

2.2K0

扫码关注云+社区