tidynest/linux-system-hardener
GitHub: tidynest/linux-system-hardener
一款基于 Rust 的跨发行版 Linux 安全自动化工具,提供系统扫描、安全强化、合规性报告及完整回滚功能。
Stars: 5 | Forks: 1
# Linux System Hardener
# Rollback 到之前的 checkpoint
sudo hardener rollback
# 查看 Scan 历史(列出最近的会话)
hardener history list
# 使用过滤器查看历史
hardener history list --limit 50 --status completed
hardener history list --host server1
# 显示特定 Scan 会话的详细信息
hardener history show
# 将 Scan 会话导出为 JSON 文件
hardener history export
hardener history export --output /path/to/export.json
# 启动计划的 Scan 守护进程
hardener daemon start
# 立即 Run 单个 Scan(不使用调度程序)
hardener daemon run-once
# 显示调度程序状态和 Scan 历史
hardener daemon status --limit 10
# 生成 systemd unit 文件(输出到 stdout)
hardener systemd generate
# 使用自定义计划生成(cron 或 systemd calendar 格式)
hardener systemd generate --schedule "0 2 * * *"
# 安装 systemd timer(系统级别需要 root,或使用 --user)
sudo hardener systemd install
hardener systemd install --user
# 检查 systemd timer 状态
hardener systemd status
# 移除 systemd timer
sudo hardener systemd uninstall
```
### SSH 远程扫描
```
# Scan 远程主机
hardener --ssh user@hostname scan
# 使用特定 SSH key 进行 Scan
hardener --ssh admin@192.168.1.100 --ssh-key ~/.ssh/id_ed25519 scan
# 远程 Apply hardening
sudo hardener --ssh root@server apply --all
# 从远程主机生成 compliance 报告
hardener --ssh root@server report --framework cis --report-format pdf
```
有关完整的 SSH 文档,请参见 [docs/SSH_REMOTE_SCANNING.md](docs/SSH_REMOTE_SCANNING.md)。
### 多主机 / Fleet 命令
批量子命令通过主机清单 (`~/.config/linux-hardener/hosts.toml`) 或临时的 `--ssh` 目标并发运行于多台主机上。
```
# Scan 所有 inventory 主机并为 CI 输出 JSON
hardener --format json batch scan --all
# 以更高的并行度 Scan 两个指定的主机
hardener batch scan --host web-01,db-02 --concurrency 16
# 评估整个机群是否符合 CIS 并打印 posture 表
hardener batch report --all --framework cis
# 在整个机群中预览 hardening(dry-run — 不作更改)
hardener batch apply --all
# Apply 到两个主机,一次四个
sudo hardener batch apply --host web-01,web-02 --execute --concurrency 4
# 预览整个机群范围内 SSH hardening 的 rollback(dry-run)
hardener batch rollback --all --plugin ssh
# 在两个主机上 rollback SSH 更改
sudo hardener batch rollback --host web-01,web-02 --plugin ssh --execute
```
`batch apply` **默认以 dry-run 模式运行**:它会验证每台主机并报告将要进行哪些更改,而不会实际进行任何修改。传入 `--execute` 可执行实际更改。在执行前会探测每台主机的权限;缺乏 uid 0 或免密 `sudo` 的主机将被视为失败并被隔离,而其余主机则继续执行不受影响。
`batch rollback` 会将每台主机恢复到由 `batch apply` 捕获的最新单插件检查点。它**默认也处于 dry-run 模式**:单独运行 `batch rollback` 可预览每台主机将恢复哪个(些)检查点;加上 `--execute` 则执行恢复操作。恢复操作是以主机为键的(一台主机的检查点绝不会应用到另一台主机上),并且在传入 `--execute` 时会进行权限校验。
### 桌面应用程序
1. 启动应用程序
2. 点击 "Run Security Scan" 分析您的系统
3. 按严重程度查看检查结果 (严重、高、中、低、信息)
4. 选择要应用的强化建议
5. 点击 "Apply Selected" (需要 root 密码)
6. 如有需要,使用 "Checkpoints" 进行回滚
**键盘快捷键:**
| 快捷键 | 动作 |
|----------|--------|
| Ctrl+1-5 | 导航至 仪表盘/分析/强化/远程/调度器 |
| Alt+T | 切换主题 |
| Escape | 关闭详情面板,退出全屏 |
| F11 | 切换全屏 |
| 方向键 | 导航选项卡栏和检查结果网格 |
| Enter/Space | 打开检查结果详情 |
桌面应用共有七个页面。`Ctrl+1`–`5` 涵盖了前五个(仪表盘、
分析、强化、远程、调度器);另外两个多主机页面 —— **Fleet**
(只读集群扫描) 和 **Fleet Apply** (跨主机应用/回滚) ——
可以从导航栏进入,目前尚未设置专用快捷键。
## 配置
### 配置文件位置
配置将从多个来源加载(后者会覆盖前者):
1. **系统配置**: `/etc/linux-hardener/config.toml`
2. **用户配置**: `~/.config/linux-hardener/config.toml`
3. **CLI 配置**: `--config /path/to/file.toml`
4. **环境变量**: `HARDENER_*` 变量
### 基础配置
```
# ~/.config/linux-hardener/config.toml
[global]
# 要明确禁用的插件
disabled_plugins = ["mac"]
[ssh]
enabled = true
[kernel]
enabled = true
```
### 策略例外
记录偏离安全基线的情况并附带审计元数据:
```
[ssh.exceptions.PasswordAuthentication]
value = "yes"
allowed = true
reason = "Legacy LDAP integration until Q2 2027 migration"
approved_by = "security-team@company.com"
approved_date = "2026-11-01"
ticket = "SEC-1234"
expires = "2027-06-30"
```
### 扫描模式
- **默认** (`hardener scan`): 显示包含策略注释的所有检查结果
- **审计** (`hardener scan --audit`): 忽略配置,进行纯粹的安全评估
- **合规性** (`hardener scan --compliance`): 仅显示违反策略的项目
### 检查点位置
检查点存储于:
```
~/.local/share/linux-hardener/checkpoints.db # regular user
/var/lib/linux-hardener/checkpoints.db # when running as root
```
## 安全注意事项
### 权限模型
- **扫描**: 尽可能以普通用户身份运行
- **应用更改**: 需要 root 权限
- **检查点存储**: 归用户所有的 SQLite 数据库,条目均带有签名
### 威胁模型
此工具旨在强化系统以抵御:
- 内核级漏洞利用 (通过 sysctl 强化)
- 网络攻击 (通过防火墙配置)
- 权限提升 (通过 PAM 和权限强化)
- 横向移动 (通过服务最小化)
- 审计规避 (通过全面的日志记录)
### 已知局限性
- 某些情况下,更改需要重启系统才能完全生效
- 部分强化措施可能会破坏特定应用程序 (请先在预演环境中测试)
- 能检测到 SELinux/AppArmor 策略,但未进行完全管理
## 贡献
欢迎您的贡献!请查阅 [CONTRIBUTING.md](CONTRIBUTING.md) 获取指南。
### 开发标准
- 遵循 [docs/NAMING_CONVENTIONS.md](docs/NAMING_CONVENTIONS.md) 中的命名规范
- 所有代码必须通过 `cargo clippy` 检查且无警告
- 新代码的测试覆盖率需维持在 90% 以上
- 在文档和面向用户的文本中使用英式英语
## 路线图
有关即将推出的新功能的详细实施计划,请参见 [ROADMAP.md](ROADMAP.md)。
### v1.2.0 - 多主机与合规深度 (已发布)
- [x] 多主机批量 CLI: `batch scan` / `report` / `apply` / `rollback` (并发执行,主机隔离,分级退出码)
- [x] 每台主机的扫描历史、趋势和回归检测 (`history trends/regressions --host`)
- [x] 调度器回归警报 (`notify_mode`: 检查结果 / 回归 / 两者)
- [x] 远程正确的检查点 (通过执行器捕获/恢复;以主机为键;拒绝跨主机恢复)
- [x] ISO/IEC 27001:2022 框架 + 多框架检查结果映射 (STIG/NIST/PCI-DSS/HIPAA/GDPR)
- [x] CIS 覆盖率完善 —— 目前真正评估了 11 个 CIS 控制项 (通过/失败);`report --framework cis` 显示 6 个需 ManualReview,较之前的 17 个有所减少
- [x] PAM/权限评估改进 —— faillock/pwhistory 使用阈值比较;shadow/gshadow 使用允许位掩码 (绝不放宽原有更严格的设置)
- [x] 桌面版 **Fleet** 视图 —— 只读的多主机扫描状态,带有 CIS 合规评分和各框架细分
- [x] GUI 中的集群应用/回滚 —— 调用经过审计的 `batch apply/rollback`;在任何更改前强制进行 dry-run + 确认模态框
- [x] Polkit 桌面环境测试工具 (`scripts/detect-polkit-agent.sh`, `test-polkit-matrix.sh`, 特定于 DE 的包装器, `docs/de-compatibility.md`)
## 许可证
本项目基于 Apache License, Version 2.0 授权。详情请参见 [LICENSE](LICENSE)。
## 致谢
本项目的灵感来源于以下成熟的安全工具:
- [Lynis](https://cisofy.com/lynis/) - 安全审计工具
- [OpenSCAP](https://www.open-scap.org/) - 安全合规工具包
- [CIS Benchmarks](https://www.cisecurity.org/cis-benchmarks) - 安全配置标准
**作者**: Eric Jingryd
**联系方式**: tidynest@proton.me
**代码仓库**: https://github.com/tidynest/linux-system-hardener
**最后更新**: 2026-07-01
Midnight Teal 主题下的桌面应用 (Tauri + Leptos) —— 显示基于实时主机扫描的仪表盘、安全分析和系统强化页面。
## 目录 - [概述](#overview) - [功能](#features) - [项目状态](#project-status) - [架构](#architecture) - [入门指南](#getting-started) - [用法](#usage) - [配置](#configuration) - [安全注意事项](#security-considerations) - [贡献](#contributing) - [路线图](#roadmap) - [许可证](#license) ## 概述 Linux System Hardener 通过以下方式自动化保护 Linux 服务器和工作站的过程: - **扫描**系统中的安全配置错误 - **应用**强化建议 - 使用检查点快照安全地**回滚**更改 - 根据 CIS、STIG、NIST 800-53、PCI-DSS、 HIPAA、GDPR 和 ISO/IEC 27001:2022 **报告**合规状态 —— 检查结果会映射到各个框架的 控制项(引擎无法自动评估的控制项会被标记为需要 人工审查,而不是默认为合规) 该工具专为需要大规模维护安全 Linux 基础架构的系统管理员、DevOps 工程师和安全专业人士设计。 ## 功能 ### 安全插件(已实现 8 个) | 插件 | 描述 | 状态 | |--------|-------------|--------| | **Kernel Hardening** | sysctl 安全参数 (ASLR, ptrace 等) | 完成 | | **SSH Hardening** | OpenSSH 配置安全 | 完成 | | **Firewall Hardening** | nftables/firewalld/ufw 规则管理 | 完成 | | **PAM Authentication Hardening** | 可插拔认证模块 (PAM) | 完成 | | **Service Minimisation** | 禁用不必要的服务 | 完成 | | **Audit Rules Hardening** | auditd 规则与配置 | 完成 | | **File Permissions Hardening** | 文件权限安全 | 完成 | | **MAC System Hardening** | SELinux/AppArmor 配置 | 完成 | ### 核心基础设施 - **检查点系统 (Checkpoint System)**: 基于 SQLite 的状态快照,带有 Ed25519 加密签名 - **完整回滚支持**: 所有插件均集成检查点系统以实现安全回滚 - **哈希链审计日志 (Hash Chain Audit Logging)**: 采用加密链接的防篡改审计追踪 - **插件管理器**: 基于依赖关系的插件执行,采用拓扑排序 - **发行版检测**: 自动检测 Debian、Red Hat、Arch 和 SUSE 家族 ### 多发行版支持 | 发行版 | 包管理器 | Init 系统 | 状态 | |--------------|-----------------|-------------|--------| | Ubuntu 22.04 LTS+ (包含 26.04) | apt | systemd | 支持 | | Debian 12+ (包含 13 "Trixie") | apt | systemd | 支持 | | Fedora 40+ (包含 44) | dnf | systemd | 支持 | | RHEL 9+ (包含 10) | dnf | systemd | 支持 | | Arch Linux (滚动更新) | pacman | systemd | 支持 | | openSUSE Leap 15.6 / 16, Tumbleweed | zypper | systemd | 支持 | ### 用户界面 - **桌面应用程序**: 基于 Tauri 的原生应用,使用 Leptos (Rust) 作为前端 - **Web 界面**: 通过 Trunk (WASM) 在浏览器中运行 - **暗黑终端主题**: 采用专业且注重安全的美学设计,带有颜色编码的严重性状态(包含 WCAG AAA 高对比度在内的 7 种主题) - **键盘导航**: 完全支持键盘控制 —— Ctrl+1-5 (页面切换),Alt+T (主题),Escape (关闭),F11 (全屏),方向键 (选项卡和网格) - **ARIA 可访问性**: 支持 WAI-ARIA 选项卡、跳转链接、`aria-selected`、`aria-live` 区域以及焦点管理 - **渐进式展示**: 提供简单的概览,并支持下钻查看详细信息 - **实时反馈**: 实时显示扫描进度和结果 - **多主机集群视图** (桌面版): 一个只读的 **Fleet** 页面可并发扫描多个 已保存的清单主机,并显示每台主机的安全状况 —— 包括各主机的严重/高/中/低/信息级别的统计数量以及颜色编码的 CIS 合规评分 —— 展开后可显示该主机的详细发现, 以及按框架划分的合规性细分(通过/失败/手动/不适用 的统计)。 ## 项目状态 **当前阶段**: 生产版本发布 (v1.2.2) ### 测试覆盖率 ``` Rust workspace: 660 passed · 0 failed · 38 ignored (>90% coverage) GUI / desktop: 113 Playwright (Web UI, 5 distros) · 95 desktop (UX + functional) · 21 Node.js ``` ### 构建状态 - 工作区编译无警告 - 所有 clippy lints 检查均通过 - 一致地应用了 rustfmt ## 架构 ``` linux-system-hardener/ ├── crates/ │ ├── hardener-types/ # WASM-compatible shared type definitions │ ├── hardener-common/ # Shared utilities and error types │ ├── hardener-core/ # Plugin trait, context, config system │ ├── hardener-distro/ # Distribution detection and adaptation │ ├── hardener-plugins/ # Security plugin implementations (8 plugins) │ ├── hardener-state/ # Checkpoint manager, audit logging │ ├── hardener-compliance/ # Compliance framework mapping (7 frameworks) │ ├── hardener-scheduler/ # Scheduled scanning daemon │ ├── hardener-cli/ # Command-line interface binary │ └── hardener-ui/ # Leptos WASM frontend components ├── src-tauri/ # Tauri backend (desktop app) ├── scripts/ # Development and testing utilities └── docs/ # Project documentation ``` ### 关键设计原则 - **安全第一**: 以最低必要权限运行,进行全面的输入验证 - **默认安全**: 所有更改均可通过检查点系统撤销 - **发行版无关**: 对包管理器、init 系统和 MAC 框架进行了抽象化处理 - **模块化架构**: 插件相互独立,可以单独开发和测试 ## 入门指南 ### 从 AUR 安装 (Arch Linux) ``` # 使用 AUR helper(例如 paru、yay) paru -S linux-system-hardener # 或者手动 git clone https://aur.archlinux.org/linux-system-hardener.git cd linux-system-hardener makepkg -si ``` 这将同时安装 `hardener` CLI 和 `linux-hardener-desktop` GUI 应用程序。 ### 前置条件 (从源码构建) - Rust 1.85+ (需包含 `wasm32-unknown-unknown` 和 `x86_64-unknown-linux-musl` 目标) - Linux 系统 (用于实现完整功能) - Root 权限 (用于应用强化更改) - `musl` 工具链 (用于构建静态 CLI 二进制文件) ### 从源码构建 ``` # Clone repository git clone https://github.com/tidynest/linux-system-hardener.git cd linux-system-hardener # Build 所有 crate cargo build --release # Run 测试 cargo test # Build 桌面应用程序(需要 Tauri CLI) cargo install tauri-cli --version "^2" cargo tauri build ``` ### 开发环境设置 ``` # 安装开发依赖 rustup target add wasm32-unknown-unknown cargo install trunk # 以开发模式 Run 桌面应用程序(进行权限提升需要 polkit) cargo tauri dev # 在 Wayland(Hyprland、Sway 等)上,使用此 workaround: WEBKIT_DISABLE_COMPOSITING_MODE=1 cargo tauri dev # 以开发模式 Run Web UI(浏览器 - 不需要 Tauri) cd crates/hardener-ui && trunk serve --port 1420 # 在浏览器中打开 http://127.0.0.1:1420/ # 通过 Playwright MCP 进行浏览器自动化(推荐用于 UI 测试) # 在 .mcp.json 中配置 playwright-brave,然后使用 mcp__playwright-brave__browser_navigate # 有关完整的设置说明,请参见 MCP_INSTRUCTIONS.md ``` ### 开发工作流命令 ``` # 验证文档与代码是否同步 ./scripts/validate_all.py # Full validation ./scripts/validate_all.py --quick # Fast check (skips slow validators) # 自动修复文档(安全、幂等) ./scripts/update_all_docs.py # Preview changes ./scripts/update_all_docs.py --apply # Apply changes # 检查命名规范 ./scripts/validate_naming.py # Release workflow ./scripts/release.sh --verify # Check version consistency ./scripts/release.sh patch --dry-run # Preview release ./scripts/release.sh patch # Actual release ``` 有关完整的脚本文档,请参见 [scripts/README.md](scripts/README.md)。 ### 安全的 Root 测试 该强化工具会修改关键系统文件。为了在使用 root 权限测试时保证安全,请使用提供的容器脚本: ``` # 1. 创建隔离的 Arch Linux 容器(systemd-nspawn) sudo ./scripts/create-test-container.sh # 2. 进入容器(项目挂载在 /project) sudo ./scripts/create-test-container.sh enter # 3. 在容器内:build 并 run 测试 cd /project cargo build --release # Run 安全测试(只读 + dry-run) sudo ./scripts/root-test-suite.sh # Run 完整测试(包含 apply + rollback) sudo ./scripts/root-test-suite.sh --apply # 4. 退出并清理 poweroff # Exit container sudo ./scripts/create-test-container.sh clean # Remove container ``` **为什么要有两种测试模式?** | 测试 | 不带 `--apply` | 带 `--apply` | |------|-------------------|----------------| | 扫描、报告、daemon、历史记录 | 运行 | 运行 | | 应用强化 + 回滚 | 跳过 | 运行 | `--apply` 标志会显式启用破坏性测试。如果不加此标志,则只会运行只读测试。这可以防止意外修改配置。**在容器内部,这两种模式都是完全安全的**,因为它与你的宿主机系统是隔离的。 **GUI 测试** 可以单独运行,也可以与 CLI 测试一起运行: ``` # 在所有 5 个发行版上 Run 113 个 Playwright Web UI 测试 sudo ./scripts/run-gui-tests.sh # 或者使用 --gui 标志与 CLI 测试结合 sudo ./scripts/run-cross-distro-tests.sh --apply --gui ``` 有关完整的测试文档,请参见 [docs/DISTRIBUTION_VALIDATION.md](docs/DISTRIBUTION_VALIDATION.md)。 #### Web App 与 Desktop App 的对比 Web App 可以在任何浏览器中运行,无需安装 Tauri: | 功能 | Web App (浏览器) | Desktop App (Tauri) | |---------|-------------------|---------------------| | 运行安全扫描 | ❌ 仅 UI | ✅ 完整功能 | | 应用强化 | ❌ 仅 UI | ✅ 使用 pkexec | | 生成报告 | ❌ 仅 UI | ✅ 完整功能 | | 页面导航 | ✅ 可用 | ✅ 可用 | | 暗黑终端主题 | ✅ 可用 | ✅ 可用 | Web App 非常适合用于 UI 开发和测试。所有页面均能以正确的空状态进行渲染。 ## 用法 ### 命令行 ``` # 列出可用的安全插件 hardener plugins # Scan 系统的安全问题 hardener scan # 使用严重性过滤器进行 Scan(critical、high、medium、low、info) hardener scan --severity high # 仅 Scan 特定插件(完整 ID 或简短名称) hardener scan --plugin kernel-hardening --plugin ssh-hardening hardener scan --plugin kernel --plugin ssh # Short names also work # 输出为 JSON hardener scan --format json # 使用自定义配置文件 hardener scan --config /path/to/config.toml # Audit 模式 - 忽略所有配置,进行纯粹的安全评估 hardener scan --audit # Compliance 模式 - 仅显示策略违规(无有效例外) hardener scan --compliance # CI/CD 模式 - 如果存在发现(findings),则以代码 1 退出 hardener scan --compliance --exit-code # 交互式报告向导 hardener report --interactive # 生成不同格式的报告 hardener report --framework cis --report-format html --output report.html hardener report --framework cis --report-format csv --output report.csv # Dry-run:查看将要进行的更改而不实际 apply sudo hardener apply --dry-run --all # Apply 所有建议的 hardening sudo hardener apply --all # Apply 特定插件 sudo hardener apply --plugin kernel-hardening # 在进行更改之前创建 checkpoint sudo hardener checkpoint create "before-hardening" # 列出所有 checkpoint hardener checkpoint list # 显示 checkpoint 详情 hardener checkpoint show版本历史 —— v0.2.0 → v10.0 (点击展开)
### v0.2.0 (完成) - [x] 配置文件支持 (`~/.config/linux-hardener/`) - [x] CLI 标志: `--config`, `--audit`, `--compliance`, `--exit-code` - [x] 带有审计追踪的策略例外系统 - [x] 交互式报告向导 (`hardener report --interactive`) - [x] CLI 支持 CSV 和 HTML 格式 - [x] PDF 报告格式化工具,带有自动时间戳文件名和颜色编码徽章 - [x] GUI 合规性报告页面 ### v0.3.0 (完成) - [x] 用于本地/远程操作的 SystemExecutor 抽象层 - [x] 通过 SSH 进行远程扫描 - [x] SSH CLI 标志: `--ssh`, `--ssh-key`, `--port`, `--ssh-timeout`, `--ssh-no-verify` - [x] 用于单元测试的 MockExecutor - [x] 所有插件已转换为 async - [x] SSH 远程扫描文档 - [x] 使用 tokio-cron-scheduler 的计划扫描 daemon - [x] CLI daemon 命令: `start`, `run-once`, `status` - [x] 通知功能 (通过 SMTP 发送电子邮件,支持 Slack/Discord/通用的 webhooks) - [x] Systemd 定时器生成 (`hardener systemd generate/install/uninstall/status`) - [x] 历史 CLI 命令 (`hardener history list/show/export`) - [x] WASM 编译修复 (针对 WASM 安全依赖的 hardener-types crate) - [x] 使用 CSS 样式的 GUI 暗黑终端主题 - [x] 浏览器模式支持 (Web UI 无需 Tauri 桌面包装器即可运行) - [x] CI/CD GitHub Actions 集成 ### v0.3.1 - GUI 优化与测试 (完成) - [x] 修复 "Loading..." 文本持续显示的问题 - [x] 使用 CSS 变量的 GUI 暗黑终端主题 - [x] 安全评分在扫描前显示为 "--/100" - [x] 修复 View Findings 按钮样式 - [x] 通过 SQLite 存储实现状态持久化 - [x] 浏览器模式修复 (Tauri 可用性检查) - [x] Checkpoints 页面上的时间戳格式化 - [x] 背景颜色个性化 (5 种以安全为主题的设计) - [x] 适应不同屏幕分辨率的响应式布局 - [x] 导航结构重构 (5 个页面: 仪表盘, 分析, 强化, 远程, 调度器) - [x] GUI 功能测试 - [x] CLI 功能测试 (97 个测试: 31 个单元测试 + 66 个功能测试) - [x] 安全的测试环境 (systemd-nspawn 容器) ### v0.3.2 - GUI 重大重新设计 (完成) - [x] 页面重新设计 (仪表盘、分析、强化经过重构,采用了全新布局并提升了可访问性) - [x] 第一阶段: 溢出修复、跳转链接、选项卡 ARIA 可访问性 - [x] 第二阶段: CSS 工具类,响应式测试 (320-1920px) - [x] 第二阶段: 卡片组件标准化 - [x] 第三阶段: 颜色对比度审计 (WCAG AA),主题切换 UI - [x] 第四阶段: 空状态、CSS 过渡、悬停动画、E2E 测试 - [x] 后端集成 (已连接 Tauri 命令) - [x] 通过 pkexec 提升 root 权限 - [x] Bug 修复: 安全评分计算、误报、validate() 存根、kernel 回滚 ### v0.3.3 - 发行版验证 (完成) - [x] Arch Linux 验证 (123/123 测试通过) - 涵盖 Manjaro、EndeavourOS、Garuda - [x] Debian 12 验证 (123/123 测试通过) - 涵盖 Ubuntu、Linux Mint、Pop!_OS、elementary - [x] Fedora 41 验证 (123/123 测试通过) - 涵盖 RHEL、CentOS、AlmaLinux、Oracle Linux - [x] Rocky Linux 9 验证 (123/123 测试通过) - 涵盖 RHEL 家族 - [x] openSUSE Leap 15.6 验证 (123/123 测试通过) - 涵盖 SLES ### v0.4.0 - GUI/CLI 功能对齐与 UI 优化 (完成) - [x] GUI/CLI 功能对齐 (扫描过滤、检查点 CRUD、报告导出、扫描历史、审计/合规模式) - [x] 调度器 UI (调度配置、通知配置、电子邮件/webhook、测试通知) - [x] 桌面应用中的配置文件选择器 - [x] UI 优化工作 (并排布局、卡片标准化、响应式修复) - [~] 单一 UI 进行多主机管理 —— **Fleet** 扫描视图、合规评分以及 **Fleet Apply** (应用/回滚) 已发布;临时 SSH / 实时进度 / GUI 历史记录尚待实现 - [~] 历史安全趋势 —— CLI `history trends` 已发布 (基于单主机;参见 v1.2.0);桌面版趋势可视化已推迟 - [ ] 在 GNOME、KDE、XFCE 桌面环境中测试 (pkexec/polkit 代理) —— 已推迟 (需人工运行;CI 仅验证无头 nspawn 容器) ### v1.0.0 - 生产版本发布 (完成) - [x] 安全审计完成 - [x] 软件包分发 - [x] 全面的用户文档 - [x] 性能优化标签:Rust, Tauri, 可视化界面, 系统加固, 网络流量审计, 通知系统