« 上一篇下一篇 »

易到用车称服务器遭连续攻击 索要巨额比特币要挟,服务器被攻击怎么办?

 5月26日,据易到用车官微消息,2019年5月26日凌晨,易到用车服务器遭到连续攻击,因此给用户使用带来严重的影响。

据悉,攻击者索要巨额的比特币相要挟,攻击导致易到核心数据被加密,服务器宕机。我们的相关技术人员正在努力抢修。
易到表示,我们严厉谴责这种不法行为,并已向北京网警中心报案,并保留一切法律途径追究攻击者责任的权利。运营团队会根据解决此次事件的时长制定补偿方案,希望广大用户能够理解和保持耐心等待。
5月22日,针对用户余额减少甚至变成0的状况。易到用车发布《易到用车乘客端账户系统故障说明》表示,在紧急调试全新模式的用户充返活动时,技术工作发生了故障与失误,导致部分用户的账户余额受到影响。
易到表示“已及时的进行了系统修复!此次受影响的用户账户,将在7个工作日内陆续恢复。”


关于易到用车:

  易到用车隶属于北京东方车云信息技术有限公司,2010年5月在北京成立,是全球最早的网约车平台之一。
易到用车客户端拥有易达+、舒适+、商务+三大车型 [1]  ,业务覆盖国内外190余座城市,拥有超过4000万用户和600万车主。 [2]
易到用车启动双选模式,赋予司乘两端的订单双向选择权利,乘客和车主两端均可按需选择用车、接单。 [3]
2016年,易到用车将打造专车行业首个全民参与的专车节。
2017年7月14日,韬蕴资本以股权投资方式战略投资易到用车,成为易到用车控股股东。 [4]
2018年4月,易到宣布获得由上海市运管部门颁发的《网络预约出租汽车经营许可证》,实现了在上海地区的合规化运营。 [5]
2018年4月12日,中信银行完成投资易到持股18%,将开展金融出行合作。 [6]
2018年5月17日,原百度外卖董事长巩振兵加盟易到用车出任CEO,全面负责易到用车的运营及管理事务。 [7]
2018年10月18日,易到用车宣布设佛山市为首个战略特别运营区,在司乘两端分别倾斜运营政策和资源,包括在司机端推行“保底补差额”、用户端“首单免起步价”等模式。 [8]
2018年11月5日,易到用车宣布获济南市网约车牌照,计划与新能源车企合作。 [9]  12月17日,易到用车宣布施行新能源网约车计划,在全国范围内投入运营新能源网约车。作为该计划首个试点城市,易到用车在济南春节前投入运营1000辆新能源车,同步启动公共充电桩建设方案。 [10]

 

