Linux应急响应流程

备份用户信息文件

cat /etc/passwd > passwd.txt ;

cat /etc/shadow > shadow.txt ;

备份当前网络信息
netstat -anp > netstat_anp.txt ;

 

备份历史命令
cp ~/.bash_history history.txt ;

history > history.txt1 ;

备份用户登录的信息
w > users.txt ;

 

备份当前进程信息
ps aux > ps.txt ;

二、用户信息分析

1. 查看当前用户
whoami 

2. 查看当前登录系统的所有用户
who(tty:指的是主机的图形化界面的面板,pts/x:指的是ssh远程连接的窗口)

 

3. 主机上一次开启的时间
who -b

4. 显示已经登录系统的用户列表,并显示用户正在执行的指令
w

 

5. 显示当前登录系统的所有用户的用户列表
users

6. 查看最近登录成功的用户
lastlog

 

7. 查看用户信息
cat /etc/passwd

8. 查看可以登录系统的用户
cat /etc/passwd | grep /bin/bash

9. 查看超级用户(uid=0)

awk -F: '$3==0{print $1}' /etc/passwd

awk:awk 是一个强大的文本处理工具,常用于模式扫描和处理。它按行读取文件,并且可以基于特定的条件来执行操作。

-F::这个选项指定字段分隔符,-F 表示分隔符的设置,后面的: 表示使用冒号: 作为字段分隔符。在/etc/passwd 文件中,每一行都包含以冒号分隔的字段,如用户名、密码、用户ID等。

\$3==0:这是awk 的条件表达式。\$3 表示文件的第三个字段(在/etc/passwd 中,第三个字段是用户ID,通常是 UID)。条件==0 用来判断该字段是否为0,即查找 UID 为0 的行。通常,UID 为 0 的用户是 root 用户。

{print \$1}:当满足条件(UID 为 0)时,执行{print \$1}。\$1 表示每行的第一个字段,即用户名。该部分的意思是打印出符合条件的行中的第一个字段,也就是root 用户。

/etc/passwd:这是输入文件,awk 将逐行处理此文件。/etc/passwd 是一个存储系统用户信息的文件1,每一行通常包含如下字段:

10. 查看用密码登录的用户
cat /etc/shadow

11. 查看有sudo权限的用户
more /etc/sudoers | grep ALL

12. 查看历史命令
cat ~/.bash_history

 

三、进程信息分析

1. 动态查看进程
top

2. 查看PID为549986的进程的可执行程序

ps aux 显示所有进程

ls -l /proc/pid(这里要输入上面ps命令显示进程里面的PID)/exe

 

 

3. 查看PID为549986的进程打开的文件
lsof -p pid(这里要输入上面ps命令显示进程里面的PID)

4. 查看进程sshd打开的文件
lsof -c sshd

 

5. 查看22端口对应的一些进程
lsof -i:port(端口)

6. 查看pid为549986进程的启动时间点
ps -p PID -o lstart

 

7. 查看网络连接情况
netstat -pantu 

8. 查看端口对应的进程PID
fuser -n tcp port(端口)

 

9. 查看系统进程
ps aux (ps -ef)

10. 查看系统进程树
pstree

 

11. 查看进程,根据cpu使用从高到低
ps aux --sort -pcpu

12. 查看进程,根据内存使用从高到低
ps aux --sort -pmem

 

四、网络连接分析

1. netstat命令用来打印Linux中网络系统的状态信息;
netstat -an

2. 查看TCP连接状态
netstat -nat

五、异常文件分析

1. 查看指定目录最近被修改的文件(查看var目录下3天内被修改的文件)
find /var/ -type f -mtime -3 | xargs ls -la

2. 按时间排序,查看var目录下最近是否有命令被替换
ls -alt /var/

六、开机启动项分析

1. 查看是否有异常开机启动项
cat /etc/rc.local

七、定时任务分析

1. 查看定时任务
sudo vi /etc/crontab

m、h、dom、mon、dow、command分别是(minute; hour; day of month; month; day of week)的缩写
minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件

八、系统日志分析

1. Linux下常见的一些日志:

/var/log/boot.log:录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息
/var/log/lastlog :记录最后一次用户成功登陆的时间、登陆IP等信息
/var/log/messages :记录Linux操作系统常见的系统和服务错误信息
/var/log/secure :Linux系统安全日志,记录用户和工作组变坏情况、用户登录认证情况
/var/log/btmp :记录Linux登陆失败的用户、时间以及远程IP地址
/var/log/syslog:只记录警告信息,常常是系统出问题的信息,使用lastlog查看
/var/log/wtmp:该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件,使用last命令查看
/var/run/utmp:该日志文件记录有关当前登录的每个用户的信息。如 who、w、users、finger等就需要访问这个文件
/var/log/auth.log 或 /var/log/secure 存储来自可插拔认证模块(PAM)的日志,包括成功的登录,失败的登录尝试和认证方式。Ubuntu 和 Debian 在 /var/log/auth.log 中存储认证信息,而 RedHat 和 CentOS 则在 /var/log/secure 中存储该信息。
2. 查看登录记录(auth.log/secure)
cat /var/log/auth.log

3. 查看登录失败的记录
cat /var/log/auth.log
| grep FAILED

4. 查看最近登录失败的用户及信息,查看的是 /var/log/btmp 文件
lastb

5. last命令查看系统中最近的五次用户登录记录
last | head -5

6. 显示系统中所有用户最近一次登录信息,读取的是 /var/log/lastlog 文件
lastlog

 

 

posted @ 2024-12-17 17:05  LB_运维技术  阅读(14)  评论(0编辑  收藏  举报