28
Building a Secure Cloud SF Cloud Security Meetup 11/3/0211

Securing the Cloud

Embed Size (px)

DESCRIPTION

This "mini" version of my CSA Congress talk about building a secure cloud was given at the San Francisco Cloud Security Meetup in November, 2011.I got some great feedback while giving this talk, and will be applying it to an updated version of this deck which will be released during the CSA Congress, November 15th and 16th 2011.

Citation preview

Page 1: Securing the Cloud

Building a Secure CloudSF Cloud Security Meetup

11/3/0211

Page 2: Securing the Cloud

Slide 2

Intro

Page 3: Securing the Cloud

Slide 3

Why?

Page 4: Securing the Cloud

Slide 4

Why?

From http://www.ece.cmu.edu/~koopman/des_s99/sw_reliability/

Page 5: Securing the Cloud

Slide 5

Required functionality

“Basic” pieces:

Highly available infrastructure (HVM+Net+Storage)

Security pieces:

Encryption

Intrusion detection

Security monitoring

Page 6: Securing the Cloud

Slide 6

Security Monitoring

Centralized log management is a must.

As the cloud grows, the amount of data to process will be huge.

You need a system with relatively low false-positive rate.

Page 7: Securing the Cloud

Slide 7

Building a secure cloud

Setup hardware – lab first, if possible

Select software

Trial period

Move to production

Page 8: Securing the Cloud

Slide 8

Practice Makes Perfect

If you do this right, you will build, tear down, and rebuild this cloud several times as you learn from your (and your vendors) mistakes.

Page 9: Securing the Cloud

Slide 9

Who Do You Trust?

Who do you trust to build your secure cloud?

Yourself

Your staff

3rd party security/cloud professionals

Vendor support staff?

Page 10: Securing the Cloud

Slide 10

Who Do You Trust

From a vendor’s website:

Page 11: Securing the Cloud

Slide 11

Who Do You Trust?

Page 12: Securing the Cloud

Slide 12

Setup Basics

Harden Hypervisor OS

Layer Security

Use an automation suite

Page 13: Securing the Cloud

Slide 13

Selecting a Cloud Platform

Create a list of possible packages

Look for security features in each

Legwork – how have the maintainers treated security?

Pick two or three to test out

Trial period is mandatory.

Page 14: Securing the Cloud

Slide 14

Trial Period

Incorrect:Get softwareInstall softwareTest functionality

Page 15: Securing the Cloud

Slide 15

Trial Period

Incorrect:Get softwareInstall softwareTest functionality

Correct:Get softwareReview softwareInstall while monitoringUnderstand results of installationTest functionalityTest security…Profit

Page 16: Securing the Cloud

Slide 16

Review Software

If you’re lucky, your chosen software is either open-source or is at least human-readable.

Some things to look at:

Installer scripts

Startup scripts

Default configurations

Cronjobs or other automated processes

Main application

Inter-system connectivity

Page 17: Securing the Cloud

Slide 17

Review Software

Ask:

What does this code do to my already hardened system? Are firewalls disabled, or security measures removed?

What new software (and potential vulnerabilities) does it install?

What exactly is the code doing?

Is the application more trusting than it should be?

Where was the developer lazy?

Page 18: Securing the Cloud

Slide 18

Code Review

Page 19: Securing the Cloud

Slide 19

Monitor The Installation

The installation environment is yours – control it.

Capture a log of the installation process

Make sure IDS capture any changes made during installation

With your initial security configuration, the initial installation will probably not be successful.

Page 20: Securing the Cloud

Slide 20

Review Gathered Intelligence

Review the results of the install

Look for errors during installation

Some can be fixed by loosening security controls

Some must be fixed by vendor

Page 21: Securing the Cloud

Slide 21

Test Security

Standard security testing scenario: The app is insecure, question is if you have enough resources to find the weakness.

Low-hanging fruit: SQL Injection, XSS, lack of encryption, default values

Sweeter fruit: buffer overflows, non-standard (read: “bad”) encryption, bad resource handling

Do some threat modeling

Page 22: Securing the Cloud

Slide 22

Test Security

Network scan – Do a thorough scan, not just looking for known ports. Make sure you know where the application is listening, and what your firewall is allowing.

Vulnerability Scanner – applications that leverage open-source packages may come with known vulnerabilities

Don’t just perform network-based tests – test from on the box as well.

Fuzzing – when you find a particular input that looks like it was developed in-house without common libraries, throw a fuzzer at it.

Page 23: Securing the Cloud

Slide 23

Test Security

Page 24: Securing the Cloud

Slide 24

Sound familiar?

I’ve basically described a Secure Software Development Lifecycle (Secure SDLC)

As your organization grows in size, you’ll want to adopt several standardized processes:

Security reviews

Test, build, and release processes

Page 25: Securing the Cloud

Slide 25

Operations – Who Do You Trust?

How do you keep your new cloud running smoothly?

Monitor security and performance

Keep systems up-to-date

Troubleshoot issues as they arise

Page 26: Securing the Cloud

Slide 26

Operations – Who Do You Trust?

Page 27: Securing the Cloud

Slide 27

Follow a SSDLC (design, build, test, and run with security in mind)

Be confident in your security – have statistics and test results to confirm your state of security.

Do not trust vendors

Summary

Page 28: Securing the Cloud

Slide 28

Stay in Touch

Email – [email protected]

Twitter - @johnlkinsella