vexyl-labs/vexyl-guard

GitHub: vexyl-labs/vexyl-guard

Vexyl Guard 是一个轻量级 Linux 服务器安全 agent,为暴露在公网的主机提供监控、评分和可选的本地防火墙自动拦截功能。

Stars: 0 | Forks: 0

# Vexyl Guard Vexyl Guard 是一个轻量级的 Linux 服务器安全 agent,专为暴露在公网的 VPS、Web 和应用主机的授权操作员设计。 本公共项目专注于本地主机 agent、安装打包、安全的测试 fixture 以及面向操作员的文档。托管的 Vexyl 基础设施、计费、控制台、部署配置、网站源码、活跃的情报数据以及内部研究笔记均在此公开仓库之外进行维护。 本项目是出于防御目的构建的。它不会扫描第三方系统、利用目标、隐藏自身或创建不可逆的持久化。 ## 包含的内容 - `agent/vexyl-guard.sh`:用于 Linux 服务器的 Bash 主机 agent。 - `intel/`:用于本地防御评分的公共运行时接口和脱敏辅助工具。活跃的 schema 和种子数据是私有的。 - `vexyl`:用于本地 Vexyl 命令的 Python CLI 入口点。 - `config/vexyl-guard.conf.example`:agent 配置模板。 - `packaging/`:本地安装辅助工具和可选的 systemd unit。 - `tests/`:用于 agent 解析、分类和评分的安全本地测试 fixture。 - `docs/security/`:公共安全说明。 ## 安装预览 实时预览安装程序由 Vexyl.dev 提供: ``` curl -fsSL https://vexyl.dev/install.sh | sudo sh sudo systemctl start vexyl-guard sudo vexyl-guard status ``` 请以监控模式启动。仅在查看本地输出并确认主机策略合适后,再转入执行模式。 ## 本地源码安装 ``` sudo install -m 0755 agent/vexyl-guard.sh /usr/local/sbin/vexyl-guard sudo install -d -m 0750 /etc/vexyl /var/lib/vexyl sudo install -m 0640 config/vexyl-guard.conf.example /etc/vexyl/guard.conf sudo vexyl-guard once sudo vexyl-guard daemon ``` 要允许自动进行本地防火墙拦截,请编辑 `/etc/vexyl/guard.conf`: ``` VEXYL_MODE=enforce ``` 该 agent 优先使用 `nftables`,在不可用时回退到 `iptables`/`ip6tables`;当没有受支持的防火墙命令时,将保持监控行为。 ## 软件包 如果您希望该 agent 由主机包管理器进行跟踪,请使用已签名的软件包仓库。 Debian / Ubuntu: ``` sudo install -d -m 0755 /etc/apt/keyrings curl -fsSL https://vexyl.dev/repo/vexyl-packages.asc \ | sudo tee /etc/apt/keyrings/vexyl-packages.asc >/dev/null curl -fsSL https://vexyl.dev/repo/vexyl.sources \ | sudo tee /etc/apt/sources.list.d/vexyl.sources >/dev/null sudo apt update sudo apt install vexyl-guard sudo systemctl start vexyl-guard ``` Fedora / RHEL: ``` sudo curl -fsSL https://vexyl.dev/repo/vexyl.repo \ -o /etc/yum.repos.d/vexyl.repo sudo dnf install vexyl-guard sudo systemctl start vexyl-guard ``` 维护者可以配置 `VEXYL_PLATFORM_PROMOTION_TOKEN`,以便发布工作流在已签名资产发布后调度私有的平台提升流程。 ## 发布准备 维护者在进行发布前必须运行 `Release Preflight` 工作流。它会接收提议的版本和发布说明,运行相同的版本升级、打包、仓库和说明验证检查,然后在创建提交、标签、推送或发布调度之前停止。 在同一个 commit 上通过预检后,使用 GitHub Actions 的 `Prepare Release` 工作流进行发布。如果没有成功匹配的预检记录,它将拒绝运行;它接收相同的发布说明,升级 `agent/vexyl-guard.sh` 和 `pyproject.toml`,再次运行打包和仓库检查,提交版本升级,创建带有注释的 `vX.Y.Z` 标签,将其推送,并附带这些说明调度已签名的 `Release` 工作流。 本地等效操作: ``` scripts/prepare-release.sh --version 0.2.9 --notes-file RELEASE_NOTES.md --dry-run scripts/prepare-release.sh --version 0.2.9 --notes-file RELEASE_NOTES.md --commit --tag --push ``` 对于本地发布,带有注释的标签携带了发布说明,而标签推送会启动已签名的 `Release` 工作流。随后,私有平台仓库会将最新签名的软件包仓库提升至 `vexyl.dev`。 从公开源码树构建预览版 Linux 软件包: ``` packaging/build-packages.sh --format deb packaging/build-packages.sh --format rpm packaging/sign-rpm-packages.sh --signing-key repo-private.asc dist/packages/*.rpm packaging/build-repositories.sh --packages-dir dist/packages ``` 软件包会安装 agent 服务、CLI、默认的监控模式配置以及公开的信任材料。Debian 软件包使用 `dpkg-deb` 构建;RPM 软件包需要 `rpmbuild`。 ## 防御性默认设置 - 默认为监控模式。 - 日志和本地决策会对机密信息进行脱敏处理,并避免存储原始的敏感 prompt。 - 在评分或拦截之前会先检查本地允许列表。 - 防火墙更改是普通的本地 `nftables`/`iptables` 规则,而不是隐藏的持久化操作。 ## 测试 ``` tests/run-agent-fixtures.sh ``` GitHub Actions 工作流会运行相同的安全 fixture 检查。 ## 安全性 请勿在公开的 issue 中包含活跃的机密信息、私密日志、可运行的漏洞利用代码、恶意软件代码或详细的攻击性操作指南。 私密漏洞报告请发送至:`security@vexyl.dev` ## 许可证 Vexyl Guard 采用 Apache License 2.0 授权。详见 `LICENSE`。
标签:Bash, 入侵防御, 应用安全, 逆向工具, 防御代理, 防火墙