文章目录
Linux攻击排查
1. 入侵排查思路
1.1 账号安全
//查看用户信息passwd文件 是否有恶意的用户
[root@master ~]# less /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
## 用户名:密码:用户ID:组ID:用户说明:家目录:登陆之后的 shell
//影子文件
[root@master ~]# cat /etc/shadow
root:$6$KMaK//2Hp2$rrKd0MQA.8cCqzv0SEOkM3nq3qlhoYeSw2LLQtDdBL0Wy2qNXITg8kiiztre/WrTsn/ropx6aI5UdzW.mG613.:19144:0:99999:7:::
bin:*:18353:0:99999:7:::
daemon:*:18353:0:99999:7:::
adm:*:18353:0:99999:7:::
lp:*:18353:0:99999:7:::
sync:*:18353:0:99999:7:::
shutdown:*:18353:0:99999:7:::
halt:*:18353:0:99999:7:::
mail:*:18353:0:99999:7:::
operator:*:18353:0:99999:7:::
games:*:18353:0:99999:7:::
ftp:*:18353:0:99999:7:::
nobody:*:18353:0:99999:7:::
systemd-network:!!:19108::::::
dbus:!!:19108::::::
polkitd:!!:19108::::::
sshd:!!:19108::::::
postfix:!!:19108::::::
chrony:!!:19108::::::
nscd:!!:19108::::::
tcpdump:!!:19108::::::
## 用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之后的宽限天数:账号失效时间:保留
//who 查看当前登录用户(tty 本地登陆 pts 远程登录)
[root@master ~]# who
root pts/0 2022-06-23 10:13 (59.172.xxx.xxx)
//uptime 最近登入多久,多少用户,负载状态
[root@master ~]# uptime
15:57:58 up 15 days, 6:00, 1 user, load average: 0.51, 0.26, 0.25
//w 查看系统信息,知道某一刻用户的行为
[root@master ~]# w
16:02:14 up 15 days, 6:04, 1 user, load average: 0.63, 0.35, 0.28
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 59.172.xxx.xxx 10:13 6.00s 0.13s 0.00s w
入侵排查
1、查询特权用户特权用户(uid 为0)
[root@master ~]# awk -F: '$3==0{print $1}' /etc/passwd
root
2、查询可以远程登录的帐号信息
[root@master ~]# awk '/\$1|\$6/{print $1}' /etc/passwd
3、除root帐号外,其他帐号是否存在sudo权限。如非管理需要,普通帐号应删除sudo权限
[root@master ~]# more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"
root ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
4、禁用或删除多余及可疑的帐号
usermod -L user 禁用帐号,帐号无法登录,/etc/shadow 第二栏为 ! 开头
userdel user 删除 user 用户
userdel -r user 将删除 user 用户,并且将 /home 目录下的 user 目录一并删除
1.2 历史命令
1. 查看历史命令
[root@master ~]# history
历史命令都保存在~目录下的.bash_history
2. 更改历史命令保存的格式
[root@node2 ~]# cat >> /etc/profile << EOF
> USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'`
> if [ "$USER_IP" = "" ]
> then
> USER_IP=`hostname`
> fi
> export HISTTIMEFORMAT="%F %T $USER_IP `whoami` "
> shopt -s histappend
> export PROMPT_COMMAND="history -a"
> EOF
[root@node2 ~]# source /etc/profile
[root&#