【企业安全】企业安全项目-测试环境内网化

经过长时间的风险发掘与分析,企业面临的安全风险已逐渐清晰并有了比较全面的视野。从投入与产出比的角度出发,结合当前正在承受的危害和实施难易程度考虑,可以将前期所规划的安全项目排入实施计划周期并进行推动。按照优先级从左往右可以分为P0~P3,依次落地:

  • P0:正在遭受损失
  • P1:影响较大且容易做
  • P2:影响较大且难以做
  • P3:影响不大且比较难做

1 总体概况

为了减少企业对外资产暴露面,减少外部恶意攻击,首先应将不必要开放到互联网的测试环境进行内网化。在项目推动的过程中,再次证明安全工作的开展离不开各部门的协作支持。除了直接影响到的业务部门外,还有两个部门扮演着十分重要的角色--运维部&测试部,在本项目中将淋漓尽致的展现其重要性。

2 推动进程

在项目的推动进程中,由于没有太多甲方安全经验走了不少弯路(付出多产出小项目进度缓慢)。在部门leader的指点下重新进行微调,找准项目关键点并获得不错的效果。以下简要的将整个项目进行复盘:

  • <1>外部白帽子提交漏洞

当前公司没有成立SRC,但也鼓励外部白帽子提交相关漏洞,因此在漏洞盒子和补天(注:目前为止漏洞盒子上白帽子更加活跃一点)注册了企业账号,开始从外部接收漏洞。

  • <2>内部漏洞分析与风险调研

经过一段时间对漏洞进行分析时,发现测试环境占据大部分;且在挖掘公司内部安全问题时,发现测试环境管理不够上心、甚至杂乱等现象。

  • <3>组织安全接口人召开会议

正好以外部白帽提交漏洞为驱动力,召集安全接口人(一般由安全组成员、各业务部门leader组成)开会进行商议并立项。

  • <4>邮件搜集资产(效果不好)

这应该是进入甲方后负责的第一个全员推动性项目,理想化的认为先组织专题会议,再用邮件搜集各位业务leader所负责业务的测试环境及影响范围会比较容易,然而结果十分不理想。或许是因为新人的关系、没交情、各自忙业务、没有安全习惯等因素,仅少量的人反馈情况。

  • <5>正确资产梳理

项目伊始,需要“完全”梳理公司的测试环境资产,这时候最可靠的方法便是找到运维部的应用组,请其协助提供测试环境清单,一般都是去查看nginx的配置文件,从而获取到相关资产。

  • <6>QQ群沟通(效果欠佳)

邮件沟通效率太慢,因此建立专门的qq群“测试环境内网化”,专项沟通测试环境内网化相关事宜。针对邮件中的内容及进展,及时到群里进行反馈与公布。

虽然更有针对性且提高了沟通效率,但是推进效果并不理想,反馈的人逐渐增多但还是低于意料与计划。

  • <7>优化推动思路

项目至此都是沿用“不理想”的方法:

梳理出每个测试域名下的warowner(基本上每个测试域名下挂着多个war包,每个war包虽有相对应的owner但是owner经常进行变更),并逐个与owner进行沟通。

刚开始执行的时候就深感成本太大,耗时费力还低效,于是重新换思路进行内网化推动:

直接找各测试部门的leader梳理出必须对外交互的接口、war及测试域名,然后对未提及的测试域名做迁入内网处理。(测试部门的重要性已突显出来,这是本项目至关重要的转折点!再也没有比测试部门还熟悉业务系统环境的了!!)

按照这个思路很快便收集好对外网开放的测试环境,且基本没有遗漏或者误报的情况。

  • <8>分布式进行内网化

首先需要确定可以内网化的测试域名:

内网化测试域名 = 运维提供的测试域名 - 测试提供的必须对外开放域名

其次是确定内网化测试域名内网化时间:告知用户(各业务部门及测试部门)切入内网范围、时间:

与此同时还应该声明内网化后的访问方式,以不影响正常业务为基本准则:

至此,测试环境内网化的推动接近尾声。出乎意料的是:找出不少已经不再使用的测试环境,正好趁着这次整改统一进行关闭。

  • <9>持续优化测试环境管控

此部分主要是针对必须要外网开放的环境(比如与银行调试的接口、提供给用户的展示系统等)。在对外网开放前,必须提前提安全测试到信息安全组,经过严格安全测试并通过后才能对外网开放。一般而言,需要相关运维同学的配合把好测试环境申请与上线这道关卡。

3 项目重点

  • 【1】项目推动思路

关键词:测试部

经过前期的踩坑,才明白该项目的推动应该从测试部门出发,没有比他们更熟悉公司测试环境的。跳出该项目来思考,做好项目的KeyPoint还是“思路”。

  • 【2】新人新环境沟通

关键词:勇敢主动

从最开始的会议上露面,接下来的邮件沟通,后续的qq群或电话专项沟通,直到后来的当面沟通,感受颇深。要想效率高,直接当面沟通;要想大家都认识你并做好事情,应当面沟通,主动出击。

  • 【3】考虑业务感受

关键词:不影响正常作业是红线

开发使用测试环境、测试使用测试环境,如果影响到大家,那么就可能没有人陪安全玩耍。

  • 【4】测试环境梳理及内网化操作

关键词:运维部

从项目开始的资产梳理到执行内网化的操作,都离不开运维部的支持。

4 问题集锦

1)部分人员不知道内网化,出现系统访问失败的情况

原因剖析:

(1)虽然已经提前发邮件告知安全接口人,但效果并不好,应该抄送所有团队;

(2)公司各个大群(qq)也应该及时进行通知,即使部分人员可能屏蔽群消息;

(3)针对性强度不够,应以测试群、业务技术群为主,且应该消息连发三遍。

2)测试同学发现某业务接口受影响

测试同学反馈某个测试环境的接口提供给银联调用,在测试环境内网化后,通信已出现故障。

针对接口问题,主要有以下2种解决方案(最终还是选取第一种):

(1)运维同学帮忙将接口放到必须开放的测试环境域名下,只需要修改源码中的回调接口地址,询问银联白名单使用的是否为IP/域名,即可解决问题。

(2)开发做MOCK(但是反馈不好做),将期望得到的结果进行反馈,从而测试同学可以继续进行测试。

5 总结反思

在整个测试环境的内网化推动项目中,从最开始提出内网化的概念,之后与运维沟通获取测试域名资产,后来与各位war owner、测试leader沟通梳理对外交互接口,优化推动思路,直到最后成功迁入内网并解决迁入后的后遗症。到目前为止,个人认为存在以下难点:

  • 刚入职不久,对公司的环境与同事不熟悉;
  • 因为还有其他项目,多件事情一起推动,精力有点分散;
  • 推动前没有找准关键点(思路:直接找测试leader沟通),导致推动迟缓;
  • 沟通过程中态度过于“客气”,应该直截了当的说明来意,即时通讯工具没人应答就直接找人当面沟通。

原文发布于微信公众号 - 我的安全视界观(CANI_Security)

原文发表时间:2018-01-27

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏日常学python

【推荐】Python教父-廖雪峰 官方『Python爬虫+数据分析』课程

爬虫技术五花八门,市面上比比皆是,但是真正能做到极致的寥寥无几,特别是能达到商业爬虫级别的几乎没有。

6282
来自专栏小巫技术博客

如何开发一个App

2033
来自专栏Grace development

浅谈架构是为了什么 (上)

架构是一款软件从0到100的演变过程。并非是上来就可以承载什么亿级访问的牛x架构什么的。本篇写给那些想要成为架构师或者正在尝试成为架构师的朋友。

942
来自专栏云计算D1net

从理解管理级别入手,为IT系统选择恰当的云监管

监控管理是云计算中的重要一环。但是当企业不理解各种管理级别的差别时往往会碰壁。 云管理和安全通常是相辅相成的,所以你如果不事先搞懂你的监管策略的话,是无法选择出...

35812
来自专栏IT大咖说

“双态IT”架构下的自动化运维

摘要 在“双态IT"的架构下,传统业务与创新性业务两种截然不同的业务形态如何统—管理成为了运维人员现在面临的最大挑战。本次演讲旨在探讨对两种业务形态进行统—管理...

3605
来自专栏互联网数据官iCDO

Google Analytics增强版电子商务功能的分步指南

译者:陈荣芳、审校:朱玉雪 本文长度为3728字,预估阅读时间7分钟。 我们今天要向大家简单介绍下,如何使用Google Analytics增强版电子商务插件...

4454
来自专栏美团技术团队

数据库智能运维探索与实践

近些年,传统的数据库运维方式已经越来越难于满足业务方对数据库的稳定性、可用性、灵活性的要求。随着数据库规模急速扩大,各种NewSQL系统上线使用,运维逐渐跟不上...

1301
来自专栏安智客

等级保护2.0之云安全威胁、要求、设计

云计算平台由设施、硬件、资源抽象控制层、虚拟化计算资源、软件平台和应用软件等组成。软件即服务(SaaS)、平台即服务(PaaS)、基础设施即服务(IaaS)是三...

1372
来自专栏媒矿工厂

优化延迟的最佳视频传输方案(二)

上一篇文章《优化延迟的最佳视频传输方案(一)》介绍了在整个视频传输系统中的分发链前端和媒体内容准备方面的延迟优化方案,本文将继续介绍传输系统的接下来的优化方案,...

1252
来自专栏极乐技术社区

干货 | 小程序商城开发必读指南!

商城开发指南 ? ? 微信小程序商城模块 | 链接 使用zanui开发小程序微商城(模板组件的开发规范)| 链接 ecshop商城开发:用户信息的获取和缓存...

6835

扫码关注云+社区