DaCatBeam/kiln

GitHub: DaCatBeam/kiln

一个基于 Ansible 的 Linux 主机加固项目,旨在让节点满足运行合规 Kubernetes 集群所需的安全基线配置。

Stars: 1 | Forks: 1

# Kiln Kiln 是一个 Ansible 项目,用于强化 Linux 主机,使其准备好运行强化的 Kubernetes 安装。该仓库目前是一系列初始的、默认安全的计划角色,尚未达到大多数安全部署所要求的合规级别。 Kiln 正积极推进实现合规强化规范的落地,该规范符合 DISA 制定的、基于 NIST 控制的 STIG,旨在为强化的 Canonical Kubernetes 部署强化 Linux 发行版。因此,本项目致力于实现的主要 STIG 是由 DISA 发布的 Kubernetes STIG。这意味着,当 Linux 发行版 STIG 的实施指南与 Kubernetes STIG 发生冲突时,将以 Kubernetes STIG 为优先,而非 Linux 发行版 STIG。 并非所有 Linux 发行版都有为其创建的 DISA STIG。在这种情况下,首选该 Linux 发行版对应的 CIS STIG Benchmark。 如果针对 Kiln 支持的 Linux 发行版,既无法获得 DISA STIG 也无法获得 CIS STIG Benchmark,则会实施通用的 CIS Benchmark Level 指南,并根据实际情况优先采用可达到的最高 CIS Benchmark Level(1-3)。 ## 仓库布局 ``` inventories/ Environment inventories and group variables playbooks/ End-to-end node and Kubernetes workflows roles/ Small, independently testable units of automation molecule/ Linux Distro VM lifecycle scenarios ansible.cfg Project-local Ansible defaults requirements.yml Ansible Galaxy collection dependencies requirements-dev.txt Python development and test tooling ``` OS 配置入口点:`playbooks/site.yml` Kubernetes 集群升级入口点:`playbooks/upgrade_cluster.yml` ## 在 macOS 上进行本地开发 VM 测试需要 Python、Vagrant 和一个 Vagrant provider (VirtualBox) ``` brew install pyenv pyenv-virtualenv brew install --cask vagrant virtualbox pyenv install -s 3.12.11 pyenv virtualenv 3.12.11 kiln pyenv activate kiln python -m pip install --upgrade pip python -m pip install -r requirements-dev.txt ansible-galaxy collection install -r requirements.yml ``` 确认工具链: ``` ansible --version molecule --version vagrant --version VBoxManage --version ``` 将 Vagrant 的默认 provider 设置为 `virtualbox`。 ``` export VAGRANT_DEFAULT_PROVIDER=virtualbox ``` ## 测试理念 Kiln 使用分层测试: 1. YAML 和 Ansible 语法检查用于捕获低成本的结构性故障。 2. Molecule convergence 会应用真实的 role,并且必须是幂等的。 3. 验证阶段会在完整的 VM 内部断言状态,包括预期的发行版家族以及目标是虚拟客户机的证据。 4. Debian 和 Ubuntu 场景会暴露与 APT 或 DNF 生态系统相关的假设。 5. 销毁是测试的一部分:每个生命周期都必须是可重复的,并且不留下任何正在运行的客户机。 运行 VM 测试: ``` # 运行所有测试场景 make run-all-tests # 运行单独场景 molecule test --scenario-name debian # 运行单独场景生命周期 playbook molecule create --scenario-name debian molecule converge --scenario-name debian molecule verify --scenario-name debian molecule destroy --scenario-name debian ```
标签:Ansible, DevSecOps, 上游代理, 合规标准, 子域名枚举, 系统加固, 系统安全, 系统提示词, 逆向工具