Top Banner
Automating Compliance with InSpec Sydney AWS Security Meetup August 10, 2017
64

Automating AWS Compliance with InSpec

Jan 22, 2018

Download

Technology

Matt Ray
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Automating AWS Compliance with InSpec

Automating Compliance with InSpecSydney AWS Security Meetup

August 10, 2017

Page 2: Automating AWS Compliance with InSpec

Matt RayManager, Solutions Architect – APJChef [email protected]@mattray

Page 3: Automating AWS Compliance with InSpec
Page 4: Automating AWS Compliance with InSpec
Page 5: Automating AWS Compliance with InSpec
Page 6: Automating AWS Compliance with InSpec

SSH Control

"SSH supports two different protocol versions. The original version, SSHv1, was subject to a number of security issues. Please use SSHv2 instead to avoid these."

Page 7: Automating AWS Compliance with InSpec

How will I verify this?

Page 8: Automating AWS Compliance with InSpec

Whip up a one-liner!

grep "^Protocol" /etc/ssh/sshd_config | sed 's/Protocol //'

Page 9: Automating AWS Compliance with InSpec

Apache Server Information Leakage

• Description

This Directive Controls wheather Server response field is sent back to clients includes a description of Generic OS Type of the Server.

This allows attackers to identify web servers details greatly and increases the efficiency of any attack,as security vulnerabilities are dependent upon specific software versions.

• How to Test

In order to test for ServerToken configuration, one should check the Apache configuration file.

• Misconfiguration

ServerTokens Full

• Remediation

Configure the ServerTokens directive in the Apache configuration to value of Prod or ProductOnly. This tells Apache to only return "Apache" in the Server header, returned on every page request.

ServerTokens ProdorServerTokens ProductOnly

https://www.owasp.org/index.php/SCG_WS_Apache

Page 10: Automating AWS Compliance with InSpec

More grep and sed!

grep "^ServerTokens" /etc/httpd/conf/httpd.conf | sed 's/ServerTokens //'

Page 11: Automating AWS Compliance with InSpec
Page 12: Automating AWS Compliance with InSpec
Page 13: Automating AWS Compliance with InSpec
Page 14: Automating AWS Compliance with InSpec
Page 15: Automating AWS Compliance with InSpec
Page 16: Automating AWS Compliance with InSpec

Compliance

Page 17: Automating AWS Compliance with InSpec
Page 18: Automating AWS Compliance with InSpec

Two-thirds of organizations did not adequately test the security of all in-scope systems

Page 19: Automating AWS Compliance with InSpec

Key Trends

• While individual rule compliance is up, testing of security systems is down

• Sustainability is low. Fewer than a third of companies were found to be still fully compliant less than a year after successful validation.

Page 20: Automating AWS Compliance with InSpec
Page 21: Automating AWS Compliance with InSpec

Shell Scripts

grep "^Protocol" /etc/ssh/sshd_config | sed 's/Protocol //'grep "^ServerTokens" /etc/httpd/conf/httpd.conf | sed 's/ServerTokens //'

Page 22: Automating AWS Compliance with InSpec

Infrastructure Code

package 'httpd' doaction :install

end

service 'httpd' doaction [ :start, :enable ]

end

Page 23: Automating AWS Compliance with InSpec

We Have A Communications Problem

Page 24: Automating AWS Compliance with InSpec
Page 25: Automating AWS Compliance with InSpec

Security != Compliance

Page 26: Automating AWS Compliance with InSpec
Page 27: Automating AWS Compliance with InSpec
Page 28: Automating AWS Compliance with InSpec
Page 29: Automating AWS Compliance with InSpec
Page 30: Automating AWS Compliance with InSpec
Page 31: Automating AWS Compliance with InSpec
Page 32: Automating AWS Compliance with InSpec

Compliance Language

Page 33: Automating AWS Compliance with InSpec

One LanguageLinux

Page 34: Automating AWS Compliance with InSpec

One LanguageLinux, Windows

Page 35: Automating AWS Compliance with InSpec

Windows

Page 36: Automating AWS Compliance with InSpec

One LanguageLinux, Windows, BSD, Solaris, AIX, HP-UX, ...

Page 37: Automating AWS Compliance with InSpec

Examples of Available Resourcesapache_conf

apt

audit_policy

auditd_conf

auditd_rules

bond

bridge

command

crontab

directory

etc_group

file

gem

group

host

inetd_conf

interface

iptables

kernel_module

kernel_parameter

limits_conf

login_defs

mount

mysql_conf

mysql_session

npm

ntp_conf

oneget

os

os_env

package

parse_config

parse_config_file

passwd

pip

port

postgres_conf

postgres_session

powershell

processes

registry_key

security_policy

service

ssh_config

sshd_config

user

windows_feature

yum

Page 38: Automating AWS Compliance with InSpec

What is it not?

• IDS / IPS• Firewall• Antivirus• Pentesting tool

Page 39: Automating AWS Compliance with InSpec

One LanguageLinux, Windows, BSD, Solaris, AIX, HP-UX, ...

Bare-metal

Page 40: Automating AWS Compliance with InSpec

