找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

969

积分

0

好友

123

主题
发表于 昨天 18:27 | 查看: 0| 回复: 0

在Linux服务器运维和安全管理中,系统是否被入侵、是否存在异常痕迹,是每位管理员都需要面对和排查的关键问题。手动逐一检查不仅耗时费力,还容易遗漏关键线索。本文将介绍一个开源的自动化排查脚本 Linux_checklist.sh,它可以帮助你快速、系统地检查Linux系统的常见安全风险与异常情况,非常适合用于入侵后的应急响应或日常安全巡检。

脚本主要检查项概览

Linux_checklist.sh 脚本的核心功能覆盖了黑客入侵后可能留下的多种痕迹,主要聚焦于以下几个关键方向:

  1. 检查网卡混杂模式:嗅探网卡是否处于“抓包”状态,这是攻击者在内网嗅探密码等敏感信息的常见手段。
  2. 检查“无文件”进程:识别内存中正在运行但对应的磁盘可执行文件已被删除的进程(/proc/*/exe -> (deleted))。这是挖矿木马和Rootkit最喜爱的“无文件攻击”技术。
  3. 校验系统命令完整性:通过 rpm -V 等包管理器命令,检查 lspsnetstat 等常用系统命令是否被替换或篡改,防止攻击者通过修改命令来隐藏自己的活动。
  4. 扫描SSH公钥:遍历系统上所有用户的 .ssh/authorized_keys 文件,检查是否存在被植入的未知免密登录公钥。
  5. 审查定时任务:检查系统及所有用户的定时任务(Crontab),自动匹配 bash -inccurlwget 等常用于反弹Shell或下载恶意软件的命令特征。

详细检查清单(涵盖7个维度)

该脚本的检查项设计得非常全面,主要分为以下七个维度,为安全分析和应急响应提供结构化视角。

1. 系统资源(排查挖矿与资源滥用)

  • CPU/内存占用:列出资源消耗最高的前5个进程,帮助快速判断是否存在挖矿程序等异常高负载进程。
  • 磁盘空间:检查根目录及各分区使用率,避免因日志爆满或垃圾文件堆积导致服务异常。

2. 网络连接(排查后门与异常通信)

  • 网卡模式:检测是否有网卡被设置为监听所有流量的混杂模式。
  • DNS/Hosts配置:检查 /etc/resolv.conf/etc/hosts 文件,排查DNS劫持或恶意域名重定向。
  • 监听端口:列出所有处于监听状态的端口及对应进程,快速发现非常规的高位端口后门。
  • 外部连接:统计服务器正在建立连接的外部IP地址(Top 10),用于发现向C2(命令与控制)服务器的回连行为。

3. 进程分析(定位恶意程序)

  • 内存中已删除的文件:再次强调并执行对“无文件”恶意进程的扫描。
  • 高资源进程详情:展示CPU和内存占用最高的5个进程的详细信息,如启动命令、PID、用户等。

4. 账号与权限(检查未授权访问)

  • 特权用户:检查除了 root 以外,是否还存在其他UID为0的“超级用户”。
  • 影子文件分析:查看 /etc/shadow,确认哪些账户设置了可登录的密码。
  • Sudo权限:检查哪些用户或组被授予了 ALL=(ALL) 的超级管理员权限。
  • SSH公钥审计:遍历 /root/home 目录下所有用户的 authorized_keys 文件。
  • SSH环境劫持:检查是否存在 sshrc 等文件,这类文件会在用户通过SSH登录时自动执行恶意脚本。

5. 持久化与启动项(防止恶意程序重启)

  • 定时任务 (Crontab)
    • 检查 /etc/crontab/etc/cron.d/ 等系统级任务。
    • 遍历所有用户的个人 crontab 任务。
    • 自动对任务内容进行特征匹配,筛选包含可疑下载或网络连接命令的条目。
  • 开机启动项
    • 检查 Systemd 中已启用的服务。
    • 检查传统的 /etc/rc.local 启动脚本中是否藏有恶意命令。

6. 文件完整性(检测Rootkit与文件篡改)

  • 二进制文件校验:利用包管理器(如RPM)校验 lspstoploginsshd 等核心系统命令的哈希值,判断是否被植入Rootkit。
  • SUID提权文件扫描:扫描全盘,找出具有SUID权限的可疑文件(普通用户运行时获得root权限)。
  • 临时目录审查:检查 /tmp/var/tmp 目录下是否存在 .sh.py.elf 等可执行文件,黑客常在这些位置存放攻击工具。
  • 文件属性检查:检查关键系统文件是否被 chattr +i 命令锁定,导致无法正常修改或删除。

7. 日志与历史痕迹(追溯攻击行为)

  • 暴力破解分析:统计 /var/log/secureauth.log 中登录失败次数最多的源IP地址。
  • 成功登录记录:查看最近有哪些用户从哪些IP成功登录了系统。
  • 账号变动日志:检查是否有新建用户 (useradd) 或删除用户 (userdel) 的记录。
  • 命令历史审查:扫描 root 用户的 .bash_history 文件,查找是否有 wget(下载木马)、tar(打包外泄数据)、passwd(修改密码)等敏感操作记录。

安全使用与注意事项

  • 敏感信息处理:该脚本运行后会输出大量关于系统状态的敏感信息(如用户、进程、网络连接等)。请务必在获得授权的环境下运行,并对生成的输出文件进行妥善保管,防止信息泄露。
  • 工具定位:此脚本是一个辅助排查工具,其检查结果需要管理员结合专业知识进行判断,不能替代专业的安全审计和入侵检测系统。

项目获取与开源地址

该工具已在GitHub上开源,你可以访问以下仓库获取源代码,并根据需要进行审阅或定制:
https://github.com/HuyaThomas/Linux_checklist

对于希望深入学习安全运维、进行更多技术交流的读者,也可以关注云栈社区上的相关板块,与同行分享和探讨更多实战经验与解决方案。




上一篇:DDR4内存价格暴涨18倍反超DDR5?AI需求如何重塑存储市场格局
下一篇:别再让销售种地了:聊聊私域运营里三个反人性的坑
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-31 03:25 , Processed in 0.379422 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表