那么如何防护服务器被攻击呢?
整个防护的思路就是,将生产服务器的对外网的接触面降低到最少。将所有的管理类访问收到以跳板机为中心的SSH主机上。其余的访问只能访问生产机器提供的服务本身。
网络隔离
下面一一讲解。
任何时候,只要是生产服务器,投入使用之前必须限制开放端口。你需要开放什么服务,就只开放那个服务必要的端口。例如,对于一个web服务来讲只需要打开80/443两个端口。具体做法是,使用iptable命令来DROP掉除了必要端口外所有的INPUT的网络请求。
生产机之间最好也可以做这种封闭,但是如果运维资源实在紧张,可以只做对外出口的限制。毕竟,如果攻击者已经可以进入到生产机内网环境随意SSH了,就已经算是攻破了。
绝对不要把数据库的端口对外网打开。我已经见过太多案例,开发者在服务器上装了个mongo或者mysql就不管了,结果被别人整库拖库的事情。数据库属于内部服务,根本就没有打开的必要。
配置时切记不要把管理用的SSH端口给封住了,这样管理员自己也访问不了主机就尴尬了……
生产服务一般也不需要主动发起对外的网络连接。一些例外的情况比如支付服务,微信授权服务,第三方的数据统计分析服务等。这些情况可以方便的通过IP/域名的白名单来处理。除此之外,生产机不应该能够主动发起任何对外网的访问。
攻击者会尝试根据端口猜背后的程序是什么。比如对于端口22,攻击者会猜这是个SSH,然后会尝试弱口令等方式来攻击。如果你把SSH的端口随便改成一个比如4328,那么攻击者就得花更多的力气才能做这个猜测。如果攻击者不是针对你的话,也就不会废这个功夫猜了,毕竟不设防的机器多的是,何必死磕你的。
其他服务的端口也可以类似处理,比如MySql,Redis等。但是值得注意的是,因为浏览器访问Web时,如果不明确在URL里写端口,就会用80/443,并且端口还可能影响Cookie的有效性。所以Web的默认端口是不方便改的。
在*nix环境下,SSH是标准的远程主机访问的协议。所有对集群的管理都要使用SSH,因此对SSH的配置要格外留神。
SSH支持相当多的认证方式。只有两种我认为是可以在生产中使用的:
高强度公钥私钥对(比如用RSA-1024)Kerberos
高强度公钥私钥因为配置方便,用得更广泛。而Kerberos需要比较复杂的配置,一般常见于大型企业内部。
不要使用任何基于密码的认证方式。如果你用了密码就要记住,为了记住这个密码一定是有某个含义的,这就为字典攻击提供了条件。并且密码在网络上传输也是非常不安全的。反复输入密码会进一步增加密码被记录的概率。记得,你和服务器之间隔着互联网,你永远不知道有谁在中间。
2015年已经有消息报道RSA-1024可以通过暴力破解,但是耗费了相当大的计算资源。目前看,对于小公司RSA-1024还是安全的。但是你可以轻易地改用RSA-2048来产生公钥私钥对,指数级提高破解的难度。
RSA-1024的意思是用RSA算法产生长度为1024bit的公钥私钥对。越长的公钥私钥对越难被暴力破解。破解RSA-2048比RSA-1024需要的计算量大概大2^32倍。详情见这里。
如果是采用公钥私钥对作为SSH的认证,建议每个季度/每半年更换一次公钥私钥对。如如果采用Kerberos作为SSH的认证,建议每个季度/每半年换一次密码。之所以这样做是因为,这个更换的周期会远远小于常规暴力破解的时间。
也许你有很多服务器主机,但是如果运维资源部不足,没法很好的挨个配置主机的SSH端口设置,可以只开一台机器的SSH端口到外网,允许远程访问。这台对外网打开SSH的机器俗称“跳板机“。
为什么使用跳板机呢?这是因为可以在一台机器上做所有的安全防护配置。在公司过规模小的时候,一个人就可以手工把所有的访问权限在这一台机器上搞了。
利用跳板机:
可以使用SSH的ProxyCommand。它可以让你访问远程主机时必须经过跳板机。这样整个集群只需要在跳板机上开到外网的SSH端口了。
可以使用SSH的端口转发(Local Port Forwarding和Remote Port Forwarding)。这个功能可以允许你用SSH包装其他协议的数据,于是你可以经过跳板机的SSH端口访问其他主机的mysql、redis、mongodb……
关于端口转发,这里推荐一个特别好的工具叫做SSL Tunnel Manager
当然,成熟的技术团队中,除了Lead、DBA和Ops,其他人不应该有权限访问生产服务。要做到这一点需要补充很多基础设施(比如带有Audit和ACL的生产数据库查询、比较方便的查询生产服务的log)。本文主要说小团队的低成本的事情,就不展开了。
也许很多人对2015年的XCodeGhost不陌生。一些开发人员通过非官方渠道下载了XCode开发App。其中携带的被恶意篡改的基础库和App一起被打包,发布,最终安装在用户的设备上。这个问题可不一定只发生在XCode上。
每天开发者build程序都要使用各种开发工具,从外网各个地方下各种代码包。怎么确保这些东西就不出问题?最基础的防护是:总是从软件提供的官方渠道下载。就算再慢,被墙,也要想办法。如果技术手段无法约束,就必须行政手段强行禁止国内的各种下载网站下开发软件。
但如果访问这官方服务时断时续,或者比较浪费带宽(带宽费用相对比较贵),就要考虑自建“镜像”。像Artifactory就是很好的工具,可以充当内网的maven镜像库。
网络请求从连接到被执行,需要经过
硬件(固件)
操作系统
系统库(比如openssl)
程序库(比如jdk和依赖的各种jar)
你的程序
时刻留意这个链条上的漏洞信息(新闻/社交网站讨论等),尤其是你开放的端口的对应服务的漏洞(比如开了443要特别留意操作系统、openssl和nginx的漏洞)。大多数时候漏洞比较偏门,或者说只有学术研究价值,这种可以忽略。但如果发现有漏洞的讨论已经非常普遍,就说明这个漏洞的影响相当大,并且非常容易被利用,抓紧时间升级和修复。
如果你用的是云服务,一般厂商都会有对受影响设施升级的公告,可能会造成停服务。请时刻留意。
用了很强的认证方式后,还要记得好好保管。要是不注意,自己把私钥泄露到了公开的地方,再强的算法也保护不了你。任何情况下不要在网络上传递秘钥。如果要传递给别人,请用纸和笔。
此外,所有的私钥,密码最终都会记录在你自己的电脑上。所以如果你去上个厕所,别人偷偷跑过来从你的没锁的电脑上拿到私密的信息,那么以上所有的防护就都没有用了。因此,离开座位时请总是锁上你的屏幕。
如果用Mac,推荐“触发角”功能。配置好后,鼠标一推就锁屏了。
做到本文所说的所有策略,其实并不能保证绝对的安全。并且还有许多安全问题本文并没有考虑,比如注入攻击,CRSF,带有密码的服务配置,内网服务API的ACL,DDoS,社工学骗管理密码,短信炸弹等。
但是按照本文做了,你的服务器绝不会被攻击者以毫无成本的扫描直接攻破。攻击者必须针对你做定制的攻击方案才有可能成功。这会极大的提高攻击成本。如果你的公司还是个不起眼的小公司,那么基本上不会招眼——太不划算了。
值得注意的是,初创公司就算再怎么预算紧张,也一定要有人来负责运维。就算是开发顶一下也好,兼职也好,但机器不能没人管,不管是自建集群还是云服务。只有这个人存在,上面说的这些事情才有指望可以做好。
随着业务的扩大,服务商业价值增加,随之而来的就是更多的关注和更多的有针对性的攻击的风险。这时候,也许公司已经可以雇得起一个专心做安全的团队,购买防护软件/硬件,或者可以找到一个靠谱的安全领域的合作机构,来处理更复杂的安全攻击。