Annex A 8.19: Installation Software On Operational Systems
Annex a 8.19: installation software on operational systems requirement means you must control how software gets installed on production (operational) systems so only authorized, verified, and traceable installations occur. Operationalize it by enforcing least privilege for installs, requiring approved installation packages and change tickets, logging every install event, and retaining evidence that the control runs consistently. 1
Key takeaways:
- Lock down who can install software on operational systems, and make approvals auditable. 2
- Treat installation as a controlled change: verify the package, record the request, and capture logs. 2
- Evidence matters as much as tooling: define artifacts up front and collect them routinely. 1
Annex A 8.19 sits in the operational controls family and targets a common failure mode in production environments: software gets installed “because someone could,” not because it was authorized, validated, and recorded. For an auditor, this control is less about whether you have a patching tool and more about whether you can prove you prevent or detect unapproved installations on systems that run your business services.
For a CCO, Compliance Officer, or GRC lead, the fastest path is to turn “installation” into a governed workflow with clear boundaries: define what counts as an operational system, restrict installation rights, require an approval record (typically via change management), ensure software sources are trusted, and capture logs that show what was installed, by whom, when, and under what approval.
This page gives requirement-level implementation guidance you can hand to IT operations, endpoint management, platform engineering, and internal audit. It focuses on practical control design, control operation, and evidence that an ISO/IEC 27001 assessor will actually test. 1
Regulatory text
Framework requirement (provided excerpt): “ISO/IEC 27001:2022 Annex A control 8.19 implementation expectation (Installation Software On Operational Systems).” 2
Operator interpretation of what you must do:
You need controlled, authorized installation of software on operational (production) systems. In practice, auditors expect you to (1) restrict who can install, (2) approve installations before they occur, (3) ensure software comes from trusted and verified sources, (4) maintain logs and traceability, and (5) retain evidence that the control operates consistently across the environment. 1
Plain-English interpretation
If a system runs production workloads (servers, cloud workloads, production endpoints, network devices, containers, managed databases), treat software installation as a privileged, documented change. No “quick installs,” no ad hoc packages, and no unknown binaries. You either prevent installation by default or detect and remediate rapidly with clear accountability. 2
Who it applies to
Entity scope
Any organization operating an ISO/IEC 27001 ISMS where operational systems support in-scope services, including service organizations that host, process, or manage customer data and business-critical workflows. 1
Operational scope (what counts as “operational systems”)
Define this explicitly in your ISMS scope and system inventory. Typically includes:
- Production servers (on-prem and cloud IaaS)
- Production PaaS resources where “extensions,” “agents,” or “plugins” can be installed
- Kubernetes nodes and cluster add-ons
- Network/security appliances (firmware, packages, modules)
- Production endpoints used for privileged administration (jump hosts, bastions)
- Any system in a regulated enclave or customer-facing environment
Keep the definition aligned to your asset inventory and environment tiers (dev/test/prod). 1
What you actually need to do (step-by-step)
Use this as a build sheet for IT and audit readiness.
Step 1: Define the control boundary and installation policy
- Write a short “Software Installation on Operational Systems” standard that states:
- Only approved personnel or automation may install software in production
- Installation requires a recorded approval (change ticket or equivalent)
- Only approved sources/repos are allowed
- Installation events must be logged and retained
- Name the system tiers (dev/test/stage/prod) and state that 8.19 applies at minimum to production and administrative control planes. 1
Deliverable: a one-page standard plus a RACI for who approves, who installs, and who reviews logs.
Step 2: Enforce least privilege for installation
- Remove local admin rights from standard user accounts on operational systems.
- Use privileged access management (PAM) or role-based access control so installs require elevation with a business justification.
- Separate duties where feasible: requester/approver should not be the same person for high-risk production installs.
Auditor test you should anticipate: “Show me who has installation privileges on production server group X and why.” 2
Step 3: Put approval and change control in front of installs
- Require a change record for production installs, including:
- What is being installed (name/version/hash where possible)
- Why (business purpose, security fix, dependency)
- Impact assessment (downtime, rollback)
- Approval (who, when)
- Create an emergency path (break-glass) with tighter logging and after-the-fact review.
Practical tip: Make the change template force the installer to attach the package reference (artifact URL, repo path, or signed installer). That drives traceability without extra work later. 1
Step 4: Control software sources and package integrity
- Standardize repositories (e.g., internal package repo, approved app catalog, golden images).
- Block unknown sources where you can (application allowlisting, endpoint controls, repo restrictions, outbound filtering for servers).
- Verify integrity using checksums, signed packages, or vendor signatures, and document how verification happens for each platform.
What auditors look for: proof you did not allow arbitrary internet downloads and installs on production nodes. 2
Step 5: Standardize “approved installation methods” per platform
Write a short matrix that answers: “How do we install software here?”
Example matrix (adapt to your environment):
- Windows servers: deployment tool + approved installers; local interactive installs restricted
- Linux servers: approved package manager repos; sudo restricted; config management for state
- Containers: only signed images from approved registry; no “docker exec install” in prod
- Network devices: firmware updates via approved process; configs backed up before change
This is where 8.19 becomes operational: a repeatable method reduces exceptions. 1
Step 6: Log, monitor, and review installation activity
- Enable audit logging for installation events (OS logs, EDR events, package manager logs, configuration management runs).
- Centralize logs into your SIEM or log platform with searchable fields: host, user, package, timestamp, result.
- Review exceptions: focus on installs outside approved tooling, installs by unexpected accounts, or installs without a matching change ticket.
Make review evidence lightweight: a recurring report + a short attestation from ops/security that exceptions were handled. 1
Step 7: Handle third-party and managed service installs explicitly
If a third party (MSP, cloud provider professional services, software vendor) installs agents or tools:
- Require the same approval workflow
- Require identification of accounts used
- Require evidence (work order, change ticket, logs)
- Ensure access is time-bound and monitored
Assessors often find gaps where “the vendor did it” becomes a blind spot. 1
Required evidence and artifacts to retain
Build an evidence packet you can refresh routinely:
Policies, standards, and scope artifacts
- Software Installation standard for operational systems (versioned)
- Definition of “operational systems” and environment tiering
- Access control/PAM standard covering installation privileges 1
Operational records (what auditors actually sample)
- List of accounts/groups with install privileges on representative production systems
- Change tickets for a sample of installs, including approvals and rollback notes
- Repository/app catalog configuration showing approved sources
- Logs showing install events mapped to tickets (host/user/time/software)
- Exception records: emergency installs, break-glass activity, after-action review 2
Technical configuration evidence
- Screenshots or exports of endpoint/app control rules, package repo allowlists, CI/CD controls
- SIEM queries/dashboards for install events + review sign-off 1
Retention note: align retention to your broader logging and change management retention rules; the key is consistency and retrievability during the audit window. 1
Common exam/audit questions and hangups
Expect these and prepare “show me” answers:
-
“What systems are considered operational?”
Hangup: vague scope. Fix by tying the definition to your CMDB/asset inventory and environment tags. 1 -
“Who can install software in production?”
Hangup: too many admins, shared accounts. Fix with named roles, PAM, and removal of standing privileges. 2 -
“Prove this specific install was authorized.”
Hangup: installs happen via scripts or console without a ticket reference. Fix by requiring ticket ID in automation inputs or deployment metadata. 1 -
“How do you prevent unauthorized installs?”
Hangup: you rely only on policy. Fix with enforceable controls: allowlisting, repo restrictions, least privilege, and monitoring alerts. 1 -
“How do you cover third parties?”
Hangup: vendor access bypasses your workflow. Fix with contractual and operational requirements plus monitoring of vendor sessions. 1
Frequent implementation mistakes (and how to avoid them)
| Mistake | Why it fails in audits | How to avoid |
|---|---|---|
| Treating 8.19 as “patch management” only | Patching is a subset; auditors still ask about ad hoc installs | Write a clear install control standard and map patching as one pathway 2 |
| Allowing standing local admin for convenience | Breaks least privilege and makes tracing installs harder | Use PAM/JIT elevation; restrict to admin jump hosts 1 |
| No link between install logs and approvals | You can’t prove authorization | Require ticket references in deployments; store logs centrally 1 |
| Container environments treated as exempt | Images and add-ons are still software installs | Control registries, signed images, and cluster add-ons via change control 1 |
| Third-party installs not governed | Creates an unmanaged change channel | Contractually require your workflow; monitor vendor access and capture evidence 1 |
Enforcement context and risk implications
ISO/IEC 27001 is a certifiable standard; “enforcement” typically shows up as nonconformities during certification audits rather than public penalties. The operational risk is straightforward: unauthorized or unvetted software in production increases malware exposure, creates licensing/compliance issues, and introduces instability that impacts availability and incident response. Your goal is auditability plus real reduction of uncontrolled change. 1
Practical 30/60/90-day execution plan
Use this phased plan to stand up the control quickly without making unsourced time-to-implement claims.
First 30 days (stabilize and define)
- Define “operational systems” and produce an in-scope inventory slice for production.
- Publish the Software Installation standard and approval workflow (change ticket template).
- Identify all current install-capable groups/accounts on production; open remediation items for excessive access.
- Choose the primary evidence set: ticket fields, log sources, and a standard install report. 1
Days 31–60 (enforce and instrument)
- Implement least privilege: remove standing admin where feasible; set up PAM or controlled elevation.
- Lock down software sources: approved repos/app catalogs; block unknown sources on key server classes.
- Centralize installation logs to SIEM/log platform and create saved queries for “software installed” events.
- Pilot the control on one production segment (e.g., Windows server fleet or k8s clusters) and run an internal evidence review. 2
Days 61–90 (scale and make it auditable)
- Expand enforcement to remaining operational systems and administrative hosts.
- Formalize exception handling (emergency installs, vendor-led installs) with after-action review.
- Run a mock audit: sample installs, trace each to approval, and document gaps as corrective actions.
- Automate recurring evidence capture. Daydream can help by mapping 8.19 to a documented control narrative and scheduling recurring evidence requests and reviews so your audit packet stays current. 1
Frequently Asked Questions
Does Annex A 8.19 mean we must block all manual installs in production?
No. It requires control and authorization. If manual installs are allowed, restrict who can do them, require an approval record, and retain logs that prove what happened. 2
Are container images “software installation” for 8.19?
Treat them that way operationally. Image pulls, cluster add-ons, and runtime package changes should follow approved sources and change control, with traceable logs. 1
How do we handle emergency installs during an incident?
Use a defined break-glass path with stronger logging and a required after-action review. The evidence needs to show who approved, what changed, and why the exception was necessary. 1
What’s the minimum evidence an auditor will accept?
A written standard, proof of restricted install privileges, a sample of approved change records for installs, and centralized logs that corroborate the installations. Gaps usually appear where logs can’t be tied back to approvals. 1
If a third party installs an agent on our servers, is that covered?
Yes. Third-party activity is still installation on your operational systems. Require your approval workflow, time-bound access, and installation logs tied to the work order or change ticket. 1
How do we operationalize 8.19 across many teams without slowing delivery?
Standardize “approved installation methods” per platform (golden images, configuration management, approved registries) so teams request changes rather than improvising. Automate evidence collection so compliance doesn’t depend on heroics. 2
Footnotes
Frequently Asked Questions
Does Annex A 8.19 mean we must block all manual installs in production?
No. It requires control and authorization. If manual installs are allowed, restrict who can do them, require an approval record, and retain logs that prove what happened. (Source: ISMS.online Annex A control index)
Are container images “software installation” for 8.19?
Treat them that way operationally. Image pulls, cluster add-ons, and runtime package changes should follow approved sources and change control, with traceable logs. (Source: ISO/IEC 27001 overview)
How do we handle emergency installs during an incident?
Use a defined break-glass path with stronger logging and a required after-action review. The evidence needs to show who approved, what changed, and why the exception was necessary. (Source: ISO/IEC 27001 overview)
What’s the minimum evidence an auditor will accept?
A written standard, proof of restricted install privileges, a sample of approved change records for installs, and centralized logs that corroborate the installations. Gaps usually appear where logs can’t be tied back to approvals. (Source: ISO/IEC 27001 overview)
If a third party installs an agent on our servers, is that covered?
Yes. Third-party activity is still installation on your operational systems. Require your approval workflow, time-bound access, and installation logs tied to the work order or change ticket. (Source: ISO/IEC 27001 overview)
How do we operationalize 8.19 across many teams without slowing delivery?
Standardize “approved installation methods” per platform (golden images, configuration management, approved registries) so teams request changes rather than improvising. Automate evidence collection so compliance doesn’t depend on heroics. (Source: ISMS.online Annex A control index)
Operationalize this requirement
Map requirement text to controls, owners, evidence, and review workflows inside Daydream.
See Daydream