mealkit

Preparing a Delicious Dish of Compliance from a Chef “Meal Kit”

You can also find this published as a Github Page

Description

Chef’s Premium Content is delivered fresh to you with only the finest ingredients of code. Utilizing that premium audit and remediation content (as I like to call it “meal kit”), I will teach you how to create a wrapper of compliance to deliver to your systems to ensure persistence and validation. Utilizing this method will get you from sous to head chef in the shortest time possible.

In this 90 Minute Workshop, we are going to create a wrapper cookbook with the premium STIG (Security Technical Implementation Guides), understand and implement waivers, use the Chef Infra remediation wrapper with exceptions, and deliver the content to a provided Ubuntu 20_04 server.

Prerequisites

For this Workshop to participate and follow along, you will need:

What we are doing in this Workshop

The idea of this workshop came from the work I did to create a new and updated Chef DEMO for Solution Architects to present to potential customers and existing customer base. What we are going to do is build three cookbook, one base cookbook, one compliance cookbook that holds just the STIG compliance profile(s) and one (really two) that contain the remediation content (and the wrapper for attributes to indicate which to apply or not apply.)

Other things we are going to learn in this workshop are:

Due to time constraints, we are only going to use the Ubuntu 20.04 content, but adding additional content and guarding for different platforms is relatively easy and repeatable.

What you should know at the end of this workshop

We are going to run our cookbook in three modes, client only (or base), audit only, and enforcement mode.

Some information about Chef Premium Content (Disclaimer)

NOTE: We are using and sharing Progress Chef proprietary content. This is for educational purposes only. Please do not use or share this content without proper authority. Please check with your Account Exec to verify that you are entitled to the Chef Premium Content. Typically it is sold with Chef InSpec as a part of our Compliance Automate SKU.

My Setup

It’s Go Time

Clone the base Mealkit cookbook from the Snohio org on github.

Setup Local Knife for this workshop

Setup your local KNIFE access with the information on the Assignments page.

# tandori
[tandori]
client_name = "tandori"
client_key = "~/mealkit/nothingtoseehere/tandori.pem"
chef_server_url = "https://mealkit.azure.chef-demo.com/organizations/tandori"
cookbook_path = ['~/mealkit/cookbooks']

All of the credentials are in ~/mealkit/nothingtoseehere/credentials. You can rename your existing file and put this in that same folder. On MacOS/Linux it is in ~/.chef/ and Windows in ~\AppData\Local\chef\.chef\.

Set your default profile to that profile (meal name). $env:CHEF_PROFILE = "tandori" for example.

PAUSE HERE FOR TROUBLESHOOTING

Log into Automate to look around for a minute

Looking at the base cookbook

Apply the base to your two nodes

Review in Automate

Download the Compliance Profile from Automate

Review audit.rb recipe

Policyfile time

Check it out in Automate

Download and apply the Premium Content

Premium Content is shared on mostly monthly basis to customers who have subscribed, via email with links to download as in the example below:

Premium Content Download

This is covered in the Chef Blog Post How to Setup Seamless Premium Content Delivery for Compliance Audits & Remediation

We are going to review the remediation_stig_ubuntu2004_v1_2_0_wrapper\attributes\default.rb file and look at what is "enabled": "false"

Last Policyfile

Automate Infra stuff

Question time

I'm and Expert

That’s a Wrap