目录
入侵框架检测
检测流程图
账号安全
查找账号中的危险信息
查看保存的历史命令
检测异常端口
入侵框架检测
1、系统安全检查(进程、开放端口、连接、日志)
这一块是目前个人该脚本所实现的功能
2、Rootkit
建议使用rootkit专杀工具来检查,例如rkhunter
3、Webshell
这一块查杀技术相对较高,不是本脚本所需要实现的功能,可以使用D盾来检查
4、Web日志
5、流量
主要侧重主机的长期的流量分析,目前个人使用tshark、tcpdump实现了基础的流量分析,后期会进行相应的完善。流量可以提取五元组、DNS流量、HTTP流量并结合威胁情报数据进行深度分析
检测流程图
账号安全
1、用户信息文件
/etc/passwd root:x:0:0:root:/root:/bin/bash
account:password:UID:GID:GECOS:directory:shell
用户名:密码:用户D:组D:用户说明:家目录:登陆之后shell 注意:无密码只允许本机登陆,远程不允许登陆
2、影子文件/etc/shadow
root:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC500AouXvcjQst.Ft7ql1WpkopYOUV 9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::
用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之 后的宽限天数:账号失效时间:保留
who 查看当前登录用户(tty本地登陆 pts远程登录)
w 查看系统信息,想知道某一时刻用户的行为
uptime 查看登陆多久、多少用户,负载
查找账号中的危险信息
1、查询特权用户特权用户(uid 为0)
[root@localhost~]# awk -F: '$3==(print $1]' /etc/passwd
2、查询有密码可以远程登录的帐号信息2
[root@localhost ~]# awk '/\$1|\$6/(print $1)' /etc/shadow-
3、除root帐号外,其他帐号是否存在sudo权限。如非管理需要,普通帐号应删除sudo权限
more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"
查看普通用户具有suid权限:visudo
查看保存的历史命令
bash history
保存10000条历史记录
sed -i 's/^HISTSIZE=1000/HISTSIZE=10000/g' /etc/profile
历史操作命令的清除:history -c
但此命令并不会清除保存在文件中的记录,因此需要手动删除.bash_profile文件中的记录
cat /root/.mysql_history >> /tmp/root_sql_history.txt