Linux——11个步骤教你完美排查服务器是否被入侵

VSole2022-04-11 07:19:52

随着开源产品的越来越盛行,作为一个Linux运维工程师,能够清晰地鉴别异常机器是否已经被入侵了显得至关重要,个人结合自己的工作经历,整理了几种常见的机器被黑情况供参考:

背景信息:以下情况是在CentOS 6.9的系统中查看的,其它Linux发行版类似。

1、入侵者可能会删除机器的日志信息

可以查看日志信息是否还存在或者是否被清空,相关命令示例:

2、入侵者可能创建一个新的存放用户名及密码文件

可以查看/etc/passwd及/etc/shadow文件,相关命令示例:

3、入侵者可能修改用户名及密码文件

可以查看/etc/passwd及/etc/shadow文件内容进行鉴别,相关命令示例:

4、查看机器最近成功登陆的事件和最后一次不成功的登陆事件

对应日志“/var/log/lastlog”,相关命令示例:

5、查看机器当前登录的全部用户

对应日志文件“/var/run/utmp”,相关命令示例:

6、查看机器创建以来登陆过的用户

对应日志文件“/var/log/wtmp”,相关命令示例:

7、查看机器所有用户的连接时间(小时)

对应日志文件“/var/log/wtmp”,相关命令示例:

8、如果发现机器产生了异常流量

可以使用命令“tcpdump”抓取网络包查看流量情况或者使用工具”iperf”查看流量情况

9、可以查看/var/log/secure日志文件

尝试发现入侵者的信息,相关命令示例:

10、查询异常进程所对应的执行脚本文件

a.top命令查看异常进程对应的PID

b.在虚拟文件系统目录查找该进程的可执行文件

11、如果确认机器已被入侵,重要文件已被删除,可以尝试找回被删除的文件Note:

1、当进程打开了某个文件时,只要该进程保持打开该文件,即使将其删除,它依然存在于磁盘中。这意味着,进程并不知道文件已经被删除,它仍然可以向打开该文件时提供给它的文件描述符进行读取和写入。除了该进程之外,这个文件是不可见的,因为已经删除了其相应的目录索引节点。

2、在/proc 目录下,其中包含了反映内核和进程树的各种文件。/proc目录挂载的是在内存中所映射的一块区域,所以这些文件和目录并不存在于磁盘中,因此当我们对这些文件进行读取和写入时,实际上是在从内存中获取相关信息。

大多数与 lsof 相关的信息都存储于以进程的 PID 命名的目录中,即 /proc/1234 中包含的是 PID 为 1234 的进程的信息。每个进程目录中存在着各种文件,它们可以使得应用程序简单地了解进程的内存空间、文件描述符列表、指向磁盘上的文件的符号链接和其他系统信息。

lsof 程序使用该信息和其他关于内核内部状态的信息来产生其输出。所以lsof 可以显示进程的文件描述符和相关的文件名等信息。也就是我们通过访问进程的文件描述符可以找到该文件的相关信息。

3、当系统中的某个文件被意外地删除了,只要这个时候系统中还有进程正在访问该文件,那么我们就可以通过lsof从/proc目录下恢复该文件的内容。

假设入侵者将/var/log/secure文件删除掉了,尝试将/var/log/secure文件恢复的方法可以参考如下:

a.查看/var/log/secure文件,发现已经没有该文件

b.使用lsof命令查看当前是否有进程打开/var/log/secure。

c.从上面的信息可以看到 PID 1264(rsyslogd)打开文件的文件描述符为4。同时还可以看到/var/log/ secure已经标记为被删除了。因此我们可以在/proc/1264/fd/4(fd下的每个以数字命名的文件表示进程对应的文件描述符)中查看相应的信息,如下:

d.从上面的信息可以看出,查看/proc/1264/fd/4就可以得到所要恢复的数据。如果可以通过文件描述符查看相应的数据,那么就可以使用I/O重定向将其重定向到文件中,如:

e.再次查看/var/log/secure,发现该文件已经存在。对于许多应用程序,尤其是日志文件和数据库,这种恢复删除文件的方法非常有用。

linux服务器log文件
本作品采用《CC 协议》,转载必须注明作者和本文链接
背景 随着开源产品的越来越盛行,作为一个安全工程师,能够清晰地鉴别异常机器是否已经被入侵了显得至关重要,个人结合自己的工作经历,整理了几种常见的机器被黑情况仅供参考~ ?以下情况是在CentOS 6.9的系统中查看的,其它Linux发行版类似。
针对大量log日志快速定位错误地方动态查看日志tail?从头打开日志文件cat?可以使用 >nanjiangtest.txt 输出某个新日志去查看[root@yesky?tail/head简单命令使用:[root@yesky?查询日志尾部最后number行的日志。我是这样做的,首先: cat -n test.log | grep “关键词” 得到关键日志的行号[root@yesky?[11:07 17:47:11] INFO nanjiang:Edit Old Article:717892466-2020-11-07 17:47:11. 「cat -n catalina.out|tail -n +13230539|head -n 10」tail -n +13230539表示查询13230539行之后的日志head -n 10则表示在前面的查询结果里再查前10条记录[root@yesky?
当企业发生网络安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,同时还需进一步查找入侵来源,还原入侵事故过程,给出解决方案与防范措施,为企业挽回或减少经济损失。 常见的网络安全事件:
"请用root用户执行此脚本!#最近启动时间?#运行时间(天)?#相同ID的用户?#密码过期(天)?#允许root远程登录?#僵尸进程数量?#自启动服务数量?"系统巡检脚本:Version $VERSION"
Linux 下如何才能实时查看日志内容呢?有很多工具可以帮助我们在文件持续修改的同时输出文件内容,最常用的莫过于 tail 命令了。 1. tail Command – Monitor Logs in Real Time 如前所述,tail 命令是实时显示日志的最常用的方法。不过该命令有两个版本,如下所示。 第一个例子是为 tail 命令加上 -f 参数。
因此做为运维人员,就必须了解一些安全运维准则,同时,要保护自己所负责的业务,首先要站在攻击者的角度思考问题,修补任何潜在的威胁和漏洞。 本文主要分为如下部分展开:
linux常见backdoor技术
2021-09-02 07:33:03
最近遇到一些和后门相关的技术,所以把之前linux backdoor相关笔记重新学习和整理了一下。在这里做一下记录,后续有时间整理一下windows backdoor方面的技术。 在服务器被入侵后进行应急响应无非通过文件排查、网络排查、进程排查、系统信息排查等方法进行入侵排查。下面就一些常见留后门技巧以及公开的工具进行剖析介绍。
secure 是应急中最常用的文件,主要记录系统存取数据的文件,如 POP3、ssh、telnet、ftp 等相关记录,从日志中可看出系统服务是否遭受到安全威胁,从如下日志中可看到 SSH 服务一直在被破解。lastlog 命令,用于显示系统中所有用户最近一次登录信息。可以使用 lastlog 命令检查某特定用户上次登录的时间,并格式化输出上次登录日志 /var/log/lastlog 的内容。
作为安全工程师,工作中多多少少会遇见这样那样的问题或故障,从中总结经验,查找问题,汇总并分析故障的原因,这是一个安全工程师良好的习惯。每一次技术的突破,都经历着苦闷,伴随着快乐,可我们还是执着的继续努力,从中也积累了更多的经验。 下面汇总了可能出现的故障及解决方法,看看你是否遇到过?并对你有帮助?
VSole
网络安全专家