System Architecture & Security Posture
ASIMP (Ansible System Integrity Management Platform) is designed around a zero-trust, self-observing host-security framework. It implements a rigorous “Measure, Harden, Re-Measure” pipeline powered by Ansible, OpenSCAP, and Lynis.
🏛️ ASIMP Security Pillars
- Dual-Engine Audit Pipeline: Co-orchestrates OpenSCAP (CIS Level 2 compliance scanning) and Lynis (localized Unix system hardening profiling).
- Standardized OS Hardening: Standardizes kernel configuration settings, SSH security parameters, and limits unprivileged user access vectors.
- Integrity Validation with
debsums: Continuously verifies local package structures against pristine MD5 checksum databases.
🗺️ Architectural Workflow Flow
The system orchestrates operations across three distinct execution phases, represented in the Mermaid flow below:
graph TD
A[Start Hardening Run] --> B[Phase 1: Measure Baseline]
B --> B1[OpenSCAP Pre-Scan]
B --> B2[Lynis Pre-Audit]
B1 & B2 --> C[Phase 2: System Hardening]
C --> C1[update-ubuntu-ASIMP: OS upgrades & debsums]
C --> C2[lynis-ansible: System Parameters]
C --> C3[SSH & Kernel baselines applied]
C1 & C2 & C3 --> D[Phase 3: Re-Measure Post-Hardening]
D --> D1[OpenSCAP Post-Scan]
D --> D2[Lynis Post-Audit]
D1 & D2 --> E[Scorecard Comparative Analysis]
E --> F[HTML & Markdown security report output]
F --> G[Telemetry/Feedback streaming]
🔒 Unprivileged Sandbox Compatibility (Google Jules Mode)
When system-level privileges are constrained (such as running inside containerized, unprivileged Google Jules sandboxes):
- Environment Detection: The system detects sandbox mode by evaluating
$USER/$LOGNAMEequal tojules(or checking/home/julesexistence) and testing whether/etc/sysctl.confis unwritable/restricted, setting theis_sandbox_jules: truefact. - Role Integration vs. Standalone Script:
- Ansible
reporting-ASIMPRole: During playbook runs, the role automatically bypasses live package installs and writes mock comparative scorecards directly intodata/asimp_mock/opt/report/openscap/. - Standalone
tools/mock-asimp.shUtility: Can be invoked directly as a standalone shell script in unprivileged CLI environments. It checks environment variables (IS_JULES_MOCKor$USER == "jules") and Populates identical mock scorecards and report files underdata/asimp_mock/.
- Ansible
- Safety Scaling: Sets
asimp_privilege_level: 'limited', skipping heavy package upgrades and kernel-level sysctl manipulations that would fail under unprivileged container namespaces.