One LanguageLinux, Windows, BSD, Solaris, AIX, HP-UX, ...

Bare-metal, VMs

Page 41: Automating AWS Compliance with InSpec

One LanguageLinux, Windows, BSD, Solaris, AIX, HP-UX, ...

Bare-metal, VMs, Containers

Page 42: Automating AWS Compliance with InSpec

One LanguageLinux, Windows, BSD, Solaris, AIX, HP-UX, ...

Bare-metal, VMs, Containers

Nodes

Page 43: Automating AWS Compliance with InSpec

One LanguageLinux, Windows, BSD, Solaris, AIX, HP-UX, ...

Bare-metal, VMs, Containers

Nodes, Databases

Page 44: Automating AWS Compliance with InSpec

DB Testing

Page 45: Automating AWS Compliance with InSpec

One LanguageLinux, Windows, BSD, Solaris, AIX, HP-UX, ...

Bare-metal, VMs, Containers

Nodes, Databases, APIs

Page 46: Automating AWS Compliance with InSpec

Cloud Testing

Page 47: Automating AWS Compliance with InSpec

InSpec

> inspec exec test.rb

Test a machine remotely via SSH

> inspec exec test.rb -i identity.key -t ssh://[email protected]

Test your machine locally

> inspec exec test.rb -t winrm://[email protected] --password super

Test Docker Container

> inspec exec test.rb -t docker://5cc8837bb6a8

Test a machine remotely via WinRM AG

EN

TL

ESS

Page 48: Automating AWS Compliance with InSpec

Operating System & Application Coverage

• Microsoft Windows• Red Hat Enterprise Linux• Ubuntu Linux• SUSE Linux Enterprise Server• Oracle Enterprise Linux• AIX• HP-UX• Solaris

• VMware ESXi• MySQL• Oracle • PostgreSQL• Tomcat• SQL Server• IIS• HTTP request

Page 49: Automating AWS Compliance with InSpec

One LanguageLinux, Windows, BSD, Solaris, AIX, HP-UX, ...

Bare-metal, VMs, Containers

Nodes, Databases, APIs, Cloud Platforms, ...

Page 50: Automating AWS Compliance with InSpec

Open Source Community

•https://inspec.io•https://github.com/chef/inspec•https://supermarket.chef.io•https://learn.chef.io•#inspec in https://chefcommunity.slack.com

Page 51: Automating AWS Compliance with InSpec

CONTINUOUS COMPLIANCE AUTOMATION

InSpec - Part of your InfoSec toolchain

FIREWALL ANTIVIRUS

INTRUSION DETECTION/PREVENTION

PENETRATIONTESTING

Page 52: Automating AWS Compliance with InSpec

Continuous Workflow

Detect

Correct

Page 53: Automating AWS Compliance with InSpec

The Chef Automate PlatformContinuous Automation for High Velocity IT

Workflow • Local development • Integration • Tooling (APIs & SDKs)

COLLABORATE

▪ Package▪ Test▪ Approve

BUILD

▪ Provision▪ Configure▪ Execute▪ Update

DEPLOY

▪ Secure▪ Comply▪ Audit▪ Measure▪ Log

MANAGE

Infrastructure Automation Compliance AutomationApplication Automation

OSS AUTOMATION ENGINES

Increase Speed

▪ Package infrastructure and app configuration as code

▪ Continuously automate infrastructure and app updates

Improve Efficiency

▪ Define and execute standard workflows and automation

▪ Audit and measure effectiveness of automation

Decrease Risk

▪ Define compliance rules as code

▪ Deliver continuous compliance as part of standard workflow

Page 54: Automating AWS Compliance with InSpec

AWS OpsWorks for Chef AutomateNative Amazon Service

Managed Chef Server

▪ Utilizes RDS and other native services

▪ May be externally accessible

AWS Native

▪ Auto Scaling in your VPC

▪ Automatic backups and upgrades

OpsWorks Stacks

▪ New name for previous version of OpsWorks

● Partnership between Amazon and Chef, jointly developed and maintained

● Fully managed AWS service with frequent updates

● Fully compatible with open source Chef

● Amazon is your support and billing

● All Chef Automate features will be supported

○ Visibility and Workflow today

○ Compliance soon

○ Currently Northern Virginia, Oregon & Ireland with more planned

Page 55: Automating AWS Compliance with InSpec
Page 56: Automating AWS Compliance with InSpec

InSpec-AWS

• https://github.com/chef/inspec-aws

Page 57: Automating AWS Compliance with InSpec

aws_ec2

Page 58: Automating AWS Compliance with InSpec

aws_iam_access_key

Page 59: Automating AWS Compliance with InSpec

aws_iam_password_policy

Page 60: Automating AWS Compliance with InSpec

aws_iam_root_user

Page 61: Automating AWS Compliance with InSpec

aws_iam_user

Page 62: Automating AWS Compliance with InSpec

aws_iam_users

Page 63: Automating AWS Compliance with InSpec

Dig into the new way of learning about Chef, Automation, and DevOps.

Self-paced training on Linux and Windows and much more!

learn.chef.io

Page 64: Automating AWS Compliance with InSpec