Linux应急响应

张天师大约 4 分钟

账号安全

先查看基础用户信息文件(/etc/passwd,/etc/shadow,/etc/group)

1、查询特权用户特权用户(uid 为0)

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

2、查询可以远程登录的帐号信息

awk '/\$1|\$6/{print $1}' /etc/shadow

3、除root帐号外,其他帐号是否存在sudo权限。如非管理需要,普通帐号应删除sudo权限

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

4、禁用或删除多余及可疑的帐号

usermod -L user   #禁用帐号,帐号无法登录,/etc/shadow第二栏为!开头
userdel -r user   #将删除user用户,并且将/home目录下的user目录一并删除

查看历史命令

cat ~/.bash_history >> history.txt

检查网络连接

netstat -antlp|more

netstat

检查异常进程

ps aux | grep pid

psaux

#查看 PID 所对应的进程文件路径
file /proc/$PID/exe

检查开机启动项

系统运行级别示意:

运行级别含义
0关机
1单用户模式,可以想象为windows的安全模式,主要用于系统修复
2不完全的命令行模式,不含NFS服务
3完全的命令行模式,就是标准字符界面
4系统保留
5图形模式
6重启动
ls -al /etc/init.d

systemctl -l

#系统默认允许级别
vi /etc/inittab
id=3:initdefault #系统开机后直接进入哪个运行级别

当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在

/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软链接即可

ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh  
#S开头代表加载时自启动

检查定时任务

ls -al /var/spool/cron/* 


cat /etc/crontab
/etc/cron.daily/*
/etc/cron.hourly/*
/etc/cron.monthly/*
/etc/cron.weekly/


#查看目录下所有文件
more /etc/cron.d/*
/etc/anacrontab
/var/spool/anacron/*

anacrontab是啥 open in new window

检查服务

chkconfig  --list  #查看服务自启动状态,可以看到所有的RPM包安装的服务

#源码包安装的服务位置
/user/local/

检查异常文件

1、查看敏感目录,如/tmp目录下的文件,同时注意隐藏文件夹,以“..”为名的文件夹具有隐藏属性

2、针对可疑文件可以使用stat查看创建修改时间

3、发现WebShell、远控木马的创建时间

如何找出同一时间范围内创建的文件?

find ./ -iname "*" -atime 1 -type f 
#找出 ./ 下一天前访问过的文件

检查系统日志

日志默认存放位置:/var/log/

查看日志配置情况:more /etc/rsyslog.conf

日志文件说明
/var/log/btmp记录错误登录(登陆失败)日志;使用lastb命令查看
/var/log/lastlog记录系统中所有用户最后一次成功登录时间,使用lastlog命令查看
/var/log/wtmp永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件;用last命令来查看
/var/log/utmp只记录当前登录用户的信息;使用w,who,users等命令来查询
/var/log/secure记录验证和授权方面的信息,如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码(Centos)
日志文件说明
/var/log/cron记录系统定时任务相关的日志
/var/log/message记录Linux操作系统常见的系统和服务错误信息(首要检查对象)
安装软件的日志
关于syslog

/var/log/syslog:只记录警告信息,常常是系统出问题的信息;

syslog是Linux系统默认的日志守护进程,默认的syslog配置文件是/etc/sysctl.conf文件

syslog不可以使用vi等工具直接查看,它是二进制文件,使用 lastlog 查看

默认Centos,Fedora不生成该日志文件,但可以配置让系统生成该日志文件

/etc/rsyslog.conf文件中加上:*.warning /var/log/syslog

该日志文件能记录当用户登录时记录下的错误口令、Sendmail的问题、su命令执行失败等信息

正确清空syslog日志的方式

cat /dev/null > /etc/init.d/syslog