Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
175 changes: 175 additions & 0 deletions exercises/defend-contain-comply.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,175 @@
# Defend, Contain, Comply — Vulnerability Lifecycle Automation with Ansible Automation Platform

The **Defend, Contain, Comply** workshop is a hands-on Ansible Automation Platform experience focused on vulnerability management. In this workshop you will manage a complete vulnerability lifecycle on a RHEL system using AAP — from detecting and containing a critical CVE, through policy-gated patching, to compliance validation and hardened container delivery.

* **Module 1 — DEFEND**: Detect a critical CVE and automate containment when no patch exists
* **Module 2 — CONTAIN**: Apply a policy-gated patching workflow once an errata is published
* **Module 3 — COMPLY**: Validate compliance, apply CIS hardening, generate evidence, and deliver a hardened container

> **NOTE**
>
> Complete the modules in order — each builds on the previous one.

## Workshop Resources

<table>
<thead>
<tr>
<th>Resource</th>
<th>Link</th>
</tr>
</thead>
<tbody>
<tr>
<td>Workshop content and exercises</td>
<td><a target="_blank" href="https://rhpds.github.io/zt-ans-defend-contain-comply/modules/index.html">rhpds.github.io/zt-ans-defend-contain-comply</a></td>
</tr>
<tr>
<td>Follow-up assets</td>
<td><b>TO DO</b></td>
</tr>
<tr>
<td>Post-event survey</td>
<td><b>TO DO</b></td>
</tr>
<tr>
<td>Certain registration page &amp; promotional email copy</td>
<td><b>TO DO</b></td>
</tr>
<tr>
<td>Presenter instructions and guide</td>
<td><b>TO DO</b></td>
</tr>
<tr>
<td>Certain event banners</td>
<td><b>TO DO</b></td>
</tr>
</tbody>
</table>

## Who is this workshop best for?

This workshop is intended for security and operations teams who need to automate vulnerability response, policy-gated remediation, and compliance hardening with Ansible Automation Platform. Attendees will work with Event-Driven Ansible, Open Policy Agent (OPA), Splunk, and Ansible Automation Platform workflows in a realistic CVE management scenario.

## Target audience

This workshop is geared toward security engineers, platform engineers, DevSecOps practitioners, compliance teams, and anyone interested in automated vulnerability lifecycle management with Ansible Automation Platform.

## Attendee Prerequisites

* A basic understanding of working with Linux systems
* Familiarity with Ansible concepts such as playbooks, inventories, and job templates
* Attendees must bring/use a laptop with ADMIN rights and the ability to SSH to a lab environment hosted in a public cloud.
* Must bring/use a laptop with Chrome 73+, Firefox 60+, Edge 40+, or Safari 12+ installed.

