Zero › Module 4 › Lesson 1
Device Posture
Device trust literacy — posture assessment signals (OS patch, encryption, jailbreak, EDR health) — device compliance matrix on YOUR $ZT_LAB.
Visual · t40_device_posture
Device posture. $ZT_LAB. Original Cyberlium.
Opening
Untrusted device, untrusted session — Cyberlium maps posture signals to conditional access grant/block rows on fictional LAB-ZT-001 fleet.
Device posture evaluates health before granting access: OS version minimum, disk encryption on, screen lock, EDR running, jailbreak/root detection, TPM literacy for Windows devices. Non-compliant device → block or limited web-only access. Document device compliance matrix: device type, required signals, CA policy link — fictional fleet D-001.D-010. Next: MDM EDR Named.
1. Posture signals (named)
Managed vs unmanaged. Encryption status. Patch level. EDR heartbeat. Secure boot/TPM. Mobile: no jailbreak, MDM enrolled.
Each signal maps to conditional access condition in M3 matrix.
Command guide
Try these commands — Posture signals (named)
═══ TOOLS & WEBSITES ═══ Browse / read these (authorized learning only — stay in YOUR lab / program scope)
CISA ZTMM Devices — https://www.cisa.gov/zero-trust-maturity-model NIST SP 800-207 — https://csrc.nist.gov/publications/detail/sp/800-207/final
═══ INSTALL ═══
Linux (Debian/Ubuntu):
Command — copy this
sudo apt install python3
macOS:
Command — copy this
brew install python3
Windows: Download https://python.org/downloads/
═══ LINUX / macOS ═══
Command — copy this
export ZT_LAB=${ZT_LAB:-$HOME/cyberlium-lab/t40-zt}
export ZT_DEVICES=${ZT_DEVICES:-$ZT_LAB/LAB-ZT-001/devices}
cat > "$ZT_DEVICES/device-posture-matrix.csv" <<'EOF'
device_id,type,encryption,edr,mdm_enrolled,compliant,ca_policy
D-001,corp-laptop,yes,healthy,yes,yes,CA-002
D-002,corp-laptop,yes,healthy,yes,yes,CA-001
D-003,mobile,yes,healthy,yes,yes,CA-001
D-004,byod-tablet,yes,partial,yes,no,CA-003
D-005,corp-laptop,no,healthy,yes,no,CA-001-block-sensitive
EOFCommand — copy this
grep -E 'device_id|D-00|compliant' "$ZT_DEVICES/device-posture-matrix.csv"
python3 -c "print('Posture: include non-compliant row D-005 — fictional fleet')"Primary tools to practice this lesson: grep, python3. Reference sites: CISA ZTMM Devices (https://www.cisa.gov/zero-trust-maturity-model); NIST SP 800-207 (https://csrc.nist.gov/publications/detail/sp/800-207/final). Run every command in the box — install first, then the usage lines — only on YOUR lab / program scope.
2. Compliance tiers literacy
Compliant: all signals pass. Non-compliant: block sensitive apps, allow email web only. Unknown: require enrollment before corp data.
Guest/BYOD tier with app protection policies literacy — no full network VPN.
3. Lab matrix
Table: Device ID | Type | Encryption | EDR | Compliant? | CA policy — fictional only.
Ship: device posture matrix. Next: MDM EDR Named.
4. What you ship: device posture matrix
Fictional fleet compliance table linked to CA policies. $ZT_LAB. chmod 600.
5. What you record before the next lesson
Date. Posture matrix. $ZT_LAB named. File t40-m04-l01-device-posture.txt chmod 600.
6. Wrong vs right: bypass cookbooks vs YOUR ZT design
Worked failure — same MSF word, opposite target. Right never needs a café Wi-Fi or classmate laptop.
Wrong
Mark all devices compliant without signals. Install spyware as posture demo.
Right
Write device posture matrix with non-compliant example row. Next: MDM EDR Named.
Mission: device posture matrix
1) Define five posture signals. 2) List ten fictional devices with compliance status. 3) Link two devices to CA policies. 4) chmod 600.
Stuck? Ask Cyberlium AI Mentor
Non-compliant row in matrix teaches block flow — do not hide all green.
Knowledge Check
APPLY: Device posture signals include:
Multiple choice
Knowledge Check
APPLY: True or False: Non-compliant devices can be blocked from sensitive apps.
True or False
Knowledge Check
APPLY: Device matrix uses:
Multiple choice