0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

被入侵服务器的症状分析与应对方法

Linux爱好者 2017-12-25 10:26 次阅读

本指南中所谓的服务器被入侵或者说被黑了的意思,是指未经授权的人或程序为了自己的目的登录到服务器上去并使用其计算资源,通常会产生不好的影响。

免责声明:若你的服务器被类似 NSA 这样的国家机关或者某个犯罪集团入侵,那么你并不会注意到有任何问题,这些技术也无法发觉他们的存在。

然而,大多数被攻破的服务器都是被类似自动攻击程序这样的程序或者类似“脚本小子”这样的廉价攻击者,以及蠢蛋罪犯所入侵的。

这类攻击者会在访问服务器的同时滥用服务器资源,并且不怎么会采取措施来隐藏他们正在做的事情。

被入侵服务器的症状

当服务器被没有经验攻击者或者自动攻击程序入侵了的话,他们往往会消耗 100% 的资源。他们可能消耗 CPU 资源来进行数字货币的采矿或者发送垃圾邮件,也可能消耗带宽来发动 DoS 攻击。

因此出现问题的第一个表现就是服务器 “变慢了”。这可能表现在网站的页面打开的很慢,或者电子邮件要花很长时间才能发送出去。

那么你应该查看那些东西呢?

检查 1 – 当前都有谁在登录?

你首先要查看当前都有谁登录在服务器上。发现攻击者登录到服务器上进行操作并不复杂。

其对应的命令是 w。运行 w 会输出如下结果:

08:32:55up98days,5:43,2users,loadaverage:0.05,0.03,0.00

USER TTYFROMLOGIN@IDLE JCPU PCPU WHAT

rootpts/0113.174.161.108:260.00s0.03s0.02ssshroot@coopeaa12

rootpts/178.31.109.108:260.00s0.01s0.00sw

第一个 IP 是英国 IP,而第二个 IP 是越南 IP。这个不是个好兆头。

停下来做个深呼吸, 不要恐慌之下只是干掉他们的 SSH 连接。除非你能够防止他们再次进入服务器,否则他们会很快进来并踢掉你,以防你再次回去。

请参阅本文最后的“被入侵之后怎么办”这一章节来看找到了被入侵的证据后应该怎么办。

whois 命令可以接一个 IP 地址然后告诉你该 IP 所注册的组织的所有信息,当然就包括所在国家的信息。

检查 2 – 谁曾经登录过?

Linux 服务器会记录下哪些用户,从哪个 IP,在什么时候登录的以及登录了多长时间这些信息。使用 last 命令可以查看这些信息。

输出类似这样:

rootpts/178.31.109.1ThuNov3008:26still loggedin

rootpts/0113.174.161.1ThuNov3008:26still loggedin

rootpts/178.31.109.1ThuNov3008:24-08:26(00:01)

rootpts/0113.174.161.1WedNov2912:34-12:52(00:18)

rootpts/014.176.196.1MonNov2713:32-13:53(00:21)

这里可以看到英国 IP 和越南 IP 交替出现,而且最上面两个 IP 现在还处于登录状态。如果你看到任何未经授权的 IP,那么请参阅最后章节。

登录后的历史记录会记录到二进制的 /var/log/wtmp 文件中(LCTT 译注:这里作者应该写错了,根据实际情况修改),因此很容易被删除。通常攻击者会直接把这个文件删掉,以掩盖他们的攻击行为。 因此, 若你运行了 last 命令却只看得见你的当前登录,那么这就是个不妙的信号

如果没有登录历史的话,请一定小心,继续留意入侵的其他线索。

检查 3 – 回顾命令历史

这个层次的攻击者通常不会注意掩盖命令的历史记录,因此运行 history 命令会显示出他们曾经做过的所有事情。 一定留意有没有用 wget 或 curl 命令来下载类似垃圾邮件机器人或者挖矿程序之类的非常规软件。

命令历史存储在 ~/.bash_history 文件中,因此有些攻击者会删除该文件以掩盖他们的所作所为。跟登录历史一样,若你运行 history 命令却没有输出任何东西那就表示历史文件被删掉了。这也是个不妙的信号,你需要很小心地检查一下服务器了。(LCTT 译注,如果没有命令历史,也有可能是你的配置错误。)

检查 4 – 哪些进程在消耗 CPU?

