56
Project Skylab: Helping You Get Your Cloud On Craig Balding Founder, cloudsecurity.org 1

Project Skylab: Helping You Get Your Cloud On

Embed Size (px)

DESCRIPTION

Presented at BruCON by Craig Balding, founder of cloudsecurity.org, this presentation outlines the design and implementation of Skylab - an on-demand security test lab. Relying solely on OSS components and making use of Infrastructure as a Service cloud services, you'll learn what you need to create inflatable test labs - spin up, down when you need it.

Citation preview

Page 1: Project Skylab: Helping You Get Your Cloud On

Project Skylab: Helping You Get Your Cloud On

Craig BaldingFounder, cloudsecurity.org

1

Page 2: Project Skylab: Helping You Get Your Cloud On

Disclaimer

The views and opinions expressed here are those of Craig Balding only and in no way

represent the views, positions or opinions - expressed or implied - of my employer or

anyone else.

2

Page 3: Project Skylab: Helping You Get Your Cloud On

3

Last year at Brucon, I talked about Cloud Security and broke new ground through using the Beer and Brewing as an analogy for cloud computing. The climax of that talk was significant after-cloud.

Page 4: Project Skylab: Helping You Get Your Cloud On

4

But as I sat there in the speaker room as the make-up crew and hairstylists did the best they could in the circumstances, I made myself a promise. If I got selected to talk in 2010 I would take things more seriously.

Page 5: Project Skylab: Helping You Get Your Cloud On

No More Gimmicks

5

Cloud Security is not a laughing matter.

Page 6: Project Skylab: Helping You Get Your Cloud On

6

No more clowning around.

Page 7: Project Skylab: Helping You Get Your Cloud On

Sorry

7

But my apology is two-fold. My blatant lies about gimmicks to one side...

Page 8: Project Skylab: Helping You Get Your Cloud On

The Cloud Security Broken Record

8

I was starting to feel like a stuck record, going on about high level cloud security issues.

Page 9: Project Skylab: Helping You Get Your Cloud On

9

I became an “expert source” on all things cloud security and strangely enough: cloud.

Page 10: Project Skylab: Helping You Get Your Cloud On

Again, sorry...

10

I promise to mend my ways. Hence, the birth of my Skylab project. Rather than just talking about it, lets do something with it. Something useful, something that might just draw you into my cloud...

Page 11: Project Skylab: Helping You Get Your Cloud On

11

But I wasn’t just challenging myself with Skylab. I’m challenging you, my fellow infosec pros. Perhaps you’re ignoring cloud, hoping it will just ‘blow over’. Or maybe, you’re convinced yourself you’re so busy, you just don’t have time to ‘get into it’. Or perhaps, you just haven’t seen the writing on the wall or believe its another dot com bust in the making.

Page 12: Project Skylab: Helping You Get Your Cloud On

s/LUKE/CLOUD?

12

We tend to take apply a ‘DEFAULT DENY’ rule to new tech. In the case of cloud, its been DEFAULT DROP. As a community it sometimes seems like our reactions sometimes cloud our vision. Why do we feel the need to be anti-something and thus not examine it critically and carefully? I think we do a dis-service to our employers when we do that.

Page 13: Project Skylab: Helping You Get Your Cloud On

Cloud Is Coming

13

I’m not here to make predictions about cloud. Personally, I see writing on the wall, but I’m not trying to convince you of that. Rather, I want to ask you a question.

Page 14: Project Skylab: Helping You Get Your Cloud On

What AreYou

Doing To

Keep Up?

14

What are you doing to keep up? Cloud is just the latest big thing. But before that we had virtualization, we had VoIP, we had converged networking. I think we all need to challenge ourselves a little more. Seek our own truths as it were. Stop paying attention and reacting to the endless media sound bites by people that clearly don’t get security. Do original research. Apply the new technologies for ourselves before the people that pay our wages do...

Page 15: Project Skylab: Helping You Get Your Cloud On

15

This boils down to something really simple. We have to find our Droids. Each of have droids to seek out. What Droids are you looking for? How hard are you looking? What are you waiting for? Don’t wait til you feel you’re ‘good enough’ or until ‘you have more free time’. I hope to offer you something that may make you change your mind.

Page 16: Project Skylab: Helping You Get Your Cloud On

16

For me, I wanted to commit a little more to building something. I wanted to find out what cloud technology I could use right now to do something useful for my own R&D purposes. There are many things that can get in your way, but one big one is....

Page 17: Project Skylab: Helping You Get Your Cloud On

F r i c t i o n

17

