Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
Linux 安全扫描器是一项面向实际任务的技能,主要用于脚本. script.scripts/security-audit.sh – 所有检查的单一入口. . 脚本是自成一体的,可移植的,并且工作在任何现代的Linux系统.;Itator-detects ava.。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
scripts/security-audit.sh — 所有检查的统一入口点。
该脚本自包含、可移植,可在任意现代 Linux 系统上运行。它会自动检测可用工具(ss/netstat、ufw/iptables/nftables、journalctl),并对不可用的工具优雅跳过。
执行完整安全审计:
bash scripts/security-audit.sh --all
或不带任何参数运行(等效于 --all):
bash scripts/security-audit.sh
可通过名称单独运行任意一项检查:
| 命令 | 检查内容 |
|---|---|
--ssh |
sshd_config 中的 PermitRootLogin、PasswordAuthentication、Port、Protocol 配置项 |
--ports |
监听中的 TCP 端口(使用 ss 或 netstat) |
--firewall |
ufw status、iptables filter 表规则、nftables 规则集 |
--failed-logins |
lastb 输出及过去 24 小时内 journalctl 记录的 SSH 认证失败事件 |
--sudoers |
sudoers 文件权限(必须为 440)、相关文件是否存在、NOPASSWD 条目、授予完全 sudo 权限的配置项 |
--world-writable |
/etc、/tmp、/var、/home、/opt 目录下(深度限制为 3)的全局可写文件 |
--suid |
所有 SUID 二进制文件、风险评估、非常规路径检测 |
示例:
bash scripts/security-audit.sh --ssh --failed-logins
bash scripts/security-audit.sh --all$REPORT 变量中(在同一 shell 会话内可访问)NOPASSWD;保持文件权限为 440;定期审计拥有完全 sudo 权限的用户pkexec、sudo 等)检查已知 CVE 漏洞failed-logins 需读取 /var/log/btmp,ss 需显示进程信息)