AC-6(3): Network Access to Privileged Commands

AC-6(3) requires you to explicitly authorize which privileged commands (or functions) may be executed over the network, limit that capability to approved roles and use cases, and document the rationale in the system security plan. Operationally, you implement this by restricting remote admin paths, forcing privileged actions through controlled management channels, and proving approvals, configurations, and logs.

Key takeaways:

  • Define and approve what “privileged commands” mean in your environment, then tightly scope who can run them remotely.
  • Enforce the restriction with network segmentation, privileged access management, and hardened admin interfaces.
  • Document rationale and exceptions in the system security plan, and retain recurring evidence (configs, approvals, and logs).

The ac-6(3): network access to privileged commands requirement is a common tripwire because teams treat it as a generic “least privilege” statement, then discover during assessment that remote admin capability is broadly possible across the environment. Assessors tend to focus on how privileged actions can be triggered remotely (SSH, WinRM, RDP, hypervisor consoles, cloud control planes, Kubernetes APIs, network device CLIs, database admin endpoints), and whether those paths are truly constrained to authorized personnel and documented use cases.

AC-6(3) is narrow but operationally sharp: it targets network-reachable privileged functionality. That means you need both (1) technical controls that restrict network access to privileged commands and (2) governance controls that show you consciously authorized that access for defined roles, with a rationale captured in the system security plan. If your environment supports emergency access, third-party support, remote infrastructure administration, or production break-glass, you should assume AC-6(3) applies and will be tested.

This page gives requirement-level implementation guidance you can put into a control procedure and execute quickly, with evidence that maps cleanly to typical audit requests.

Regulatory text

Requirement (excerpt): “Authorize network access to {{ insert: param, ac-06.03_odp.01 }} only for {{ insert: param, ac-06.03_odp.02 }} and document the rationale for such access in the security plan for the system.” 1

Operator translation:
You must (1) decide which privileged commands/functions can be executed over the network, (2) approve who is allowed to do that (typically by role, not by individual name alone), (3) limit the technical ability to reach and execute those privileged functions to only the approved set, and (4) record the “why” in the system security plan (SSP). 2

Plain-English interpretation (what assessors look for)

AC-6(3) is about remote execution of administrative power. If a user can connect over the network and perform actions that change security posture, access controls, configurations, identities, keys/secrets, logging, or core service behavior, that’s the blast radius this enhancement is trying to shrink.

A practical test mindset:

  • Can an administrator (or anyone) run privileged commands from a general user network?
  • Are privileged admin interfaces exposed to broader networks than necessary?
  • Are privileged actions forced through controlled “management planes” (bastions, admin VPC/VNET, jump hosts, PAM tools), or can they happen from anywhere?
  • Are exceptions documented with a rationale in the SSP?

Who it applies to (entity and operational context)

Typical in-scope entities

  • Federal information systems and contractor systems handling federal data where NIST SP 800-53 is the governing framework. 2

Typical in-scope technologies and situations

  • Server administration (Linux SSH, Windows RDP/WinRM/PowerShell remoting)
  • Network device administration (switch/firewall/router management interfaces)
  • Virtualization and hypervisor management (vCenter, Hyper-V, Proxmox, etc.)
  • Cloud administration (AWS/GCP/Azure control planes; cloud shell; privileged APIs)
  • Kubernetes and container platforms (cluster-admin, kube-apiserver reachability)
  • Database administration (admin ports, superuser accounts, remote admin consoles)
  • Third party remote support pathways (managed service providers, OEM support)
  • Break-glass and incident response access patterns

If you have any “remote admin” story, AC-6(3) is in play.

What you actually need to do (step-by-step)

Step 1: Define “privileged commands” for your system

Create a scoped definition that your engineers can apply consistently. Start with categories:

  • Identity and access: create/modify/delete users, assign roles, manage MFA, reset credentials
  • Security controls: change firewall rules, disable logging/EDR, modify audit settings
  • System configuration: kernel/system config changes, package installs, service enable/disable
  • Secrets/keys: read/export keys, rotate secrets, access secret stores
  • Data plane override: direct access to sensitive datasets beyond normal app pathways

Output: a short “Privileged Command/Function Catalog” for the system (can be a table).

Step 2: Identify all network paths that can invoke privileged functions

Build an “admin path map” per environment:

  • Entry points: VPN, ZTNA, bastion/jump, PAM proxy, cloud console, direct internet exposure
  • Protocols and ports: SSH, RDP, WinRM, HTTPS admin consoles, vendor management ports
  • Trust boundaries: user LAN, admin subnet, production VPC/VNET, third party networks
  • Tooling: config management (Ansible), remote execution (SSM), CI/CD runners with admin tokens

Output: a one-page diagram or table that answers “from where can privileged actions be triggered?”

Step 3: Set an authorization rule (who + why)

