Troubleshooting & Fallback Behaviors
This guide covers common issues, warning states, and standard troubleshooting strategies when using the ASIMP security framework.
🛠️ OpenSCAP File and Profile Resolution
Problem: Dynamic DataStream Not Found
- Symptom: On specialized, custom, or newer Linux distributions, OpenSCAP might fail to find the exact version-matched XML DataStream (e.g.
ssg-ubuntu2404-ds.xmlon a beta release). - ASIMP Mitigation: The
reporting-ASIMProle dynamically resolves OS-version-specific datastreams:- It performs an
ansible.builtin.findsearch in the standard directory/usr/share/xml/scap/ssg/content/. - It constructs the appropriate datastream path based on detected OS distribution and version.
- If no OS-version-compatible datastream is found, the scan is considered unsupported for that platform (the role should not proceed with an arbitrary or incompatible datastream file).
- It performs an
Verification Steps:
Check if the SCAP files exist on your machine:
ls -la /usr/share/xml/scap/ssg/content/
If empty, verify internet access or manual package repositories so that scap-security-guide or ssg-debian can install correctly.
⏳ Slow Playbook Runs (Timeouts)
Problem: Repository Upgrades or Debsums Takes Too Long
- Symptom: When upgrading thousands of outdated packages or hashing files via
debsums, standard Ansible connections can timeout or stall. - ASIMP Mitigation: ASIMP executes heavy tasks asynchronously (
async: 361with standard polling loops). This allows the task to run independently and provides status polling up to 360 retries. - Troubleshooting: If a timeout is reached, check the local logs directly on the target host:
- Repository cache / upgrade log:
/var/log/dpkg.logor/var/log/apt/history.log - Debsums check logs:
/var/log/debsums.outputand/var/log/debsums.err
- Repository cache / upgrade log:
🖥️ Sudo / Elevation Failures
Problem: Become password required
- Symptom:
Missing sudo passwordorPermission deniedwhen executing playbooks. - Reason: ASIMP modifies system-level configurations, installs packages, and runs audits, which requires root/administrator privileges.
- Solution: Always execute with
becomeparameters (-b -Kor--become --ask-become-pass):ansible-playbook -b -K play.ymlFor localhost operations:
ansible-playbook --connection=local -b -K play-localhost.yml(The playbook requires privilege escalation. Make sure your current user has sudo capabilities.)