SlideShare a Scribd company logo
MCollectiveOpenSCAPValidation
DistributedOpenSCAPComplianceValidation
withMCollective
Trevor Vaughan - Onyx Point, Inc.
License:Attribution-ShareAlike3.0Unported(CCBY-SA3.0)
3
HiEverybody!
Puppet Certified Professional
Puppet Certified Developer
Red Hat Certified Engineer
Co-Founder of (2009)
Puppet Labs Services Partner
Government Contracting
Automation, Data Flow, and Cloud Infrastructure Consulting
FOSS Supporters
Onyx Point, Inc.
WhatWeWillCover
Intro to SCAP
Intro to MCollective
The SCAP Security Guide
Development Process
Plugin Capabilities
The Future
Demo
IntroductiontoSCAP
WhatisSCAP
Security Automation Content Protocol
Language Definitions For
Configuration
Patch Checking
Vulnerability Checking
Technical Control Compliance
Security Measurement
NIST - 800-126
RelevantSCAPLanguages
XCCDF
Extensible Configuration Checklist Description Format
Provides mappings from Policy to Assessment
OVAL
Open Vulnerability Assessment Language
Provides the actual checks against the system
WhyThisisImportant
A recognized standard for Federal Systems
Often used for FISMA compliance checking
Supported by most major vendors
Ability to switch between approved tools (or write your own!)
Everyone should support Open Standards!
Puppet Camp DC 2015: Distributed OpenSCAP Compliance Validation with MCollective
Whatisthe ?SSG
Official SCAP baseline project for
Red Hat Enterprise Linux
Fedora Linux
Java
JBoss
OpenStack
Upstream project for the DISA STIG
Creators of USGCB Red Hat baseline content
GET INVOLVED!
It's Open Source
Help Shape Rational Policy
MCollective
Whatis ?MCollective
A Plugin-centric Command and Control Framework
Designed to Work at Scale
Publish/Subscribe AMQP Middleware
Security Friendly
Middleware Enables Few Port Connections
AMQP Provides Inbuilt Failover and Scaling
All Messages are Encrypted
Regardless of Transport
Plugin System
Enhanced Authentication/Authorization
Auditing and Restriction
MCollectiveCommunication
MCollectiveCommunication
MCollectiveCommunication
MCollectiveCommunication
MCollectiveCommunication
MCollectiveCommunication
MCollectiveCommunication
MCollectiveCommunication
MCollectiveCommunication
(R.I.Pienaar- )Summary Sparklines
PluginDevelopmentProcess
WritingtheAgent:DDL
action 'scan', :description => 'Run an OpenSCAP scan.' do
display :always
# Required Parameters
input :profile,
:prompt => 'Profile Name',
:description => 'A specific Profile to run.',
:type => :string,
:validation => '.*',
:optional => false,
:maxlength => 1024
output :score,
:description => 'OpenSCAP Scan Score',
:display_as => 'Score',
:default => '0'
summarize do
aggregate summary(:score)
end
WritingtheAgent:Capabilities
Know what you need to run by hand first
Remember: This part runs on the server
$ oscap xccdf eval --profile 'my-profile' --cpe cpe-dict.xml 
--results /tmp/scan.xml os-xccdf.xml
With SCAP, and are your friends
Load the XML and dig for gold
Pry Nokigiri
WritingtheAgent:Functionality
1. Create your Scaffold
2. Add your actions
3. Rinse and Repeat
module MCollective
module Agent
class Oscap<RPC::Agent
require 'mcollective/agent/oscap/util'
include MCollective::Agent::Oscap::Util
require 'mcollective/agent/oscap/profiles'
include MCollective::Agent::Oscap::Profiles
action 'profiles' do
get_profiles(xccdf(request))
end
end
end
end
WritingtheApplication
The User Interface to the System
Independent Validation
Receive and Process Results
def main
rpcutil = rpcclient('oscap') # The name of your agent goes here
printrpc rpcutil.send(configuration[:command],configuration)
printrpcstats :summarize => true
end
Testing!
The Easy Way
some boxes
Run 'mco oscap' a lot
The Right Way
Lots of examples with
I'll get around to it one day ;-)
Vagrant Up
Rspec
existing plugins
DoingHorribleThings
I have these great RHEL Profiles....
But, can I run them on CentOS?
Why Yes, now you can!
Agents run Ruby and Ruby can manipulate data
Therefore...you can convert profiles on the fly!
No, this is not supported by the SSG team and my sincerest apologies to
Shawn Wells
AreYouAwake?!
PluginCapabilities
OperatingSystemSupport
Currently Tested on RHEL7 and CentOS7
Tested Against the SSG Profiles
Other Systems should work
ProfileDiscovery
Need to know what profiles exist before scanning
Mines the XCCDF file for a list of supported profiles
Returns the list from all Nodes
$ mco oscap profiles
master
OpenSCAP Profiles: ["rht-ccp"]
Finished processing 1 / 1 hosts in 172.97 ms
OVALDiscovery
Many times only a targeted scan is required
No obvious list of what scan targets are availble
Extracts the common name of plugins from the system
$ mco oscap oval_checks
master
OVAL Checks: ["partition_for_tmp => oval:ssg:def:272",
"partition_for_var => oval:ssg:def:151",
"partition_for_var_log => oval:ssg:def:334",
# Lots more...
"snmpd_not_default_password => oval:ssg:def:164"]
Finished processing 1 / 1 hosts in 204.91 ms
PerformingaFullScan
Simplest scan form
May take a LONG time
$ mco oscap scan -p rht-ccp -i ALL
master
Scan Results:
Score: 64.405869
Summary of Score:
64.405869 = 1
Finished processing 1 / 1 hosts in 31973.00 ms
Pfft...ScoresarefortheWeak
Yep,That'saLOTofData
$ mco oscap scan -p rht-ccp -i ALL -f
master
Scan Results: {"partition_for_tmp"=>{
:severity=>"low",
:result=>"fail"
},
# 71 More Results...
"sshd_use_approved_ciphers"=>{
:severity=>"medium",
:result=>"fail"
}}
Score: 64.405869
Summary of Score:
64.405869 = 1
Finished processing 1 / 1 hosts in 10236.46 ms
SomethingMoreReasonable
$ mco oscap scan -p rht-ccp -i package_telnet_removed
master
Scan Results: Pass
Score: 0
Summary of Score:
0 = 1
Finished processing 1 / 1 hosts in 737.32 ms
Puppet Camp DC 2015: Distributed OpenSCAP Compliance Validation with MCollective
Future:AutomatedPatchScanning
We can scan OVAL Content
Vendors put out OVAL Patch Checks
Security authorities should be able to scan systems as data is
published
Future:ProfileMangling
We can already mangle Red Hat to CentOS
Why not more?!
Only Target Scans of a Particular Level
Scan all nodes for High risk items
Disable Individual Checks
By regex or name
Disable Long Running Checks
Change Setting Thresholds on the Fly
Ex: Check that password length > 32
For targetd scans
Write a custom profile for large changes
Future:BetterReporting
Using the default reports for now
Ideally would have rich summaries
Complex analytics done elsewhere
Future: OutputLogStash
For advanced reporting
Send useful summary to MCO clients
Send tagged data to LogStash
Best of both worlds!
Demonstration
Puppet Camp DC 2015: Distributed OpenSCAP Compliance Validation with MCollective
Resources
The MCollective Plugin for OpenSCAP
Please help make it better!
The source code for this presentation.
The official documentation on writing MCollective Agents and
Applications.
The definitive book on MCollective by
Excellent SCAP Learning Material by
The Plugin
Presentation Source
Puppet Labs' MCollective Documentation
Learning MCollective Book
Jo Rhett
SCAP & STIG Workshop
Shawn Wells
PresentationInformation
This presentation was made possible by:
byReveal.js Hakim El Hattab
ThanksforComing!
Questions?

