compliance at velocity with chef

29
Compliance@Velocity James Casey [email protected]

Upload: james-casey

Post on 04-Aug-2015

50 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Compliance at Velocity with Chef

Compliance@VelocityJames Casey

[email protected]

Page 2: Compliance at Velocity with Chef

The promise of the coded business

Page 3: Compliance at Velocity with Chef

Transformation to high-velocity

Page 5: Compliance at Velocity with Chef

The conflict between compliance and velocity

Page 6: Compliance at Velocity with Chef

The compliance challenge

Page 7: Compliance at Velocity with Chef

The velocity challenge

Page 8: Compliance at Velocity with Chef

The compliance cycle

Page 9: Compliance at Velocity with Chef

Reconciling compliance and velocity

Page 10: Compliance at Velocity with Chef

The automation cycle

Page 11: Compliance at Velocity with Chef

Analyze

• Be clear about what the desired system outcome actually is

• Take regulatory requirements and enterprise policies into account

• Choosing the desired state and expressing it at an appropriate level of detail can be more challenging problems than writing the automation code itself!

Page 12: Compliance at Velocity with Chef

Specify

• Closing the gap between specifying and implementing regulations requires an unambiguous expression of the requirement in human- and machine-readable form.

• A domain-specific formal language (DSL) can achieve this level of clarity and precision.

• Chef recipes, tests and compliance rules are ideal for the task.

Page 13: Compliance at Velocity with Chef

Example

package 'apache2'

service 'apache2' do action [:start, :enable]end

Page 14: Compliance at Velocity with Chef

Test

• Automated tests give confidence that the requirement has actually been met

• Writing the tests first give developers and system administrators a clear set of standards that must be met for compliant systems.

• Automated tests scale better than manual tests.

Page 15: Compliance at Velocity with Chef

Example

Page 16: Compliance at Velocity with Chef

Certify

• A separate certification step is not always required• In some cases, regulatory requirements or

organizational processes do require a final human sign off

• The better your tests, the shorter the certification step can be

• Be sure not to confuse certification and testing

Page 17: Compliance at Velocity with Chef

The changing role of the compliance officer

Page 18: Compliance at Velocity with Chef

A single accelerated cycle

Page 19: Compliance at Velocity with Chef

Chef Analytics for Compliance

Page 20: Compliance at Velocity with Chef

"Built-in controls support quality and empowerment initiatives, avoiding unnecessary costs and enabling quick response to changing conditions."

- Davis & Schiller, "IT Auditing: Using Controls to Protect Information Assets", 2nd Ed.

Page 21: Compliance at Velocity with Chef

To Operate at Velocity, Teams Need:

A policy application & execution engine

Chef client/server

A system to deliver changes at speed,

safely, reliably, predictably

Chef Delivery

A system to visualize all changes

happening in real-time, whether

automatic or manual

Chef analytics: Insights

A system to enforce node state

and report on violations for compliance

reasons

Chef analytics: Compliance

Page 22: Compliance at Velocity with Chef

Chef Insights

• Provides visibility into changes happening across your entire infrastructure

Chef Analytics for Compliance

• Make changes at speed while ensuring infrastructure is compliant with formal or informal policy

Integrations and Notifications

• Send data to external systems like Splunk

• Send arbitrary events to messaging or alerting systems

Page 23: Compliance at Velocity with Chef

Chef Compliance

Page 24: Compliance at Velocity with Chef

How it Works

control_group 'services' do

control 'Windows Firewall' do

let(:firewall) { service('MpsSvc') }

it 'should be enabled and running' do

expect(firewall).to be_enabled

expect(firewall).to be_running

expect(firewall).to have_start_mode('Automatic')

end

end

end

recipe

cookbook

server

Page 25: Compliance at Velocity with Chef

How it Works

PS C:\> chef-client --audit-mode enabled

...

Starting audit phase

Audit phase exception:

Audit phase found failures – 0/1 audits failed

...

Running handlers:

Running handlers complete

Chef Client failed. 2 resources updated in 7.640621371 seconds

0 Audits succeeded

Page 26: Compliance at Velocity with Chef

How it Works

Failures:

1) services Windows Firewall should be enabled and running Failure/Error: expect(firewall).to have_start_mode('Automatic') expected ...

Page 27: Compliance at Velocity with Chef

Node State Overview

Page 28: Compliance at Velocity with Chef

Audit Mode Demo

Page 29: Compliance at Velocity with Chef

Questions ?