Friction is the enemy of your imagination. I don’t know about you, but for me its not having the right set up at the right time. I’m always trading one resource for another. My free disk space is *always* on the wrong machine. I can never run enough virtual machines... Not only that, I have whims. I also have a Wim (looks at Wim), but they are mostly 2 different things... I have kites I want to fly. I have ideas I want to quickly test. But most of them never see the light of day, which makes me feel sad and deprives me of valuable learning lessons. Why? Because of friction. Infrastructure friction. Changing my test network setup is a pain. I’ll have to shuffle resources around and make compromises as I don’t have an army of machines to play with. I’ll have to “make do” and collapse multiple workloads onto single machines. Virtual machines have certainly helped - they’ve given me more options than I had before. But at the same time virtual compute has highlighted that I can never own enough hardware (“I just want to run one more”). Plus I’ve got the virtual headache of managing an ever increasing stable of virtual machine images. I want my infrastructure to be malleable like code and my operations to be automated. Or to put it another way, I need some serious lubrication.

Page 18: Project Skylab: Helping You Get Your Cloud On

Prior Art

18

Along came project Skylab. This is my meta-idea. The idea that can help bring my other ideas to life. Skylab will help me fail faster and cheaper than I can today. This isn’t pessimism, this is how great ideas come to be - you just have to let all the bad ones get themselves out of you first.

Page 19: Project Skylab: Helping You Get Your Cloud On

Learn

Get Practical

Home Server RIP

Geekin’ Out

Open Source

Community Project

Motives

19

Page 20: Project Skylab: Helping You Get Your Cloud On

# whoami

Tech Security Lead @F500

UNIX Background

Pen-Test

Incident Response

EuroTrash SecurityPodcast

20

Page 21: Project Skylab: Helping You Get Your Cloud On

Do you use cloud storage?

Have you booted a machine in a public cloud?

Have you played with cloud network overlays?

3 Questions For You

21

Page 22: Project Skylab: Helping You Get Your Cloud On

Wannabe Cloudtroopers

22

Come to the darkside my friends. Embrace the cloud. Or at least dip your toe in it so you can backup whatever opinion you profer. If that doesn’t convince you, I’m offering free sea-shell hats for cloud converts.

Page 23: Project Skylab: Helping You Get Your Cloud On

On Demand Test Labs

23

So Skylabs is about on demand test labs. I’m sure you can think of times when you having an inflatable test lab that you can spin up and shutdown when you want could be pretty darn handy

Page 24: Project Skylab: Helping You Get Your Cloud On

Testing new/updated tools

NIDS/NIPS testing

Exploit testing

Target practice

24

On the offense side of security, there is target practice. Don’t be a dummy and ride exploits bareback. Tut tut. Always practice in a lab. For every action there is a reaction. Observe, learn, practice, profit. For your career with not be cut-short... But its not just pen-test labs...Capture the Flag, Hands-on Practicals when hiring so-called experienced pen-testers etc.

Page 25: Project Skylab: Helping You Get Your Cloud On

Package Golden Image as AMI

Upload, launch [1...n]

Apply patches, workarounds & run tests

Assurance Testing

25

Then on the defensive side of the house, what about someone to test your mitigating controls...or heaven forbid, patches! Deploying new security tools? Again, good to have a lab. Or 3. Or 7.

Page 26: Project Skylab: Helping You Get Your Cloud On

During a Pen-Test?

26

Need a disposable IP?Need to run a phishing scam?The latest svn update from the Social Engineer Toolkit burning a hole in your toolkit?

Page 27: Project Skylab: Helping You Get Your Cloud On

What’s your use case?

27

Page 28: Project Skylab: Helping You Get Your Cloud On

It’s a Commodity

28

The key to remember when thinking about cloud is that its a commodity. You get what you pay for. But sometimes, commodity is just what you want.

Page 29: Project Skylab: Helping You Get Your Cloud On

Infrastructure as a Service

29

So what are we talking about? We’re talking about using infrastructure as a service to create on-demand test labs. We’re intentionally confining ourselves to just 1 layer of the cloud services model: we’re ignoring Platform as a Service and Software as a Service. In fact, Skylab itself will have attributes of platform and software as a service in terms of doing some of the heavy lifting for you.

Page 30: Project Skylab: Helping You Get Your Cloud On

Design

30

Lets touch on some design principles

Page 31: Project Skylab: Helping You Get Your Cloud On

Design Principles

Hit common use cases

On demand

Infrastructure as code ("agility")

Cost-conscious

Hardware reuse: bring your own lab, or not

31

Need a disposable IP?Need to run a phishing scam?The latest svn update from the Social Engineer Toolkit burning a hole in your toolkit?

Page 32: Project Skylab: Helping You Get Your Cloud On

Design PrinciplesHypervisor agnostic: Xen, kvm, VMware

Security test lab "features"

Freedom: open source