More Related Content

ODP
Automating OpenSCAP with Foreman
PPTX
Puppet - an introduction
PPTX
Gude for C++11 in Apache Traffic Server
PDF
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
PPTX
Laravel 5.6 new features and updates
PDF
Apache Whirr
PPTX
AMC Minor Technical Issues
PDF
Performance Tuning Your Puppet Infrastructure - PuppetConf 2014
Automating OpenSCAP with Foreman
Puppet - an introduction
Gude for C++11 in Apache Traffic Server
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
Laravel 5.6 new features and updates
Apache Whirr
AMC Minor Technical Issues
Performance Tuning Your Puppet Infrastructure - PuppetConf 2014

What's hot (20)

PDF
Setup 3 Node Kafka Cluster on AWS - Hands On
PPTX
ChinaNetCloud - The Zabbix Database - Zabbix Conference 2014
PPTX
Testing in Scala. Adform Research
PPTX
Spark intro by Adform Research
PDF
On Centralizing Logs
PDF
Whatthestack using Tempest for testing your OpenStack deployment
PDF
SaltConf14 - Forrest Alvarez, Choice Hotels - Salt Formulas and States
PPTX
Control your deployments with Capistrano
PDF
Automating the Network
KEY
PyCon US 2012 - Web Server Bottlenecks and Performance Tuning
PPTX
The tale of 100 cve's
PPTX
Ansible module development 101
PDF
Consul - service discovery and others
PDF
NginX - good practices, tips and advanced techniques
PDF
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...
PPTX
Centralized Application Configuration with Spring and Apache Zookeeper
PPTX
PDF
Ansible not only for Dummies
PPT
SaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStack
PDF
Tuning Solr for Logs
Setup 3 Node Kafka Cluster on AWS - Hands On
ChinaNetCloud - The Zabbix Database - Zabbix Conference 2014
Testing in Scala. Adform Research
Spark intro by Adform Research
On Centralizing Logs
Whatthestack using Tempest for testing your OpenStack deployment
SaltConf14 - Forrest Alvarez, Choice Hotels - Salt Formulas and States
Control your deployments with Capistrano
Automating the Network
PyCon US 2012 - Web Server Bottlenecks and Performance Tuning
The tale of 100 cve's
Ansible module development 101
Consul - service discovery and others
NginX - good practices, tips and advanced techniques
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...
Centralized Application Configuration with Spring and Apache Zookeeper
Ansible not only for Dummies
SaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStack
Tuning Solr for Logs
Ad

