Stanley-Git-Hub/watchdog-consoles

GitHub: Stanley-Git-Hub/watchdog-consoles

该项目提供五个本地 Flask Web 控制台,用于在 Ubuntu 上通过浏览器管理 Suricata、ClamAV、rkhunter、apt 更新和定时任务等安全运维操作。

Stars: 0 | Forks: 0

# Watchdog 控制台 五个本地 Flask Web 控制台,作为 [ubuntu-watchdog](https://github.com/Stanley-Git-Hub/ubuntu-watchdog) —— 一款 Ubuntu 健康与安全监控套件的补充。每个控制台均以非特权 用户 systemd 服务的形式仅在 `127.0.0.1` 上运行,且仅通过 sudoers 中允许的最小化 root 辅助程序执行特权 操作(`sudo -n`,每个控制台仅限一条固定用途的命令)。 | 控制台 | 端口 | 功能描述 | |---|---|---| | [suricata-gui](suricata-gui/) | 5000 | Suricata 警报分类、白名单管理、IDS ↔ IPS 切换(故障开放)、Fail2ban 控制台、桌面通知 | | [clamav-gui](clamav-gui/) | 5001 | 按需对选定文件夹进行 ClamAV 扫描(设计上排除了系统路径) | | [scheduler-gui](scheduler-gui/) | 5002 | systemd timers + root crontab:立即运行、更改计划、创建/删除任务 | | [rkhunter-gui](rkhunter-gui/) | 5003 | rkhunter 警报分类,内置说明及只读调查 | | [updates-gui](updates-gui/) | 5004 | apt 更新:刷新、升级、仅安全更新、自动清理 —— 非交互式 | ``` flowchart LR B[Browser
127.0.0.1 only] -->|HTTP| F[Flask console
unprivileged user service] F -->|sudo -n, fixed command| H[Root helper
/usr/local/bin/*-ctl] H --> S[clamscan / rkhunter / apt-get
systemctl / crontab / fail2ban-client
suricata rules & mode] W[Watchdog HTML report] -->|links| B ``` ## 设计原则 - **仅限本地** —— 每个控制台都绑定到 `127.0.0.1`;不暴露任何接口。 - **权限分离** —— Flask 应用以非特权身份运行;每个特权 操作均通过位于 `/usr/local/bin` 的专用 root 辅助程序执行,并通过 每个控制台对应的 `/etc/sudoers.d/` 规则授权(仅对该命令启用 NOPASSWD)。 - **无任意执行** —— 辅助程序接受固定的子命令集并 验证每个参数(路径、单元名称、IP、cron 表达式)。 - **故障安全默认设置** —— IPS 切换使用内核级的故障开放 (`nft queue bypass`),并带有连接检查和自动回滚功能;apt 操作为非交互式,并保留现有配置文件。 ## 安装 这些控制台被设计为放置在 [watchdog](https://github.com/Stanley-Git-Hub/ubuntu-watchdog) 目录旁边 —— 其 `install.sh` 会检测它们,安装 root 辅助程序(每个控制台中的 `install-root.sh`) 并将它们设置为用户 systemd 服务: ``` git clone https://github.com/Stanley-Git-Hub/watchdog-consoles.git projekt cd projekt git clone https://github.com/Stanley-Git-Hub/ubuntu-watchdog.git watchdog sudo apt install clamav clamav-daemon rkhunter aide smartmontools \ fail2ban suricata jq python3-flask curl sudo ./watchdog/install.sh ``` 每个控制台也可以独立安装:在其目录中执行 `sudo ./install-root.sh`, 然后执行 `./start-gui.sh`。 运行时状态(白名单、威胁列表)保存在每个控制台各自的 JSON 文件中, 不进行版本控制。 ## 许可证 MIT —— 参见 [LICENSE](LICENSE)。
标签:Flask, Metaprompt, PB级数据处理, Web控制台, 安全运维, 系统加固, 运维管理, 逆向工具