VAULT MODERN SECRETS MANAGEMENT

Similar documents
Security Architecture Whitepaper

Complying with PCI Data Security

Alliance Key Manager Solution Brief

Dashlane Security Whitepaper

Onegini Token server / Web API Platform

AdRadionet to IBM Bluemix Connectivity Quickstart User Guide

The Security Behind Sticky Password

Securing Data in Oracle Database 12c

BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: Security Note

Policy Management: The Avenda Approach To An Essential Network Service

Securing Privileges in the Cloud. A Clear View of Challenges, Solutions and Business Benefits

High Security Online Backup. A Cyphertite White Paper February, Cloud-Based Backup Storage Threat Models

Computer Security: Principles and Practice

SECUR IN MIRTH CONNECT. Best Practices and Vulnerabilities of Mirth Connect. Author: Jeff Campbell Technical Consultant, Galen Healthcare Solutions

FileCloud Security FAQ

Key Management Interoperability Protocol (KMIP)

SAP Mobile - Webinar Series SAP Mobile Platform 3.0 Security Concepts and Features

What s New in MySQL 5.7 Security Georgi Joro Kodinov Team Lead MySQL Server General Team

KeySecure CUSTOMER RELEASE NOTES. Contents. Version: Issue Date: 2 February 2015 Document Part Number: , Rev A.

Use Enterprise SSO as the Credential Server for Protected Sites

Check Point FDE integration with Digipass Key devices

Introduction to the EIS Guide

Acano solution. Security Considerations. August E

Installation Guides - Information required for connection to the Goldfields Institute s (GIT) Wireless Network

APIs The Next Hacker Target Or a Business and Security Opportunity?

7.1. Remote Access Connection

How To Use Aws.Com

NCSU SSO. Case Study

2013 AWS Worldwide Public Sector Summit Washington, D.C.

RSA SecurID Ready Implementation Guide

Kenna Platform Security. A technical overview of the comprehensive security measures Kenna uses to protect your data

WWPass External Authentication Solution for IBM Security Access Manager 8.0

SOOKASA WHITEPAPER SECURITY SOOKASA.COM

White Paper. Protecting Mobile Apps with Citrix XenMobile and MDX. citrix.com

How To Use Salesforce Identity Features

PCI Compliance Considerations

Copyright Pivotal Software Inc, of 10

Installation Guide ARGUS Symphony 1.6 and Business App Toolkit. 6/13/ ARGUS Software, Inc.

Auto-Scaling WebApplication. Securityinthe Cloud. Stephen Coty. Chief Security Evangelist

RSA SecurID Ready Implementation Guide

Apache Milagro (incubating) An Introduction ApacheCon North America

An Oracle White Paper June Security and the Oracle Database Cloud Service

2: Do not use vendor-supplied defaults for system passwords and other security parameters

NetBrain Security Guidance

Cloud Security Through Threat Modeling. Robert M. Zigweid Director of Services for IOActive

HTTP Reverse Proxy Scenarios

Configuring Security Features of Session Recording

Web Application Firewall

Tenable for CyberArk

BlackBerry Enterprise Service 10. Universal Device Service Version: Administration Guide

Introduction to the Mobile Access Gateway

Advanced Service Desk Security

BeBanjo Infrastructure and Security Overview

Ensuring the security of your mobile business intelligence

Develop a process for applying updates to systems, including verifying properties of the update. Create File Systems

Configure Single Sign on Between Domino and WPS

Opsview in the Cloud. Monitoring with Amazon Web Services. Opsview Technical Overview

Druva Phoenix: Enterprise-Class. Data Security & Privacy in the Cloud

Installation Guide. SafeNet Authentication Service

SafeNet KMIP and Google Cloud Storage Integration Guide

Alliance Key Manager A Solution Brief for Technical Implementers

Building Secure Applications. James Tedrick

RSA SecurID Ready Implementation Guide

White Paper How Noah Mobile uses Microsoft Azure Core Services

Cisco EXAM Implementing Cisco Threat Control Solutions (SITCS) Buy Full Product.

MS Enterprise Library 5.0 (Logging Application Block)

The Essential Security Checklist. for Enterprise Endpoint Backup

Alfresco Enterprise on AWS: Reference Architecture

With Great Power comes Great Responsibility: Managing Privileged Users

Key Management Best Practices

365 Cloud Storage. Security Brief

Deploy Remote Desktop Gateway on the AWS Cloud

Access Management Analysis of some available solutions

Secure Messaging Server Console... 2

Exploring ADSS Server Signing Services

VMware Horizon Workspace Security Features WHITE PAPER

Comodo Mobile Device Manager Software Version 1.0

DEPLOYMENT GUIDE Version 1.0. Deploying the BIG-IP Edge Gateway for Layered Security and Acceleration Services

