上周,一个朋友要帮忙处理一下他在阿里云的Linux服务器,因为他说自己服务器上的文件都不见了,我登录上去查看后,发现了BananaCrypt勒索病毒,该勒索病毒加密文件后,会将文件后缀修改为“.bananaCrypt”。根据提示,受害者需要缴纳价值300美元的比特币才能解密文件。下图是骇客留下的勒索凭证:

Linux,没你想象的那么安全!

网络中的Hacker就像现实生活中的小偷、强盗一样,多数作案基本都是随机的。可以说,在网络世界里,每个人、每个企业都面临着信息安全、资金安全的威胁。

下图是Norse Corporation最新发布的实时网络Hacker地图,向我们展示了全球实时发生的网络Hacker,看起来很好玩,深思很恐怖。这里看到的大多数公鸡都是机器人进行的,目的在于探测网络系统的软肋。右下角的方块显示了当前网络正遭受哪种类型的公鸡。

Linux,没你想象的那么安全!

怎么样,很震撼吧!

根据网络数据统计,网络上各类应用脆弱排行榜如下:

Web 应用

Linux,没你想象的那么安全!

Web 框架

Linux,没你想象的那么安全!

端口

Linux,没你想象的那么安全!

Web 容器

Linux,没你想象的那么安全!

服务

Linux,没你想象的那么安全!

为了避免骇客公鸡可能遭受的损失,防患于未然最关键,这里给大家总结了骇客的几种公鸡手段,知己知彼方能有备无患。

1、勒索病毒

勒索病毒就是利用恶意代码加密用户文件、收费解密的形式,向受害者索取金额的勒索软件,如果7天内不支付,病毒声称电脑中的数据信息将会永远无法恢复。

目前常见的勒索病毒及变种有很多,简单介绍如下:

Saturn勒索病毒

Saturn勒索病毒通过钓鱼邮件等方式传播,加密文件后以“ .saturn ”作为后缀。Saturn勒索病毒是暗网上公开提供的勒索病毒服务之一,服务提供商会从每次勒索赎金中抽取30%作为收益,勒索的赎金可由服务使用者自定义。

BananaCrypt勒索病毒

该勒索病毒加密文件后,会将文件后缀修改为“.bananaCrypt”。根据提示,受害者需要缴纳价值300美元的比特币才能解密文件。

Shifr勒索病毒变种CryptWalker

Shifr勒索病毒变种Cypher,该勒索病毒加密文件后,会将文件后缀修改为“. cypher”。根据提示,会向用户勒索1个比特币。

Data Keeper勒索病毒

该勒索病毒加密文件后并不会修改文件后缀,只有当用户主动打开文档时才会发现文档被加密了,这使得用户不知道自己电脑上究竟多少文档已经被加密,更加容易恐慌。根据分析,Data Keeper和Saturn勒索病毒一样,同为投放在暗网上的勒索病毒服务,勒索的赎金也可以由服务使用者自定义。

GlobeImposter勒索病毒

主要用来感染企业应用服务器,之前国内两家省级医院服务器疑似遭最新勒索病毒GlobeImposter的公鸡,骇客在突破企业防护边界后释放并运行勒索病毒,最终导致系统破坏,影响正常工作秩序。不法骇客要求院方在指定时间内支付价值几万到数十万人民币不等的比特币才可恢复数据。此病毒目的性很强,就是勒索钱财。

你没吃过亏,可能永远不明白数据有多珍贵。我们之前也经历过被臭名昭著的勒索病毒威胁的事情,文件被感染后,公鸡者给每个目录下都留下一封html的勒索信,告诉你要汇1个比特币到指定账户。现在1个比特币超过10万人民币了。

不过,幸运的是,我们这个服务器的数据都有备份,备份的数据在另外一个异地主机上,因此,损失不是很大,大部分数据得以恢复,仅丢失了很小部分数据。

所以,应对勒索病毒的最有效招数就是:备份,再备份。将数据经常做异地备份,但千万不要备份到本机,这毫无意义,同时,要养成备份习惯,比如一天增量备份、一周的全备份等策略。

2、挖矿病毒

比特币等虚拟货币的不断升值,挖矿这个词变得家喻户晓。除了不断涨价的显卡外,又有骇客动起了歪脑筋,设计出了挖矿病毒。挖矿病毒就是用你的服务器计算资源(CPU 、GPU)替他挖矿赚钱的牧马。主要表现为你的计算资源利用率很高,但网络流量一般。

