全网AI资源网站搭建

电脑端+手机端+微信端=数据同步管理

免费咨询热线:13114099110

“被入侵之后怎么办?”(免责声明)

发布时间:2023-10-23 11:13   浏览次数:次   作者:派坤优化

本指南中所谓的服务器被入侵或黑客攻击是指未经授权的人员或程序出于自己的目的登录服务器并使用其计算资源,通常会产生不良影响。

免责声明:如果您的服务器受到国家安全局等国家机构或犯罪集团的破坏,您不会注意到任何错误,这些技术也不会检测到它们的存在。

然而,大多数受感染的服务器都是受到机器人等程序或脚本小子等廉价攻击者以及愚蠢的犯罪分子的影响。

这些类型的攻击者在访问服务器时滥用服务器资源,并采取一些步骤来隐藏他们正在做的事情。

服务器受损的症状

当服务器被缺乏经验的攻击者或自动攻击程序破坏时,它们通常会消耗 100% 的资源。 他们可能会消耗 CPU 资源来挖掘数字货币或发送垃圾邮件,或者可能会消耗带宽来发起 DoS 攻击。

因此,问题的第一个迹象是服务器“变慢”。 这可能表现为您网站上的页面打开缓慢,或者电子邮件需要很长时间才能发送。

那么你应该关注哪些事情呢?

检查 1 - 谁当前登录?

您首先需要检查当前登录服务器的用户。 发现攻击者登录服务器并执行操作并不复杂。

对应的命令是w。 运行w将输出以下结果:

 08:32:55 up 98 days,  5:43,  2 users,  load average: 0.05, 0.03, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    113.174.161.1    08:26    0.00s  0.03s  0.02s ssh root@coopeaa12
root     pts/1    78.31.109.1      08:26    0.00s  0.01s  0.00s w

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

停下来深吸一口气,不要惊慌,直接终止他们的 SSH 连接即可。 除非你能阻止他们再次进入服务器网站服务器被攻击,否则他们会很快进来并把你踢出去,以防你再次返回。

请参阅本文末尾的“被黑客攻击后该怎么办”部分,了解如果发现被黑客攻击的证据该怎么办。

whois命令可以获取一个IP地址,并告诉您有关该IP注册的组织的所有信息,包括其所在国家/地区。

检查 2 - 谁以前登录过?

Linux服务器会记录哪些用户、来自哪个IP、何时登录以及登录时长等信息。使用last命令可以查看这些信息。

输出如下所示:

root     pts/1        78.31.109.1      Thu Nov 30 08:26   still logged in
root     pts/0        113.174.161.1    Thu Nov 30 08:26   still logged in
root     pts/1        78.31.109.1      Thu Nov 30 08:24 - 08:26  (00:01)
root     pts/0        113.174.161.1    Wed Nov 29 12:34 - 12:52  (00:18)
root     pts/0        14.176.196.1     Mon Nov 27 13:32 - 13:53  (00:21)

这里可以看到英国IP和越南IP交替出现,并且前两个IP仍然处于登录状态。如果您看到任何未经授权的IP,请参阅最后一节。

登录后的历史记录会记录在二进制/var/log/wtmp文件中(LCTT翻译注释:这里作者可能有错误,请根据实际情况修改),因此很容易被删除。 通常攻击者会直接删除该文件来掩盖自己的攻击行为。 因此,如果您运行最后一个命令并且只看到当前的登录信息,这是一个不好的迹象。

如果没有登录历史记录,请小心并继续关注其他入侵线索。

检查 3 - 查看命令历史记录

此级别的攻击者通常不会注意掩盖命令的历史记录,因此运行该命令将揭示他们曾经做过的所有事情。 请务必注意您是否使用wget或curl命令来下载非常规软件,例如垃圾邮件机器人或挖掘程序。

