DEV540: Secure DevOps and Cloud Application Security

Provided by SANS
Certification
N/A
Qualification level
N/A
Location
Live/Online
Study type
Distance learning
Duration
View Website
Price
View Website

About the course

DEV540 gives developers and security professionals the tools needed to build and deliver secure software using DevOps and cloud services, specifically Amazon Web Services (AWS). It explains how the principles, practices, and tools of DevOps and AWS can improve the reliability, integrity, and security of applications.

The first two days of the course examine the implementation of Secure DevOps using lessons from successful DevOps security programs. Using popular open-source tools such as GitLab, Puppet, Jenkins, Vault, Graphana, and Docker, you will create a secure DevOps CI/CD toolchain that can automatically build, test, and deploy infrastructure and applications. In a series of labs, you will inject security into your CI/CD toolchain using a variety of security tools, patterns, and techniques.

The final three days of the course will teach you to shift your DevOps workloads to the cloud and secure software using AWS. With your CI/CD toolchain, you will build a cloud infrastructure that can deploy applications and microservices to the cloud, instead of to local servers. You'll also analyze and fix cloud infrastructure and application vulnerabilities using AWS security services and tools such as API Gateway, IAM, CloudFront Signed URLs, Security Token Service, KMS, encryption, WAF, Lambda for Serverless computing, CFN NAG scanner, AWS Security Benchmark, and much more.

DEV540 makes extensive use of open-source materials and tooling for automated configuration management ("Infrastructure as Code"xf), Continuous Integration, Continuous Delivery, Continuous Deployment, containerization, micro-segmentation, automated compliance ("Compliance as Code"), and Continuous Monitoring. It also uses Jenkins and AWS developer tools such as CloudFormation, CodeCommit, CodeBuild, CodePipeline, and other cloud application services, so you can experience the use of these services when securing infrastructure and applications.

 

 

Course Syllabus

DEV540.1: Introduction to Secure DevOps

Overview

The first course section introduces DevOps practices, principles, and tooling. We will examine how DevOps works, how work is done in DevOps, and the importance of culture, collaboration, and automation.

Using case studies of DevOps "Unicorns" - the Internet tech leaders who've created the DevOps DNA - we'll consider how and why these leaders succeeded, and examine the keys to their DevOps security programs.

We'll then look at Continuous Delivery, the DevOps automation engine. We'll explore how to build up a Continuous Delivery or Continuous Deployment pipeline, including how to fold or wire security controls into the CD pipeline, and how to automate security checks and tests in CD.

 

Exercises

  • Exploring CI/CD Tools and Pipelines
  • Deployment Data
  • Automating Static Analysis in CI
  • Automating Dynamic Analysis in CI/CD

 

CPE/CMU Credits: 6

Topics

  • Introduction to DevOps
  • Case Studies on DevOps Unicorns
  • Working in DevOps
  • Security Challenges in DevOps
  • Building a CD Pipeline
  • DevOps Deployment Data
  • Secure Continuous Delivery
  • Security in Pre-Commit
  • Security in Commit
  • Security in Acceptance

 

DEV540.2: Moving to Production

Overview

Building on the ideas and frameworks developed in Section 1, and using modern automated configuration management tools like Puppet, Chef, and Ansible, you'll learn how secure Infrastructure as Code allows you to quickly and consistently deploy new infrastructure and manage configurations.

Because the automated CD pipeline is so critically important to DevOps, you'll also learn to secure the pipeline, including RASP and other run-time defense technologies.

As the infrastructure and application code moves to production, we'll spend the second half of the day exploring container security issues associated with tools such as Docker and Kubernetes, as well as how to protect secrets using Vault and how to build continuous security monitoring using Graphana, Graphite, and StatsD.

Finally, we'll discuss how to build compliance into Continuous Delivery, using the security controls and guardrails that have been built in the DevOps toolchain.

 

Exercises

  • Managing Configuration with Puppet
  • Auditing Docker's Security
  • Monitoring with Dashboards, Granfana, and Graphite
  • Protecting Secrets with Vault
  • Auditing with OpenSCAP

 

CPE/CMU Credits: 6

Topics

  • Secure Infrastructure as Code: Building Security Policies into Infrastructure Code
  • Security with Puppet Lab
  • Securing Your CD Pipeline
  • Threat Modeling and Locking Down Your Build and Deployment Environment
  • Run-time Defense: RASP, IAST and other run-time security solutions
  • Container Security: Introduction to Containers, Docker, and Docker Security Risks and Tools
  • Security in Monitoring; Using Production Metrics and Insight to Drive Improvements in Your Security Program
  • Red Teaming, Bug Bounties, and Blameless Postmortems
  • Managing Secrets: The Problem of Secrets in an Automated Environment; Patterns and Anti-patterns for Managing Secrets
  • Compliance as Code: How to Satisfy Compliance Requirements Using Continuous Delivery and Continuous Deployment

 

DEV540.3: Moving to the Cloud

Overview

Observing DevOps principles, you'll learn to deploy infrastructure, applications, and CI/CD toolchain into the cloud. This section provides an overview of Amazon Web Services (AWS) and introduces the foundational tools and practices you'll need to securely deploy your applications in the cloud.

