我在宠物电商做企业安全建设之办公安全篇(1)

我当时进入到某宠物电商的时候,深刻的记得,当时公司为了降低代码被开发人员拷走的风险,给每个开发人员配置一个台式机用于在内网进行开发,然后配置一个笔记本用于在外网查询资料。

每个台式机的外部都套了一个大黑箱,只有一个小豁口用于台式机的插线的功能,然后需要移位开箱的时候,需要进行申请备案,才能操作。

现在看来这种方式虽在有点low,但是在当时的环境和条件下,已经算是在不易了,尽可能对代码外泄做了一定的物理防护,毕竟我进去之前,公司也没有专业的安全人员,能在一些基线上做点工作,实属不易,而且确实提高了内部人员做恶的成本。

当时我记得上外网用了一个海蜘蛛的网络设备,不是很稳定,经常断网,而且没有对上网行为进行管控,然后对外网的访问限制几乎是没有的,但是内网是无法直接访问到外网的,当然除了我们运维人员和几个领导的之外。总体上的原则是:准进不准出。

在很长的一段时间内,保护了数据的安全,直到后面我们搬移到了新的办公场所,重新对网络进行规划和设计,才引入了深信服的上网行为管理设备。

我在宠物电商做企业安全建设-业务风控篇(1)

进入到某电商宠物之后,我就开始接触各种羊毛党和黑产,原因是公司的运营人员对风控这档事儿好像漠不关心,前后被大大小小的搞了很多次,没有复盘,没有总结,结果还是好了伤疤忘了痛,压根没想过如何把实惠给到真实用户,而是只关心营销数据或者GMV这些指标去了,让人感觉不理解。

那么我是怎么关心起业务风控的呢? 我记得有一次,我在测试一个用户活动,好像是个签到的功能,我就简单地用脚本重复请求了一次,结果也成功,成功之后就会获取一种官方的虚拟抵扣币,暂且叫e币吧 ,而官方的使用规则就是,这个e币可以抵扣总商品价格的10%,简单来说 就是100元的商品,我可以用10个e币抵扣10元,只需要付款90元。这种获取e币的渠道多种多样,主要是鼓励用户多参加官网的活动,提升用户的活跃度,从出发点来看,是ok.

但是这里有个问题,就是这些参与活动的渠道是否都有被严格做过安全测试,我当时也是严重怀疑,然后就自己去灰盒测试了几个活动,果不其然,其中一部分活动存在被绕过或者可以重复参加的情况,可能很多人(包括开发人员+产品经理+测试人员 )都没有发现。

这些对于专业的羊毛党和黑产来说,是他们所愿意看到的。更严重的是,除了我之外,还没有人去追踪过这些e币的合理性,比如说到底有多少真实用户参与了某个活动,获得了多少个e币的奖励。

说实在的,看到这样的情况,也是很无语的,从实际价值来看,这些e币其实都是公司的营销成本,如果没有这些e币,那么用户就需要追加商品被抵扣的部分,对于公司来说,是资金的损失,但是一些人对待这些e币的态度,认为就是一些虚拟币,公司想发多少,就发多少,即使被薅羊毛了,也问题不大。

有这种看法的人不在少数,而且天真地以为这种情况对公司的危害不大。其实我当时也挺震惊的,因为跟钱相关,真金白银,我想对于公司损失不只是现金流,而重要是那些实实在在的优惠被羊毛党和黑产所窃取。

我在宠物电商做企业安全建设之运维安全篇(1)

我记得当时进入某宠物电商的时候,当时是以PHP开发工程师的角色,本来以为所做的工作也会是以PHP开发为主,不过命运使然,在多次跟当时技术总监“沟通交流”之后,我被赋予了更有挑战性的角色-运维安全,就这么顺理成章成为运维组的一员。

其实没有什么的私下沟通,而是当时我几乎每天都会在公司官方上找到了几个Bug,于是就整理成文档,通过邮件抄送给技术总监,而技术总监也希望有人把公司的安全的管理起来,所以一切看起来都是很自然而然。

进入公司的第一个挑战,就是很多PHP开发的开发环境都在本地使用的wamp或者phpstudy搭建的集成环境,每个开发配置的php.ini也不尽相同,导致跟线上测试环境,线上生产环境的差异比较大。所以领导希望运维组能想办法解决此事。

其实当时我们组内沟通了一下这个问题的解决方案,最后给出的方法是,在本地服务器上部署一套跟线上测试环境差不多的PHP环境,然后给每个PHP开发人员创建一个Web根目录,然后根据开发机的IP来进行区分,映射到不同的根目录里面去,这样开发人员在保存代码的同时,会通过ftp将代码上传到本地服务器,然后在本地完成host的绑定。

比如 程序员A(192.168.2.1) 将www.xx.com 的host绑定到 192.168.2.11 ,然后在本地浏览器访问www.xx.com的时候,会访问192.168.1.1这台主机,这台主机上的配置nginx的转发功能,根据192.168.2.1将请求转发到 /www/htdocs/a/www.xx.com/下。

程序员B(192.168.2.2) 将www.xx.com 的host也绑定到 192.168.2.11 ,然后在本地浏览器访问www.xx.com的时候,会访问192.168.1.1这台主机,这台主机上的配置nginx的转发功能,根据192.168.2.2将请求转发到 /www/htdocs/b/www.xx.com/下。

但是都是使用的同一套PHP环境,唯一的不足点,是会导致硬盘数据量会增加,不过从实际效果来看,达到了预期,有点瑕疵也是能接受的。