Linux 服务器安全应急
前言
将服务器安全应急响应过程自动化,以提高安全应急响应的效率和保障基础水准,将安全应急场景中经常使用的命令封装成功能完备的脚本,自动化执行,并规范格式输出。
安全应急自动化方案
根据当前企业自身现状,
-
可由一个可发布脚本到全服的工具(eg. ansible)发布到服务器;
-
在安全应急时,可调度任意服务器上的该检测脚本进行执行;
-
脚本执行完成之后,会自动调度消息/文件发送到企业微信通知;(auto 模式, 3分钟之内即可收到消息通知);
参考&说明
经过前人不断地努力,出现了很多不错的开源工具/脚本,致敬!
此工具的编写主要参考了以下几款工具及个人工作经验总结而成,特别是 al0ne/LinuxCheck
。
https://github.com/al0ne/LinuxCheck https://github.com/grayddq/GScan https://github.com/CISOfy/lynis https://www.chkrootkit.org/
Tips. lynis
& chkrootkit
作为独立工具,可单独使用。
Github 源码
具体脚本,请移步 github。
https://github.com/neverthinkaboutit/linux_sec_check_ai_helper
脚本说明
-
采用系统原生的命令,减少外部依赖;
-
输出上做了很多的简化,展现形式个人认为也有很大的提升;ai helps
-
以往脚本有较多的信息采集,涉及大量的文件查找,磁盘 I/O 比较慢,对于安全应急并不适合;因此,做了简化 & 拆分 auto/depth;
-
应急响应报告发送企微通知;
Tips:脚本支持 Centos | Debian
,主要是在 Ubuntu
上进行测试。
后续改进方向
-
检测功能点,可持续补充;
-
包括是否集成
chkrootkit/lynis
,独立工具,可自行决断;
-
-
输出格式也可进一步优化,可自定义;
-
-d/--depth 参数功能,可默认使用、可自定义;
-
脚本永远可以不断修改,欢迎贡献您的想法和建议,欢迎提 PR 和 Issue.;
Helper
脚本使用方法,一般使用 -a/--auto 参数即可。
功能
完整检测功能请使用 -d/--depth 使用,运行较慢,以下是所有功能列表。
Category | Item |
---|---|
基础信息采集 | 『系统信息』 |
『CPU使用率』 | |
『内存使用』 | |
『磁盘空间使用情况』 | |
『硬盘挂载』 | |
『系统常见软件安装』 | |
进程/软件检查 | 『CPU占用 Top10』 |
『内存占用 Top10』 | |
『木马/挖矿检查』 | |
网络/流量检查 | 『网卡信息』 |
『网卡混杂模式』 | |
『路由转发』 | |
『对外开放高危通用服务』 | |
『DNS 配置』 | |
『路由表』 | |
『TCP连接状态统计计数』 | |
任务计划检查 | 『user crontasks』 |
『Crontab Backdoor』 | |
『/etc/cron.*』 | |
环境变量检查 | 『env』 |
『PATH』 | |
用户信息检查 | 『可登陆用户』 |
『/etc/passwd 文件修改日期』 | |
『Root权限(非root)账号』 | |
『sudoers(请注意NOPASSWD)』 | |
『登录信息 - w』 | |
『登录信息 - lastlog/filter never logged in』 | |
『登录记录 - 计数』 | |
『登录记录 - last』 | |
服务状态检查 | 『正在运行的Service』 |
『multi-user.target 运行级别服务』 | |
『用户自定义 Systemd 服务单元』 | |
Bash 配置检查 | 『History 文件』 |
『History 危险命令』 | |
『bash反弹shell』 | |
文件检查 | 『系统文件修改时间』 |
『alias 检查』 | |
『SUID』 | |
『lsof -L1/进程存在但文件已经没有了』 | |
『近七天文件改动 mtime』 | |
『近七天文件改动 ctime』 | |
『大文件>200MB』 | |
『敏感文件』 | |
『可疑黑客文件』 | |
『...隐藏文件』 | |
Rootkit检查 | 『lsmod 可疑模块』 |
『Rootkit 内核模块』 | |
『可疑的.ko模块』 | |
SSH检查 | 『SSH 监听 & 链接』 |
『SSH爆破 IPs Top10』 | |
『SSHD:/usr/sbin/sshd 配置文件权限 A/M/C Time』 | |
『SSH 后门配置』 | |
『SSH 软连接后门』 | |
『SSH inetd后门检查』 | |
『SSH Key』 | |
Webshell检查 | 『PHP webshell查杀』 |
『JSP webshell查杀』 | |
供应链投毒检测 | 『Python2 pip 检测』 |
『Python3 pip 检测』 | |
挖矿检测 | 『常规挖矿进程检测』 |
『Ntpclient 挖矿木马检测』 | |
『WorkMiner 挖矿木马检测』 |
Note.以上表格由 GPT 为您生成。
Sample
在 GPT 的帮助下,脚本的输出展示有了极大的提升,仅举示例。
# bash linux_sec_check.sh
-------------------------------------------
个性签名:如果世上的事都按你说的道理走 世界就不是现在这样了!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!