你常遇到的这类攻击者通常不怎么会去掩盖他们做的事情。他们会运行一些特别消耗 CPU 的进程。这就很容易发现这些进程了。只需要运行 top 然后看最前的那几个进程就行了。

这也能显示出那些未登录进来的攻击者。比如,可能有人在用未受保护的邮件脚本来发送垃圾邮件。

如果你最上面的进程对不了解,那么你可以 Google 一下进程名称,或者通过 losf 和 strace 来看看它做的事情是什么。

使用这些工具,第一步从 top 中拷贝出进程的 PID,然后运行:

strace-pPID

这会显示出该进程调用的所有系统调用。它产生的内容会很多,但这些信息能告诉你这个进程在做什么。

lsof-pPID

这个程序会列出该进程打开的文件。通过查看它访问的文件可以很好的理解它在做的事情。

检查 5 – 检查所有的系统进程

消耗 CPU 不严重的未授权进程可能不会在 top 中显露出来,不过它依然可以通过 ps 列出来。命令 ps auxf 就能显示足够清晰的信息了。

你需要检查一下每个不认识的进程。经常运行 ps (这是个好习惯)能帮助你发现奇怪的进程。

检查 6 – 检查进程的网络使用情况

iftop 的功能类似 top,它会排列显示收发网络数据的进程以及它们的源地址和目的地址。类似 DoS 攻击或垃圾机器人这样的进程很容易显示在列表的最顶端。

检查 7 – 哪些进程在监听网络连接?

通常攻击者会安装一个后门程序专门监听网络端口接受指令。该进程等待期间是不会消耗 CPU 和带宽的,因此也就不容易通过 top 之类的命令发现。

lsof 和 netstat 命令都会列出所有的联网进程。我通常会让它们带上下面这些参数

lsof-i

netstat-plunt

你需要留意那些处于LISTEN和ESTABLISHED状态的进程,这些进程要么正在等待连接(LISTEN),要么已经连接(ESTABLISHED)。如果遇到不认识的进程,使用strace和lsof来看看它们在做什么东西。

被入侵之后该怎么办呢?

首先,不要紧张,尤其当攻击者正处于登录状态时更不能紧张。你需要在攻击者警觉到你已经发现他之前夺回机器的控制权。如果他发现你已经发觉到他了,那么他可能会锁死你不让你登陆服务器,然后开始毁尸灭迹。

如果你技术不太好那么就直接关机吧。你可以在服务器上运行shutdown -h now或者systemctl poweroff这两条命令之一。也可以登录主机提供商的控制面板中关闭服务器。关机后,你就可以开始配置防火墙或者咨询一下供应商的意见。

如果你对自己颇有自信,而你的主机提供商也有提供上游防火墙,那么你只需要以此创建并启用下面两条规则就行了:

  1. 只允许从你的 IP 地址登录 SSH。

  2. 封禁除此之外的任何东西,不仅仅是 SSH,还包括任何端口上的任何协议。

这样会立即关闭攻击者的 SSH 会话,而只留下你可以访问服务器。

如果你无法访问上游防火墙,那么你就需要在服务器本身创建并启用这些防火墙策略,然后在防火墙规则起效后使用kill命令关闭攻击者的 SSH 会话。(LCTT 译注:本地防火墙规则 有可能不会阻止已经建立的 SSH 会话,所以保险起见,你需要手工杀死该会话。)

最后还有一种方法,如果支持的话,就是通过诸如串行控制台之类的带外连接登录服务器,然后通过systemctl stop network.service停止网络功能。这会关闭所有服务器上的网络连接,这样你就可以慢慢的配置那些防火墙规则了。

重夺服务器的控制权后,也不要以为就万事大吉了。

不要试着修复这台服务器,然后接着用。你永远不知道攻击者做过什么,因此你也永远无法保证这台服务器还是安全的。

最好的方法就是拷贝出所有的数据,然后重装系统。(LCTT 译注:你的程序这时已经不可信了,但是数据一般来说没问题。)


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10942

    浏览量

    206543
  • 服务器
    +关注

    关注

    12

    文章

    8013

    浏览量

    82209

