
securix v0.19.1
SécurixOS 是一个基于 NixOS 的安全操作系统,专为中小型团队量身定制。它提供了一个最小化的加固环境,具备强大的隔离性、可复现性以及策略驱动的配置,以确保操作安全性和合规性。
SécurixOS:安全工作站基础操作系统
[!NOTE] 该项目处于 alpha 阶段,目前不提供任何支持。
目标
SécurixOS 是由 DINUM 开发的 NixOS 发行版,用于为系统管理、办公自动化和开发配备安全计算机,以便首先处理非受保护信息,随后可能处理受限传播信息。
它构成了一种安全 PC 模型,旨在允许访问生产环境及其他关键用途,并根据所采用的配置保证不同级别的安全性。
借助 NixOS,这种安全 PC 模型可针对不同用例重新实例化:多代理工作站、多级别工作站、仅内网工作站等,并可适配不同的团队、不同的 VPN 基础设施。
依据 ANSSI 的建议构建:https://cyber.gouv.fr/publications/recommandations-relatives-ladministration-securisee-des-si。
技术架构目标
操作系统
Sécurix 基于 NixOS,并按照 ANSSI 加固规则使用定制 Linux 内核,其中部分规则可根据需要禁用。
集成安全模块
- 依据 ANSSI 针对 GNU/Linux 系统的建议进行系统配置:https://cyber.gouv.fr/publications/recommandations-de-securite-relatives-un-systeme-gnulinux。
- 高级支持 TPM2 和 Yubikey,用于身份验证密钥管理。
- 使用
age或 Vault 服务器进行数据加密。 - 针对 Secure Boot 的集中注册,支持 PK/KEK 管理。
- 通过 FIDO2 登录工作站,密码仅作为备用方式。
- 使用 FIDO2 密钥解密工作站(安装时会生成一把备用密钥)。
开发中的功能(按优先级)
-
安全强化
- 应用 ANSSI 建议以进行补充加固:https://cyber.gouv.fr/publications/recommandations-de-securite-relatives-un-systeme-gnulinux。
- 增加日志汇聚服务器配置,用于发送 Sécurix 系统的活动记录。
-
快速入门与集中管理
- 部署一个 "phone home" 服务器,用于自动添加:
- 将系统的 TPM2 SSH 密钥添加到基础设施仓库。
- 通过
age解密机密的授权(或未来与 Vault 集成)。 - 这部分基础设施可嵌入业务流程,用于为某位代理部署新的 Sécurix。
- 部署一个 "phone home" 服务器,用于自动添加:
-
高级安全密钥支持
- 使用 TPM2 管理和轮换 Secure Boot 密钥,以强化 Secure Boot。
贡献
项目欢迎贡献,建议具备 NixOS 专业知识以便于集成。 请查看未解决的 issue 和贡献指南以参与其中。 你可以提交 issue 来提议功能并讨论架构。 未经审查和测试的 AI 生成的 PR 将被关闭,同一作者的后续贡献可能会被阻止。
本 README 为法语,但其余代码、issue 和 PR 均为英语。
运行测试
测试基于 NixOS 测试框架。它们允许在虚拟机中启动 Sécurix,然后对该虚拟机的行为执行测试。
nix-build -A tests
许可证
Sécurix 在 MIT 许可证下分发。更多详情请参见 LICENSES 文件夹。