Similar to Puppet Camp DC 2015: Distributed OpenSCAP Compliance Validation with MCollective (14)

PDF
2015-06-25 Red Hat Summit 2015 - Security Compliance Made Easy
PDF
2016 -11-18 OpenSCAP Workshop Coursebook
PDF
2014 04-17 Applied SCAP, Red Hat Summit 2014
PDF
2014-07-31 customer convergence applied scap
PDF
2012-10-16 Mil-OSS Working Group: Introduction to SCAP Security Guide
PDF
OpenSCAP Overview(security scanning for docker image and container)
PDF
SCAP for openSUSE
PDF
OpenSCAP Overview(security scanning for docker image and container)
PPT
2016-08-18 Red Hat Partner Security Update
PDF
2014-07-30 defense in depth scap workbook
PDF
2013-06-12 Compliance Made Easy, Red Hat Summit 2013
PDF
2013-03-25 SCAP Workshop Workbook
PPT
Security Content Automation Protocol and Web Application Security
PDF
OSMC 2012 | Distributed Monitoring mit NSClient++ by Michael Medin
2015-06-25 Red Hat Summit 2015 - Security Compliance Made Easy
2016 -11-18 OpenSCAP Workshop Coursebook
2014 04-17 Applied SCAP, Red Hat Summit 2014
2014-07-31 customer convergence applied scap
2012-10-16 Mil-OSS Working Group: Introduction to SCAP Security Guide
OpenSCAP Overview(security scanning for docker image and container)
SCAP for openSUSE
OpenSCAP Overview(security scanning for docker image and container)
2016-08-18 Red Hat Partner Security Update
2014-07-30 defense in depth scap workbook
2013-06-12 Compliance Made Easy, Red Hat Summit 2013
2013-03-25 SCAP Workshop Workbook
Security Content Automation Protocol and Web Application Security
OSMC 2012 | Distributed Monitoring mit NSClient++ by Michael Medin
Ad

