摘 要: Linux操作系统作为主流的网络服务器平台, 在互联网市场占据了重要的地位, 但也存在着日益严峻的安全漏洞问题, 各种漏洞以及木马的攻击都会给企业带来巨大的利益伤害。本文针对Linux服务器遭遇木马漏洞攻击的安全问题, 分析并追踪了Linux服务器存在的安全问题, 研究了在Linux服务器了常见修复手段。最后, 本文结合项目实际经验提出一些有效的防护措施和安全措施体系的建议。
关键词: Linux服务器; 安全漏洞; 安全措施;
随着互联网技术的不断发展, 承载着企业各种业务和数据的服务器担当着重要的角色。各大互联网企业、通信企业都在搭建自己的服务器平台, 一旦服务器受到外界的攻击和破坏, 将会给企业和客户带来很大的损失。因此, 服务器的安全问题是不可或缺的研究性问题, 是十分重要的。
目前, 由于木马程序, 病毒程序, 中间件的漏洞等都会引起服务器的安全问题, 常见的操作系统有Windows, Linux, 大部分的木马病毒主要针对windows的漏洞进行传播和感染, Linux相比较而言是安全的。但是随着信息技术的不断演变, 没有绝对的安全, 针对Linux系统的攻击手段越来越多, 很多木马病毒通过程序的形式发布在Linux服务器上, 来窃取用户和企业的数据信息, Linux服务器的安全风险越来越重要。如何应对外界的木马病毒的攻击来保证服务器的安全, 已经成为一项重要的研究性课题。
本文将详细分析常见的Linux服务器常见的安全隐患和攻击手段, 并针对目前比较流行的挖矿病毒的植入攻击提出一些具体的防护措施。
1、 Linux服务器的安全问题
Linux服务器常见的安全问题主要是Linux操作系统本身的漏洞安全问题、Linux服务存在的安全问题。以下具体的分析两点安全问题。
1.1、 Linux操作系统的漏洞安全问题
Linux系统作为一个性能稳定的多用户的网络操作系统, 具有一定的开放性、经济性和兼容性的特征。Linux作为一种免费的开源软件, 任何的程序员都可以参与Linux系统的二次开发进行系统的优化, 但是也会有不少黑客会利用系统开放的源码进行木马病毒的传播和攻击。因此, Linux系统自身的安全问题将会日益增多。常见的系统漏洞问题:
图1:top进程图
图2:异常程序目录文件图
(1) Linux系统账号漏洞, 远程攻击者会用过获取服务器的root超级管理员账号进行服务器木马病毒的传播以及操控服务器的一切可执行权限, 进行增删改查任何操作, 进入系统的根目录下来获取企业或者用户的文档信息和数据信息。
(2) Linux系统内核系统漏洞, 远程攻击者通过内核的漏洞来跳过Linux系统自带的安全防护体系, 直接进入核心内核区, 来篡改系统的内核参数, 使系统的交互服务出现异常, 导致服务进行中止直至系统瘫痪。
1.2、 Linux操作系统的服务安全问题
由于Linux系统的经济性, 兼容性等优点, 大量的企业都考虑Linux作为企业的服务器系统。各大企业部署在服务器上的Web服务, 数据库服务, ftp服务、网络服务都会面临很多的安全漏洞问题。常见的服务安全问题如下:
1.2.1、 Web服务
CERN、NCSA、Apache, 常见的Web网站服务器程序出现漏洞的话会遭到服务器的攻击点, 会盗取用户Web页面的配置信息以及其他数据库和服务器的信息, 出现文件描述符的泄露、日志记录失败, 进程异常等问题。
1.2.2、 数据库服务
常见的数据库有mysql、postgresql、redis、oracle等。数据库的安全隐患直接会导致数据的窃取, 比如某大型银行的客户信息, 某证券公司的客户交易信息等都会造成很大的安全隐患, 因此, 数据库的漏洞修复以及账号的管理授权将是安全的一项必不可少的工作。
1.2.3、 ftp文件服务
常见的ftp文件系统, 存放了网站以及用户的大量的表单数据和图片信息。一旦泄露, 用户的隐私和身份信息会被攻击者用来作为有偿买卖的手段之一。
1.2.4、 网络服务
常见的有TCP/IP协议栈, SNMP协议, BIND等。黑客会利用Linux一些协议来进行控制整片区域的网络, 在不暴露自己信息的情况下来进行抓包获取服务器的IP流入流向问题以及对服务器进行端口扫描来获取端口占用的进程, 来迅速定位到该平台的业务流程。
2、 针对挖矿病毒隐患的排查和解决
何为“挖矿”, 很多人并不清楚挖矿是什么, 是怎么植入服务器, 又是怎样攻击服务器的?简单来说:就是挖矿程序的植入, 通过借助大量的计算能力来计算产生出虚拟货币。常见的挖矿病毒都是将挖矿程序封装, 伪装成系统程序, 添加服务器开机自启动来进行持久化的运行, 利用系统资源来帮助黑客挖矿, 对客户没有太大的安全危害, 会造成服务器的性能变差, 影响企业的正常服务。
针对上文谈及到本身的Linux系统的安全隐患问题, 本文针对某企业遭遇挖矿病毒提出一种定位攻击行为和服务器恢复的方法。
2.1、 挖矿病毒的发现和定位
背景:某企业云平台在日常巡检的过程中, 发现大量Linux服务器出现CPU使用率达到了100%的异常指标, 初步判断平台服务器可能是业务的大量调用和平台的并发量导致。经过运维人员和研发人员的排查, 发现该企业平台没有大量的查询和使用情况。因此开始进行以下几点服务器的排查:
(1) 利用top工具查看进程。由图1所示:在cpu异常的服务器上查看top进程, 观察到有13个僵尸进程, 以及command中a、-bash等占用资源比较高的进程, 那么就要开始分析是否涉及到代码业务层面的漏洞。
(2) 确认异常程序。经发现这两条异常的进程与代码java进程无关, 那么如何查找出异常程序呢?由图2所示, 采用find/-name a (异常程序名称) 、find/-name bash (异常程序名称) 命令来进行异常程序目录的查找, 发现大量的文件在/var/tmp目录文件下。解压tmux异常文件, 发现有autorun、cron等文件。分别查看了cron, autorun文件, 执行/var/tmp下的./bash, 于是上面的.bash进程占用cpu资源高的问题也迎刃而解了。
2.2、 挖矿病毒的查看与分析
查找到了疑似挖矿病毒的文件目录, 需要进一步的分析挖矿程序怎样运行的。首先在排查过程中发现服务器的定时任务会执行一条命令, 每15分钟进行执行tmux目录下的run命令;那么根据定时任务的命令:*/15****curl–s http://ip/run|bash- (ip是攻击服务器的地址) , 找到执行木马定时任务的目标服务器, 查看到*****/var/tmp/.bash/upd>/dev/null 2>&1, @reboot/var/tmp/.bash/upd>/dev/null 2>&1这两条命令, 那么可以初步判定了tmux就是木马病毒程序。
接下来进行进一步的分析, 查看木马程序的可执行脚本, 由图3所示, 发现run脚本中出现了stratum+tcp等关键词, 其通过链接池的url来进行后台的默默挖矿。现在的挖矿能力的提升是通过矿池技术将所有矿机的计算能力集中到矿池一起, 通过stratum协议通信来进行恶意挖矿。
2.3、 挖矿病毒的防御和解决
挖矿病毒与其他病毒相比较而言, 没有太大的差别, 挖矿病毒常见的攻击方法具备持久性和攻击性长期占用服务器大量的CPU或GPU的计算资源, 对于云计算的企业而言, 云主机的感染会拖垮整个云平台成千上万的性能, 大量的占用资源会造成企业平台的瘫痪, 业务的宕机, 给企业和用户造成很大的损失。那么如何防御和解决, 提出以下几点建议:
图3:run脚本程序
(1) 查看服务器的系统性能, 检查进程是否占用过多的资源。
(2) 找出疑似病毒的文件路径, 确认挖矿病毒的来源。
(3) 关闭服务器的防火墙和SELinux, 关闭其挖矿程序的网络连接。
(4) 去除挖矿程序的可执行权限, 清楚服务器上存在的挖矿程序文件。
(5) 清理服务器上存在的僵尸进程以及wipefs进程, 有些挖矿病毒会伪装成wipefs进程, 将程序复制到wipefs进程中来进行软连接到程序, 即时删除了木马文件, 还会继续工作。因此需要kill wipefs进程。
(6) 修改用户密码, 尽量设置复杂的口令。安装杀毒软件进行定期的扫描和查杀。
3、 Linux系统的安全措施和防控体系
3.1、 Linux系统的安全防范措施
在互联网时代和信息时代不断发展的领域, 攻击和防护是一对矛盾体, 攻击时刻都在进行着, 那么如何提高安全防护能力呢?针对某企业云平台遭遇挖矿病毒的植入和攻击, 需要进一步吸取教训。一般攻击主机要分为系统安全的攻击和网络安全的攻击。常见的攻击行为是服务器账号口令被暴力破解, 木马病毒的植入, 端口的入侵, 拒绝服务攻击, 僵尸网络的攻击, 网络监听等。面对一系列的攻击手段, 应该提出一下几点相应的防护措施。
(1) 提高系统账号的安全性, 做好账号管理工作。系统账号需要设置复杂的口令, 避免弱口令。普通账号权限加以授权, 需要限制在允许的范围内。
(2) 监控高危端口, 关闭不必要的端口, 减小入侵机率。
(3) 做好系统日志的备份策略, 记录系统每天运行情况, 时刻监测系统的更新情况。
(4) 关闭Linux不必要的服务, 严格控制服务安全。
3.2、 Linux系统的安全防控体系
Linux服务器的攻击和防范, 是每个企业的生产要求。大部分的企业没有建立一套安全保障体系, 等真正遭遇到木马病毒的攻击, 往往会措手不及, 只能片面的恢复中毒的系统, 删除一些存在的木马文件, 没有真正的建立所遵循的生产准则要求。因此, 建立符合自己企业发展的安全体系是有必要的。面对安全体系的建议, 提出以下几点的建议:
(1) 加强宣传安全防控策略, 培训相关技术人员, 提高安全意识。
(2) 制定一套完备的安全防控和应对体系, 将生产和防护两者相统一, 加大安全力度。
(3) 建立安全漏洞和病毒扫描机制, 定期进行服务器病毒扫描和代码代码, 查杀疑似病毒的程序。
4、 结论
针对Linux系统的存在的不确定漏洞以及攻击手段的日益成熟, 服务器的安全问题成为各大企业不可忽视的问题。本文结合了具体项目遭遇挖矿病毒的实际经验, 分析并追踪了Linux服务器存在的安全问题, 提出了一些Linux服务器处理安全问题的防护措施。
参考文献:
[1]胡冠宇, 杨明.Linux服务器安全问题的分析与研究[J].软件工程, 2014, 17 (08) :7-9.
[2]高晓连.Linux服务器存在的安全问题[J].信息与电脑 (理论版) , 2018 (02) .
[3]王继梅, 金连甫.Web服务安全问题研究和解决[J].计算机应用与软件, 2004, 21 (02) :91-93.
[4]刘晓萍.Linux2.4.x内核TCP/IP协议栈安全性研究[D].解放军信息工程大学, 2004.
[5]张春晖.SNMP协议的分析与应用[J].计算机应用研究, 2000, 17 (01) :55-57.
[6]朱荣.Wmixml新型挖矿病毒预警, 已有企业被成功渗透[J].计算机与网络, 2018 (10) .
[7]靳皞.基于Linux系统的网络安全问题及其对策[J].计算机光盘软件与应用, 2010 (15) :45-46.