vps-audit 轻量级的 Bash 脚本,用于对 Linux VPS 进行安全和性能审计
部署教程:vps-audit
1. 准备工作
在开始之前,请确保你的系统满足以下要求:
- 操作系统:Ubuntu 或 Debian 系的 Linux 发行版。
- 权限:拥有
root权限或sudo权限,因为脚本需要检查系统级配置和资源。 - 基础工具:系统需要预装
ufw、systemd、netstat/ss、grep、awk等标准工具,这些在大多数 Linux 系统中都已默认安装。
2. 安装步骤
由于这是一个单文件脚本,安装过程非常简单。
下载脚本:
使用wget或curl将脚本下载到你的服务器上。1
2
3
4
5# 使用 wget
wget https://raw.githubusercontent.com/Nuver-Labs/vps-audit/main/vps-audit.sh
# 或使用 curl
curl -O https://raw.githubusercontent.com/Nuver-Labs/vps-audit/main/vps-audit.sh如果上述链接无法访问,可以尝试
vernu/vps-audit的链接:https://raw.githubusercontent.com/vernu/vps-audit/main/vps-audit.sh赋予执行权限:
下载后,需要让脚本具有可执行权限。1
chmod +x vps-audit.sh
3. 使用方法
运行脚本非常简单,但必须使用 sudo 以确保有足够权限读取所有配置文件。
1 | sudo ./vps-audit.sh |
4. 输出与报告
脚本运行后会提供两种输出形式:
实时控制台输出:你可以实时看到每项检查的结果,并带有颜色编码,一目了然。
- 🟢
[PASS]:该项检查通过。 - 🟡
[WARN]:发现潜在问题,建议关注。 - 🔴
[FAIL]:发现严重问题,需要立即处理。
输出示例:
text
1
2
3[PASS] SSH Root Login - Root login is properly disabled
[WARN] SSH Port - Using default port 22
[FAIL] Firewall Status - UFW is not active- 🟢
详细报告文件:脚本会在当前目录生成一个带时间戳的详细报告文件,例如
vps-audit-report-[TIMESTAMP].txt。这个文件包含所有检查项的详细结果、具体建议和系统资源统计信息,适合归档和后续分析。
5. 定制化:调整检查阈值
脚本的检查标准(阈值)是预先设定的,但你可以根据自身需求进行修改。阈值变量定义在脚本开头的 Configuration 部分。
| 检查项 | 默认阈值逻辑 | 相关变量 |
|---|---|---|
| 资源使用率 (CPU/内存/硬盘) | PASS: < 50%, WARN: 50-80%, FAIL: > 80% |
RESOURCE_WARN, RESOURCE_FAIL |
| 失败登录尝试 | PASS: < 10次, WARN: 10-50次, FAIL: > 50次 |
LOGINS_WARN, LOGINS_FAIL |
| 运行服务数 | PASS: < 20个, WARN: 20-40个, FAIL: > 40个 |
SERVICES_WARN, SERVICES_FAIL |
| 开放端口数 | PASS: < 10个, WARN: 10-20个, FAIL: > 20个 |
OPEN_PORTS_WARN |
你可以用文本编辑器(如 vim 或 nano)打开 vps-audit.sh 文件,找到这些变量并修改其默认值,然后保存即可。
6. 进阶使用:自动化定期审计
建议你将此脚本设置为定期任务(如每周一次),以便持续监控服务器安全状态。可以通过 cron 实现:
运行
crontab -e编辑定时任务。添加一行,例如每周一凌晨3点运行:
1
0 3 * * 1 /path/to/vps-audit.sh > /dev/null 2>&1
这样可以将报告输出到文件,或者结合邮件服务将报告发送给管理员。
主要审计内容
vps-audit 会对你服务器的多个方面进行全面检查,主要包括:
- 安全检查:SSH 配置(Root登录、密码认证、端口)、防火墙状态、Fail2ban配置、失败登录尝试、系统更新、Sudo日志、密码策略、SUID文件等。
- 性能监控:磁盘、内存、CPU 的使用率,以及当前的网络连接。
注意事项与局限性
- 系统兼容性:此脚本专为 Ubuntu/Debian 系设计,依赖于
ufw和systemd,在 CentOS/RHEL 等系统上无法直接使用。 - 权限要求:必须使用
root或sudo运行,否则部分检查会失败。 - 定位:它是一款轻量级自动化检查工具,能快速发现常见配置问题,但无法替代专业、深度的安全审计。对于关键业务系统,仍建议进行人工深度评估。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 极客的赛博空间 | 专注 AI 与技术分享!
评论