Define authorized roles and allowed scenarios. Keep it concrete:

  • Role: “Platform SRE on-call”
  • Allowed method: “PAM-controlled SSH via bastion”
  • Allowed targets: “production Linux fleet in management subnet”
  • Allowed use case: “incident remediation and approved change windows”
  • Prohibited: “direct SSH from corporate LAN” or “RDP from unmanaged endpoints”

Then document rationale in the SSP: why network access is needed at all, why the chosen path is acceptable, and what compensating controls exist. AC-6(3) explicitly requires documenting rationale in the SSP. 1

Step 4: Enforce the restriction technically (the part auditors test)

Implement layered enforcement so it survives misconfiguration and edge cases:

Network controls

  • Segregate a management network (admin subnet / management VPC/VNET).
  • Restrict admin ports to that management plane and approved source IP ranges.
  • Block east-west admin protocols except where explicitly needed.

Identity and access controls

  • Require strong authentication for admin access (central IdP + MFA).
  • Limit privileged group membership; make it time-bound where feasible.
  • Remove standing admin permissions from daily user accounts.

Execution controls

  • Use a bastion or PAM proxy that records sessions and enforces command restrictions where feasible.
  • Disable direct root/Administrator remote login; require escalation (sudo/JEA) with logging.
  • For cloud and Kubernetes, scope admin tokens and restrict API server/control plane reachability to admin networks.

Change control alignment

  • Make “opening privileged network paths” a controlled change with approvals.
  • Treat new admin endpoints as security-impacting changes requiring review.

Output: a control procedure that points to the specific enforcement points (firewall rules, security groups, PAM policy, bastion config).

Step 5: Monitor and prove it stays true

AC-6(3) breaks silently when someone adds a rule “temporarily” or deploys a new admin console.

Minimum operational checks:

  • Alert on newly exposed admin ports and security group changes affecting management access.
  • Review privileged access grants and remote admin logs on a regular cadence you can defend.

Daydream fit (earned mention): If you struggle to keep AC-6(3) evidence current across systems, Daydream can track the control owner, the implementation procedure, and the recurring evidence artifacts so you can answer assessors without rebuilding the story each cycle. 1

Required evidence and artifacts to retain

Keep evidence tied to three questions: who is authorized, how it’s enforced, and how you know it’s working.

Evidence type What “good” looks like Where it usually lives
SSP rationale Clear explanation of why network access to privileged commands is required, and the approved method(s) SSP / GRC repository
Privileged function catalog Table of privileged commands/functions and which roles may perform them remotely Security plan annex / SOP
Admin path map Diagram/table of remote admin entry points, protocols, and allowed sources Architecture docs
Firewall/security group configs Explicit allowlists for admin ports limited to management plane Network tooling, IaC repos
PAM/bastion configuration Policies showing who can connect, how sessions are controlled/recorded PAM platform, bastion config
Access approvals Tickets/records for privileged role grants and exceptions ITSM + IAM
Logs Evidence of remote privileged sessions and command/audit logs SIEM, PAM recordings, OS logs
Periodic review output Access recertification results; findings and remediation GRC/ITSM

Common exam/audit questions and hangups

Assessors and auditors commonly ask:

  • “Show me where in the SSP you document the rationale for network access to privileged commands.” 1
  • “From a standard user endpoint, can you reach SSH/RDP/WinRM/admin consoles in production?”
  • “Who is authorized to run privileged commands remotely, and how is that authorization enforced?”
  • “How do you prevent third party remote support from becoming permanent unmanaged admin access?”
  • “Show evidence that privileged access paths are reviewed and that exceptions expire.”

Hangups that slow teams down:

  • No single owner for “remote admin pathways” across cloud, on-prem, and SaaS.
  • “Temporary” firewall rules without expiration or documented rationale.
  • Over-reliance on policy statements without config evidence.

Frequent implementation mistakes (and how to avoid them)

  1. Treating VPN access as sufficient control
    VPN reduces exposure, but AC-6(3) expects you to authorize and constrain privileged network access, not just tunnel it. Fix: restrict admin ports to management subnets and approved admin roles.

  2. Leaving multiple parallel admin paths open
    Example: bastion exists, but direct SSH from corporate LAN still works. Fix: block the direct path; make the bastion/PAM path the only route.

  3. No explicit “privileged command” scope
    Teams say “admins only,” but can’t define what commands/functions are considered privileged. Fix: publish a system-specific catalog and tie it to roles.

  4. Exceptions without SSP rationale
    AC-6(3) explicitly calls for documenting rationale in the SSP. Fix: require an SSP update (or SSP annex entry) for any sustained exception. 1

  5. Third party access unmanaged
    A third party support tunnel or shared admin account bypasses your authorization model. Fix: require third party access through your PAM/ZTNA with named accounts, MFA, and logging.

