@calltelemetry/ct-lab-mcp 0.8.101 → 0.8.103
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -10
- package/assets/stig/SHA256SUMS +5 -5
- package/assets/stig/scripts/assess.sh +46 -4
- package/assets/stig/scripts/errata.sh +1 -1
- package/assets/stig/scripts/remediate.sh +45 -0
- package/assets/stig/tailoring.xml +5 -3
- package/assets/stig/template.pkr.hcl +12 -1
- package/dist/src/generated-version.d.ts +1 -1
- package/dist/src/generated-version.js +1 -1
- package/dist/src/stig/live.d.ts +7 -1
- package/dist/src/stig/live.d.ts.map +1 -1
- package/dist/src/stig/live.js +9 -7
- package/dist/src/stig/live.js.map +1 -1
- package/dist/src/stig/model.d.ts +10 -1
- package/dist/src/stig/model.d.ts.map +1 -1
- package/dist/src/stig/model.js +19 -1
- package/dist/src/stig/model.js.map +1 -1
- package/dist/src/stig/nodes.d.ts +16 -0
- package/dist/src/stig/nodes.d.ts.map +1 -0
- package/dist/src/stig/nodes.js +14 -0
- package/dist/src/stig/nodes.js.map +1 -0
- package/dist/src/stig/ports.d.ts +5 -1
- package/dist/src/stig/ports.d.ts.map +1 -1
- package/dist/src/stig/runner.d.ts +17 -1
- package/dist/src/stig/runner.d.ts.map +1 -1
- package/dist/src/stig/runner.js +65 -24
- package/dist/src/stig/runner.js.map +1 -1
- package/dist/src/tools/import-qcow.d.ts +3 -2
- package/dist/src/tools/import-qcow.d.ts.map +1 -1
- package/dist/src/tools/import-qcow.js +24 -7
- package/dist/src/tools/import-qcow.js.map +1 -1
- package/dist/src/tools/stig-tools.d.ts +8 -1
- package/dist/src/tools/stig-tools.d.ts.map +1 -1
- package/dist/src/tools/stig-tools.js +19 -7
- package/dist/src/tools/stig-tools.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -469,16 +469,22 @@ consumer update workflow.
|
|
|
469
469
|
`baseVersion` plus `webImage`; install uses the GCS base. Never VMID 182.
|
|
470
470
|
- `proxmox_import_qcow` wraps canonical `lab-inventory vm provision --source published-qcow` (the `vm import-qcow` apply is retired); `osVersion` is required
|
|
471
471
|
(plan by default; apply needs the exact asset, vm prefix, VMID, and
|
|
472
|
-
`confirmImageSha256`). `imageUrl` is exactly one of two identity
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
- private CI candidate for an unpublished RC (ADR 0727)
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
472
|
+
`confirmImageSha256`). `imageUrl` is exactly one of two identity URL shapes
|
|
473
|
+
(https only; no query string, fragment, userinfo, or port; the retired GCS
|
|
474
|
+
host is refused, ADR 0735):
|
|
475
|
+
- published, on the DigitalOcean Spaces release host
|
|
476
|
+
`calltelemetry-releases-nyc3.nyc3.digitaloceanspaces.com`:
|
|
477
|
+
`https://<host>/ovas/ct-<version>.qcow2`
|
|
478
|
+
- private CI candidate for an unpublished RC (ADR 0727), on Cloudflare R2
|
|
479
|
+
(REL-1785), path-style with the bucket as the first path segment:
|
|
480
|
+
`https://<32-hex-account-id>.r2.cloudflarestorage.com/ct-ci-candidates/candidates/<version>/<run_id>/ct-<version>.qcow2`,
|
|
481
|
+
where `<version>` has four numeric parts with an optional `-rc<N>` and is
|
|
482
|
+
identical in both path positions, and `<run_id>` is 6-20 digits. The
|
|
483
|
+
virtual-hosted R2 form is not accepted. During the 30-day migration window
|
|
484
|
+
after the candidate flip, the legacy Spaces candidate host
|
|
485
|
+
`calltelemetry-ci-candidates-nyc3.nyc3.digitaloceanspaces.com` (same path,
|
|
486
|
+
without the bucket segment) is also accepted; that branch is marked for
|
|
487
|
+
removal in `src/tools/import-qcow.ts`.
|
|
482
488
|
|
|
483
489
|
Candidates are private and digest-bound: the SHA-256 binding
|
|
484
490
|
(`imageSha256` + `confirmImageSha256`) is mandatory for both shapes and the
|
package/assets/stig/SHA256SUMS
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
a5f48191effe1b243c4d4fc5565cbbe31b6a6085aedf9a3b924e68d0b9ae399c files/ct-luks-firstboot.service
|
|
2
2
|
5dc732b176181200ed18e6cf2448551d7c5e1a31cbd7bd9f4cbda4d30a4ad2eb files/ct-luks-firstboot.sh
|
|
3
3
|
dc035a0b24f24ff1a0e75fbbb9ff20262c1f83ef41d6c4e35a9bf7895ffd72e5 ks.cfg.pkrtpl
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
754bca832971810ee205a642513fd74aca1fc40144ba9d4a170a08d4ef56551c scripts/assess.sh
|
|
5
|
+
d7b5e50d146755d396ea4c938c69aab9e3d1e6bac148318f0b79e22ee1c5c037 scripts/errata.sh
|
|
6
|
+
3adb14b0eec917109719b2cb47708c552c835a871b5f7626958f055d55e64781 scripts/remediate.sh
|
|
7
7
|
5e3760cfd6a752b5c97e6e1f6f557df385f4be3d2a4acc1b125480f785b0dbcb scripts/seal.sh
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
aa3d5fb5b798b5f07b2381e3d3b7063b7cd8758b25d4ebbdbc86095265003837 tailoring.xml
|
|
9
|
+
a71df76318bf0e71eba9723f759c8398b3112e870d035f8cc6badd92a052a84f template.pkr.hcl
|
|
10
10
|
eb119e742a4791404ca298c962515ffe3492814dfc72aecac16c420ccb3b0ccc guest/keyhash.sh
|
|
11
11
|
3a964e9dc60fcb7492fabf2117fa04d91e0f5e34d0b3b1fe003aa7253f0daeeb guest/read-recovery.sh
|
|
12
12
|
921ce015bb3f5188ccd861aef30fb1aed2588e729c371c3c8379802ce0c24be1 guest/scan.sh
|
|
@@ -1,17 +1,40 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
# Final
|
|
2
|
+
# Final assessment of the rebooted image with BOTH scanners:
|
|
3
|
+
# 1. SSG 0.1.82 tailored profile (stig_ct)
|
|
4
|
+
# 2. DISA's official V2R8 SCAP benchmark, profile MAC-1_Classified
|
|
5
|
+
# The build user still exists while this runs, so the SSG scan uses a derived build-time
|
|
6
|
+
# tailoring (tailoring-build.xml) that additionally authorizes ctbuild. The shipped
|
|
7
|
+
# tailoring.xml, used by every clone scan, does not list ctbuild. Files over 5 MB are stored
|
|
8
|
+
# xz -9e with the sha256 of the raw and the xz recorded.
|
|
3
9
|
set -euo pipefail
|
|
4
10
|
|
|
5
11
|
evidence=/root/stig-evidence
|
|
6
12
|
out=/home/${BUILD_USER}/stig-report
|
|
13
|
+
disa="$evidence/U_RHEL_8_V2R8_STIG_SCAP_1-3_Benchmark.xml"
|
|
14
|
+
disa_profile=xccdf_mil.disa.stig_profile_MAC-1_Classified
|
|
15
|
+
|
|
16
|
+
sed 's/|ctadmin)\$</|ctadmin|ctbuild)$</' "$evidence/tailoring.xml" > "$evidence/tailoring-build.xml"
|
|
17
|
+
grep -q '|ctadmin|ctbuild)\$<' "$evidence/tailoring-build.xml"
|
|
18
|
+
diff <(sed 's/|ctbuild//' "$evidence/tailoring-build.xml") "$evidence/tailoring.xml" >/dev/null # only that one token differs
|
|
19
|
+
sha256sum "$evidence/tailoring-build.xml" > "$evidence/tailoring-build.sha256"
|
|
20
|
+
|
|
7
21
|
rc=0
|
|
8
22
|
oscap xccdf eval \
|
|
9
|
-
--tailoring-file "$evidence/tailoring.xml" \
|
|
23
|
+
--tailoring-file "$evidence/tailoring-build.xml" \
|
|
10
24
|
--profile xccdf_com.calltelemetry_profile_stig_ct \
|
|
11
25
|
--results-arf "$evidence/final-arf.xml" \
|
|
12
26
|
--report "$evidence/final-report.html" \
|
|
13
27
|
"$evidence/ssg-rhel8-ds.xml" > "$evidence/final-stdout.txt" 2>&1 || rc=$?
|
|
14
|
-
echo "oscap eval exit=$rc"
|
|
28
|
+
echo "oscap SSG eval exit=$rc"
|
|
29
|
+
[ "$rc" -eq 0 ] || [ "$rc" -eq 2 ]
|
|
30
|
+
|
|
31
|
+
rc=0
|
|
32
|
+
oscap xccdf eval \
|
|
33
|
+
--profile "$disa_profile" \
|
|
34
|
+
--results-arf "$evidence/final-disa-arf.xml" \
|
|
35
|
+
--report "$evidence/final-disa-report.html" \
|
|
36
|
+
"$disa" > "$evidence/final-disa-stdout.txt" 2>&1 || rc=$?
|
|
37
|
+
echo "oscap DISA eval exit=$rc"
|
|
15
38
|
[ "$rc" -eq 0 ] || [ "$rc" -eq 2 ]
|
|
16
39
|
|
|
17
40
|
{
|
|
@@ -21,19 +44,38 @@ echo "oscap eval exit=$rc"
|
|
|
21
44
|
grep -E '^(NAME|VERSION_ID)=' /etc/os-release
|
|
22
45
|
rpm -q scap-security-guide openscap-scanner
|
|
23
46
|
echo "tailoring_sha256=$(cut -d" " -f1 "$evidence/tailoring.sha256")"
|
|
47
|
+
echo "tailoring_build_sha256=$(cut -d" " -f1 "$evidence/tailoring-build.sha256")"
|
|
24
48
|
echo "ds_sha256=$(sha256sum "$evidence/ssg-rhel8-ds.xml" | cut -d" " -f1)"
|
|
49
|
+
echo "disa_benchmark_sha256=$(sha256sum "$disa" | cut -d" " -f1)"
|
|
50
|
+
echo "disa_profile=$disa_profile"
|
|
25
51
|
echo "dnf_security_outstanding=$(dnf -q updateinfo list security 2>/dev/null | grep -c . || true)"
|
|
26
52
|
lsblk -f > "$evidence/lsblk.txt"; cryptsetup luksDump "$(blkid -t TYPE=crypto_LUKS -o device | head -n1)" > "$evidence/luksdump-template.txt" 2>&1 || true
|
|
27
53
|
for r in pass fail notapplicable notchecked informational error; do
|
|
28
54
|
echo "result_${r}=$(grep -c "^Result.*${r}\$" "$evidence/final-stdout.txt" || true)"
|
|
29
55
|
done
|
|
56
|
+
for r in pass fail notapplicable notchecked informational error unknown; do
|
|
57
|
+
echo "disa_result_${r}=$(grep -c "^Result.*${r}\$" "$evidence/final-disa-stdout.txt" || true)"
|
|
58
|
+
done
|
|
30
59
|
} > "$evidence/summary.txt"
|
|
31
60
|
cat "$evidence/summary.txt"
|
|
32
61
|
rpm -qa --qf '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n' | sort > "$evidence/rpm-qa-final.txt"
|
|
33
62
|
grep -B2 -E '^Result.*fail$' "$evidence/final-stdout.txt" | grep '^Rule' | sed 's/^Rule[[:space:]]*//' > "$evidence/failed-rules.txt" || true
|
|
63
|
+
grep -B2 -E '^Result.*fail$' "$evidence/final-disa-stdout.txt" | grep '^Rule' | sed 's/^Rule[[:space:]]*//' > "$evidence/failed-rules-disa.txt" || true
|
|
64
|
+
|
|
65
|
+
# Raw files over 5 MB: keep only the xz -9e, with raw and xz sha256 sidecars.
|
|
66
|
+
for f in final-arf.xml final-disa-arf.xml; do
|
|
67
|
+
if [ "$(stat -c %s "$evidence/$f")" -gt 5242880 ]; then
|
|
68
|
+
sha256sum "$evidence/$f" | cut -d" " -f1 > "$evidence/$f.raw.sha256"
|
|
69
|
+
xz -9e -f "$evidence/$f"
|
|
70
|
+
sha256sum "$evidence/$f.xz" | cut -d" " -f1 > "$evidence/$f.xz.sha256"
|
|
71
|
+
fi
|
|
72
|
+
done
|
|
34
73
|
|
|
35
74
|
rm -rf "$out"
|
|
36
75
|
install -d -o "${BUILD_USER}" -g "${BUILD_USER}" -m 0700 "$out"
|
|
37
|
-
|
|
76
|
+
cd "$evidence"
|
|
77
|
+
cp lsblk.txt luksdump-template.txt tailoring.xml tailoring.sha256 tailoring-build.xml tailoring-build.sha256 errata.txt kernels.txt \
|
|
78
|
+
final-report.html final-stdout.txt final-disa-report.html final-disa-stdout.txt summary.txt failed-rules.txt failed-rules-disa.txt \
|
|
79
|
+
remediate-report.html remediate-stdout.txt rpm-qa-final.txt final-arf.xml* final-disa-arf.xml* "$out/"
|
|
38
80
|
cp -r "$evidence/install-time-oscap" "$out/" 2>/dev/null || true
|
|
39
81
|
chown -R "${BUILD_USER}:${BUILD_USER}" "$out"
|
|
@@ -11,7 +11,7 @@ dnf -y update
|
|
|
11
11
|
install -d -m 0700 /root/stig-evidence
|
|
12
12
|
rpm -qa --qf '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n' | sort > /root/stig-evidence/rpm-qa-post-errata.txt
|
|
13
13
|
{
|
|
14
|
-
echo "kernel_installed=$(rpm -q kernel --
|
|
14
|
+
echo "kernel_installed=$(rpm -q kernel --last | head -n1 | awk '{print $1}' | sed 's/^kernel-//')" # newest installed (sort -V ranks the GA release above .174.1)
|
|
15
15
|
echo "security_advisories_outstanding=$(dnf -q updateinfo list security 2>/dev/null | grep -c . || true)"
|
|
16
16
|
echo "errata_applied=$(date -u +%FT%TZ)"
|
|
17
17
|
} > /root/stig-evidence/errata.txt
|
|
@@ -12,11 +12,50 @@ evidence=/root/stig-evidence
|
|
|
12
12
|
install -d -m 0700 "$evidence"
|
|
13
13
|
cp "$ds" "$evidence/ssg-rhel8-ds.xml"
|
|
14
14
|
cp "$TAILORING" "$evidence/tailoring.xml"
|
|
15
|
+
# DISA's own SCAP benchmark (second scanner), pinned by sha256 and shipped for clone scans.
|
|
16
|
+
echo "${DISA_BENCHMARK_SHA256} ${DISA_BENCHMARK}" | sha256sum -c -
|
|
17
|
+
install -m 0600 "$DISA_BENCHMARK" "$evidence/U_RHEL_8_V2R8_STIG_SCAP_1-3_Benchmark.xml"
|
|
15
18
|
sha256sum "$evidence/tailoring.xml" > "$evidence/tailoring.sha256"
|
|
16
19
|
rpm -qa --qf '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n' | sort > "$evidence/rpm-qa-pre-remediate.txt"
|
|
17
20
|
cp /root/anaconda-ks.cfg "$evidence/" 2>/dev/null || true
|
|
18
21
|
cp -r /root/openscap_data "$evidence/install-time-oscap" 2>/dev/null || true
|
|
19
22
|
|
|
23
|
+
# --- stale GA kernel (RHEL-08 scanners report an installed vulnerable kernel even when not booted) ---
|
|
24
|
+
# errata.sh rebooted into the newest kernel. Remove every other installonly kernel, then the
|
|
25
|
+
# rescue entry: it is a copy of the GA kernel written at install and is not an RPM.
|
|
26
|
+
running="$(uname -r)"
|
|
27
|
+
stale="$(rpm -qa --qf '%{NAME} %{VERSION}-%{RELEASE}.%{ARCH}\n' \
|
|
28
|
+
| awk -v r="$running" '$1 ~ /^kernel(-core|-modules|-modules-extra|-devel|-debug.*)?$/ && $2 != r {print $1 "-" $2}')"
|
|
29
|
+
echo "removing stale kernel packages: ${stale:-none}"
|
|
30
|
+
# shellcheck disable=SC2086
|
|
31
|
+
[ -z "$stale" ] || dnf -y remove $stale
|
|
32
|
+
rm -f /boot/vmlinuz-0-rescue-* /boot/initramfs-0-rescue-* /boot/loader/entries/*-0-rescue.conf
|
|
33
|
+
n="$(rpm -q kernel-core --qf '%{VERSION}-%{RELEASE}.%{ARCH}\n' | wc -l)"
|
|
34
|
+
[ "$n" -eq 1 ] && [ "$(rpm -q kernel-core --qf '%{VERSION}-%{RELEASE}.%{ARCH}')" = "$running" ] \
|
|
35
|
+
|| { echo "ERROR: expected only running kernel $running installed" >&2; rpm -q kernel kernel-core kernel-modules >&2; exit 1; }
|
|
36
|
+
{ echo "running=$running"; rpm -qa 'kernel*' | sort; grubby --info=ALL | grep -E '^(index|kernel)='; ls /boot/loader/entries; } | tee "$evidence/kernels.txt"
|
|
37
|
+
[ "$(grubby --info=ALL | grep -c '^kernel=')" -eq 1 ] || { echo "ERROR: more than one boot entry" >&2; exit 1; }
|
|
38
|
+
[ "$(grubby --default-kernel)" = "/boot/vmlinuz-$running" ]
|
|
39
|
+
|
|
40
|
+
# --- offline-bundle repo stanza (D-009; RHEL-08-010370 needs every repo section to carry gpgcheck=1) ---
|
|
41
|
+
# The sealed image has no RHSM repos. A disabled placeholder keeps the DISA test meaningful: any
|
|
42
|
+
# offline repository the appliance adds must be defined here (or in a sibling file) with gpgcheck=1.
|
|
43
|
+
# Comments must not contain a left bracket: DISA's OVAL regex treats it as a section start.
|
|
44
|
+
cat > /etc/yum.repos.d/ct-offline.repo <<'REPO'
|
|
45
|
+
# Call Telemetry offline servicing bundle (placeholder). Point baseurl at the mounted bundle
|
|
46
|
+
# and set enabled=1 only while installing from it. Packages and metadata must be signed.
|
|
47
|
+
[ct-offline]
|
|
48
|
+
name=Call Telemetry offline bundle
|
|
49
|
+
baseurl=file:///opt/ct-offline/repo
|
|
50
|
+
enabled=0
|
|
51
|
+
gpgcheck=1
|
|
52
|
+
repo_gpgcheck=1
|
|
53
|
+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
|
54
|
+
REPO
|
|
55
|
+
chmod 0644 /etc/yum.repos.d/ct-offline.repo
|
|
56
|
+
restorecon -F /etc/yum.repos.d/ct-offline.repo
|
|
57
|
+
grep -qE '^gpgcheck[[:space:]]*=[[:space:]]*1$' /etc/dnf/dnf.conf && grep -qE '^localpkg_gpgcheck[[:space:]]*=[[:space:]]*1$' /etc/dnf/dnf.conf
|
|
58
|
+
|
|
20
59
|
# --- clone first-boot encryption (D-020) ---
|
|
21
60
|
install -m 0755 "$FILES_DIR/ct-luks-firstboot.sh" /usr/local/sbin/ct-luks-firstboot.sh
|
|
22
61
|
install -m 0644 "$FILES_DIR/ct-luks-firstboot.service" /etc/systemd/system/ct-luks-firstboot.service
|
|
@@ -123,5 +162,11 @@ oscap xccdf eval \
|
|
|
123
162
|
echo "oscap remediate exit=$rc"
|
|
124
163
|
[ "$rc" -eq 0 ] || [ "$rc" -eq 2 ]
|
|
125
164
|
|
|
165
|
+
# --- root password aging (RHEL-08-020180/020210; SSG's STIG profile does not select the root rules) ---
|
|
166
|
+
# Root is locked; the setting is stored in /etc/shadow and survives cloning.
|
|
167
|
+
chage -m 1 -M 60 root
|
|
168
|
+
[ "$(chage -l root | sed -n 's/^Minimum number of days between password change[^:]*:[[:space:]]*//p')" = 1 ]
|
|
169
|
+
[ "$(chage -l root | sed -n 's/^Maximum number of days between password change[^:]*:[[:space:]]*//p')" = 60 ]
|
|
170
|
+
|
|
126
171
|
fips-mode-setup --check
|
|
127
172
|
(sleep 3; systemctl reboot) >/dev/null 2>&1 &
|
|
@@ -3,14 +3,16 @@
|
|
|
3
3
|
Only values the STIG leaves to the organization are set; no rule is selected out.
|
|
4
4
|
accounts_authorized_local_users: the STIG requires the organization to define the
|
|
5
5
|
authorized local accounts. The list is the RHEL 8 minimal system accounts present on
|
|
6
|
-
the image, the
|
|
7
|
-
|
|
6
|
+
the image, and the Call Telemetry administrator (ctadmin, created by cloud-init on clones).
|
|
7
|
+
The temporary Packer build account (ctbuild) is NOT authorized here: it is deleted when the
|
|
8
|
+
template is sealed, so a clone never has it. assess.sh evaluates the template with a derived
|
|
9
|
+
build-time copy of this file that adds ctbuild (tailoring-build.xml); clone scans use this file. -->
|
|
8
10
|
<xccdf-1.2:Tailoring xmlns:xccdf-1.2="http://checklists.nist.gov/xccdf/1.2" id="xccdf_com.calltelemetry_tailoring_stig_ct">
|
|
9
11
|
<xccdf-1.2:benchmark href="ssg-rhel8-ds.xml"/>
|
|
10
12
|
<xccdf-1.2:version time="2026-10-16T00:00:00">1</xccdf-1.2:version>
|
|
11
13
|
<xccdf-1.2:Profile id="xccdf_com.calltelemetry_profile_stig_ct" extends="xccdf_org.ssgproject.content_profile_stig">
|
|
12
14
|
<xccdf-1.2:title>DISA RHEL 8 STIG - CallTelemetry organization-defined values</xccdf-1.2:title>
|
|
13
15
|
<xccdf-1.2:description>Extends the SSG STIG profile; sets only organization-defined variables.</xccdf-1.2:description>
|
|
14
|
-
<xccdf-1.2:set-value idref="xccdf_org.ssgproject.content_value_var_accounts_authorized_local_users_regex">^(root|bin|daemon|adm|lp|sync|shutdown|halt|mail|operator|games|ftp|nobody|dbus|systemd-coredump|systemd-resolve|tss|polkitd|clevis|unbound|sssd|fapolicyd|chrony|sshd|postfix|ctadmin
|
|
16
|
+
<xccdf-1.2:set-value idref="xccdf_org.ssgproject.content_value_var_accounts_authorized_local_users_regex">^(root|bin|daemon|adm|lp|sync|shutdown|halt|mail|operator|games|ftp|nobody|dbus|systemd-coredump|systemd-resolve|tss|polkitd|clevis|unbound|sssd|fapolicyd|chrony|sshd|postfix|ctadmin)$</xccdf-1.2:set-value>
|
|
15
17
|
</xccdf-1.2:Profile>
|
|
16
18
|
</xccdf-1.2:Tailoring>
|
|
@@ -95,6 +95,11 @@ variable "ssg_datastream_sha256" {
|
|
|
95
95
|
type = string
|
|
96
96
|
default = "82592d3cff74a82ce652a65ba67cd755cf57550269798d4c449c2069417c1028"
|
|
97
97
|
}
|
|
98
|
+
variable "disa_benchmark" { type = string }
|
|
99
|
+
variable "disa_benchmark_sha256" {
|
|
100
|
+
type = string
|
|
101
|
+
default = "968978518f7cd110e55fdd6a6a9bad0725a8e2177c0ef317650374ffce10c5d3"
|
|
102
|
+
}
|
|
98
103
|
variable "evidence_dir" { type = string }
|
|
99
104
|
|
|
100
105
|
locals {
|
|
@@ -110,7 +115,7 @@ source "proxmox-iso" "rhel810_stig" {
|
|
|
110
115
|
vm_id = var.vm_id
|
|
111
116
|
vm_name = var.template_name
|
|
112
117
|
template_name = var.template_name
|
|
113
|
-
template_description = "RHEL 8.10 DISA STIG template. SSG 0.1.82
|
|
118
|
+
template_description = "RHEL 8.10 DISA STIG template. SSG 0.1.82 + DISA V2R8 SCAP benchmark. Built ${timestamp()}. LUKS2 PV with template bootstrap key; each clone re-encrypts and binds its own TPM2 at first boot."
|
|
114
119
|
tags = "rhel8-stig-template;ssg-0-1-82;stig-v2r8"
|
|
115
120
|
os = "l26"
|
|
116
121
|
machine = "q35"
|
|
@@ -198,6 +203,10 @@ build {
|
|
|
198
203
|
source = var.tailoring_file
|
|
199
204
|
destination = "/home/${var.ssh_username}/tailoring.xml"
|
|
200
205
|
}
|
|
206
|
+
provisioner "file" {
|
|
207
|
+
source = var.disa_benchmark
|
|
208
|
+
destination = "/home/${var.ssh_username}/disa-benchmark.xml"
|
|
209
|
+
}
|
|
201
210
|
provisioner "file" {
|
|
202
211
|
source = "${path.root}/files"
|
|
203
212
|
destination = "/home/${var.ssh_username}/"
|
|
@@ -222,6 +231,8 @@ build {
|
|
|
222
231
|
"SSG_DATASTREAM=/home/${var.ssh_username}/ssg-rhel8-ds.xml",
|
|
223
232
|
"SSG_DATASTREAM_SHA256=${var.ssg_datastream_sha256}",
|
|
224
233
|
"TAILORING=/home/${var.ssh_username}/tailoring.xml",
|
|
234
|
+
"DISA_BENCHMARK=/home/${var.ssh_username}/disa-benchmark.xml",
|
|
235
|
+
"DISA_BENCHMARK_SHA256=${var.disa_benchmark_sha256}",
|
|
225
236
|
"FILES_DIR=/home/${var.ssh_username}/files",
|
|
226
237
|
"BUILD_USER=${var.ssh_username}",
|
|
227
238
|
"DNS_SERVERS=${var.dns_servers}",
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Auto-synced package version fallback for non-filesystem runtimes (Cloudflare Workers).
|
|
3
3
|
* Updated automatically during release publication in .github/workflows/publish.yml.
|
|
4
4
|
*/
|
|
5
|
-
export declare const PACKAGE_VERSION = "0.8.
|
|
5
|
+
export declare const PACKAGE_VERSION = "0.8.103";
|
|
6
6
|
//# sourceMappingURL=generated-version.d.ts.map
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Auto-synced package version fallback for non-filesystem runtimes (Cloudflare Workers).
|
|
3
3
|
* Updated automatically during release publication in .github/workflows/publish.yml.
|
|
4
4
|
*/
|
|
5
|
-
export const PACKAGE_VERSION = "0.8.
|
|
5
|
+
export const PACKAGE_VERSION = "0.8.103";
|
|
6
6
|
//# sourceMappingURL=generated-version.js.map
|
package/dist/src/stig/live.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { BuildMaterial, ClaimPort, ClaimRecord, GuestShell, Materials, PackerPort, PveShell, RunOpts, SecretStore, ShellResult, StigDeps, StigProvider } from "./ports.js";
|
|
2
|
+
import { type StigNode } from "./nodes.js";
|
|
2
3
|
/** assets/stig next to dist/src/stig (published) or next to src/stig (dev). */
|
|
3
4
|
export declare function defaultAssetsDir(): string;
|
|
4
5
|
export declare class SshPveShell implements PveShell {
|
|
@@ -46,6 +47,7 @@ export declare class LabClaims implements ClaimPort {
|
|
|
46
47
|
vmid: number;
|
|
47
48
|
vmName: string;
|
|
48
49
|
ttlHours: number;
|
|
50
|
+
node: string;
|
|
49
51
|
stig: Record<string, unknown>;
|
|
50
52
|
}): Promise<ClaimRecord>;
|
|
51
53
|
waitReady(name: string): Promise<ClaimRecord>;
|
|
@@ -89,6 +91,8 @@ export declare class CliStigProvider implements StigProvider {
|
|
|
89
91
|
private call;
|
|
90
92
|
clone(a: {
|
|
91
93
|
operationId: string;
|
|
94
|
+
hostAssetId: string;
|
|
95
|
+
untagged: boolean;
|
|
92
96
|
name: string;
|
|
93
97
|
templateName: string;
|
|
94
98
|
vmid: number;
|
|
@@ -101,10 +105,11 @@ export declare class CliStigProvider implements StigProvider {
|
|
|
101
105
|
}>;
|
|
102
106
|
destroyTemplate(a: {
|
|
103
107
|
operationId: string;
|
|
108
|
+
hostAssetId: string;
|
|
104
109
|
name: string;
|
|
105
110
|
vmid: number;
|
|
106
111
|
}): Promise<void>;
|
|
107
|
-
guestIp(vmid: number): Promise<string>;
|
|
112
|
+
guestIp(vmid: number, hostAssetId: string): Promise<string>;
|
|
108
113
|
}
|
|
109
114
|
export declare function defaultRunDir(): string;
|
|
110
115
|
/** The lab-inventory CLI path when the canonical bridge is configured (CT_LAB_CANONICAL_CLI). */
|
|
@@ -112,5 +117,6 @@ export declare function canonicalCli(env?: NodeJS.ProcessEnv): string | undefine
|
|
|
112
117
|
export declare function liveDeps(opts?: {
|
|
113
118
|
baseDir?: string;
|
|
114
119
|
log?: (line: string) => void;
|
|
120
|
+
node?: StigNode;
|
|
115
121
|
}): StigDeps;
|
|
116
122
|
//# sourceMappingURL=live.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../../src/stig/live.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAC9I,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../../src/stig/live.ts"],"names":[],"mappings":"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"}
|
package/dist/src/stig/live.js
CHANGED
|
@@ -13,6 +13,7 @@ import { dirname, join, resolve } from "node:path";
|
|
|
13
13
|
import { fileURLToPath } from "node:url";
|
|
14
14
|
import { promisify } from "node:util";
|
|
15
15
|
import { redact } from "./model.js";
|
|
16
|
+
import { STIG_NODES, stigNode } from "./nodes.js";
|
|
16
17
|
import { handleCreateApplianceClaim, handleDeleteApplianceClaim, handleGetApplianceClaim, handlePauseApplianceClaim, handleRenewApplianceClaim, queryKubernetesApi, } from "../tools/appliance-claim-tools.js";
|
|
17
18
|
import { awaitClaimReconciled } from "../tools/claim-reconcile-gate.js";
|
|
18
19
|
import { runLabKubectl } from "../tools/kubernetes-backend.js";
|
|
@@ -54,7 +55,7 @@ function run(file, args, opts = {}) {
|
|
|
54
55
|
export class SshPveShell {
|
|
55
56
|
host;
|
|
56
57
|
user;
|
|
57
|
-
constructor(host = process.env.CT_LAB_STIG_PVE_HOST ??
|
|
58
|
+
constructor(host = process.env.CT_LAB_STIG_PVE_HOST ?? STIG_NODES.minis.pveHost, user = "root") {
|
|
58
59
|
this.host = host;
|
|
59
60
|
this.user = user;
|
|
60
61
|
}
|
|
@@ -145,7 +146,7 @@ export class LabClaims {
|
|
|
145
146
|
return r.isError ? null : (this.text(r)?.claim ?? null);
|
|
146
147
|
}
|
|
147
148
|
async create(a) {
|
|
148
|
-
const r = await handleCreateApplianceClaim({ name: a.name, vmid: a.vmid, vmName: a.vmName, node:
|
|
149
|
+
const r = await handleCreateApplianceClaim({ name: a.name, vmid: a.vmid, vmName: a.vmName, node: a.node, profile: "bare", ttlHours: a.ttlHours, stig: a.stig });
|
|
149
150
|
if (r.isError)
|
|
150
151
|
throw new Error(`claim creation failed: ${r.content?.[0]?.text ?? "unknown"}`);
|
|
151
152
|
return this.text(r).claim;
|
|
@@ -287,7 +288,7 @@ export class CliStigProvider {
|
|
|
287
288
|
const hashFile = join(dir, "hash");
|
|
288
289
|
writeFileSync(keyFile, a.sshPublicKey, { mode: 0o600 });
|
|
289
290
|
writeFileSync(hashFile, a.passwordHash, { mode: 0o600 });
|
|
290
|
-
const base = ["stig", "clone", "--operation-id", a.operationId, "--name", a.name, "--template-name", a.templateName,
|
|
291
|
+
const base = ["stig", "clone", "--host-asset-id", a.hostAssetId, ...(a.untagged ? ["--untagged"] : []), "--operation-id", a.operationId, "--name", a.name, "--template-name", a.templateName,
|
|
291
292
|
"--ssh-key-file", keyFile, "--password-hash-file", hashFile, "--vmid", String(a.vmid),
|
|
292
293
|
...a.dns.flatMap((d) => ["--dns", d]), ...a.claimedVmids.flatMap((v) => ["--claimed-vmid", String(v)])];
|
|
293
294
|
const plan = await this.call(base);
|
|
@@ -303,7 +304,7 @@ export class CliStigProvider {
|
|
|
303
304
|
}
|
|
304
305
|
}
|
|
305
306
|
async destroyTemplate(a) {
|
|
306
|
-
const base = ["stig", "destroy-template", "--operation-id", a.operationId, "--name", a.name, "--vmid", String(a.vmid)];
|
|
307
|
+
const base = ["stig", "destroy-template", "--host-asset-id", a.hostAssetId, "--operation-id", a.operationId, "--name", a.name, "--vmid", String(a.vmid)];
|
|
307
308
|
const plan = await this.call(base);
|
|
308
309
|
if (!plan?.eligible || !plan.plan_digest)
|
|
309
310
|
throw new Error(`lab-inventory stig destroy-template plan is not eligible: ${(plan?.blocking_reasons ?? []).join(", ")}`);
|
|
@@ -311,8 +312,8 @@ export class CliStigProvider {
|
|
|
311
312
|
if (receipt?.status !== "completed")
|
|
312
313
|
throw new Error("lab-inventory stig destroy-template did not complete");
|
|
313
314
|
}
|
|
314
|
-
async guestIp(vmid) {
|
|
315
|
-
const out = await this.call(["stig", "guest-ip", "--vmid", String(vmid), "--timeout", "20"], 60_000);
|
|
315
|
+
async guestIp(vmid, hostAssetId) {
|
|
316
|
+
const out = await this.call(["stig", "guest-ip", "--host-asset-id", hostAssetId, "--vmid", String(vmid), "--timeout", "20"], 60_000);
|
|
316
317
|
return typeof out?.ipv4 === "string" ? out.ipv4 : "";
|
|
317
318
|
}
|
|
318
319
|
}
|
|
@@ -325,12 +326,13 @@ export function canonicalCli(env = process.env) {
|
|
|
325
326
|
return p && existsSync(p) ? p : undefined;
|
|
326
327
|
}
|
|
327
328
|
export function liveDeps(opts = {}) {
|
|
329
|
+
const nodeCfg = stigNode(opts.node);
|
|
328
330
|
const assetsDir = defaultAssetsDir();
|
|
329
331
|
const baseDir = opts.baseDir ?? defaultRunDir();
|
|
330
332
|
mkdirSync(baseDir, { recursive: true, mode: 0o700 });
|
|
331
333
|
return {
|
|
332
334
|
provider: canonicalCli() ? new CliStigProvider(canonicalCli()) : undefined,
|
|
333
|
-
pve: new SshPveShell(), guest: new SshGuestShell(), secrets: new DopplerSecrets(), claims: new LabClaims(),
|
|
335
|
+
pve: new SshPveShell(opts.node ? nodeCfg.pveHost : undefined), guest: new SshGuestShell(), secrets: new DopplerSecrets(), claims: new LabClaims(),
|
|
334
336
|
packer: new PackerCli(assetsDir), materials: new NodeMaterials(),
|
|
335
337
|
clock: { now: () => Date.now(), sleep: (ms) => new Promise((r) => setTimeout(r, ms)) },
|
|
336
338
|
log: { info: (line) => (opts.log ?? ((l) => process.stderr.write(`[stig] ${l}\n`)))(line) },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live.js","sourceRoot":"","sources":["../../../src/stig/live.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"live.js","sourceRoot":"","sources":["../../../src/stig/live.ts"],"names":[],"mappings":"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"}
|
package/dist/src/stig/model.d.ts
CHANGED
|
@@ -17,7 +17,8 @@ export declare const STIG_TEMPLATE_PREFIX = "rhel810-stig-";
|
|
|
17
17
|
export declare const STIG_MODES: readonly ["build-template", "clone", "validate"];
|
|
18
18
|
export type StigMode = (typeof STIG_MODES)[number];
|
|
19
19
|
export declare const STIG_DATASTREAM_SHA256 = "82592d3cff74a82ce652a65ba67cd755cf57550269798d4c449c2069417c1028";
|
|
20
|
-
export declare const STIG_TAILORING_SHA256 = "
|
|
20
|
+
export declare const STIG_TAILORING_SHA256 = "aa3d5fb5b798b5f07b2381e3d3b7063b7cd8758b25d4ebbdbc86095265003837";
|
|
21
|
+
export declare const DISA_BENCHMARK_SHA256 = "968978518f7cd110e55fdd6a6a9bad0725a8e2177c0ef317650374ffce10c5d3";
|
|
21
22
|
export declare const STIG_PROFILE_ID = "xccdf_com.calltelemetry_profile_stig_ct";
|
|
22
23
|
export declare const STIG_DVD_ISO = "synology-cisco-isos:iso/rhel-8.10-x86_64-dvd.iso";
|
|
23
24
|
export declare const STIG_PINS: Readonly<{
|
|
@@ -144,6 +145,14 @@ export type RenewalPlan = {
|
|
|
144
145
|
export declare function planTemplateRenewal(claim: any, now?: number, marginHours?: number): RenewalPlan;
|
|
145
146
|
export declare function assertPoolBelow(percent: unknown, limit?: number): void;
|
|
146
147
|
export declare function assertSingleReencrypt(claims: any[], selfName: string): void;
|
|
148
|
+
/** A running, non-template guest tagged rhel8-stig-clone for under this long may still be re-encrypting. */
|
|
149
|
+
export declare const STIG_REENCRYPT_WINDOW_SECONDS: number;
|
|
150
|
+
export declare const STIG_CLONE_TAG = "rhel8-stig-clone";
|
|
151
|
+
/**
|
|
152
|
+
* Proxmox-level one-at-a-time guard: it sees clones from every path (the tools, the shell recipe) because it reads the
|
|
153
|
+
* guest tag and uptime rather than a claim annotation. `ownVmid` is the clone being created, which is never "another".
|
|
154
|
+
*/
|
|
155
|
+
export declare function assertNoYoungStigClone(guests: Array<Record<string, any>>, ownVmid?: number): void;
|
|
147
156
|
export declare function assertTemplateReleaseAllowed(input: {
|
|
148
157
|
guest: {
|
|
149
158
|
vmid: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/stig/model.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/stig/model.ts"],"names":[],"mappings":"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"}
|
package/dist/src/stig/model.js
CHANGED
|
@@ -16,7 +16,8 @@ export const STIG_POOL_LIMIT_PERCENT = 70;
|
|
|
16
16
|
export const STIG_TEMPLATE_PREFIX = "rhel810-stig-";
|
|
17
17
|
export const STIG_MODES = ["build-template", "clone", "validate"];
|
|
18
18
|
export const STIG_DATASTREAM_SHA256 = "82592d3cff74a82ce652a65ba67cd755cf57550269798d4c449c2069417c1028";
|
|
19
|
-
export const STIG_TAILORING_SHA256 = "
|
|
19
|
+
export const STIG_TAILORING_SHA256 = "aa3d5fb5b798b5f07b2381e3d3b7063b7cd8758b25d4ebbdbc86095265003837";
|
|
20
|
+
export const DISA_BENCHMARK_SHA256 = "968978518f7cd110e55fdd6a6a9bad0725a8e2177c0ef317650374ffce10c5d3";
|
|
20
21
|
export const STIG_PROFILE_ID = "xccdf_com.calltelemetry_profile_stig_ct";
|
|
21
22
|
export const STIG_DVD_ISO = "synology-cisco-isos:iso/rhel-8.10-x86_64-dvd.iso";
|
|
22
23
|
export const STIG_PINS = Object.freeze({ ssg: "0.1.82", stig: "V2R8", packer: "1.16.0", packerProxmoxPlugin: "1.2.4" });
|
|
@@ -356,6 +357,23 @@ export function assertSingleReencrypt(claims, selfName) {
|
|
|
356
357
|
}
|
|
357
358
|
}
|
|
358
359
|
}
|
|
360
|
+
/** A running, non-template guest tagged rhel8-stig-clone for under this long may still be re-encrypting. */
|
|
361
|
+
export const STIG_REENCRYPT_WINDOW_SECONDS = 4 * 3600;
|
|
362
|
+
export const STIG_CLONE_TAG = "rhel8-stig-clone";
|
|
363
|
+
/**
|
|
364
|
+
* Proxmox-level one-at-a-time guard: it sees clones from every path (the tools, the shell recipe) because it reads the
|
|
365
|
+
* guest tag and uptime rather than a claim annotation. `ownVmid` is the clone being created, which is never "another".
|
|
366
|
+
*/
|
|
367
|
+
export function assertNoYoungStigClone(guests, ownVmid) {
|
|
368
|
+
for (const g of guests || []) {
|
|
369
|
+
if (g.vmid === ownVmid || g.template === 1 || g.template === true || g.status !== "running")
|
|
370
|
+
continue;
|
|
371
|
+
const tags = String(g.tags ?? g.config?.tags ?? "").replace(/,/g, ";").split(";");
|
|
372
|
+
if (tags.includes(STIG_CLONE_TAG) && typeof g.uptime === "number" && g.uptime < STIG_REENCRYPT_WINDOW_SECONDS) {
|
|
373
|
+
throw new Error(`guest ${g.vmid} (${g.name}) is a STIG clone that may still be re-encrypting; only one at a time`);
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
}
|
|
359
377
|
export function assertTemplateReleaseAllowed(input) {
|
|
360
378
|
const { guest, claim, destroyConfirmed } = input;
|
|
361
379
|
if (!(guest?.template === 1 || guest?.template === true))
|