折叠

linux应急响应具体操作

 

第一件事情应该是切断网络,但是有些环境不允许网络断开,就只能跳过这一步。

1、查看历史命令

​发现Linux 服务器被攻击,要做应急响应,登录主机后的第一件事,就是查看主机的历史命令。

#检查Root用户的.bash_history 文件

cat /root/.bash_history

#检查普通用户的.bash_history 文件

cat /home/[user]/.bash_history

2、排查用户信息

# Linux 
服务器中招之后

# whoami 
查看当前用户

# 
通过
who
命令查看当前登录系统的所有用户

# w
命令显示已经登录系统的所用用户,以及正在执行的指令

# last
命令查看最近登录成功的用户及信息

# lastb
命令查看最近登录失败的用户及信息

# lastlog
命令显示所有用户最近一次登录信息

# 
在黑客入侵之前,必须使用
chattr +a
对
/var/log/lastlog
文件进行锁定,避免被黑客删除或者清空。导致无法使用
last
命令获得有用的信息了

3、排查passwd 文件,重点排查如下内容:

哪些用户不能登录,shell却为/bin/bash —> 修改建议:将shell修改为/sbin/nologin

哪些普通用户的UID=0 —> 修改建议:禁用该用户或删除该用户

是否多出了不明用户。

# 
查看可登录用户:

cat /etc/passwd | grep /bin/bash
# 
查看
UID=0
的用户

awk -F: '$3==0{print $1}' /etc/passwd
# 
查看
sudo
权限的用户

more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"

4、排查端口进程

​通过 ps -ef | grep 进程名 找到该进程ID,然后使用kill -9 id 杀掉该进程

# 
使用
ls -l
命令查看某个进程的可执行文件的完整路径

例如:查看
 PID=842
的
SSH
进程的可执行文件

# ls -l /proc/842/exe
# 
使用
ps
命令查看进程

# 
按照
CPU
使用率从高到低排序

➜
  ~ ps -ef --sort -pcpu
# 
按照内存使用率从高到低排序

➜
  ~ ps -ef --sort -pmem

5、排查文件修改

​应急响应的核心就是找到黑客植入/修改的文件。

 

​可以按照以下三种方式查找修改的文件:

按照名称

依据文件大小

按照时间查找

# 
根据名称查找文件

➜
  ~ find / -name a.Test
/root/a.Test
# 
依据文件大小查找:

➜
  ~ find / -size +1000M
/proc/kcore
# +1000M
表示大于
1000M
的文件,
-10M
代表小于
10M
的文件
# 
依据时间查找

# -atime 
文件的访问时间

# -mtime 
文件内容修改时间

# -ctime 
文件状态修改时间(文件权限,所有者
/
组,文件大小等,当然文件内容发生改变,
ctime
也会随着改变)

# 
查找最近一天以内修改的文件:

➜
  ~ find / -mtime -1 -ls  | more 
# 
查找
50
天前修改的文件:

➜
  ~ find ./ -mtime +50 -ls
#
根据属主和属组查找:

-user 
根据属主查找

-group 
根据属组查找

-nouser 
查找没有属主的文件

-nogroup 
查找没有属组的文件

# 
查看属主是
root
的文件

➜
  ~ find ./ -user root -type f
# -type f
表示查找文件,
-type d
表示查找目录

# 
注意:系统中没有属主或者没有属组的文件或目录,也容易造成安全隐患,建议删除。

6、清理后门

​ 在找到并处理植入/修改的文件之后,还需要清理后门,因为黑客为了下次访问方便,必然会在服务器上留有 后门。常见留后门的方法有如下几种:

 

将公钥写入到服务器的authorized_keys文件中

创建UID=0的普通用户

解决方法:

 

清除authorized_keys文件中黑客上传的key

cat /etc/passwd将UID为0的普通用户注释掉

7、查找攻击源

检查系统日志信息:

# tail -100 /var/log/messages
检查登录的账号和
IP
地址:

# tail -100 /var/log/secure
检查系统是否有异常,例如发包量过大等:

# dmesg
查找到攻击源,可以使用防火墙将此攻击源屏蔽。

原因分析

​ 服务器被入侵原因通常有几个:系统漏洞、中间件漏洞(程序漏洞)、代码漏洞、安全设置不正确、网络层面 没有限制等。 如果是系统漏洞和中间件漏洞,需要使用没有发现漏洞的系统和中间件进行升级。 如果是程序/代码漏洞,需要修改程序代码进行修改,或者部署waf防火墙。 如果是安全设置不正确,需要进一步检查安全配置。 如果是网络层面没有限制,需要在防火墙和IPS上进行检查。 通过植入文件启动进程的入侵方式,一般户看到类似这种进程或者文件:aa.sh,.sdofafdjja,是通过系 统漏洞或者中间件漏洞入侵的;如果没有发现被植入的文件,但是系统就是有异常,这种一般是通过代码漏洞 来入侵的。

posted @   ʚɞ无恙  阅读(448)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示