AU-9(7): Store on Component with Different Operating System
AU-9(7) requires you to store audit logs on a separate component that runs a different operating system than the system generating the logs, so an attacker who compromises the audited system can’t easily tamper with or erase evidence. Operationalize it by forwarding logs off-host to a dedicated log repository or SIEM running a different OS, then proving coverage, integrity, and retention. 1
Key takeaways:
- “Different operating system” is a technical separation requirement, not just “different server.” 1
- The control is easiest to satisfy with centralized logging on a hardened log platform that is OS-diverse from key production workloads.
- Audit success depends on evidence: asset-to-log mapping, routing proofs, and validation that logs are not stored only on the audited OS.
AU-9(7) is a targeted hardening requirement inside NIST SP 800-53’s Audit and Accountability family: you must store audit information somewhere that is meaningfully harder for an attacker on the audited system to modify. The mechanism NIST specifies is operating system diversity between the audited component and the component storing the audit logs. 1
For a Compliance Officer, CCO, or GRC lead, the practical problem is rarely “can we ship logs to a SIEM?” The problem is scoping (which systems are “being audited”), defining what “different OS” means in your environment, and producing clean evidence that shows the logs are actually stored off the audited OS across the fleet, including cloud, containers, and managed services.
This page treats AU-9(7) as a requirement you can assign, implement, and test. You’ll get: a plain-English interpretation, applicability guidance, step-by-step implementation actions, a minimum evidence bundle, and the audit questions you should prepare for. It also includes a pragmatic execution plan you can run as a control with an owner, a cadence, and documented exceptions.
Regulatory text
Requirement (AU-9(7)): “Store audit information on a component running a different operating system than the system or component being audited.” 1
Operator meaning: For each in-scope system/component that generates audit records, you must ensure those records are stored on a log storage component whose operating system differs from the audited system’s operating system. This is designed to reduce the likelihood that compromise of the audited OS leads to log deletion or alteration on the same platform. 1
Where teams get tripped up is treating “different component” as enough. AU-9(7) explicitly adds “different operating system,” so you need to show OS-level diversity between the producer and the storage destination for audit information. 1
Plain-English interpretation (what AU-9(7) is really asking for)
You need an architecture where:
- Systems generate security-relevant audit logs (authentication, authorization changes, admin actions, system events, application events as defined by your audit policy).
- Those logs are sent off the system and stored on a logging component with a different operating system.
- You can demonstrate that storage happens reliably and that local logs on the audited system are not the only copy.
A concrete mental model: if your primary workloads are Windows servers, your central log storage should be something non-Windows (for example, a hardened Linux-based collector/indexer or an appliance with a distinct OS). If your workloads are Linux, consider a log storage tier that is not Linux. The goal is to break “same exploit, same tooling, same admin primitives” across both the producer and the evidence store.
Who it applies to (entity and operational context)
Entity types (common applicability):
- Federal information systems and programs assessed against NIST SP 800-53.
- Contractors and third parties handling federal data or operating federal systems where NIST SP 800-53 controls are flowed down in contracts, SSPs, or security requirements. 2
Operational contexts where AU-9(7) usually becomes a requirement:
- High-value systems where log integrity matters for incident response and forensics (identity, privileged access, endpoints, production infrastructure).
- Regulated environments that need demonstrable audit trails and tamper resistance.
- Environments with elevated threat models (admin compromise, ransomware operators deleting logs).
What to scope first (so you don’t overbuild):
- Identify “systems/components being audited” in your audit logging policy and system boundaries (SSP / system inventory).
- Prioritize: domain controllers/IdP, SIEM-relevant infrastructure, production workloads, and admin planes.
What you actually need to do (step-by-step)
Step 1: Name an owner and define the control boundary
- Assign an operational owner (typically Security Engineering or Platform Engineering) and a compliance owner (GRC).
- Define in-scope systems: list the OS families for major workload groups (Windows, Linux, network appliances, managed services where applicable).
- Decide what qualifies as “audit information” in your environment (system logs, security logs, application audit logs, admin activity).
Deliverable: a short control card/runbook entry that states objective, scope, owner, how it’s executed, and exception handling.
Step 2: Choose an architecture that satisfies “different OS”
Pick one of these common patterns and document the OS-diversity rationale.
Pattern A: Central SIEM / log repository with OS diversity
- Forward logs from endpoints/servers to a central platform that runs a different OS than the major producers.
- Ensure the log storage tier is on the diverse OS, not only a forwarder/agent.
Pattern B: Dedicated log collector tier
- Use collectors/relays (syslog, agent collectors) that write to a storage node running a different OS.
- If collectors run the same OS as producers, the storage tier still must satisfy AU-9(7).
Pattern C: Managed logging service
- If you use a managed SIEM/log service, confirm and document the OS of the log storage component (or the provider’s architectural statement that functionally meets “different OS” intent). If you can’t confirm OS diversity, treat it as an exception and add compensating controls.
Step 3: Implement log forwarding off-host (make it hard to bypass)
- Standardize log agents/forwarders per OS family.
- Enforce forwarding via configuration management (GPO, MDM, Ansible, baked images, Kubernetes DaemonSets).
- Block common bypass paths (local admin stopping the agent) with service hardening and alerting.
Operator check: If a host can be compromised and can also delete the only copy of its logs, you do not meet the spirit of AU-9(7).
Step 4: Validate storage location and OS diversity (the “prove it” step)
Create a mapping that answers, for each in-scope system group:
- Producer OS (e.g., Windows Server).
- Log destination component name.
- Destination OS (e.g., Linux-based log cluster).
- Storage confirmation method (query, screenshot, API export, configuration evidence).
Do not rely on tribal knowledge. Put it in a maintained artifact.
Step 5: Add integrity and access controls around the log store
AU-9(7) is about storage on a different OS; auditors will still ask if the log store can be tampered with.
- Restrict admin access to the log storage OS and platform.
- Separate duties between system admins of producers and admins of the log store where feasible.
- Configure immutability features if available (write-once options, retention locks) and document them as strengthening measures (even if not explicitly required by AU-9(7)).
Step 6: Operationalize ongoing control health checks
Run recurring checks that confirm:
- Forwarding is active from each in-scope asset group.
- Logs are arriving and being stored in the diverse OS repository.
- Gaps trigger tickets with owners and due dates.
Daydream can help here by turning AU-9(7) into a requirement-level control record with an assigned owner, a defined evidence bundle, and recurring control health checks tied to remediation tracking, so you can show sustained operation rather than a one-time setup.
Required evidence and artifacts to retain
Treat this as your minimum evidence bundle for AU-9(7):
-
Architecture diagram (current state) showing:
- Log producers (by environment)
- Transport path (agents/forwarders)
- Log collectors
- Log storage/index tier
- OS callouts for producer groups and storage component
-
System inventory / in-scope list:
- Asset groups, OS types, and which are subject to audit logging
-
Configuration evidence (samples are fine if coverage is proven):
- Agent/forwarder configuration
- Forwarding policy (GPO/MDM/CM templates)
- Destination endpoints (FQDN/IP) and protocols
-
Storage OS evidence:
- CMDB record, build sheet, or platform attestation that identifies the logging component OS
- If managed, a provider statement you can retain internally (or an exception memo if unavailable)
-
Operational proof logs are stored off-host:
- SIEM/search screenshots or exports showing events from representative systems
- Time-bounded queries demonstrating recent ingestion from key sources
-
Control operation records:
- Control runbook/control card
- Health check results and remediation tickets
- Exceptions register with approvals and compensating controls
Common exam/audit questions and hangups
Expect these questions and prepare crisp answers:
-
“Show me that logs from system X are stored on a component with a different OS.”
Have a one-page mapping and a live query ready: producer hostname → index → storage platform → OS. -
“Is the log storage component truly a different OS, or just a different VM?”
Auditors will reject “different VM, same OS” as satisfying AU-9(7) if OS diversity is not present. 1 -
“What about cloud-native logs (PaaS, SaaS, containers)?”
Be ready to explain boundaries: which components you control, where logs are stored, and how you treat managed services (evidence or exception). -
“How do you know forwarding is continuous and not best-effort?”
Show monitoring/alerting for log source silence and a remediation workflow.
Frequent implementation mistakes (and how to avoid them)
-
Mistake: Treating “off-host” as enough.
Avoidance: Explicitly document OS of the log storage tier and show it differs from each audited OS group. 1 -
Mistake: Logging to a forwarder on a different OS, but storing on the same OS as producers.
Avoidance: Identify where logs are persisted. AU-9(7) is about where audit information is stored. -
Mistake: Partial coverage with no scoping artifact.
Avoidance: Maintain an in-scope list and a coverage map. If you intentionally exclude systems, document why and how risk is handled. -
Mistake: Managed SIEM assumptions.
Avoidance: If you cannot substantiate OS diversity for storage, document an exception and add compensating controls (immutability, restricted admin access, additional off-platform export). -
Mistake: Evidence is ad hoc screenshots.
Avoidance: Standardize an evidence packet per control cycle: mapping + config + sample ingestion proof + health check output.
Risk implications and why auditors care
If an attacker compromises a system and the logs are stored on that same OS family under similar admin controls, log wiping becomes a straightforward anti-forensics step. AU-9(7) forces you to introduce friction: different OS, different management plane, different tooling, and often different admins. That separation improves your ability to investigate incidents, satisfy disclosure obligations, and support legal holds.
Practical 30/60/90-day execution plan
First 30 days (stand up the control)
- Confirm scope: list audited components and OS families.
- Select target logging architecture that achieves OS diversity for storage.
- Write the control card: owner, steps, evidence list, exception process.
- Produce a first-pass mapping: producers → log store component → OS.
Days 31–60 (implement and prove coverage)
- Roll out forwarding standards via configuration management.
- Implement monitoring for missing log sources.
- Collect baseline evidence: config samples, ingestion proof, OS proof for storage component.
- Start an exceptions register for systems that cannot comply yet.
Days 61–90 (make it durable)
- Run a formal health check cycle and track remediation to closure.
- Add access controls and admin separation for the log store where feasible.
- Convert ad hoc evidence into a repeatable evidence bundle stored in your GRC system (Daydream or your existing platform).
- Update system documentation (SSP/system security plan materials) to reflect the implemented design.
Frequently Asked Questions
Does AU-9(7) require a physically separate server?
The text requires storage “on a component running a different operating system,” not physical separation. A separate VM or managed service can qualify if you can show the storage component OS is different from the audited system OS. 1
If my endpoints are Windows and my SIEM runs on Linux, am I done?
You are close, but auditors will still look for proof that logs are actually stored on the Linux component and that forwarding coverage is complete for the in-scope Windows systems. Keep a producer-to-destination mapping and ingestion evidence.
What if the audited system is Linux and the SIEM is also Linux?
That does not meet the literal “different operating system” requirement for those systems. You need a log storage component with a different OS for Linux producers or an approved exception with compensating controls and risk acceptance. 1
How should we handle Kubernetes and containers under AU-9(7)?
Treat the “component being audited” as the node OS and the control plane components that generate audit logs. Ensure cluster audit logs and node logs are stored in a log platform whose OS differs from the node OS, and document the mapping.
Do we have to prevent local logging on the audited system?
AU-9(7) does not prohibit local logs. It requires that audit information is stored on a different-OS component, so local logging can exist as long as the authoritative retained copy is off-host on the diverse OS store. 1
What evidence is most persuasive in an audit?
Auditors respond well to a concise coverage map (systems → destination → destination OS) plus a time-bounded ingestion query showing recent events from representative systems, backed by configuration artifacts that enforce forwarding.
Footnotes
Frequently Asked Questions
Does AU-9(7) require a physically separate server?
The text requires storage “on a component running a different operating system,” not physical separation. A separate VM or managed service can qualify if you can show the storage component OS is different from the audited system OS. (Source: NIST SP 800-53 Rev. 5 OSCAL JSON)
If my endpoints are Windows and my SIEM runs on Linux, am I done?
You are close, but auditors will still look for proof that logs are actually stored on the Linux component and that forwarding coverage is complete for the in-scope Windows systems. Keep a producer-to-destination mapping and ingestion evidence.
What if the audited system is Linux and the SIEM is also Linux?
That does not meet the literal “different operating system” requirement for those systems. You need a log storage component with a different OS for Linux producers or an approved exception with compensating controls and risk acceptance. (Source: NIST SP 800-53 Rev. 5 OSCAL JSON)
How should we handle Kubernetes and containers under AU-9(7)?
Treat the “component being audited” as the node OS and the control plane components that generate audit logs. Ensure cluster audit logs and node logs are stored in a log platform whose OS differs from the node OS, and document the mapping.
Do we have to prevent local logging on the audited system?
AU-9(7) does not prohibit local logs. It requires that audit information is stored on a different-OS component, so local logging can exist as long as the authoritative retained copy is off-host on the diverse OS store. (Source: NIST SP 800-53 Rev. 5 OSCAL JSON)
What evidence is most persuasive in an audit?
Auditors respond well to a concise coverage map (systems → destination → destination OS) plus a time-bounded ingestion query showing recent events from representative systems, backed by configuration artifacts that enforce forwarding.
Authoritative Sources
Operationalize this requirement
Map requirement text to controls, owners, evidence, and review workflows inside Daydream.
See Daydream