1. 用户信息文件:/etc/passwd
/etc/passwd文件包含用户的基本信息,格式如下:
account:password:UID:GID:GECOS:directory:shell
示例:
root:x:0:0:root:/root:/bin/bash
常用检查命令:
- 查看可登录用户: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)"
注意:无密码的用户只允许本机登录,远程登录应禁止。
2. 用户加密密码文件:/etc/shadow
/etc/shadow文件存储用户的加密密码和密码有效期等信息。
示例:
root:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::
3. 查看当前登录用户及登录时长
- 查看当前登录用户:who
- 查看当前登录用户及执行的命令:w
- 查看系统运行时长及负载情况:uptime
4. 排查用户登录信息
- 查看最近登录成功的用户信息:last
- 查看最近登录失败的用户信息:sudo lastb
- 查看所有用户最近一次登录信息:lastlog
安全建议:如果怀疑/var/log/wtmp文件被篡改,使用chattr +a对该文件进行锁定。
5. 排查特权用户与sudo权限
- 查看特权用户(UID为0):awk -F: '$3==0{print $1}' /etc/passwd
- 查看可以远程登录的帐号信息:awk '/\$1|\$6/{print $1}' /etc/shadow
- 查看非root用户是否有sudo权限:more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"
禁用或删除可疑账号:
- 禁用用户:usermod -L user
- 删除用户:userdel user userdel -r user # 删除用户及其家目录
6. 查看执行过的历史命令
- 
查看每个用户的历史命令: 
 访问/home/用户目录/.bash_history文件查看历史命令。
- 
增加历史命令的IP地址和时间戳: 
 修改/etc/profile文件,增加以下内容:USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'` if [ "$USER_IP" = "" ] thenUSER_IP=`hostname` fi export HISTTIMEFORMAT="%F %T $USER_IP `whoami` " shopt -s histappend export PROMPT_COMMAND="history -a"
注意:可以通过history -c清除命令历史,但并不能清除.bash_history文件中的记录,需要手动删除。
7. 检查端口连接与进程
- 
查看端口连接情况: netstat -antlp
- 
查看可疑进程: ps aux | grep 6666
- 
查看进程对应的文件路径: ls -l /proc/$PID/exe
- 
强行停止可疑进程: kill -9 6071
8. 检查开机启动项与计划任务
- 
查看开机启动项: - /etc/rc.local
- /etc/rc.d/rc[0~6].d
- chkconfig --list
 查看自启动服务状态。
 
- 
检查计划任务: crontab -l # 列出当前用户的计划任务 crontab -r # 删除当前用户的计划任务
恶意脚本排查:检查以下路径中是否存在恶意脚本:
- /var/spool/cron/*
- /etc/crontab
- /etc/cron.d/*
- /etc/cron.daily/*
9. 异常文件检查与日志分析
- 
查找修改过的文件: - 按文件名:find / -name "filename"
- 按大小:find / -size +1000M
- 按时间:find / -mtime -1
 
- 按文件名:
- 
日志分析: - 爆破登录IP:grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c
- 成功登录IP:grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c
 
- 爆破登录IP:
10. WebShell查杀与安全脚本
- 
WebShell查杀工具: - 河马 WebShell 查杀:Shellpub
 
- 
Linux安全检查脚本: - GScan
- Security Check
- T0xst Linux Check
 