More from Puppet (20)

PPTX
Puppet Community Day: Planning the Future Together
PPTX
The Evolution of Puppet: Key Changes and Modernization Tips
PPTX
Can You Help Me Upgrade to Puppet 8? Tips, Tools & Best Practices for Your Up...
PPTX
Bolt Dynamic Inventory: Making Puppet Easier
PPTX
Customizing Reporting with the Puppet Report Processor
PPTX
Puppet at ConfigMgmtCamp 2025 Sponsor Deck
PPTX
The State of Puppet in 2025: A Presentation from Developer Relations Lead Dav...
PPTX
Let Red be Red and Green be Green: The Automated Workflow Restarter in GitHub...
PDF
Puppet camp2021 testing modules and controlrepo
PPTX
Puppetcamp r10kyaml
PDF
2021 04-15 operational verification (with notes)
PPTX
Puppet camp vscode
PDF
Modules of the twenties
PDF
Applying Roles and Profiles method to compliance code
PPTX
KGI compliance as-code approach
PDF
Enforce compliance policy with model-driven automation
PDF
Keynote: Puppet camp compliance
PPTX
Automating it management with Puppet + ServiceNow
PPTX
Puppet: The best way to harden Windows
PPTX
Simplified Patch Management with Puppet - Oct. 2020
Puppet Community Day: Planning the Future Together
The Evolution of Puppet: Key Changes and Modernization Tips
Can You Help Me Upgrade to Puppet 8? Tips, Tools & Best Practices for Your Up...
Bolt Dynamic Inventory: Making Puppet Easier
Customizing Reporting with the Puppet Report Processor
Puppet at ConfigMgmtCamp 2025 Sponsor Deck
The State of Puppet in 2025: A Presentation from Developer Relations Lead Dav...
Let Red be Red and Green be Green: The Automated Workflow Restarter in GitHub...
Puppet camp2021 testing modules and controlrepo
Puppetcamp r10kyaml
2021 04-15 operational verification (with notes)
Puppet camp vscode
Modules of the twenties
Applying Roles and Profiles method to compliance code
KGI compliance as-code approach
Enforce compliance policy with model-driven automation
Keynote: Puppet camp compliance
Automating it management with Puppet + ServiceNow
Puppet: The best way to harden Windows
Simplified Patch Management with Puppet - Oct. 2020

Recently uploaded (20)

PPTX
history of c programming in notes for students .pptx
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
System and Network Administraation Chapter 3
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Introduction to Artificial Intelligence
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Digital Strategies for Manufacturing Companies
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
Online Work Permit System for Fast Permit Processing
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
history of c programming in notes for students .pptx
Design an Analysis of Algorithms II-SECS-1021-03
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
How to Migrate SBCGlobal Email to Yahoo Easily
VVF-Customer-Presentation2025-Ver1.9.pptx
System and Network Administraation Chapter 3
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Odoo Companies in India – Driving Business Transformation.pdf
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Internet Downloader Manager (IDM) Crack 6.42 Build 41
ISO 45001 Occupational Health and Safety Management System
2025 Textile ERP Trends: SAP, Odoo & Oracle
Introduction to Artificial Intelligence
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Odoo POS Development Services by CandidRoot Solutions
How to Choose the Right IT Partner for Your Business in Malaysia
Digital Strategies for Manufacturing Companies
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Online Work Permit System for Fast Permit Processing
Wondershare Filmora 15 Crack With Activation Key [2025

Puppet Camp DC 2015: Distributed OpenSCAP Compliance Validation with MCollective