DoD Enterprise DevSecOps Reference Design 1636809435
DoD Enterprise DevSecOps Reference Design 1636809435
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
CLEARED
For Open Publication
Department of Defense
OFFICE OF PREPUBLICATION AND SECURITY REVIEW
DoD Enterprise
DevSecOps Reference
Design:
AWS Managed Services (DoD IaC Baseline)
September 2021
Version 0.2
This document automatically expires 1-year from publication date unless revised.
UNCLASSIFIED
Unclassified 1
Pre-Decisional/DRAFT
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
UNCLASSIFIED i
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
Document Approvals
Approved by:
________________________________________
TBD
UNCLASSIFIED ii
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
Trademark Information
Names, products, and services referenced within this document may be the trade names,
trademarks, or service marks of their respective owners. References to commercial vendors and
their products or services are provided strictly as a convenience to our readers, and do not
constitute or imply endorsement by the Department of any non-Federal entity, event, product,
service, or enterprise.
UNCLASSIFIED iii
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
Contents
1 Introduction ............................................................................................................... 1
1.1 Background ........................................................................................................ 1
1.2 Purpose .............................................................................................................. 1
1.3 DevSecOps Compatibility .................................................................................. 3
1.4 Scope ................................................................................................................. 3
1.5 Document Overview ........................................................................................... 3
2 Assumptions and Principles ...................................................................................... 4
2.1 Benefits of Adopting DoD Cloud Infrastructure as Code (IaC) ........................... 4
3 Software Factory Interconnects ................................................................................ 6
3.1 Cloud Native Access Points ............................................................................... 7
3.2 CNCF Certified Kubernetes: AWS Elastic Kubernetes Service .......................... 7
3.3 Locally Centralized Artifact Repository: AWS Elastic Container Registry .......... 9
3.4 Incorporate Zero Trust Principles: AWS App Mesh ............................................ 9
4 Software Factory K8s Reference Design ................................................................ 11
4.1 Accessing the DoD Cloud IaC Baselines ......................................................... 14
4.2 Containerized Software Factory ....................................................................... 14
5 Hosting Environment .............................................................................................. 15
5.1 Container Orchestration ................................................................................... 15
6 Additional Tools and Activities ................................................................................ 17
6.1 Continuous Monitoring in K8s .......................................................................... 25
6.1.1 CSP Managed Services for Continuous Monitoring................................... 26
7 Appendix A: Accessing the DoD Cloud IaC Code Repository ................................ 27
UNCLASSIFIED iv
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
Figures
Figure 1: Visualization of the benefits of using DISA’s Global Directory.......................... 5
Figure 2: AWS Managed Services Reference Design Interconnects .............................. 6
Figure 3: Container Orchestrator and Notional Nodes .................................................... 8
Figure 4: Software Factory Implementation Phases...................................................... 11
Figure 5: AWS CSP Software Factory Reference Design ............................................. 15
Figure 6: DevSecOps Platform Options ........................................................................ 16
Figure 7: Software Factory - DevSecOps Services ....................................................... 17
Figure 8: Logging and Log Analysis Process ................................................................ 26
Tables
Table 1: AWS Managed Service Cybersecurity Aspects ............................................... 10
Table 2: CD/CD Orchestrator Inputs/Outputs ................................................................ 13
Table 3: Security Activities Summary and Cross-Reference ......................................... 18
Table 4: Develop Phase Activities ................................................................................. 18
Table 5: Build Phase Tools ........................................................................................... 19
Table 6: Build Phase Activities ...................................................................................... 19
Table 7: Test Phase Tools ............................................................................................ 20
Table 8: Test Phase Activities ....................................................................................... 21
Table 9: Release and Deliver Phase Tools ................................................................... 21
Table 10: Release and Deliver Phase Activities ............................................................ 22
Table 11: Deploy Phase Tools ...................................................................................... 22
Table 12: Deploy Phase Activities ................................................................................. 23
Table 13: Operate Phase Activities ............................................................................... 23
Table 14: Monitor Phase Tools ..................................................................................... 24
Table 15: AWS CSP Managed Service Monitoring Tools.............................................. 24
UNCLASSIFIED v
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
1 Introduction
1.1 Background
Modern information systems and weapons platforms are driven by software. As such, the DoD
is working to modernize its software practices to provide the agility to deliver resilient software at
the speed of relevance. DoD Enterprise DevSecOps Reference Designs are expected to
provide clear guidance on how specific collections of technologies come together to form a
secure and effective software factory.
1.2 Purpose
This DoD Enterprise DevSecOps Reference Design is specifically for a collection of Amazon
Web Services (AWS) managed services. The managed services explicitly identified as part of
this reference design are built from Infrastructure as Code (IaC) baselines that leverage
automation to generate preconfigured, preauthorized, Platform as a Service (PaaS) focused
environments. These environments, whenever possible, leverage security services offered by
the Cloud Service Provider (CSP, AWS in this case) over traditional datacenter tools.
A Cloud Native Computing Foundation (CNCF) Certified Kubernetes implementation remains
central to this reference design, offering an elastic instantiation of a DevSecOps factory in the
specific CSP. It provides a formal description of the key design components and processes to
provide a repeatable reference design that can be used to instantiate a DoD DevSecOps
Software Factory powered by Kubernetes. This reference design is aligned to the DoD
Enterprise DevSecOps Strategy, and aligns with the baseline nomenclature, tools, and activities
defined in the DevSecOps Fundamentals document and its supporting guidebooks and
playbooks.
Adoptees of this reference design must recognize and understand that there is a
certain degree of vendor lock-in that occurs when leveraging the security services
offered by the CSP. Additional lock-in may occur if teams utilize proprietary features
unique to the CSP.
For brevity, the use of the term ‘Kubernetes’ or ‘K8s’ throughout the remainder of this
document must be interpreted as a Kubernetes implementation that properly submitted
software conformance testing results to the CNCF for review and corresponding
certification. The CNCF lists over 90 Certified Kubernetes offerings that meet software
conformation expectations. 1
1Cloud Native Computing Foundation, “Software conformance (Certified Kubernetes,” [ONLINE] Available:
https://www.cncf.io/certification/software-conformance/. [Accessed 8 February 2021].
UNCLASSIFIED 1
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
2 DoD CIO, DoD Digital Modernization Strategy, Pentagon: Department of Defense, 2019.
3 Department of Defense, "DoD Cloud Computing Strategy," December 2018.
4Defense Information Systems Agency, “Department of Defense Cloud Computing Security Requirements Guide,
v1r3,” March 6, 2017
5Defense Information Systems Agency, "DoD Secure Cloud Computing Architecture (SCCA) Functional
Requirements," January 31, 2017.
6 White House, "Presidential Executive Order on Strengthening the Cybersecurity of Federal Networks and Critical
Infrastructure (EO 1380)," May 11, 2017.
7National Institute of Standards and Technology, Framework for Improving Critical Infrastructure Cybersecurity,
2018.
8 NIST, "NIST Special Publication 800-190, Application Container Security Guide," September 2017.
9 Defense Information Systems Agency, “Kubernetes STIG, Version 1, Release 2,” July 26, 2021.
10 Defense Information Systems Agency, “Container Hardening Process Guide, V1R1,” October 15, 2020
UNCLASSIFIED 2
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
1.4 Scope
This reference design is not vendor or product-agnostic. It is built upon the managed
services offered by AWS as a CSP and may lead to a degree of vendor and/or managed service
lock-in. This reference design provides specific execution guidance for use by software teams. It
is applicable to developing new capabilities and to sustaining existing capabilities in both
business and weapons systems software, including business transactions, C3, embedded
systems, big data, and Artificial Intelligence (AI).
This document does not address strategy, policy, or acquisition.
11 DoD CIO, “DoD Cloud Native Access Point Reference Design, v1.0” [Online] Available at:
https://dodcio.defense.gov/Portals/0/Documents/Library/CNAP_RefDesign_v1.0.pdf
UNCLASSIFIED 3
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
It is critically important to avoid the proprietary APIs that are sometimes added
by vendors on top of the existing CNCF Kubernetes APIs. These APIs are not
portable and may create vendor lock-in at the application level, not just at the
software factory level!
12 Amazon Web Services, “AWS Services in Scope by Compliance Program, DoD CC SRG,” [Online] Available at:
https://aws.amazon.com/compliance/services-in-scope/.
UNCLASSIFIED 4
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
UNCLASSIFIED 5
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
• Cloud Native Access Point (CNAP) is the Enterprise Architecture Engineering Panel and
Digital Modernization Infrastructure, Executive Committee (DMI EXCOM) approved
enterprise architecture at the infrastructure layer to manage all north-south network
traffic.
UNCLASSIFIED 6
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
13Defense Information Systems Agency, “Department of Defense Cloud Computing Security Requirements Guide,
v1r3,” Mar 6, 2017
14 The Linux Foundation Projects, “Open Container Initiative,” [Online] Available at: https://opencontainers.org.
UNCLASSIFIED 7
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
Kubernetes provides an API that ensures total abstraction of orchestration, compute, storage,
networking, and other core services that guarantees software can run in any environment, from
the Cloud to embedded inside of platforms like jets or satellites.
The key benefits of adopting AWS EKS include:
• Managed Service Environment: As a managed service, AWS manages the availability
and scalability of the Kubernetes control plane nodes responsible for scheduling
containers, managing the availability of applications, storing cluster data, and other
pertinent tasks.
• Deployment Flexibility: AWS EKS supports running a K8s application on both Amazon
Elastic Computing Cloud (EC2) and Fargate, a service that offers serverless compute for
software containers.
• Service Integrations: AWS Controllers for Kubernetes (ACK) provides support to
directly manage AWS services from Kubernetes, further simplifying scalable
• Hosted Kubernetes Console: EKS provides developers and operations personnel an
integrated console for organizaing, visualizing, and troubleshooting applications
deployed on the Kubernetes cluster.
• Baked-In Security: A sidecar, such as the Sidecar Container Security Stack, is
automatically injected into any K8s cluster with zero trust.
• Resiliency: Self-healing of unstable or crashed containers.
• Adaptability: Containerized microservices create highly-composable ecosystems.
• Automation: Fundamental support for a GitOps model and IaC speed processes and
feedback loops.
• Scalability: Application elasticity to appropriately scale and match service demand.
The adoption of K8s and OCI compliant containers are concrete steps towards true
microservice reuse, providing the Department with a compelling ability to pursue higher orders
of code reuse across an array of programs.
UNCLASSIFIED 8
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
UNCLASSIFIED 9
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
UNCLASSIFIED 10
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
The software factory leverages technologies and tools to automate the CI/CD pipeline
processes defined in the DevSecOps lifecycle plan phase. There are no “one size fits all” or
hard rules about what CI/CD processes should look like and what tools must be used. Each
software team needs to embrace the DevSecOps culture and define processes that suit its
software system architectural choices. The tool chain selection is specific to the software
programming language choices, application type, tasks in each software lifecycle phase, and
the system deployment platform.
The major components of this reference design’s software factory, EKS, ECR, and security
related AWS services, are expected to be instantiated using the DoD Cloud IaC baselines from
DISA. As of June, 2021, the following AWS IaC baselines have been created:
UNCLASSIFIED 11
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
DevSecOps teams create a pipeline workflow in the CI/CD orchestrator by specifying a set of
stages, stage conditions, stage entrance and exit control rules, and stage activities. The CI/CD
orchestrator automates the pipeline workflow by validating the stage control rules. If all the
entrance rules of a stage are met, the orchestrator will transition the pipeline into that stage and
perform the defined activities by coordinating the tools via plugins. If all the exit rules of the
current stage are met, the pipeline exits out the current stage and starts to validate the entrance
rules of the next stage. Table 2 shows the features, benefits, and inputs and outputs of the
CI/CD orchestrator.
UNCLASSIFIED 12
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
UNCLASSIFIED 13
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
UNCLASSIFIED 14
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
DoD programs may have already implemented a DevSecOps platform. Operating a custom
DevSecOps platform is an expensive endeavor because software factories require the same
level of continuous investment as a software application. There are financial benefits for
programs to plan a migration to a containerized software factory, reaping the benefits of
centrally managed and hardened containers that have been fully vetted. In situations where a
containerized software factory is impractical, or the factory requires extensive policy
customizations, the program should consult with DoD CIO and (if applicable) its own
DevSecOps program office to explore options and collaborate to create, sustain, and deliver
program-specific hardened containers to Iron Bank.
5 Hosting Environment
The reference design was designed for Amazon Web Services as the CSP. The specific AWS
environment, impact level 2, 4, 5, or 6, should be identified and selected by the mission
program. The DoD Cloud IaC has been tested and piloted across each of these impact levels.
UNCLASSIFIED 15
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
UNCLASSIFIED 16
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
UNCLASSIFIED 17
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
UNCLASSIFIED 18
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
UNCLASSIFIED 19
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
Security Scan and report for Speed up ATO Container Vulnerability PREFERRED
compliance compliance process. images. report and
tool regulations, such as recommended
DISA Security mitigation.
Technical
Implementation
Guides (STIGs), NIST
800-53.
Example:
https://aws.amazon.com/blogs/security/how-to-automate-scap-testing-with-aws-systems-manager-and-security-hub/
UNCLASSIFIED 20
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
UNCLASSIFIED 21
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
UNCLASSIFIED 22
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
UNCLASSIFIED 23
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
UNCLASSIFIED 24
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
UNCLASSIFIED 25
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
Incidents will be forwarded to the mission program incident management system to facilitate
change request generation for incident resolution. The mission program incident management
should alert or notify the responsible personnel about the incidents. The change request may be
created to address the incident. These actions make the DevSecOps pipeline a full closed loop
from secure operations to planning.
UNCLASSIFIED 26
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
UNCLASSIFIED 27
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
5. Click on the project you would like to access. In this example aws-baseline was selected.
1. Select the user profile icon in the top right corner of the screen and choose “Preferences”
2. Select “Access Tokens” from the menu on the left side of the page
UNCLASSIFIED 28
Pre-Decisional/DRAFT
UNCLASSIFIED
Pre-Decisional/DRAFT
3. Enter a name for the token, the expiration date and the required scopes (for most, this will
only include “read_repository”)
4. Hit “Create personal access token” and save the new token
5. When cloning the repository, this token will serve as the password when prompted for
login on the git client
UNCLASSIFIED 29
Pre-Decisional/DRAFT