SA-8(23): Secure Defaults
SA-8(23) requires you to implement “secure defaults” so systems, services, and components start in their most secure state without relying on user action or optional settings. To operationalize it, define default-secure configuration baselines, enforce them through automation (templates/policies), and prove through evidence that insecure options are disabled by default across your defined scope.
Key takeaways:
- Secure defaults means “secure out of the box,” not “secure after hardening.”
- Operationalize with enforced baselines (build-time and deploy-time), plus drift detection.
- Auditors look for scope, ownership, implementation proof, and repeatable evidence.
The sa-8(23): secure defaults requirement is a design and engineering expectation that has very practical GRC implications: you need to show that your environment does not ship, deploy, or expose services in an insecure initial state. For a Compliance Officer, CCO, or GRC lead, the fastest path is to translate “secure defaults” into enforceable configuration standards tied to your SDLC and infrastructure delivery process.
Secure defaults typically shows up in real work as: default-off risky features, least-privilege access on first run, strong authentication and encryption turned on by default, safe network exposure defaults (no public endpoints unless explicitly approved), and logging enabled by default. The requirement is easy to agree with and easy to fail in practice because defaults are scattered across product teams, infrastructure code, SaaS admin consoles, and third-party products.
This page gives you requirement-level implementation guidance you can hand to owners in Engineering, Platform, and Security Operations, then collect evidence that stands up in an assessment against NIST SP 800-53 Rev. 5 control expectations. The focus is execution: define scope, set default-secure baselines, enforce them automatically, and retain artifacts that prove consistent operation.
Regulatory text
Requirement (excerpt): “Implement the security design principle of secure defaults in {{ insert: param, sa-08.23_odp }}.” 1
Operator interpretation: You must define what “secure defaults” means for your environment (the “organization-defined parameter” placeholder), then implement it so that the default configuration state of systems/components is secure without requiring extra hardening steps by end users or administrators.
What the operator must do:
- Define scope for where defaults apply (systems, cloud accounts, SaaS tenants, endpoints, images, containers, CI/CD templates, internal apps).
- Define default-secure baselines (what is enabled/disabled and the minimum security posture at creation time).
- Implement enforcement so defaults are applied automatically (golden images, infrastructure-as-code modules, configuration policies, SaaS configuration-as-code where possible).
- Detect and correct drift so “default secure” stays true after changes.
- Retain evidence that shows the defaults are defined, approved, implemented, and continuously applied.
Control context: SA-8 is part of the System and Services Acquisition (SA) family in NIST SP 800-53 Rev. 5 2.
Plain-English interpretation (what “secure defaults” means)
“Secure defaults” means a user, developer, or operator should get a secure posture automatically when they create or deploy something new. If a system becomes secure only after someone follows a checklist, you have a gap.
In practice, secure defaults usually includes:
- Least functionality by default: disable unused services, ports, protocols, and integrations until explicitly needed.
- Least privilege by default: new identities and service accounts start with minimal permissions; elevated access requires explicit approval and justification.
- Secure-by-default network exposure: private-by-default resources; public exposure requires explicit design and review.
- Strong auth and encryption enabled: MFA required where supported; encryption at rest and in transit on by default.
- Logging on by default: security-relevant logging enabled with retention aligned to your program needs.
Who it applies to (entity and operational context)
Primary applicability (typical):
- Federal information systems implementing NIST SP 800-53 controls.
- Contractor systems handling federal data (for example, in environments aligned to federal control baselines). 1
Operational contexts where assessors expect to see this implemented:
- SDLC / product engineering: application scaffolding, default feature flags, default authN/authZ patterns, secure headers, default logging.
- Platform / cloud operations: account vending, landing zones, network patterns, VM/container base images, Kubernetes defaults, policy engines.
- SaaS administration: tenant defaults for MFA, sharing, external collaboration, session timeouts, and audit logs.
- Third-party products you deploy: COTS software, appliances, and hosted services where you control initial configuration.
What you actually need to do (step-by-step)
1) Write a “Secure Defaults Standard” with an enforceable scope
Deliverable: a short standard (not a 40-page policy) that answers:
- In-scope asset types: cloud accounts/subscriptions, VPC/VNets, Kubernetes clusters/namespaces, VM images, container base images, CI/CD templates, SaaS tenants, internal apps.
- Default-secure requirements: what must be true at creation time.
- Exceptions process: how teams request a non-default posture, required compensating controls, and approval path.
Make the standard testable. Avoid vague phrases like “harden systems appropriately.” Use explicit statements like “new storage resources must default to encryption enabled” and “new public endpoints require documented approval.”
2) Assign a control owner and implementation owners
You need a single control owner (often the Head of Security Engineering, Platform Security, or GRC with delegated engineering accountability) plus implementation owners by domain:
- Cloud platform/landing zone owner
- Endpoint engineering owner
- CI/CD tooling owner
- SaaS application owners
- Product engineering leads for internal apps
This maps directly to the recommended operational control: “Map SA-8(23) to control owner, implementation procedure, and recurring evidence artifacts.” 1
3) Translate secure defaults into baselines by technology
Create a baseline table that teams can implement without debate. Example structure (fill with your environment-specific entries):
| Domain | “Default secure” rule | Enforcement mechanism | Evidence |
|---|---|---|---|
| Cloud account vending | New accounts ship with centralized logging enabled | Account vending pipeline checks | Account vending config + sample created account settings |
| Network | Private-by-default subnets; public ingress requires approval | IaC modules + policy-as-code | IaC module repo + policy evaluation logs |
| IAM | No wildcard admin grants for new roles | IAM guardrails | Policy findings + remediation tickets |
| Compute images | Base images ship with minimal packages and secure config | Golden image pipeline | Image build logs + versioned image manifest |
| SaaS | MFA required by default | Tenant baseline config | Admin console export + change tickets |
4) Enforce defaults at build-time and deploy-time
Secure defaults fail when they rely on human memory. Enforce in two places:
- Build-time: golden images, container base images, app templates, CI/CD starter repos.
- Deploy-time: policy checks that block insecure resources (policy-as-code), plus post-deploy configuration management.
Also handle third-party defaults. If you deploy a third-party product with insecure factory defaults, your “default secure” posture should include a required initial configuration profile and a validation step before production use.
5) Implement drift detection and correction
Even if provisioning starts secure, changes happen. Your program should:
- Detect drift from approved baselines (configuration monitoring, periodic scans, policy findings).
- Triage and remediate within a defined workflow.
- Track repeat offenders (teams or services) and feed back into templates and guardrails.
From a GRC standpoint, drift control is where you prove the requirement is operational, not a one-time project.
6) Define measurable checks (pass/fail) for assessment readiness
Turn secure defaults into checks an auditor can sample:
- “Show me three newly created accounts/projects and prove baseline controls were active at creation.”
- “Show me a newly deployed service and confirm it did not expose a public endpoint by default.”
- “Show me default role permissions for a new service and prove least privilege.”
If you can’t sample it, you can’t defend it.
Required evidence and artifacts to retain
Retain artifacts that prove definition, approval, implementation, and ongoing operation:
- Secure Defaults Standard (approved, version-controlled).
- Scope statement (systems/components covered; exclusions with rationale).
- Baseline configuration documents by domain (cloud, endpoint, Kubernetes, SaaS).
- Implementation procedures (how defaults are applied in pipelines and templates).
- Automation artifacts:
- IaC modules and version history
- Policy-as-code rules
- Golden image build definitions
- Change/exception records:
- Approved exceptions with compensating controls
- Risk acceptance where applicable
- Operational evidence (recurring):
- Configuration compliance reports
- Drift findings and remediation tickets
- Sample “new resource” build logs showing baseline applied
- Ownership and RACI mapping SA-8(23) to accountable teams 1
Tip for audit packaging: keep a single “SA-8(23) evidence index” that links each artifact to the requirement statement and to the scoped systems.
Common exam/audit questions and hangups
Questions you should be ready for:
- “What is your organization-defined definition of secure defaults for SA-8(23)?” (They will expect you to fill the ODP placeholder.)
- “How do you ensure defaults are enforced, not optional?”
- “Show evidence from recently created assets that the defaults were applied.”
- “How do you govern exceptions and who approves them?”
- “How do you handle secure defaults for third-party products and managed services?”
Frequent hangups:
- Over-scoping (claiming “all systems” with no practical enforcement).
- Under-scoping (only covering servers while ignoring SaaS and CI/CD templates).
- Confusing “secure defaults” with “secure configuration management” without proving the default state at creation time.
Frequent implementation mistakes and how to avoid them
-
Mistake: Writing a policy that is not testable.
Fix: rewrite statements into pass/fail configuration requirements and attach enforcement points. -
Mistake: Treating hardening guides as “secure defaults.”
Fix: move controls into templates and guardrails so a newly created resource starts compliant. -
Mistake: Allowing console-created resources outside guardrails.
Fix: restrict who can create production resources, require standardized pipelines, and monitor for out-of-band creation. -
Mistake: Ignoring SaaS tenant defaults.
Fix: baseline your highest-risk SaaS apps (identity, ticketing, source control, collaboration) and export settings as evidence. -
Mistake: No exception lifecycle.
Fix: require expiry/review for exceptions and track them like other risk items.
Enforcement context and risk implications
No public enforcement cases were provided in the source catalog for this requirement, so this page does not cite enforcement examples.
Risk-wise, secure defaults failures commonly manifest as:
- Accidental public exposure
- Weak authentication settings left enabled
- Over-privileged identities created by default
- Logging gaps that delay detection and investigation
Even when SA-8(23) is assessed as “medium” severity in internal programs, it can drive serious findings because it influences many other control outcomes (identity, logging, boundary protection, configuration management).
Practical 30/60/90-day execution plan
First 30 days (establish the control)
- Name the SA-8(23) control owner and domain implementation owners.
- Draft and approve the Secure Defaults Standard with a clear scope and exception path.
- Inventory “default creation paths” (account vending, IaC modules, golden images, SaaS provisioning).
- Pick a small set of high-impact baselines to implement first (cloud account, IAM defaults, network exposure defaults).
Days 31–60 (enforce and prove)
- Implement enforcement in pipelines/templates for the prioritized domains.
- Add deploy-time checks (policy-as-code) to prevent insecure default states from reaching production.
- Create the SA-8(23) evidence index and start collecting recurring artifacts (reports, logs, samples).
- Run a tabletop audit: sample newly created resources and verify defaults are applied.
Days 61–90 (scale and operationalize)
- Expand baselines to remaining domains (Kubernetes, endpoint, SaaS, application templates).
- Formalize drift monitoring and a remediation workflow with SLAs that match your internal risk tolerance.
- Operationalize exception reviews and track systemic issues back to templates.
- If you use Daydream for third-party risk and control operations, map SA-8(23) to a recurring evidence schedule and assign artifact owners so audit prep becomes a monthly routine instead of a scramble.
Frequently Asked Questions
What counts as a “default” for SA-8(23)?
A default is the configuration state that exists at creation or first deployment without extra steps by the end user or operator. If a control requires a manual hardening task after provisioning, it is not a secure default.
Do secure defaults apply to SaaS tools, or only infrastructure and code?
They apply anywhere you can define an initial configuration state, including SaaS tenants you administer. Secure defaults often include MFA settings, external sharing controls, and audit logging enabled by default.
How do we handle third-party products that ship with insecure factory defaults?
Treat your required initial configuration profile as the “secure default” for your environment, then enforce it through deployment checklists, automated validation, or acceptance testing. Keep evidence that the profile is applied before production go-live.
Can we meet SA-8(23) with a hardening guide and periodic scans?
A hardening guide supports the program, but auditors will still ask how the secure state is achieved by default. Pair guidance with enforced templates and guardrails, then use scans as verification and drift detection.
What is the minimum evidence set to pass an assessment?
You need a defined secure defaults standard (including the organization-defined scope), proof of enforcement mechanisms (templates/policies), and sampled evidence from newly created assets showing defaults applied. Ownership and an exception process are commonly requested artifacts 1.
How do we define the scope in the “organization-defined parameter” placeholder?
Define it as the set of system components and deployment patterns where defaults can be controlled, then document inclusions and exclusions. Keep the scope aligned to what you can actually enforce and evidence.
Footnotes
Frequently Asked Questions
What counts as a “default” for SA-8(23)?
A default is the configuration state that exists at creation or first deployment without extra steps by the end user or operator. If a control requires a manual hardening task after provisioning, it is not a secure default.
Do secure defaults apply to SaaS tools, or only infrastructure and code?
They apply anywhere you can define an initial configuration state, including SaaS tenants you administer. Secure defaults often include MFA settings, external sharing controls, and audit logging enabled by default.
How do we handle third-party products that ship with insecure factory defaults?
Treat your required initial configuration profile as the “secure default” for your environment, then enforce it through deployment checklists, automated validation, or acceptance testing. Keep evidence that the profile is applied before production go-live.
Can we meet SA-8(23) with a hardening guide and periodic scans?
A hardening guide supports the program, but auditors will still ask how the secure state is achieved by default. Pair guidance with enforced templates and guardrails, then use scans as verification and drift detection.
What is the minimum evidence set to pass an assessment?
You need a defined secure defaults standard (including the organization-defined scope), proof of enforcement mechanisms (templates/policies), and sampled evidence from newly created assets showing defaults applied. Ownership and an exception process are commonly requested artifacts (Source: NIST SP 800-53 Rev. 5 OSCAL JSON).
How do we define the scope in the “organization-defined parameter” placeholder?
Define it as the set of system components and deployment patterns where defaults can be controlled, then document inclusions and exclusions. Keep the scope aligned to what you can actually enforce and evidence.
Operationalize this requirement
Map requirement text to controls, owners, evidence, and review workflows inside Daydream.
See Daydream