命令历史记录存储在 ~/. 文件,因此一些攻击者删除该文件以隐藏他们所做的事情。 与登录历史记录一样,如果运行命令没有任何输出,则说明历史文件已被删除。 这也是一个不好的信号,您需要非常仔细地检查服务器。 (LCTT翻译,如果没有历史命令,可能是你的配置错误。)

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

您经常遇到的攻击者类型通常不会隐藏他们正在做的事情。 他们将运行一些CPU消耗特别大的进程。 这使得很容易发现这些过程。 只需运行 top 并查看前几个进程即可。

这还可能暴露未登录的攻击者。例如,某人可能正在使用不受保护的电子邮件脚本发送垃圾邮件。

如果不明白top进程,可以看进程名,或者使用losf和losf看看它做了什么。

使用这些工具,第一步是从顶部复制进程的 PID,然后运行:

strace -p PID

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

lsof  -p PID

该程序将列出该进程打开的文件。 通过查看它访问的文件,您可以很好地了解它在做什么。

检查5 - 检查所有系统进程

消耗较少 CPU 的未经授权的进程可能不会显示在 top 中,但仍然可以通过 ps 列出它们。 ps auxf 命令可以显示足够清晰的信息。

你需要检查每一个未知的过程。 经常运行 ps (这是一个好习惯)可以帮助您发现奇怪的进程。

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

iftop的功能与top类似。 它将排列并显示发送和接收网络数据的进程及其源地址和目的地址。 DoS 攻击或垃圾邮件机器人等进程很容易出现在列表顶部。

检查 7 - 哪些进程正在侦听网络连接?

通常攻击者会安装后门程序,监听网络端口以接收指令。 该进程在等待时不消耗CPU和带宽,因此通过top等命令不容易找到。

lsof 和该命令都会列出所有联网进程。 我通常给他们以下参数:

lsof -i

netstat -plunt

您需要密切关注处于 和 状态的进程,要么正在等待连接(),要么已经连接()。 如果遇到不认识的进程,请使用 lsof 和 lsof 来查看它们在做什么。

被黑客攻击后该怎么办?

首先,不要紧张,尤其是在攻击者已登录的情况下。您需要在攻击者收到您已发现他的警报之前重新获得对计算机的控制权。 如果他发现你注意到了他,那么他可能会锁定你并​​阻止你登录服务器,然后开始销毁尸体和消除痕迹。

如果你不是很懂技术,那就关闭吧。 您可以在服务器上运行 -h now 或这两个命令之一。 您还可以登录托管提供商的控制面板来关闭服务器。 关闭后,您可以开始配置防火墙或咨询供应商的建议。

如果您对自己有信心并且您的托管提供商也提供了上游防火墙,那么您只需创建并启用以下两个规则:

仅允许从您的 IP 地址进行 SSH 登录。 阻止任何其他内容,不仅仅是 SSH,还阻止任何端口上的任何协议。

这会立即关闭攻击者的 SSH 会话,只剩下您可以访问服务器。

如果您无权访问上游防火墙,则需要在服务器本身上创建并启用这些防火墙策略,然后在防火墙规则生效后使用kill命令关闭攻击者的SSH会话。 (LCTT 译注:本地防火墙规则可能不会阻止已建立的 SSH 会话,因此为了安全起见,您需要手动终止会话。)

最后一种方法(如果支持)是通过带外连接(例如串行控制台)登录服务器,然后通过 stop 停止网络功能。 这将关闭服务器上的所有网络连接,以便您可以慢慢配置这些防火墙规则。

重新获得服务器的控制权后,不要以为一切都会好起来。

不要尝试修复该服务器然后再次使用它。 你永远不知道攻击者做了什么,因此你永远无法保证服务器是安全的。

最好的办法就是把数据全部拷出来,然后重装系统。 (LCTT翻译注释:你的程序此时不再可信,但数据总体没问题。)

通过:

作者: 译者: 校对者:wxy

本文由 LCTT 原创编译网站服务器被攻击,Linux China 自豪推出

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。