There is no student prep work required prior to the workshop. It is recommended to complete the free Red Hat training course [Ansible Basics: Automation Technical Overview](https://www.redhat.com/en/services/training/do007-ansible-essentials-simplicity-automation-technical-overview).

## Presentation Deck

- **TO DO** — Google Slides link for Red Hat employees

## Lab provisioner

Labs are available via the [Red Hat Demo Platform](https://catalog.demo.redhat.com/catalog) under the [Defend, Contain, Comply](https://catalog.demo.redhat.com/catalog?item=babylon-catalog-prod/zt-ansiblebu.zt-ans-defend-contain-comply.prod) catalog item.

## Lab Index (Estimate total time ⏱️ 120-150 minutes)

<table>
<thead>
<tr>
<th>Activity</th>
<th>Link</th>
<th>Estimated Time</th>
</tr>
</thead>
<tbody>
<tr>
<td>Workshop Overview</td>
<td><a target="_blank" href="https://rhpds.github.io/zt-ans-defend-contain-comply/modules/01-overview.html">📖 View Overview</a></td>
<td>⏱️ 10 minutes</td>
</tr>
<tr>
<td><b>Slides</b>: Introduction + Workshop Brief</td>
<td><b>TO DO</b></td>
<td>⏱️ 10 minutes</td>
</tr>
<tr>
<td>Module 1: DEFEND — Detect and Contain</td>
<td><a target="_blank" href="https://rhpds.github.io/zt-ans-defend-contain-comply/modules/03-module-01-defend.html">🚀 Launch Exercise</a></td>
<td>⏱️ 40 minutes</td>
</tr>
<tr>
<td><b>Slides</b>: Brief for Module 2</td>
<td><b>TO DO</b></td>
<td>⏱️ 5 minutes</td>
</tr>
<tr>
<td>Module 2: CONTAIN — Policy-Gated Remediation</td>
<td><a target="_blank" href="https://rhpds.github.io/zt-ans-defend-contain-comply/modules/04-module-02-contain.html">🚀 Launch Exercise</a></td>
<td>⏱️ 40 minutes</td>
</tr>
<tr>
<td><b>Slides</b>: Brief for Module 3</td>
<td><b>TO DO</b></td>
<td>⏱️ 5 minutes</td>
</tr>
<tr>
<td>Module 3: COMPLY — Audit, Harden, Deliver</td>
<td><a target="_blank" href="https://rhpds.github.io/zt-ans-defend-contain-comply/modules/05-module-03-comply.html">🚀 Launch Exercise</a></td>
<td>⏱️ 40 minutes</td>
</tr>
<tr>
<td>Conclusion</td>
<td><a target="_blank" href="https://rhpds.github.io/zt-ans-defend-contain-comply/modules/99-conclusion.html">📖 View Conclusion</a></td>
<td>⏱️ 10 minutes</td>
</tr>
</tbody>
</table>

## Demos

Individual modules from this workshop can be used as standalone demos for vulnerability detection and containment, policy-gated patching, or compliance hardening scenarios.

# Learning Resources

- [Red Hat Ansible Automation Platform - Training + Certification slides](https://docs.google.com/presentation/d/16pkh6Js89q7gR5VUILEQEU0mYRi6Ti98c9aRTcPOBVs/edit?usp=sharing)

## Documentation

- [https://github.com/rhpds/zt-ans-defend-contain-comply](https://github.com/rhpds/zt-ans-defend-contain-comply)
- [https://github.com/ansible/workshops](https://github.com/ansible/workshops)

# Going Further

Additional collateral for security automation:

<table>
<thead>
<tr>
<th>Title</th>
<th>Link</th>
</tr>
</thead>
<tbody>
<tr>
<td>Implementing Zero Trust with Ansible Automation Platform</td>
<td><a href="zero-trust">Zero Trust workshop</a></td>
</tr>
<tr>
<td>Security automation collateral</td>
<td><b>TO DO</b></td>
</tr>
</tbody>
</table>

<br>

# Ansible Workshop

This is an official Ansible Workshop

This workshop is maintained by the Red Hat Ansible Technical Marketing Team.
Please open an [issues on Github](https://github.com/ansible/workshops/issues/new?title=New+defend+contain+comply+workshop+issue&body=)


![ansible workshop logo](https://github.com/ansible/workshops/blob/devel/images/Ansible-Workshop-Logo.png?raw=true)
32 changes: 16 additions & 16 deletions exercises/lightspeed-101.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Intro into Ansible Lightspeed with IBM watsonx Code Assistant
# Getting started with automation coding assistant

Introduction to Ansible Lightspeed with IBM watsonx Code Assistant for AI-powered content creation.
Use the Ansible VS Code extension's automation coding assistant to generate playbooks from plain-English descriptions, understand the generated content, and run it in a pre-configured lab environment.

## Lab Options

Expand All @@ -15,12 +15,12 @@ Introduction to Ansible Lightspeed with IBM watsonx Code Assistant for AI-powere
<tbody>
<tr>
<td>Launch on RHDP</td>
<td><a target="_blank" href="https://catalog.demo.redhat.com/catalog?item=babylon-catalog-prod/zt-ansiblebu.zt-ans-lightspeed-101.prod">🚀 Launch Lab</a></td>
<td><a target="_blank" href="https://catalog.demo.redhat.com/catalog?item=babylon-catalog-prod/zt-ansiblebu.zt-writing-your-first-playbook-lightspeed.prod">🚀 Launch Lab</a></td>
<td>Provision a full lab environment on the Red Hat Demo Platform</td>
</tr>
<tr>
<td>View Instructions</td>
<td><a target="_blank" href="https://rhpds.github.io/zt-ans-lightspeed-101/modules/index.html">📖 View Showroom</a></td>
<td><a target="_blank" href="https://rhpds.github.io/zt-writing-your-first-playbook-lightspeed/">📖 View Showroom</a></td>
<td>Browse the lab instructions and exercises</td>
</tr>
</tbody>
Expand All @@ -37,28 +37,28 @@ Introduction to Ansible Lightspeed with IBM watsonx Code Assistant for AI-powere
</thead>
<tbody>
<tr>
<td>Exercise 1 — Configuring Ansible Lightspeed in Visual Studio Code</td>
<td><a target="_blank" href="https://rhpds.github.io/zt-ans-lightspeed-101/modules/module-01.html">🚀 Launch Exercise</a></td>
<td>Exercise 1 — Meet Your Automation Coding Assistant</td>
<td><a target="_blank" href="https://rhpds.github.io/zt-writing-your-first-playbook-lightspeed/modules/01-playbook-inventory.html">🚀 Launch Exercise</a></td>
</tr>
<tr>
<td>Exercise 2 — Deploy and Configure Cockpit using Ansible Lightspeed</td>
<td><a target="_blank" href="https://rhpds.github.io/zt-ans-lightspeed-101/modules/module-02.html">🚀 Launch Exercise</a></td>
<td>Exercise 2 — Generate a Comprehensive Playbook with the Coding Assistant</td>
<td><a target="_blank" href="https://rhpds.github.io/zt-writing-your-first-playbook-lightspeed/modules/02-generate-comprehensive-playbook.html">🚀 Launch Exercise</a></td>
</tr>
<tr>
<td>Exercise 3 — PostgreSQL Server and PG Admin container</td>
<td><a target="_blank" href="https://rhpds.github.io/zt-ans-lightspeed-101/modules/module-03.html">🚀 Launch Exercise</a></td>
<td>Exercise 3 — Understand Your Playbook</td>
<td><a target="_blank" href="https://rhpds.github.io/zt-writing-your-first-playbook-lightspeed/modules/03-understand-the-playbook.html">🚀 Launch Exercise</a></td>
</tr>
<tr>
<td>Exercise 4 — Provision an EC2 instance</td>
<td><a target="_blank" href="https://rhpds.github.io/zt-ans-lightspeed-101/modules/module-04.html">🚀 Launch Exercise</a></td>
<td>Exercise 4 — Run and Verify the Playbook</td>
<td><a target="_blank" href="https://rhpds.github.io/zt-writing-your-first-playbook-lightspeed/modules/04-playbook-run-it.html">🚀 Launch Exercise</a></td>
</tr>
<tr>
<td>Exercise 5 — Provision an Azure VM</td>
<td><a target="_blank" href="https://rhpds.github.io/zt-ans-lightspeed-101/modules/module-05.html">🚀 Launch Exercise</a></td>
<td>Exercise 5 — Generate a Role</td>
<td><a target="_blank" href="https://rhpds.github.io/zt-writing-your-first-playbook-lightspeed/modules/05-generate-roles.html">🚀 Launch Exercise</a></td>
</tr>
<tr>
<td>Exercise 6 — Playground and Model customization</td>
<td><a target="_blank" href="https://rhpds.github.io/zt-ans-lightspeed-101/modules/module-06.html">🚀 Launch Exercise</a></td>
<td>Exercise 6 — Wrap-Up and Next Steps</td>
<td><a target="_blank" href="https://rhpds.github.io/zt-writing-your-first-playbook-lightspeed/modules/06-wrap-up.html">🚀 Launch Exercise</a></td>
</tr>
</tbody>
</table>
39 changes: 34 additions & 5 deletions exercises/product_demos/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,39 @@
# Ansible Product Demos

The `Ansible Product Demos` is a Git project that acts as a centralized location for Ansible Product Demos. This project is a collection of use cases implemented with Ansible for use with the Ansible Automation Platform.
Ansible Product Demos is a Git project that acts as a centralized location for Ansible Product Demos. This project is a collection of use cases implemented with Ansible for use with the Ansible Automation Platform.

This project aims to be an agnostic catalog of automation `Job Templates` that any Red Hat employee, partner, customer or community member can use and contribute to to quickly preload into any Ansible Automation Platform installation. This differs from workshops that are very perscriptive and opiniated ways to teach Ansible Automation Platform. This should allow anyone to easily create a job template, and allow any other person to use that very easily.
This project aims to be an agnostic catalog of automation job Templates that any Red Hat employee, partner, customer or community member can use and contribute to to quickly preload into any Ansible Automation Platform installation. This differs from workshops that are very perscriptive and opiniated ways to teach Ansible Automation Platform. This should allow anyone to easily create a job template, and allow any other person to use that very easily.

There are two major components:
## Resources

- [github.com/ansible/product-demos](https://github.com/ansible/product-demos) - Github Repo open to anyone. You can "bring your own AAP" and install the repo, which can then install other job templates and workflows to demo use-cases.
- [https://red.ht/apd-sandbox](https://red.ht/apd-sandbox) - This is a demo enviornment (For Red Hat Employees only) that provisions a Red Hat OpenShift cluster with Ansible Automation Platform pre-installed. This will auto-load the product-demos repository and let you quickly concentrate on demos versus having to build your own AAP environment or home-lab.
<table>
<thead>
<tr>
<th>Resource</th>
<th>Link</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>GitHub repository</td>
<td><a target="_blank" href="https://github.com/ansible/product-demos">github.com/ansible/product-demos</a></td>
<td>Bring your own AAP and install the repo to load job templates and workflows for demo use cases</td>
</tr>
<tr>
<td>List of use cases</td>
<td><a target="_blank" href="https://ansible.github.io/product-demos/">ansible.github.io/product-demos</a></td>
<td>Browse the product demos catalog by category (Cloud, Linux, Windows, Network, OpenShift, Satellite, and more)</td>
</tr>
<tr>
<td>Launch on RHDP</td>
<td><a target="_blank" href="https://catalog.demo.redhat.com/catalog?search=rhel+automation&item=babylon-catalog-prod%2Fenterprise.aap-product-demos-cnv-aap25.prod">🚀 Launch Lab</a></td>
<td>Provision a pre-built AAP environment with product demos on the Red Hat Demo Platform</td>
</tr>
<tr>
<td>APD sandbox</td>
<td><a target="_blank" href="https://red.ht/apd-sandbox">red.ht/apd-sandbox</a></td>
<td>Demo environment for Red Hat employees — OpenShift cluster with AAP pre-installed and product demos loaded</td>
</tr>
</tbody>
</table>
29 changes: 26 additions & 3 deletions index.md
Original file line number Diff line number Diff line change
Expand Up @@ -299,10 +299,10 @@ patternfly: true
</span>
</div>
<div class="pf-v6-c-card__title">
<h3 class="pf-v6-c-card__title-text">Intro into Ansible Lightspeed with IBM watsonx Code Assistant</h3>
<h3 class="pf-v6-c-card__title-text">Getting started with automation coding assistant</h3>
</div>
<div class="pf-v6-c-card__body">
Introduction to Ansible Lightspeed with IBM watsonx Code Assistant for AI-powered content creation.
Use the Ansible VS Code extension's automation coding assistant to generate playbooks from plain-English descriptions.
</div>
<div class="pf-v6-c-card__footer">
<span class="pf-v6-c-label pf-m-outline pf-m-compact"><span class="pf-v6-c-label__content">TMM</span></span>
Expand Down Expand Up @@ -723,6 +723,29 @@ patternfly: true
</div>
</a>

<a href="./exercises/defend-contain-comply" target="_blank" class="card-link" data-tags="security,workshop,lab,2plushours,tmm">
<div class="pf-v6-c-card">
<div class="pf-v6-c-card__header">
<span class="pf-v6-c-label pf-m-green">
<span class="pf-v6-c-label__content">
<i class="fas fa-clock pf-v6-c-label__icon"></i>
2+ Hours
</span>
</span>
</div>
<div class="pf-v6-c-card__title">
<h3 class="pf-v6-c-card__title-text">Defend, Contain, Comply — Vulnerability Lifecycle Automation with Ansible Automation Platform</h3>
</div>
<div class="pf-v6-c-card__body">
Hands-on vulnerability management — detect and contain CVEs, apply policy-gated patching, and validate compliance with Ansible Automation Platform.
</div>
<div class="pf-v6-c-card__footer">
<span class="pf-v6-c-label pf-m-outline pf-m-compact"><span class="pf-v6-c-label__content">TMM</span></span>
<span class="pf-v6-c-label pf-m-outline pf-m-compact pf-m-blue"><span class="pf-v6-c-label__content">Workshop</span></span>
</div>
</div>
</a>

<div class="card-link" data-tags="security,workshop,lab,60to90min,tmm">
<div class="pf-v6-c-card">
<div class="pf-v6-c-card__header">
Expand Down Expand Up @@ -1197,7 +1220,7 @@ patternfly: true
</div>
</a>

<a target="_blank" href="https://catalog.demo.redhat.com/catalog?search=rhel+automation&item=babylon-catalog-prod%2Fenterprise.aap-product-demos-cnv-aap25.prod" class="card-link" data-tags="general,lab,under60min,nontmm">
<a target="_blank" href="./exercises/product_demos/" class="card-link" data-tags="general,lab,under60min,nontmm">
<div class="pf-v6-c-card">
<div class="pf-v6-c-card__header">
<span class="pf-v6-c-label pf-m-cyan">
Expand Down