Compliance Scanning

Compliance scanning for self-hosted servers.

Lynis audits the host. CIS-CAT Pro requires a paid membership. OpenSCAP requires SCAP content expertise. None of them cover the Docker daemon, running containers, internet exposure, or the AI agents on the same box. Keelix fills the gap — framework-mapped scoring, a hosted evidence logbook, and a 0–100 posture score you can gate CI on.

The gap between DIY CLIs and enterprise GRC

What each tool actually covers

SurfaceLynisOpenSCAPCIS-CAT LiteKeelix
Host OS configuration
Docker daemon + CIS Docker BenchmarkPartialLimited
Container runtime settings
Outside-in port exposure
AI-agent / MCP posture
SOC 2 / ISO 27001 mappingEnterprise onlyManualPro only ($$$)✓ built-in
Numeric posture scoreHardening index% compliant0–100
Scan history / evidence logbookEnterprise onlyPro only✓ Keelix Cloud
CI gate (exit code + threshold)
CostFree / EnterpriseFreeFree (limited) / $$$CLI free

Lynis and OpenSCAP are excellent tools for host-OS hardening. Keelix is complementary — it adds container, exposure, and AI-agent coverage on top.

Framework-mapped findings, not just a log

FRAMEWORK 01

CIS Docker Benchmark

Host config, Docker daemon settings, container runtime controls (capabilities, privilege mode, seccomp/AppArmor, resource limits). Automated where deterministic in a compose-stack context.

FRAMEWORK 02

SOC 2 TSC

Each finding maps to a Trust Service Criterion (CC, A, PI, C, P categories). Keelix Cloud exports a dated evidence package formatted for a SOC 2 readiness review.

FRAMEWORK 03

ISO 27001 Annex A

Controls from A.8 (Technology), A.12 (Operations), and A.13 (Communications) are covered by the automated surface checks. The same scan result maps to all three frameworks.

See the full CIS → SOC 2 → ISO 27001 control crosswalk for the complete mapping.

The surface Lynis and OpenSCAP don't reach

New to the AI-agent risk surface? Read the MCP security overview, or see how Docker port exposure bypasses UFW.

Run as a CI gate — not just a manual check

.github/workflows/deploy.yml
      - name: Keelix compliance gate
        uses: jakelamon/keelix@v0.1.0
        with:
          compose: docker-compose.yml
          threshold: 80
          report: html

      - name: Upload compliance report
        if: always()
        uses: actions/upload-artifact@v4
        with:
          name: keelix-compliance-report
          path: ${{ runner.temp }}/keelix-report.html

See the GitHub Action reference for the full inputs list and a complete workflow example.

Frequently asked

What is a compliance scan for a self-hosted server?
A compliance scan checks your server's configuration against a security framework — CIS Benchmarks, SOC 2 Trust Service Criteria, or ISO 27001 Annex A controls — and produces a finding report you can act on and present to auditors. For self-hosted Docker environments the scan should cover the host OS, the Docker daemon, running containers, open ports, and (increasingly) any AI agents or MCP servers on the box. Most tools only cover part of that surface.
Is Lynis a compliance scanner?
Lynis audits host-level configuration — kernel settings, file permissions, authentication config, and system hardening posture — and produces a prioritized finding list with a hardening index score. It is an excellent host auditor. What it does not do: score container-level Docker Benchmark controls, map findings to SOC 2 Trust Service Criteria automatically, scan for AI-agent or MCP server risks, or store a scan history you can export as audit evidence. Compliance mapping and scan history require Lynis Enterprise, a paid tier. [CISOfy — Lynis ↗]
What about OpenSCAP and CIS-CAT?
OpenSCAP applies SCAP content — XCCDF/OVAL profiles — against the host and produces a machine-readable result. It is powerful for OS-level hardening on RHEL/CentOS but requires SCAP content authoring experience for anything beyond standard profiles. CIS-CAT Pro provides automated CIS Benchmark assessment with compliance reporting, but access requires a paid CIS SecureSuite membership — pricing is not published and requires a quote from CIS. Neither tool covers the Docker daemon configuration, container runtime settings, outside-in port exposure, or AI-agent MCP posture as a unified score. [CIS — CIS-CAT Pro ↗]
Can Keelix replace my existing compliance scanner?
Keelix is best understood as the missing layer between a host auditor and a full GRC platform: it scores host + containers + exposure + AI-agent posture in a single 0–100 number mapped to CIS, SOC 2, and ISO 27001 controls, stores a timestamped evidence logbook in Keelix Cloud, and exports audit-ready reports. It is not a SIEM and it does not replace organizational policy documentation. For deep OS-level SCAP auditing or wide-estate scanning, Keelix and OpenSCAP/Lynis are complementary.
How do I run a compliance scan on a Docker server?
Install Keelix with `curl -fsSL https://keelix.dev/install.sh | sh`, then run `keelix scan` on the host. Keelix audits the host OS configuration, Docker daemon settings, container runtime (capabilities, privilege mode, seccomp/AppArmor, resource limits), port exposure from the outside in, and any MCP servers or AI agents present — then maps every finding to a CIS, SOC 2, or ISO 27001 control and rolls it into a single posture score. The whole scan runs locally; nothing leaves your box.

Run your first compliance scan in under two minutes.

Free, local-first, Apache-2.0. Framework-mapped. Nothing leaves your box.

operator@host — keelix
# install — free & open source (Apache-2.0)
$ curl -fsSL https://keelix.dev/install.sh | sh
$ keelix scan