Enforcement context and risk implications

No public enforcement cases were provided in the source catalog for this requirement, so you should plan around assessment failure risk rather than citing regulator actions. The practical risk is straightforward: remote privileged command execution is a high-impact attack path. If an attacker reaches an admin interface, they can often disable controls, expand access, and persist.

Practical execution plan (30/60/90)

You asked for a plan you can run quickly; use this structure and fill in system specifics.

First 30 days (stabilize and define)

  • Assign a control owner (security) and implementation owners (network, IAM, platform).
  • Define “privileged commands/functions” for the system and publish the catalog.
  • Inventory remote admin entry points and confirm which are currently reachable from where.
  • Draft SSP rationale language for the approved remote admin model and known exceptions.

Days 31–60 (enforce and remove parallel paths)

  • Implement or tighten management plane segmentation (admin subnets, security groups, ACLs).
  • Force privileged access through a single approved path (bastion/PAM/ZTNA) and block direct routes.
  • Remove shared admin accounts; require named accounts with MFA and logging.
  • Stand up alerting for newly exposed admin ports and privileged access policy changes.

Days 61–90 (prove operation and get audit-ready)

  • Run an internal “from a user network, attempt admin access” test and document results.
  • Start a recurring review of privileged role membership and exceptions, and retain outputs.
  • Package evidence: SSP excerpt, diagrams, configs, approval records, sample logs.
  • If you use Daydream, map AC-6(3) to the control owner, procedure, and recurring evidence artifacts so the evidence set stays current for the next assessment cycle. 1

Frequently Asked Questions

Does AC-6(3) mean I must ban remote administration entirely?

No. It requires you to authorize remote (network) access to privileged commands only for approved roles/use cases and document the rationale in the SSP. You can allow remote admin if you constrain and justify it. 1

What counts as a “privileged command” in practice?

Treat commands/functions that change security posture, identities, logging, network controls, or system configuration as privileged. Write a system-specific catalog so engineers and assessors can validate scope consistently.

Is a bastion host enough to satisfy AC-6(3)?

A bastion helps if it is the enforced choke point and direct admin paths are blocked. Auditors will still expect documented authorization and SSP rationale, plus config and log evidence showing the bastion is actually required. 1

How do I handle break-glass access without violating AC-6(3)?

Allow it as an explicitly authorized scenario with tight conditions (who can initiate, how access is granted, and how it’s logged), and document the rationale in the SSP. Treat break-glass as a controlled exception with strong monitoring. 1

What about third party support engineers who need admin access?

Treat the third party as an external admin principal: named accounts, MFA, access through your approved management path, and time-bound authorization. Keep the approval record and session/audit logs as evidence.

Where should the rationale live, and how detailed should it be?

Put it in the SSP for the system, with enough detail that an assessor can see the allowed remote admin paths, authorized roles, and why those paths are necessary. AC-6(3) explicitly requires documenting the rationale in the SSP. 1

Footnotes

  1. NIST SP 800-53 Rev. 5 OSCAL JSON

  2. NIST SP 800-53 Rev. 5

Frequently Asked Questions

Does AC-6(3) mean I must ban remote administration entirely?

No. It requires you to authorize remote (network) access to privileged commands only for approved roles/use cases and document the rationale in the SSP. You can allow remote admin if you constrain and justify it. (Source: NIST SP 800-53 Rev. 5 OSCAL JSON)

What counts as a “privileged command” in practice?

Treat commands/functions that change security posture, identities, logging, network controls, or system configuration as privileged. Write a system-specific catalog so engineers and assessors can validate scope consistently.

Is a bastion host enough to satisfy AC-6(3)?

A bastion helps if it is the enforced choke point and direct admin paths are blocked. Auditors will still expect documented authorization and SSP rationale, plus config and log evidence showing the bastion is actually required. (Source: NIST SP 800-53 Rev. 5 OSCAL JSON)

How do I handle break-glass access without violating AC-6(3)?

Allow it as an explicitly authorized scenario with tight conditions (who can initiate, how access is granted, and how it’s logged), and document the rationale in the SSP. Treat break-glass as a controlled exception with strong monitoring. (Source: NIST SP 800-53 Rev. 5 OSCAL JSON)

What about third party support engineers who need admin access?

Treat the third party as an external admin principal: named accounts, MFA, access through your approved management path, and time-bound authorization. Keep the approval record and session/audit logs as evidence.

Where should the rationale live, and how detailed should it be?

Put it in the SSP for the system, with enough detail that an assessor can see the allowed remote admin paths, authorized roles, and why those paths are necessary. AC-6(3) explicitly requires documenting the rationale in the SSP. (Source: NIST SP 800-53 Rev. 5 OSCAL JSON)

Operationalize this requirement

Map requirement text to controls, owners, evidence, and review workflows inside Daydream.

See Daydream