从携程事件给我们警示

开发 后端 前端
你准备好了吗? 如果携程事件发生在你身上,这个问题怎么处理?有无应对方案?怎样快速找出攻击的方式,方法? 有句话说的好,常在河边走,哪有不湿鞋。

从携程事件给我们警示

你准备好了吗? 如果携程事件发生在你身上,这个问题怎么处理?有无应对方案?怎样快速找出攻击的方式,方法? 有句话说的好,常在河边走,哪有不湿鞋。 

程序是一波人一波人开发的

国内软件行业人员流动还是很频繁的,程序是一波人一波人开发的,有如击鼓传球,谁最后接手烂在谁手里谁倒霉。 我们发现国内的软件业在重复做着同样的工作,一次一次推倒重来,自己开发的,心里才有底,对于上一波人开发的系统,谁也不能保证安全性。

我看到很多QQ群在转发携程事件,还有携程内部聊天纪录以及电子邮件,都在幸灾乐祸,我想问如果发生在你身上呢?

运维不能靠天吃饭

你不能期望运维不出事情,不出事,必有因果关系,种下因得到果。 很多企业的运维,不出事就不会出事,出事一定会出大事。 要你拿出预案,将事故消灭在萌芽状态。你的准备工作做得多少决定了你故障的大小以及范围。 出这样的事故一定是平时积累,爆发只是个时间问题。

应对方案

从年从业我也被攻击过,遇到各种各样的攻击,常常是被挖到新公司,首先面临的挑战就是安全问题。 我也总结一些经验,这里篇幅有限,不可能依依详解,仅仅给你提供一个思路一个启发。详细请看我的网站相关文章http://netkiller.github.io/。

携程代码被删除解决方案

WEB 服务器运行用户不能与代码所有者用户相同,因为一旦WEB服务器被攻陷将具有删除权限。 所以代码部署使用AAA用户,WEB服务器运行使用BBB用户。一旦WEB服务器被攻陷,用户拥有BBB权限,而无法删除AAA权限的文件。 这样的设置,除了防止删除文件,还能避免代码注入。攻击着更多是注入代码,下载数据库,而非破坏性攻击。 这样设置给攻击值制造了一定门槛,继续攻击,攻击者需要提升权限才能得到修改与删除权限。

携程数据被删除解决方案

  1. 在 APP应用与数据库间增加了API服务器,应用程序通过API访问数据库,API主要采用ORM关系对象映射技术为用户提供接口。而不是让APP通过 SQL直接操作数据库。APP需要提供用户认证,ACL控制(精确到方法),简单的说AAA用户只能从指定IP地址,访问指定类与方法,甚至可能精确到方 法参数限制。

  2. 去掉Delete权限,只能通过更新状态删除,这样的缺点是会产生大量的脏数据。及时清理也问题不大。

  3. 控制恶意修改,通过触发器控制某些字段被恶意专改。参考 数据库记录安全解决方案》http://netkiller.github.io/journal/mysql.security.html

自动化运维

  1. 自动化安装,快速将标准的服务器,部署为指定功能的服务器,参考 https://github.com/oscm/shell

  2. 自动化发布,这个非常重要,目前国内很多代码发布仍然采用人工方式(处在时期时代)。自动化发布能瞬间部署,这点对快速抢修非常重要。参考 https://github.com/oscm/devops

Active-Active 灾备

异地灾备是非常奢侈的,不是每个企业都能承担的起,但是双活灾备系统是必须的。 

怎样快速找出攻击的方式

以 PHP为例,如果代码被删除。我会第一时间在php.ini中禁用删除函数,然后 grep -r unlink /www/example.com/xxx.example.com 找出具备删除功能程序。然后在web日志中找到该程序调用的url被什么时间什么IP地址调用过,最后禁用该IP地址。 如果Java被二进制植入就比较麻烦,无法直接找出,首要做的是修改代码所有者,不能与Tomcat启动用户相同。 另外我的自动发布程序能够每次发布时,看到那些文件被修改,那些文件是新增,发布程序与版本库为基准,删除新增的文件。通过观看那些文件被删除,瞬间找到 恶意脚本。

延伸阅读 《PHP 安全与性能》http://netkiller.github.io/journal/security.php.html

文件与代码监控

代码被植入,删除修改,怎样能第一时间知道。而不是亡羊补牢。延伸阅读 《植入式攻击入侵检测解决方案》http://netkiller.github.io/journal/security.implants.html

就谈到此吧!

 

 

责任编辑:王雪燕 来源: 开源中国社区
相关推荐

2014-03-25 17:26:19

2015-06-01 07:17:01

携程85条军规

2015-06-04 11:35:07

IT

2014-03-24 09:25:57

2021-03-12 08:28:07

百度程序员业务

2014-12-25 17:51:07

2014-03-23 17:11:19

2017-02-09 11:05:11

大数据用户画像技术

2015-06-01 15:06:45

携程数据库灾备

2015-05-29 10:00:22

携程系统瘫痪数据管理

2015-06-17 15:21:28

2022-10-27 09:42:22

数据库SQL

2022-06-03 08:58:24

APP携程流畅度

2022-05-13 09:27:55

Widget机票业务App

2015-11-11 09:16:30

2022-07-15 12:58:02

鸿蒙携程华为

2020-06-10 07:40:36

CPU内核态多线程

2009-06-15 15:29:48

IT服务运维管理摩卡

2014-03-24 17:04:08

2009-02-20 14:48:47

IT服务管理ITSM摩卡
点赞
收藏

51CTO技术栈公众号