MySQL Security: Best Practices

Criteria for web application security check. Version

Secret Server Qualys Integration Guide

The increasing popularity of mobile devices is rapidly changing how and where we

Offline Data Transfer to VMWare vcloud Hybrid Service

MIGRATIONWIZ SECURITY OVERVIEW

IoT Security Platform

Deployment Guide AX Series with Active Directory Federation Services 2.0 and Office 365

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Securing sensitive data at Rest ProtectFile, ProtectDb and ProtectV. Nadav Elkabets Presale Consultant

Junio SSL WebLogic Oracle. Guía de Instalación. Junio, SSL WebLogic Oracle Guía de Instalación CONFIDENCIAL Página 1 de 19

Mirantis OpenStack Express: Security White Paper

Best Practices for Database Security

Webmail Using the Hush Encryption Engine

Outlook Express. Make Changes in Red: Open up Outlook Express. From the Menu Bar. Tools to Accounts - Click on Mail Tab.

Transcription:

VAULT MODERN SECRETS MANAGEMENT

CLICK ENGAGE TO RATE RATE 12 SESSIONS AND GET THE SUPERCOOL GOTO PRIZE

SETH VARGO @sethvargo

SECRET MANAGEMENT

WHAT IS "SECRET"?

SECRET VS. SENSITIVE

SECRET SENSITIVE

SECRET SENSITIVE DB CREDENTIALS SSL CA/CERTIFICATES CLOUD ACCESS KEYS ENCRYPTION KEYS WIFI PASSWORDS SOURCE CODE

SECRET SENSITIVE DB CREDENTIALS PHONE NUMBERS SSL CA/CERTIFICATES MOTHER'S MAIDEN NAME CLOUD ACCESS KEYS EMAIL ADDRESSES ENCRYPTION KEYS DATACENTER LOCATIONS WIFI PASSWORDS CUSTOMER PII SOURCE CODE EMAIL/CHAT

SECRET SENSITIVE DB CREDENTIALS SSL CA/CERTIFICATES CLOUD ACCESS KEYS ENCRYPTION KEYS WIFI PASSWORDS PHONE NUMBERS MOTHER'S MAIDEN NAME EMAIL ADDRESSES DATACENTER LOCATIONS CUSTOMER PII SOURCE CODE EMAIL/CHAT

SECRET SENSITIVE DB CREDENTIALS SSL CA/CERTIFICATES CLOUD ACCESS KEYS ENCRYPTION KEYS WIFI PASSWORDS PHONE NUMBERS MOTHER'S MAIDEN NAME EMAIL ADDRESSES DATACENTER LOCATIONS CUSTOMER PII SOURCE CODE EMAIL/CHAT

SECRET SENSITIVE ANYTHING THAT MAKES THE NEWS

SECRET MANAGEMENT 1.0

HOW DO I DISTRIBUTE SECRETS? How do applications get secrets? How do humans acquire secrets? How are secrets updated? How is a secret revoked?

secure master cat config.son { } "mysql_user": "root", "mysql_pass": "s3(ret"

WHY NOT CONFIG MANAGEMENT? Centrally stored Eventually consistent No access control No auditing No revocation

WHY NOT (ONLINE) DATABASES? RDBMS, Consul, ZooKeeper, etc Not designed for secrets Limited access controls Typically plaintext storage No auditing or revocation abilities

HOW TO HANDLE SECRET SPRAWL? Secret material is distributed Who has access? When were secrets used? What is the attack surface? What do we do in the event of a compromise?

STATE OF THE WORLD 1.0 Secret sprawl Decentralized keys Limited visibility Poorly defined break glass procedures

SECRET MANAGEMENT 2.0

VAULT MODERN SECRETS MANAGEMENT

VAULT GOALS Single source for secrets Programmatic application access (Automated) Operator access (Manual) Practical security Modern data center friendly

VAULT FEATURES Secure secret storage (in-memory, Consul, file, postgres, and more) Dynamic secrets Leasing, renewal, and revocation Auditing Rich ACLs Multiple client authentication methods

SECURE SECRET STORAGE Data is encrypted in transit and at rest 256bit AES in GCM mode TLS 1.2 for clients No HSM required

secure master vault write secret/foo bar=bacon Success! Data written to: secret/foo

secure master vault read secret/foo Key Value lease_id secret/foo/2a798f6f-00da-8d48-659a-ef1c969f23ed lease_duration 2592000 lease_renewablefalse bar bacon

DYNAMIC SECRETS Never provide root credentials to clients Provide limited access credentials based on role Generated on demand when requested Leases are enforceable via revocation Audit trail can identify point of compromise

secure master vault mount postgresql Successfully mounted 'postgresql' at 'postgresql'!