目前常见的挖矿病毒有xmrig挖矿病毒、门罗币挖矿病毒、驱动挖矿病毒PuMiner等,相比之前的勒索病毒,挖矿病毒更加隐秘,你甚至不会察觉到你的服务器已经被公鸡,但是只要掌握了挖矿病毒的发作特征以及时刻关注服务器状态,就不难发现它。

那么挖矿病毒是怎么感染的呢,目前比较常见的有漏洞感染,例如前段时间闹得比较凶的Redis未授权访问漏洞,就是挖矿病毒的一种新型公鸡方式,在特定条件下,如果Redis以root身份运行,骇客可以给root账户写入SSH公钥文件,直接通过SSH登录受害服务器,继而导致服务器权限被获取和数据删除、泄露或加密勒索事件发生,严重危害业务正常服务。

由于部分服务器上的Redis绑定模式为“0.0.0.0:6379”,并且没有开启认证(这是Redis的默认配置,就是登录redis无需密码),以及该端口可以通过公网直接访问,如果没有采用相关的策略,比如添加防火墙规则避免其他非信任来源IP访问等,将会导致Redis服务直接暴露在公网上,这就造成了其他用户可以直接在非授权情况下直接访问Redis服务并进行相关操作。  

目前比较主流的案例:yam2 minerd挖矿程序,还有在多次应急事件中发现大量的watch-smartd挖矿牧马,都是通过此种方式进来的。

他们是如何公鸡的呢?看下面这个图:

Linux,没你想象的那么安全!

基本的步骤是:

(1)利用扫描工具,弱口令扫描redis 默认的 6397端口
(2)本地生成 rsa ,储存到对方redis 缓存中
(3)利用redis config set 来写入一个文件
(4)最后 ssh 登录

如何做redis的安全防范呢,方法如下:

(1)以低权限运行 Redis 服务
(2)为 Redis 添加密码验证
(3)禁止外网访问 Redis
(4)修改默认端口
(5)保证 authorized_keys 文件的安全
(6)设置防火墙策略

3、十字符病毒

服务器不停的向外发包,网络流量暴满,且CPU持续100%。远程登录后查看发现有一长度为10的随机字符串进程,kill掉,会重新生成另外长度为10的字符串进程。删除文件也会重复生成,这就是十字符病毒的典型特征。

这种病毒的运作机制基本是这样的:

首先植入一个病原体,然后通过cron每隔一段时间自动检测一次,如果牧马程序不存在,就从病原体复制一份儿到指定路径并重新命名,生成一个随机命名(10个字符的程序名)的程序,然后放到系统默认的路径/usr/bin/、/usr/sbin、/sbin等目录下,同时修改系统自启动配置让这些病毒程序开机自启动。

网络流量暴满、持续耗用CPU资源,病毒程序自动启动、无法杀掉,删除文件后,这些病毒文件自动生成,这就是十字符病毒的典型特征。

那么,此种病毒是如何进入的呢,一般这种类型的病毒进入方式是系统漏洞、程序漏洞等途径进入,而进入系统后,他并不破坏系统内的数据,这看似很友好,其实,他最主要的目的是占用你的网络带宽,继而形成僵尸网络,僵尸网络是一批被控制的主机,通过控制互联网上大量的主机带宽,僵尸网络就变得非常强大,一旦发起公鸡,往往会形成势不可挡的大规模网络故障,近期的断网事件和僵尸网络挖矿事件都是利用僵尸网络造成的。

如何清除这种类型的病毒,可参考我之前的博文:http://blog.51cto.com/ixdba/2163018

4、黑帽seo挂马网站

你可能遇到过这样的情况:本来打开的是这个网站,却突然跳转到了dubo网站,或者打开一个网站后,发现网站标题和内容不一样,明明打开的是一个技术网站,打开网页后,发现是一个dubo网站,还有一些就是网站的第一屏内容被替换成dubo网站,最下面是原本网站的内容,类似很多,如下图所示:
Linux,没你想象的那么安全!

这其实就是典型的黑帽SEO(Search Engine Optimization:翻译为搜索引擎优化)zuobi手段,黑帽SEO就是作弊的意思,它通过垃圾链接,偷换页面,网页劫持,关键词堆砌、页面跳转、、挂黑链、网站镜像等技术,来获取搜索引擎的排名,继而从搜索引擎中获得更多的免费流量。

黑帽SEO主要的特点就是短、平、快,为了短期内的利益而采用作弊方法。同时随时因为搜索引擎算法的改变而面临惩罚。而黑帽SEO的目的是为网站提供生态式的自我营销解决方案,让其在行业内占据领先地位,获得品牌收益。