Pragmatic: don't reinvent infrastructure wheels

Scriptable & Fun

32

Need a disposable IP?Need to run a phishing scam?The latest svn update from the Social Engineer Toolkit burning a hole in your toolkit?

Page 33: Project Skylab: Helping You Get Your Cloud On

Shopping for a Cloud Platform

33

Page 34: Project Skylab: Helping You Get Your Cloud On

API

Core

Source

Development

Decision Making

OPEN?

34

Page 35: Project Skylab: Helping You Get Your Cloud On

Private/Public/Hybrid

35

Page 36: Project Skylab: Helping You Get Your Cloud On

Private

36

Page 37: Project Skylab: Helping You Get Your Cloud On

Hybrid

37

Page 38: Project Skylab: Helping You Get Your Cloud On

RH Delta-cloud

38

Turbo charge your hybrid cloud with RedHats Delta Cloud...access more cloud providers

Page 39: Project Skylab: Helping You Get Your Cloud On

Don’t Forget

39

Leaving cloud compute instances running at the cloud provider does actually cost money. It is surprisingly easy to do though. Do it once and you’ll feel stupid, do it twice and you’ll find yourself writing a script to remind you not to feel stupid :)

Page 40: Project Skylab: Helping You Get Your Cloud On

Terms of Service

40

Know the terms of service of your hosting and/or cloud provider. Check clauses about introduction of malware in particular.

Page 41: Project Skylab: Helping You Get Your Cloud On

Cloud Networking

41

Page 42: Project Skylab: Helping You Get Your Cloud On

Public Cloud Networking 101

One NIC Per VM

Limited Routing

Basic Firewalls

42

Use cases

Page 43: Project Skylab: Helping You Get Your Cloud On

Overlay Networks

An overlay network is a computer network which is built on top of another network. Nodes in the overlay can be thought of as being connected by virtual or logical links, each of which corresponds to a path, perhaps through many physical links, in the underlying network

43

Use cases

Page 44: Project Skylab: Helping You Get Your Cloud On

Amazon VPC

44

Amazon recently opened up their Virtual Private Cloud, currently beta

This is a cloud provider specific network overlay

Hook up your existing network. Software VPN on your side, Hardware on their side.

All traffic traverses the customer gateway - no Internet access from within VPC

Can use existing AMIs and Elastic Block Storage

Amazon rapidly innovating - keep up with release details!

Page 45: Project Skylab: Helping You Get Your Cloud On

VPNCubed

45

The first overlay network service for the cloud market.

Based on OpenVPN, uses CohesiveFT created VMs as cloud VPN endpoints

Supports multicast.

Cross connect clouds, extend your home/business network

Supports Amazon EC2 and gogrid

Page 46: Project Skylab: Helping You Get Your Cloud On

Config Management

46

Page 47: Project Skylab: Helping You Get Your Cloud On

Chef from Opscode

47

Page 48: Project Skylab: Helping You Get Your Cloud On

The Practical

Bit(wakey, wakey)

48

Page 49: Project Skylab: Helping You Get Your Cloud On

DEMO: Sneak Peek

49

Page 50: Project Skylab: Helping You Get Your Cloud On

TO DO

Establish Amazon VPC Connection

Build Visibility VM (Splunk + extras)

Chef Recipes for Security Extras & CM

Build Range of Victim/Enterprise VMs

Create easy “DC Creator” front-end script

50

Page 51: Project Skylab: Helping You Get Your Cloud On

Beyond x86Multi-providerDocumentation

VMware SupportEnhanced routing

Explore ecosystem Improved Automation

Define more Use CasesMore Security Related AMIs

Futures

51

Page 52: Project Skylab: Helping You Get Your Cloud On

cloudsecurity.org

52

Check out cloudsecurity.org/resources for recommended reading on cloud security.

Page 53: Project Skylab: Helping You Get Your Cloud On

Project Updates

53

Recently created the cloud security forum (cloudsecurity.org/forum)- an independent hang out for IT and IT security people to discuss cloud security issues

Topic areas out as per CSA security domains

There’s a dedicated forum for Skylab which I’ll be posting to with progress updates.

If you have suggestions for Skylab, please share with me there.

Page 54: Project Skylab: Helping You Get Your Cloud On

CreditsStormtroopers: Stefan

http://stormtroopers365.com/

Creators of KVM, Xen, Qemu, libvirt, OpenNebula, DeltaCloud, Chef, libcloud

54

Stefan made some great images and all credit is due to him.

I’m also extremely grateful for all the open source software I’m gluing together for this project. Skylab would have been very difficult, it not impossible, for a sole person to piece together without all the effort from numerous developers.

Page 56: Project Skylab: Helping You Get Your Cloud On

56