账户安全
关键文件
1、用户信息文件/etc/passwd
root:x:0:0:root:/root:/bin/bash
account:password:UID:GID:GECOS:directory:shell
用户名:密码:用户ID:组ID:用户说明:家目录:登陆之后shell
注意:无密码只允许本机登陆,远程不允许登陆
2、影子文件/etc/shadow
root:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::
用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之后的宽限天数:账号失效时间:保留
命令
1、who 查看当前登录用户(tty本地,pts远程)
user tty1 2024-07-14 18:57
2、w 查看系统信息,想知道某一时刻用户的行为
08:42:08 up 4:49, 1 user, load average: 0.23, 0.16, 0.06
USER TTY 来自 LOGIN@ IDLE JCPU PCPU WHAT
user tty1 - 日18 13:45m 0.07s 0.00s -bash
第一行:当前时间 系统运行时间 多少用户登录 系统负载平均值:1分钟,5分钟,15分钟
第二行:用户 登陆类型 来自 登陆时间 空闲时间 用户占CPU时间 进程占CPU时间 当前正在执行的命令
第三行:user 本地登录 - 18日登陆 空闲时间为13h45m 用户占CPU时间0.07s 进程占CPU时间0s 正在执行的命令是bash
3、uptime 查看登陆多久,多少用户,负载
08:42:20 up 4:49, 1 user, load average: 0.18, 0.15, 0.06
入侵排查
用户权限排查
1、查询特权用户(uid为0)
user@debian11:/$ awk -F: '$3==0{print $1}' /etc/passwd
root
命令详解:awk默认使用空格或制表符作为分隔符,-F指定使用:作为分隔符,$3是第三个字段,表示uid,$1是第一个字段,表示username
2、查看是否有其他账户存在sudo权限
user@debian11:/$ sudo cat /etc/sudoers | grep -v "^#|^$" | grep "ALL=(ALL:ALL)"
root ALL=(ALL:ALL) ALL
user ALL=(ALL:ALL) ALL
%sudo ALL=(ALL:ALL) ALL
命令详解:先查看,第一个grep用于排除注释行和空行,第二个grep用于匹配表示有sudo权限的字符串
3、禁用或删除多余及可疑的账号
usermod -L user:禁用账号,账号无法登陆,/etc/shadow第二栏以!开头
usermod user:删除user用户
userdel -r user:删除user用户,并将/home目录下的user目录一并删除
历史命令
1、系统的历史命令
user@debian11:/$ history | tail
1378 awk '/\$1|\$6/{print $1}' /etc/shadow
1379 sudo awk '/\$1|\$6/{print $1}' /etc/shadow
1380 more /etc/sudoers | grep -v "^#|^$" | grep "ALL=(ALL)"
1381 sudo more /etc/sudoers | grep -v "^#|^$" | grep "ALL=(ALL)"
1382 sudo cat /etc/sudoers | grep -v "^#|^$" | grep "ALL=(ALL)"
1383 sudo cat /etc/sudoers
1384 sudo cat /etc/sudoers | grep -v "^#|^$" | grep "ALL=(ALL:ALL)"
1385 history
1386 history | more
1387 history | tail
2、用户目录下的历史命令
查看.bash_history文件
user@debian11:/$ tail ~/.bash_history
sudo crontab -l -u root
ls /etc/cron.allow
which chattr
ls /etc/rc.local
last
lastb
sudo lastb
lastlog
ls ./log
ls -l /var/log
检查异常端口
netstat命令结果字段详解:
- Proto: 表示使用的协议类型,常见的有
tcp、udp、unix

最低0.47元/天 解锁文章
2859

被折叠的 条评论
为什么被折叠?