^config/connection$ secure master vault help postgresql ## DESCRIPTION The PostgreSQL backend dynamically generates database users. After mounting this backend, configure it using the endpoints within the "config/" path. ## PATHS The following paths are supported by this backend. To view help for any of the paths below, use the help command with any route matching the path pattern. Note that depending on the policy of your auth token, you may or may not be able to access certain paths.

secure master \ vault write postgresql/config/connection \ value="user=hashicorp password=hashicorp database=hashicorp" Success! Data written to: postgresql/config/connection

secure master \ vault write postgresql/roles/production name=production Success! Data written to: postgresql/roles/production

secure master vault read postgresql/creds/production Key Value lease_id postgresql/creds/production/2d483e34-2d82-476... lease_duration 3600 lease_renewabletrue password 80e6ffa5-d6e9-beb1-e630-9af0c41299bb username vault-root-1432058168-8081

secure master vault read postgresql/creds/production Key Value lease_id postgresql/creds/production/a99b952e-222c-6eb... lease_duration 3600 lease_renewabletrue username vault-root-1432058254-7887 password 17a21ba7-8726-97e4-2088-80b7a756702b

DYNAMIC SECRETS Pluggable Backends AWS, Consul, PostgreSQL, MySQL, Transit, Generic Grow support over time

LEASING, RENEWAL, AND REVOCATION Every Secret has a Lease* Secrets are revoked at the end of the lease unless renewed Secrets may be revoked early by operators Break Glass procedure Dynamic Secrets make leases enforceable Not possible for arbitrary secrets Not possible for transit backend

AUDITING Pluggable Audit Backends Request and Response Logging Prioritizes Safety over Availability Secrets Hashed in Audits Searchable, but not reversible

RICH ACLS Role Based Policies Restrict access to need to know Default Deny, must be explicitly allowed

FLEXIBLE AUTH Pluggable Backends Tokens, GitHub, AppID, User/Pass, TLS Certs Machine-Oriented vs Operator-Oriented

HIGH AVAILABILITY Consul used for leader election Active/Standby Automatic failover

UNSEALING THE VAULT Data in Vault encrypted Vault requires encryption key Must be provided online

secure master vault status Sealed: true Key Shares: 10 Key Threshold: 7 Unseal Progress: 6 High-Availability Enabled: false

secure master vault unseal Key (will be hidden):

secure master vault unseal Key (will be hidden): Sealed: false Key Shares: 10 Key Threshold: 7 Unseal Progress: 0

WATCHING THE WATCHMEN Master Key is the key to the kingdom All data could be decrypted Protect against insider attack Two-Man Rule

SHAMIR SECRET SHARING Protect Encrypt Key with Master Key Split Master Key into N shares T shares to recompute Master Quorum of key holders required to unseal Default N:5, T:3

SUMMARY Solves the Secret Sprawl Problem Protects against external threats (Cryptosystem) Protects against internal threads (ACLs and Secret Sharing)

BUILDING ON VAULT

SECURITY FOUNDATION Base of Trust Core Infrastructure Flexible Architecture Foundation for Security Infrastructure

PERSONALLY IDENTIFIABLE INFORMATION PII information is everywhere SSN, CC#, OAuth Tokens, etc. Email? Physical address? Security of storage? Scalability of storage? Audibility of access?

PII WITH VAULT transit backend in Vault Encrypt/Decrypt data in transit Avoid secret management in client applications Builds on Vault foundation

TRANSIT BACKEND Web server has no encryption keys Requires two-factor compromise (Vault + Datastore) Decouples storage from encryption and access control

CERTIFICATE AUTHORITY Vault acts as Internal CA Vault stores root CA keys Dynamic secrets - generates signed TLS keys No more tears

MUTUAL TLS FOR SERVICES Dynamic CA allows all services to generate keys All internal service communication can use mutual TLS End-to-End encryption inside the datacenter

VAULT IN PRACTIVE

USING VAULT API Driven JSON/HTTPS Rich CLI for humans and scripts Rich client libraries

APPLICATION INTEGRATION Vault-aware Native client libraries (go, ruby, rails, python, node, and more) Secrets only in-memory Safest but high-touch

CONSUL TEMPLATE INTEGRATION Secrets templatized into application configuration Vault is transparent Lease management is automatic Non-secret configuration still via Consul

secure master cat secrets.yml.ctmpl {{ with $secret := vault "postgresql/creds/production" }} --- production: adapter: postgresql database: postgres.service.consul username: {{$secret.data.username}} password: {{$secret.data.password}} pool: {{key "production/postgres/pool"}} {{ end }}

REMEMBER TO RATE THIS SESSION TWEET @SETHVARGO FOR QUESTIONS TOO

THANK YOU! QUESTIONS? hashicorp/vault https://vaultproject.io security@hashicorp.com