原文标题:如何判断 Linux 服务器是否被入侵?

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    服务器远程不上服务器怎么办?服务器无法远程的原因是什么?

    产生问题的原因,检查硬盘和服务器系统。通过日志和检查数据来确认问题出 现的原因以及如何解决。 三、端口问题 1.端口错误 找回正确的端口或更换远程端口 2.端口扫爆 更改端口,并在防火墙禁止扫爆的IP
    发表于 02-27 16:21

    宝界科技WEB服务器立体防御解决方案

    采用SSL加密、编码、碎化等方式的应用程序,数据流,均无法识别 3、单纯文件防篡改系统也存在缺陷利用网站服务器未打补丁进行溢出攻击,或网站服务器对外开放了某些存在缺陷的服务,造成系统管理员密码
    发表于 05-17 14:01

    宝界科技WEB服务器立体防御解决方案

    采用SSL加密、编码、碎化等方式的应用程序,数据流,均无法识别 3、单纯文件防篡改系统也存在缺陷利用网站服务器未打补丁进行溢出攻击,或网站服务器对外开放了某些存在缺陷的服务,造成系统管理员密码
    发表于 08-19 11:02

    服务器维护技巧

    服务器维护技巧一:从基本做起,及时安装系统补丁——不论是Windows还是Linux,任何操作系统都有漏洞,及时的打上补丁避免漏洞蓄意攻击利用,是服务器安全最重要的保证之一。 服务器
    发表于 09-09 15:22

    租用服务器后如何进行服务器安全防护

    非法分子经常扫描公网IP端口,如果使用默认的3389或者Linux的22端口,相对来说是不安全的,建议修改掉默认远程端口)2、设置复杂密码。(一但服务器IP扫描出来默认端口,非法分子就会对服务器进行
    发表于 08-16 11:27

    RFID技术在图书馆中应用的利弊分析应对方

    RFID技术在图书馆中应用的利弊分析应对方案,大家自己有需要的赶紧下载吧
    发表于 10-27 14:09 0次下载

    解析Linux如何判断自己的服务器是否被入侵的检测方法

    如何判断自己的服务器是否被入侵了呢?仅仅靠两只手是不够的,但两只手也能起到一些作用,我们先来看看UNIX系统上一些入侵检测方法,以LINUX和solaris为例。
    的头像 发表于 01-13 10:27 5747次阅读

    服务器遭到DDoS攻击的应对方法

    DDoS攻击是目前最常见的网络攻击手段。攻击者通常使用客户端/服务器技术将多台计算机组合到攻击平台中,对一个或多个目标发起DDoS攻击,从而增加拒绝服务攻击的威力,是黑客使用的最常见的攻击方法之一,以下列出了一些
    的头像 发表于 12-02 15:56 3202次阅读

    常见的香港云服务器CPU占满的原因和应对方法

    在论坛上发现有用户抱怨自己别家选购的1g1m配置香港云服务器的速度慢,使用种统计看CPU都是80%以上。还在怀疑自己的网站是被入侵了嘛。但是当他告诉大家网站访问量在5000+左右的IP地址,大家
    发表于 07-22 17:30 642次阅读

    开关电源的常见故障及应对方法

    开关电源的原理、常见故障及应对方法,介绍常见开关电源原理、故障和维修方法
    发表于 03-11 16:03 21次下载

    运放输出失调电压的影响以及应对方法说明

    运放输出失调电压的影响以及应对方法
    的头像 发表于 03-17 16:58 1.1w次阅读
    运放输出失调电压的影响以及<b class='flag-5'>应对方法</b>说明

    服务器入侵挖矿的过程与解决方法

    常在河边走,哪能不湿鞋。自认为安全防范意识不错,没想到服务器入侵挖矿的事情也能落到自己头上。
    的头像 发表于 07-22 16:47 6053次阅读

    网络突发环路你的应对方法是什么?

    网工都遇到过网络环路,遇到这个情况,你的应对方法是什么?我了解到大部分的初阶网工,最开始都只能用拔插网线和重启观测法来排除回路。
    的头像 发表于 05-22 10:10 1464次阅读
    网络突发环路你的<b class='flag-5'>应对方法</b>是什么?

    服务器被攻击应对方法

    当云服务器受到攻击时,采取适当的应对策略是关键,以确保系统的安全和可用性。下面,小编给大家简单总结一下云服务器被攻击应对方法: 1、监控和检测:部署实时监控系统,定期审查日志,以便及时
    的头像 发表于 12-06 17:44 403次阅读

    服务器入侵现象、排查和处理步骤

    近期有一个朋友的服务器(自己做了网站)好像遭遇了入侵,具体现象是: 服务器 CPU 资源长期 100%,负载较高。 服务器上面的服务不能正常
    发表于 03-22 10:56 50次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>入侵</b>现象、排查和处理步骤