为了达到这个目的,黑帽SEO们挖空了心思,各种招数不尽其用,其中最常用的就是页面跳转,关键字替换,看下面一个案例:
Linux,没你想象的那么安全!

这段js代码是从服务器上取下来的,很明显,他是将所有从搜索引擎过来的流量都跳转到了代码里面指定的一个站点上了,这样无形中,将搜索引擎流量转给了其他非法网站。

那么这个js是怎么注入的呢,这就是利用了网站的程序的漏洞,将js传上去了。

此外,还有其他类似的注入手段,主要有几个步骤:

第一步,从快照内容中获取关键词并替换成自己的关键词,第二步,构造语句函数代码,第三步,采集内容提供给搜索蜘蛛,第四步,设置需要跳转到的网址。通过这四个步骤,不但获取了流量,也提示了自己网站的关键词,最终,提示了自己网站权重,达到了宣传、推广的目的。

此种注入方式,一般攻陷的是一些技术类网站、专业类网站,甚至政府网站,因为这些网站在网络上的信誉评分很高,并且搜索引擎在搜索时也会向前推荐,所以这些网站就成了他们注入的目标。

说了这么多,要如何防范这些黑帽SEO呢,总结主要有如下几个方面:

1、网站的程序安全漏洞、安全要加固,保证没有程序漏洞,这是最重要的部分。
2、对服务器目录权限的安全部署,对管理员账号密码加密,尽可能设置的复杂一些。
3、数据库不要对外网公开,修改默认端口,推荐仅本地127.0.0.1才能进行连接数据库。
4、对服务器底层系统进行安全加固,包括远程端口登录的安全验证。防火墙一定要设置。
5、定期对网站代码进行整体的安全检测,包括定期的升级网站程序源代码,修复补丁以及网站漏洞。

安全是相对的,要保证系统安全,安全是目的,防范是手段,通过防范的手段达到或实现安全的目的,是作为运维人员安全防范的基本准则。

技术彩蛋

~~~~~~~~~~~~~~~~~~~~~~~~~~~
说了这么多,那么问题来了,怎么样保证系统安全、稳定呢,我将多年来工作经验进行了总结和提炼,写成了专栏《Linux运维大牛实战心法》 点击前往,15个案例打通运维任通二脉,让案例说话:

能学到什么技能

第一部分:故障排查
1.Linux系统故障问题案例汇总(无法启动、忘记密码、丢失文件等)
2.偶遇"Too many open files"错误分析与处理实录
3.Linux遭遇"Read-only file system"错误分析与处理实录
4.不听话的Crontab,记一次Crontab计划任务失败案例
5.因OpenStack物理机故障引起的Linux系统无法启动案例
6.Linux系统内存又被吃光了,它去哪里了,记一次内存占用问题调查记

第二部分:系统安全
7.回顾与总结:服务器遭受攻 击后的处理措施
8.IDC服务器遭遇黑 客侵入后的解决方法与原因分析案例
9.Linux后门入 侵检测工具chkrootkit、RKHunter应用案例
10.云服务器被植入挖矿病毒的处理与原因分析案例

第三部分:性能调优
11.菜鸟运维初成长,记一次上线Linux服务器基础优化案例
12.对某电商平台动、静态网站的优化分析案例

第四部分:运维案例
13.远离MySQL的MyISAM,记一次MySQL数据库故障的处理与原因分析
14.一次Java应用OutOfMemoryError故障的处理与原因分析
15.一次Java进程占用CPU过高问题的排查方法与案例分析

~~~~~~~~~~~~~~~~~~~~~~~~~~~

如果你对大数据方向的技术干兴趣,那么也可以阅读我的ELK专栏,我将多年来在新浪网和阿里云担任系统架构师的经验,融合进51CTO订阅专栏《轻松玩转ELK海量可视化日志分析系统》点击前往

ps:【51CTO订阅专栏】安卓小程序端,订阅更优惠¥12

能学到什么技能

1、结合企业真实项目需求,分析ELK架构的应用场景和价值
2、动手实战构建ELK 海量日志分析平台
3、利用Logstash实时采集不同项目系统的海量信息,对海量数据进行过滤和解析,同时可以自定义匹配模式解析项目中的复杂结构日志,并按日志类别和日期回滚输出到ElasticSearch集群建立索引
4、利用Kibana 实现海量日志的分析查询、数据可视化及监控预警 。
5、Logstash核心配置语法以及Filebeat组件的灵活使用
6、Logstash Input插件、Filter插件、Output插件应用详解
7、实战:Logstash 实现海量日志采集、过滤、解析、输出