- replace inventory/dmc12.yml with cloudlorean.yml (+ group_vars) and update all README/AGENTS call examples and the inventory table - move admin_password hash into encrypted vault.yml; remove plaintext copies from roles/bootstrap/defaults and group_vars/external.yml - bootstrap.yml loads vault.yml via vars_files (same pattern as monitoring) - monitoring: PSK config/registration updates, docker role defaults, os-updates logging/reboot refinements, ansible.cfg/execute.sh tweaks - add .project-wiki knowledge base and .github agent instructions
2.3 KiB
2.3 KiB
id, type, status, title, created, updated, tags, related, source_paths, confidence
| id | type | status | title | created | updated | tags | related | source_paths | confidence | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TECH-SECURITY | technical | active | Security | 2026-09-09 | 2026-09-09 |
|
|
|
confirmed |
Security
Secrets Handling
vault.yml(tracked, encrypted) holdsadmin_password(SHA-512 hash),monitoring_zabbix_api_password, and Proxmox credentials (PROXMOX_USER_NAME,PROXMOX_USER_PASS); it is loaded via playbook-levelvars_filesinbootstrap.ymlandplaybooks/monitoring.yml.- Git-ignored (verified):
.vault_pass,setenv.sh(Proxmox credentials),.zabbix-psk/(per-host PSKs),logs/. - Resolved 2026-09-09: the
admin_passwordSHA-512 hash that was committed in plaintext inroles/bootstrap/defaults/main.ymlandinventory/group_vars/external.ymlwas moved to encryptedvault.yml(see ALERT-20260909-001).
SSH Posture
- Controller/transport:
host_key_checking = False,StrictHostKeyChecking=no,UserKnownHostsFile=/dev/null(ansible.cfg, execute.sh, Dockerfile). Deliberate for first-time provisioning; README explicitly warns to restrict this in production. - Host hardening:
manage-ssh-keysrole enforces allow/deny key lists; bootstrap deploys hardenedsshd.conf.j2and per-host authorized keys. - Per-host exceptions:
ssh_service_name: sshongitea/ipam.
Zabbix Agent TLS
- PSK-only encryption (TLS connect + accept), 256-bit PSKs generated with
openssl rand -hex 32on the controller, persisted with umask 077 in a 0700 directory, deployed 0600 to the agent host. Identity = host name.
Risky Defaults (documented trade-offs)
hawser_allow_insecure_no_auth: true- Hawser standard mode without token on non-loopback addresses; comment in defaults demands other network protections.execute.shdisables host key checking inside the runtime container.- Mirror rewrite runs with
ignore_errors: truein os-updates.
Git Hygiene
- Resolved 2026-09-09: the previously uncommitted change set (including the
dmc12→cloudloreaninventory rename and stale documentation) was committed as one coherent change; see ALERT-20260909-002.