be mean to your code - devops days austin 2013

19
Be Mean to Your Code with Gauntlt

Post on 19-Oct-2014

1.172 views

Category:

Technology


0 download

DESCRIPTION

presented at DevOps Days Austin 2013

TRANSCRIPT

Page 1: Be Mean to Your Code - DevOps Days Austin 2013

Be Mean to Your Code with Gauntlt

Page 2: Be Mean to Your Code - DevOps Days Austin 2013

free phone calls

Page 3: Be Mean to Your Code - DevOps Days Austin 2013

1337 tools

Page 4: Be Mean to Your Code - DevOps Days Austin 2013

“[RISK ASSESSMENT] INTRODUCES A DANGEROUS FALLACY: THAT STRUCTURED INADEQUACY IS ALMOST AS GOOD AS ADEQUACY AND THAT UNDERFUNDED SECURITY EFFORTS PLUS RISK MANAGEMENT ARE ABOUT AS GOOD AS PROPERLY FUNDED SECURITY WORK” - MICHAL ZALEWSKI

Page 5: Be Mean to Your Code - DevOps Days Austin 2013

“Is this Secure?” -Your Customer

“It’s Certified”- You

Page 6: Be Mean to Your Code - DevOps Days Austin 2013

there’s a better way

Page 7: Be Mean to Your Code - DevOps Days Austin 2013

Your app

sslyze

dirb

nmap

curl

sqlmapgarmr

You

generic

Put your code through the Gauntlet

Page 8: Be Mean to Your Code - DevOps Days Austin 2013

security tools are confusing

Page 9: Be Mean to Your Code - DevOps Days Austin 2013

Gauntlt allows dev and ops and security to communicate

Page 10: Be Mean to Your Code - DevOps Days Austin 2013

$ gem install gauntlt

install gauntlt

Page 11: Be Mean to Your Code - DevOps Days Austin 2013

Feature: nmap attacks for example.com Background: Given "nmap" is installed And the following profile: | name | value | | hostname | example.com | | tcp_ping_ports | 22,25,80,443 |

Scenario: Verify server is open on expected ports When I launch an "nmap" attack with: """ nmap -F <hostname> """ Then the output should contain: """ 80/tcp open https """ Scenario: Verify that there are no unexpected ports open When I launch an "nmap" attack with: """ nmap -F <hostname> """ Then the output should not contain: """ 25/tcp """

Given

When

Then

When

Then

Page 12: Be Mean to Your Code - DevOps Days Austin 2013

$ gauntlt

Feature: nmap attacks for example.com

Background: Given "nmap" is installed And the following profile: | name | value | | hostname | example.com | | tcp_ping_ports | 22,25,80,443 |

Scenario: Verify server is open on expected ports When I launch an "nmap" attack with: """ nmap -F www.example.com """ Then the output should contain: """ 443/tcp open https """

1 scenario (1 failed)5 steps (1 failed, 4 passed)0m18.341s

running gauntlt with failing tests

Page 13: Be Mean to Your Code - DevOps Days Austin 2013

$ gauntlt

Feature: nmap attacks for example.com

Background: Given "nmap" is installed And the following profile: | name | value | | hostname | example.com | | tcp_ping_ports | 22,25,80,443 |

Scenario: Verify server is open on expected ports When I launch an "nmap" attack with: """ nmap -F www.example.com """ Then the output should contain: """ 443/tcp open https """

1 scenario (1 passed)5 steps (5 passed)0m18.341s

running gauntlt with passing tests

Page 14: Be Mean to Your Code - DevOps Days Austin 2013

Feature: nmap attacks for example.com Background: Given "nmap" is installed And the following profile: | name | value | | hostname | example.com | | tcp_ping_ports | 22,25,80,443 |

Scenario: Verify server is open on expected ports When I launch an "nmap" attack with: """ nmap -F <hostname> """ Then the output should contain: """ 80/tcp open https """ Scenario: Verify that there are no unexpected ports open When I launch an "nmap" attack with: """ nmap -F <hostname> """ Then the output should not contain: """ 25/tcp """

setup steps

verify tool

set config

Page 15: Be Mean to Your Code - DevOps Days Austin 2013

Feature: nmap attacks for example.com Background: Given "nmap" is installed And the following profile: | name | value | | hostname | example.com | | tcp_ping_ports | 22,25,80,443 |

Scenario: Verify server is open on expected ports When I launch an "nmap" attack with: """ nmap -F <hostname> """ Then the output should contain: """ 80/tcp open https """ Scenario: Verify that there are no unexpected ports open When I launch an "nmap" attack with: """ nmap -F <hostname> """ Then the output should not contain: """ 25/tcp """

attack

get config

Page 16: Be Mean to Your Code - DevOps Days Austin 2013

Feature: nmap attacks for example.com Background: Given "nmap" is installed And the following profile: | name | value | | hostname | example.com | | tcp_ping_ports | 22,25,80,443 |

Scenario: Verify server is open on expected ports When I launch an "nmap" attack with: """ nmap -F <hostname> """ Then the output should contain: """ 80/tcp open https """ Scenario: Verify that there are no unexpected ports open When I launch an "nmap" attack with: """ nmap -F <hostname> """ Then the output should not contain: """ 25/tcp """

assert

needle

haystack

Page 17: Be Mean to Your Code - DevOps Days Austin 2013

Supported Toolscurl

nmap

sslyze

Garmr

dirb

generic

Page 18: Be Mean to Your Code - DevOps Days Austin 2013

get started with gauntlt

github/gauntltgauntlt.org

videos tutorials@gauntlt

IRC #gauntltwe

help!

start here

cool vids!

Page 19: Be Mean to Your Code - DevOps Days Austin 2013

be mean to your code and win!

slideshare.com/wickett