Exercises

  • AWS Account Configuration and Hardening
  • AWS CLI Automation
  • Cloud Infrastructure Deployment with Jenkins Blue Ocean and CloudFormation
  • Cloud Infrastructure Scanning and Hardening
  • Security Scanning in CI/CD with CodeBuild and CodePipeline

 

CPE/CMU Credits: 6

Topics

Introduction to the Cloud

  • Cloud Provider Comparison
  • Introduction to AWS Services
  • Automation with the AWS Command Line Interface

Cloud Architecture Overview

  • AWS Architecture Components
  • CloudFormation Infrastructure as Code
  • CloudFormation Static Analysis with CFN_NAG
  • Automating Cloud Architecture with Jenkins Blue Ocean

Secure Cloud Deployment

  • CodeCommit Security
  • Cloud Container Orchestration
  • Common Cloud Security Issues such as:
    • S3 Bucket Misconfiguration
    • IAM Privilege Escalation
    • Controlling Traffic Flow with NACLs and Security Groups
    • Exposed Admin Access
    • Applying Patches with Infrastructure as Code
    • TLS Misconfiguration and Hardening

 

Security Scanning in CI/CD

  • CodeBuild and CodePipeline Integrations
  • Static Analysis with Serverless Functions (Lambda)
  • Static Analysis with CodeBuild
  • Integrating Jenkins and CodePipeline

 

DEV540.4: Cloud Application Security

Overview

In this section, you'll learn to leverage cloud application security services to ensure that applications have appropriate encryption, authentication, authorization, and access control, while also maintaining functional and high-availability systems.

Exercises

  • Encrypting Application Secrets with KMS and the SSM Parameter Store
  • Securing CloudFront Content with Signed URLs
  • Protecting REST Web Services with API Gateway
  • Protecting APIs with Lambda and JSON Web Tokens (JWT)

 

CPE/CMU Credits: 6

Topics

Data Protection

  • Data Storage (S3, RDS, DynamoDB)
  • Secrets Management
    • Approaches to Secrets Management
    • Key Management Service
    • Third-Party Solutions

Secure Content Delivery

  • Introduction to Content Delivery Networks
  • Restricting Origin Access with Origin Access Identities
  • CloudFront Trusted Signing and Access Control with Signed Cookies and URLs
  • Configuring Cross-Origin Resource Sharing Security with Bucket Policies

Microservice Security

  • Microservice Architecture Attack Surface
  • Microservice Security:
    • Authentication with AWS Security Token Service, Identify Federation, and Web Identity Federation
    • Authorization with JSON Web Tokens
    • Service to Service MTLS
    • REST Security
  • API Gateway Security

Serverless Security

  • Overview of Serverless Computing
  • Serverless Security Considerations
  • AWS Lambda
  • Security Automation with Lambda

 

DEV540.5: Cloud Security Automation

Overview

Expanding on the foundation of the previous sections, we'll now focus on leveraging cloud services to automate security tasks such as deploying application patches to blue/green environments, deploying and configuring cloud web application firewalls, enabling cloud security monitoring, and automating cloud compliance scanning.

Exercises

  • Deploying Security Patches Using Blue/Green Environments
  • Security Automation with the AWS WAF
  • Security Monitoring and Alerting with CloudWatch and CloudTrail
  • Automating Cloud Compliance with the CIS AWS Security Benchmark Project

 

CPE/CMU Credits: 6

Topics

Blue/Green Deployment Options

  • EC2 DNS Routing
  • EC2 Auto Scaling Groups
  • ALB Launch Configuration
  • ECS DNS Routing
  • ECS Service Swapping
  • ECS Task Definition

 

Security Automation

  • Insufficient Attack Protection
  • Cloud Web Application Firewalls
  • AWS Security Automations Project
  • Blocking Bat Bots with Honeypot Endpoints
  • Writing a Custom WAF Rule

 

Security Monitoring

  • Exploring CloudWatch Logs and Metrics
  • Enabling CloudTrail for Audit Logging
  • Cloud Monitoring Services
  • Third-Party Cloud Monitoring Solutions

 

Cloud Compliance

  • Compliance with AWS Artifact
  • CSA Cloud Security Guidance Project
  • CIS Cloud and Container Security Benchmarks
  • AWS Security Benchmark Project

 

Who Should Attend

  • Anyone working in or transitioning to a DevOps environment
  • Anyone who wants to understand where to add security checks, testing, and other controls to DevOps and Continuous Delivery
  • Anyone interested in learning to migrate DevOps workflows to the cloud, specifically Amazon Web Services (AWS)
  • Anyone interested in leveraging cloud application security services provided by AWS
  • Developers
  • Software architects
  • Operations engineers
  • System administrators
  • Security analysts
  • Security engineers
  • Auditors
  • Risk managers
  • Security consultants

 

Prerequisites

  • A basic understanding of application security, common attacks, and vulnerabilities (e.g., the OWASP Top 10)
  • Familiarity with Agile development and Agile project/product management practices
  • Familiarity with Linux command shells and associated commands
  • Ability to understand basic coding concepts

 

Hands-on Labs

This course goes well beyond traditional lectures and delves into literal application of techniques, reinforcing learning through a number of hands-on labs. The labs will include a step-by-step guide to learning and applying hands-on techniques, but they also employ a "no hints" approach for those who want to stretch their skills and see how far they can get without following the guide. This allows each student, regardless of background, to choose a level of difficulty - always with a frustration-free fallback path.

 

 

Contact the course provider: