SlideShare une entreprise Scribd logo
1  sur  44
Télécharger pour lire hors ligne
Teleport at Decisiv
Hunter Madison
What we will cover
Who is Hunter?
What does Decisiv do?
Securing Developer Access
Implementation Decisions
Q&A Session
Security Audits
Auditable Standards
● ISO 27002
● ISO 9000
● PCI DSS
● FedRamp
● NIST 500-292
● GDPR
● CCPA
Two Core Questions
● Who can do what, when?
● Why did someone do something then?
Designing Secure Systems
● When Security Gets in the Way - Interactions, volume 16, issue 6: Norman, D.
○ “The audience, either not understanding the rationale or simply
disagreeing with the necessity for the procedures imposed upon
them, see these as impediments to accomplishing their jobs.”
● Music Software & Interface Design: Steinberg's Dorico - Tantacrul
○ “The reality of modern life is that we are now required to keep
learning software all the time. It’s overwhelming, and a designer’s job
should be to try and reduce that pain as much as possible.”
● It's not good enough to be secure
● It has to be usable
Users
Users Don’t Change...
● End user workflows are generally set in stone
○ Workflows don’t change as the company scales up
○ What is ok with 5 developers isn't ok with 60
● Anything change made that an end user doesn’t see
immediate benefit in is hard to sell
...But The World Does
● Your company will grow in size and attack surface
○ Laptops will get stolen
○ You will need more cloud resources
● What works for five developers won’t work for sixty,
six hundred, or six thousand
The User Role
The User Role
● Creates user accounts
● Adds ssh keys
● (Sometimes) tries to keep the UIDs consistent
● (Sometimes) sets up a .bash_profile
● (Sometimes) configures sudoers
The User Role Has Problems
● What happens when new people join and need access?
○ Hopefully, their key is provided to you the day they start
○ And they don’t need access immediately
○ Script needs to get run everywhere
● What happens when people leave?
○ Script needs to run everywhere again
○ Revocations don’t happen as fast as they should
● What happens when access is used to change application or server state
improperly?
○ Installing apps onto boxes scheduled for decommissioning
○ App consoles
● What happens when one developer really wants to connect their blackberry to
the vpn and ssh into boxes?
How We Fixed It
Teleport At A High Level
● It’s a highly available cluster of authentication and proxy
servers which create an auditable and IDP secured SSH
bastion host
● It’s also X.509 Certificate Authority
● It can store its state locally or in services like S3 and
DynamoDB
○ For this talk, we are assuming that Teleport is
configured to use S3 and DynamoDB
● It records end user actions into multiple auditable forms
IDP
Configure your IDP
● Teleport benefits from having a good ontology inside
of your IDP
● Your IDP pushes...
○ Groups which become Teleport roles
○ Attributes which are interpolated when evaluating
roles
● All of this data is accessible to you at login time
● Making good use of it cuts down on the administrative
headache significantly
First Time Provisioning Workflow
Use Labels and Metadata
Interpolation
commands:
- name: instance_id
command: ['/bin/curl', 'http://169.254.169.254/latest/meta-data/instance-id']
period: 24h0m0s
- name: account_id
command: ['/bin/sh', '-c', 'curl -s
http://169.254.169.254/latest/dynamic/instance-identity/document|jq -r .accountId']
period: 24h0m0s
- name: public_ip
command: ['/bin/curl', 'http://169.254.169.254/latest/meta-data/public-ipv4']
period: 24h0m0s
- name: app_owner
command: ['/opt/bin/get_tag’, ‘App_Owner’]
period: 24h0m0s
Labels in the Teleport UI
Use Labels and Metadata Interpolation
kind: role
metadata:
name: developers
spec:
allow:
logins:
- developers # '{{ external["ssh_user"] }}'
node_labels:
app_owner: '{{ external["team"] }}'
deny:
logins: null
node_labels:
app_owner: operations
options:
cert_format: standard
client_idle_timeout: 8h0m0s
enhanced_recording:
- command
- network
forward_agent: false
max_session_ttl: 8h0m0s
port_forwarding: true
version: v3
SSH
It’s Just SSH
Host proxy.example.com
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
CheckHostIP no
CertificateFile
~/.tsh/keys/example.com/%u@example.com-cert.pub
IdentityFile ~/.tsh/keys/example.com/%u@example.com
Port 3023
Host *.apps.example.com
Port 3022
ProxyCommand ssh %r@proxy.example.com -s proxy:%h:%p
StrictHostKeyChecking no
Really, Just SSH
● Your tools that use SSH and can read ~/.ssh/ssh_config will work with Teleport
too!
○ tsh login and go!
○ Provided it supports certificate authentication (IDEA-216138)
● I’ve tested
○ Ansible (Parminko)
○ Inspec (Train)
○ Capistrano (Net::SSH)
○ OpenSSH
● Windows
○ Enable OpenSSH for Windows
○ tsh.exe only provides the signed certificates
Who started this?
/proc/<pid>/environ
● Teleport sets environment variables for each session
○ The two to know TELEPORT_SESSION and
SSH_TELEPORT_USER
● If you are unsure who started a process (like a tmux or
screen session) check the environ and find the
TELEPORT_SESSION
Terminal Example
Looking at Sessions, Proactively
Session Recording
● Teleport records every session for playback
● These are great to watch, but hard to search through
at scale
Events Table
● With “Enhanced Session Recording” enabled, a new
“session.command” event becomes available.
● It’s worth getting this data into your SIEM/Logging solution
○ NEW_IMAGE
● This gives you a really quick and easy way to find and log
“problem commands”
○ Screen
○ Tmux
○ psql
SIEM Integration
Not Just SSH
You Have A X509 CA
● Every time a user logs in with tsh, they get a newly refreshed X509 certificate
● You can use these client certs to authenticate with a lot of tools that don’t
necessarily support SSO out of the box
○ OpenVPN
○ Postgres
○ Mariadb
● For server certs start with `tctl get --with-secrets cert_authority`
● Same session expiration rules apply
● Role support is application dependent
○ You can see groups (as organization), valid logins (as locality) and the
username (as common name) in the subject
○ Your mileage will vary if the application supports parsing that data
Demo
Implementation Decisions
Teleport Deployment
“User” Tier
● End Users
○ Everywhere!
○ We are a global, remote company
○ Okta as an IDP
● Nodes
○ Lots of AWS accounts
○ We do account vending
○ Join tokens via cross account STS/SSM
Cluster Mode
● Tunneled
○ Single cluster
○ Nodes connect via the internet
○ Single SAML SP
● Trusted
○ Each account gets is own cluster
○ Single SAML SP shared via a primary cluster
○ We used this up to 4.0
○ When it breaks, it *hurts*
○ Users need to be aware of cluster switches
Load Balancing Tier
● We run Teleport in a HA setup
● Application Load Balancers
○ Change your timeout to get the web console to work.
○ You can let teleport generate its own self signed SSL cert. ALBs don’t check SSL.
● Network Load Balancers
○ You will see constant errors in the logs because of the heartbeat.
Application Tier
● We run Teleport via an autoscaling group with one host per AZ
● We stack the Auth and Proxy components onto the same hosts
● Use SSM for your “break glass” mechanism
Database Tier
● We use S3 to store sessions and Dynamo to store state and events
● This makes our auth/proxy hosts stateless
○ Really nice for upgrades
● Events in Dynamo open up SIEM integrations
○ DyanmoDB streams with NEW_IMAGE
Teleport Deployment
Any Questions?
Recommended Next Steps
Download Teleport
https://gravitational.com/teleport/download
Join Teleport Community
https://community.gravitational.com
Read the Teleport Admin Guide
https://gravitational.com/teleport/docs/
Teleport at Decisiv
Hunter Madison

Contenu connexe

Tendances (20)

TLS - Transport Layer Security
TLS - Transport Layer SecurityTLS - Transport Layer Security
TLS - Transport Layer Security
 
SSL Secure socket layer
SSL Secure socket layerSSL Secure socket layer
SSL Secure socket layer
 
Ssl (Secure Sockets Layer)
Ssl (Secure Sockets Layer)Ssl (Secure Sockets Layer)
Ssl (Secure Sockets Layer)
 
How ssl works
How ssl worksHow ssl works
How ssl works
 
ssl
sslssl
ssl
 
Introduction to SSL/TLS
Introduction to SSL/TLSIntroduction to SSL/TLS
Introduction to SSL/TLS
 
Transport layer security (tls)
Transport layer security (tls)Transport layer security (tls)
Transport layer security (tls)
 
Ssl (Secure Socket Layer)
Ssl (Secure Socket Layer)Ssl (Secure Socket Layer)
Ssl (Secure Socket Layer)
 
Basics of ssl
Basics of sslBasics of ssl
Basics of ssl
 
TLS v1.3
TLS v1.3TLS v1.3
TLS v1.3
 
SSL
SSLSSL
SSL
 
OpenSSL
OpenSSLOpenSSL
OpenSSL
 
secure socket layer
secure socket layersecure socket layer
secure socket layer
 
Introduction to SSL and How to Exploit & Secure
Introduction to SSL and How to Exploit & SecureIntroduction to SSL and How to Exploit & Secure
Introduction to SSL and How to Exploit & Secure
 
SSL TLS Protocol
SSL TLS ProtocolSSL TLS Protocol
SSL TLS Protocol
 
SSL
SSLSSL
SSL
 
encryption presentation (SAGE-WA, 2010-10-05)
encryption presentation (SAGE-WA, 2010-10-05)encryption presentation (SAGE-WA, 2010-10-05)
encryption presentation (SAGE-WA, 2010-10-05)
 
SSl/TLS Analysis
SSl/TLS AnalysisSSl/TLS Analysis
SSl/TLS Analysis
 
Secure Socket Layer
Secure Socket LayerSecure Socket Layer
Secure Socket Layer
 
SSL/TLS
SSL/TLSSSL/TLS
SSL/TLS
 

Similaire à Secure Developer Access at Decisiv

Easy Microservices with JHipster - Devoxx BE 2017
Easy Microservices with JHipster - Devoxx BE 2017Easy Microservices with JHipster - Devoxx BE 2017
Easy Microservices with JHipster - Devoxx BE 2017Deepu K Sasidharan
 
Devoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipsterDevoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipsterJulien Dubois
 
Higher Level Malware
Higher Level MalwareHigher Level Malware
Higher Level MalwareCTruncer
 
Crikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor WorkshopCrikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor WorkshopVelocidex Enterprises
 
Not my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructureNot my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructureYshay Yaacobi
 
MobSecCon 2015 - Burning Marshmallows
MobSecCon 2015 - Burning Marshmallows MobSecCon 2015 - Burning Marshmallows
MobSecCon 2015 - Burning Marshmallows Ron Munitz
 
Pen Testing Development
Pen Testing DevelopmentPen Testing Development
Pen Testing DevelopmentCTruncer
 
CodeMotion tel aviv 2015 - burning marshmallows
CodeMotion tel aviv 2015 - burning marshmallowsCodeMotion tel aviv 2015 - burning marshmallows
CodeMotion tel aviv 2015 - burning marshmallowsRon Munitz
 
Dev Ops & Secops & Bears, oh my!
Dev Ops & Secops & Bears, oh my!Dev Ops & Secops & Bears, oh my!
Dev Ops & Secops & Bears, oh my!Dwolla
 
Q Con New York 2015 Presentation - Conjur
Q Con New York 2015 Presentation - ConjurQ Con New York 2015 Presentation - Conjur
Q Con New York 2015 Presentation - Conjurconjur_inc
 
The State of the Veil Framework
The State of the Veil FrameworkThe State of the Veil Framework
The State of the Veil FrameworkVeilFramework
 
The Supporting Role of Antivirus Evasion while Persisting
The Supporting Role of Antivirus Evasion while PersistingThe Supporting Role of Antivirus Evasion while Persisting
The Supporting Role of Antivirus Evasion while PersistingCTruncer
 
XP Days 2019: First secret delivery for modern cloud-native applications
XP Days 2019: First secret delivery for modern cloud-native applicationsXP Days 2019: First secret delivery for modern cloud-native applications
XP Days 2019: First secret delivery for modern cloud-native applicationsVlad Fedosov
 
HAProxy as Egress Controller
HAProxy as Egress ControllerHAProxy as Egress Controller
HAProxy as Egress ControllerJulien Pivotto
 
DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.Vlad Fedosov
 
Thick Client Testing Basics
Thick Client Testing BasicsThick Client Testing Basics
Thick Client Testing BasicsNSConclave
 
Cpp In Soa
Cpp In SoaCpp In Soa
Cpp In SoaWSO2
 
Debugging Your Debugging Tools: What to do When Your Service Mesh Goes Down
Debugging Your Debugging Tools: What to do When Your Service Mesh Goes DownDebugging Your Debugging Tools: What to do When Your Service Mesh Goes Down
Debugging Your Debugging Tools: What to do When Your Service Mesh Goes DownAspen Mesh
 
Voxxed Days Villnius 2015 - Burning Marshmallows
Voxxed Days Villnius 2015 - Burning MarshmallowsVoxxed Days Villnius 2015 - Burning Marshmallows
Voxxed Days Villnius 2015 - Burning MarshmallowsRon Munitz
 
Montreal MuleSoft_Meetup_16-Aug.pptx
Montreal MuleSoft_Meetup_16-Aug.pptxMontreal MuleSoft_Meetup_16-Aug.pptx
Montreal MuleSoft_Meetup_16-Aug.pptxshubhamkalsi2
 

Similaire à Secure Developer Access at Decisiv (20)

Easy Microservices with JHipster - Devoxx BE 2017
Easy Microservices with JHipster - Devoxx BE 2017Easy Microservices with JHipster - Devoxx BE 2017
Easy Microservices with JHipster - Devoxx BE 2017
 
Devoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipsterDevoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipster
 
Higher Level Malware
Higher Level MalwareHigher Level Malware
Higher Level Malware
 
Crikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor WorkshopCrikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor Workshop
 
Not my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructureNot my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructure
 
MobSecCon 2015 - Burning Marshmallows
MobSecCon 2015 - Burning Marshmallows MobSecCon 2015 - Burning Marshmallows
MobSecCon 2015 - Burning Marshmallows
 
Pen Testing Development
Pen Testing DevelopmentPen Testing Development
Pen Testing Development
 
CodeMotion tel aviv 2015 - burning marshmallows
CodeMotion tel aviv 2015 - burning marshmallowsCodeMotion tel aviv 2015 - burning marshmallows
CodeMotion tel aviv 2015 - burning marshmallows
 
Dev Ops & Secops & Bears, oh my!
Dev Ops & Secops & Bears, oh my!Dev Ops & Secops & Bears, oh my!
Dev Ops & Secops & Bears, oh my!
 
Q Con New York 2015 Presentation - Conjur
Q Con New York 2015 Presentation - ConjurQ Con New York 2015 Presentation - Conjur
Q Con New York 2015 Presentation - Conjur
 
The State of the Veil Framework
The State of the Veil FrameworkThe State of the Veil Framework
The State of the Veil Framework
 
The Supporting Role of Antivirus Evasion while Persisting
The Supporting Role of Antivirus Evasion while PersistingThe Supporting Role of Antivirus Evasion while Persisting
The Supporting Role of Antivirus Evasion while Persisting
 
XP Days 2019: First secret delivery for modern cloud-native applications
XP Days 2019: First secret delivery for modern cloud-native applicationsXP Days 2019: First secret delivery for modern cloud-native applications
XP Days 2019: First secret delivery for modern cloud-native applications
 
HAProxy as Egress Controller
HAProxy as Egress ControllerHAProxy as Egress Controller
HAProxy as Egress Controller
 
DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.
 
Thick Client Testing Basics
Thick Client Testing BasicsThick Client Testing Basics
Thick Client Testing Basics
 
Cpp In Soa
Cpp In SoaCpp In Soa
Cpp In Soa
 
Debugging Your Debugging Tools: What to do When Your Service Mesh Goes Down
Debugging Your Debugging Tools: What to do When Your Service Mesh Goes DownDebugging Your Debugging Tools: What to do When Your Service Mesh Goes Down
Debugging Your Debugging Tools: What to do When Your Service Mesh Goes Down
 
Voxxed Days Villnius 2015 - Burning Marshmallows
Voxxed Days Villnius 2015 - Burning MarshmallowsVoxxed Days Villnius 2015 - Burning Marshmallows
Voxxed Days Villnius 2015 - Burning Marshmallows
 
Montreal MuleSoft_Meetup_16-Aug.pptx
Montreal MuleSoft_Meetup_16-Aug.pptxMontreal MuleSoft_Meetup_16-Aug.pptx
Montreal MuleSoft_Meetup_16-Aug.pptx
 

Plus de Teleport

Top 10 Hacks of the Last Decade
Top 10 Hacks of the Last DecadeTop 10 Hacks of the Last Decade
Top 10 Hacks of the Last DecadeTeleport
 
Introducing Teleport cloud
Introducing Teleport cloudIntroducing Teleport cloud
Introducing Teleport cloudTeleport
 
Teleport 5.0 release webinar
Teleport 5.0 release webinarTeleport 5.0 release webinar
Teleport 5.0 release webinarTeleport
 
Industry Best Practices For SSH - DevOps.com Webinar
Industry Best Practices For SSH - DevOps.com WebinarIndustry Best Practices For SSH - DevOps.com Webinar
Industry Best Practices For SSH - DevOps.com WebinarTeleport
 
DevOpsTO meetup 2018-08
DevOpsTO meetup 2018-08DevOpsTO meetup 2018-08
DevOpsTO meetup 2018-08Teleport
 
Introduction to Gravitational Teleport
Introduction to Gravitational TeleportIntroduction to Gravitational Teleport
Introduction to Gravitational TeleportTeleport
 

Plus de Teleport (6)

Top 10 Hacks of the Last Decade
Top 10 Hacks of the Last DecadeTop 10 Hacks of the Last Decade
Top 10 Hacks of the Last Decade
 
Introducing Teleport cloud
Introducing Teleport cloudIntroducing Teleport cloud
Introducing Teleport cloud
 
Teleport 5.0 release webinar
Teleport 5.0 release webinarTeleport 5.0 release webinar
Teleport 5.0 release webinar
 
Industry Best Practices For SSH - DevOps.com Webinar
Industry Best Practices For SSH - DevOps.com WebinarIndustry Best Practices For SSH - DevOps.com Webinar
Industry Best Practices For SSH - DevOps.com Webinar
 
DevOpsTO meetup 2018-08
DevOpsTO meetup 2018-08DevOpsTO meetup 2018-08
DevOpsTO meetup 2018-08
 
Introduction to Gravitational Teleport
Introduction to Gravitational TeleportIntroduction to Gravitational Teleport
Introduction to Gravitational Teleport
 

Dernier

The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 

Dernier (20)

The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 

Secure Developer Access at Decisiv

  • 2. What we will cover Who is Hunter? What does Decisiv do? Securing Developer Access Implementation Decisions Q&A Session
  • 4. Auditable Standards ● ISO 27002 ● ISO 9000 ● PCI DSS ● FedRamp ● NIST 500-292 ● GDPR ● CCPA
  • 5. Two Core Questions ● Who can do what, when? ● Why did someone do something then?
  • 6. Designing Secure Systems ● When Security Gets in the Way - Interactions, volume 16, issue 6: Norman, D. ○ “The audience, either not understanding the rationale or simply disagreeing with the necessity for the procedures imposed upon them, see these as impediments to accomplishing their jobs.” ● Music Software & Interface Design: Steinberg's Dorico - Tantacrul ○ “The reality of modern life is that we are now required to keep learning software all the time. It’s overwhelming, and a designer’s job should be to try and reduce that pain as much as possible.” ● It's not good enough to be secure ● It has to be usable
  • 8. Users Don’t Change... ● End user workflows are generally set in stone ○ Workflows don’t change as the company scales up ○ What is ok with 5 developers isn't ok with 60 ● Anything change made that an end user doesn’t see immediate benefit in is hard to sell
  • 9. ...But The World Does ● Your company will grow in size and attack surface ○ Laptops will get stolen ○ You will need more cloud resources ● What works for five developers won’t work for sixty, six hundred, or six thousand
  • 11. The User Role ● Creates user accounts ● Adds ssh keys ● (Sometimes) tries to keep the UIDs consistent ● (Sometimes) sets up a .bash_profile ● (Sometimes) configures sudoers
  • 12. The User Role Has Problems ● What happens when new people join and need access? ○ Hopefully, their key is provided to you the day they start ○ And they don’t need access immediately ○ Script needs to get run everywhere ● What happens when people leave? ○ Script needs to run everywhere again ○ Revocations don’t happen as fast as they should ● What happens when access is used to change application or server state improperly? ○ Installing apps onto boxes scheduled for decommissioning ○ App consoles ● What happens when one developer really wants to connect their blackberry to the vpn and ssh into boxes?
  • 14. Teleport At A High Level ● It’s a highly available cluster of authentication and proxy servers which create an auditable and IDP secured SSH bastion host ● It’s also X.509 Certificate Authority ● It can store its state locally or in services like S3 and DynamoDB ○ For this talk, we are assuming that Teleport is configured to use S3 and DynamoDB ● It records end user actions into multiple auditable forms
  • 15. IDP
  • 16. Configure your IDP ● Teleport benefits from having a good ontology inside of your IDP ● Your IDP pushes... ○ Groups which become Teleport roles ○ Attributes which are interpolated when evaluating roles ● All of this data is accessible to you at login time ● Making good use of it cuts down on the administrative headache significantly
  • 18. Use Labels and Metadata Interpolation commands: - name: instance_id command: ['/bin/curl', 'http://169.254.169.254/latest/meta-data/instance-id'] period: 24h0m0s - name: account_id command: ['/bin/sh', '-c', 'curl -s http://169.254.169.254/latest/dynamic/instance-identity/document|jq -r .accountId'] period: 24h0m0s - name: public_ip command: ['/bin/curl', 'http://169.254.169.254/latest/meta-data/public-ipv4'] period: 24h0m0s - name: app_owner command: ['/opt/bin/get_tag’, ‘App_Owner’] period: 24h0m0s
  • 19. Labels in the Teleport UI
  • 20. Use Labels and Metadata Interpolation kind: role metadata: name: developers spec: allow: logins: - developers # '{{ external["ssh_user"] }}' node_labels: app_owner: '{{ external["team"] }}' deny: logins: null node_labels: app_owner: operations options: cert_format: standard client_idle_timeout: 8h0m0s enhanced_recording: - command - network forward_agent: false max_session_ttl: 8h0m0s port_forwarding: true version: v3
  • 21. SSH
  • 22. It’s Just SSH Host proxy.example.com StrictHostKeyChecking no UserKnownHostsFile /dev/null CheckHostIP no CertificateFile ~/.tsh/keys/example.com/%u@example.com-cert.pub IdentityFile ~/.tsh/keys/example.com/%u@example.com Port 3023 Host *.apps.example.com Port 3022 ProxyCommand ssh %r@proxy.example.com -s proxy:%h:%p StrictHostKeyChecking no
  • 23. Really, Just SSH ● Your tools that use SSH and can read ~/.ssh/ssh_config will work with Teleport too! ○ tsh login and go! ○ Provided it supports certificate authentication (IDEA-216138) ● I’ve tested ○ Ansible (Parminko) ○ Inspec (Train) ○ Capistrano (Net::SSH) ○ OpenSSH ● Windows ○ Enable OpenSSH for Windows ○ tsh.exe only provides the signed certificates
  • 25. /proc/<pid>/environ ● Teleport sets environment variables for each session ○ The two to know TELEPORT_SESSION and SSH_TELEPORT_USER ● If you are unsure who started a process (like a tmux or screen session) check the environ and find the TELEPORT_SESSION
  • 27. Looking at Sessions, Proactively
  • 28. Session Recording ● Teleport records every session for playback ● These are great to watch, but hard to search through at scale
  • 29. Events Table ● With “Enhanced Session Recording” enabled, a new “session.command” event becomes available. ● It’s worth getting this data into your SIEM/Logging solution ○ NEW_IMAGE ● This gives you a really quick and easy way to find and log “problem commands” ○ Screen ○ Tmux ○ psql
  • 32. You Have A X509 CA ● Every time a user logs in with tsh, they get a newly refreshed X509 certificate ● You can use these client certs to authenticate with a lot of tools that don’t necessarily support SSO out of the box ○ OpenVPN ○ Postgres ○ Mariadb ● For server certs start with `tctl get --with-secrets cert_authority` ● Same session expiration rules apply ● Role support is application dependent ○ You can see groups (as organization), valid logins (as locality) and the username (as common name) in the subject ○ Your mileage will vary if the application supports parsing that data
  • 33. Demo
  • 36. “User” Tier ● End Users ○ Everywhere! ○ We are a global, remote company ○ Okta as an IDP ● Nodes ○ Lots of AWS accounts ○ We do account vending ○ Join tokens via cross account STS/SSM
  • 37. Cluster Mode ● Tunneled ○ Single cluster ○ Nodes connect via the internet ○ Single SAML SP ● Trusted ○ Each account gets is own cluster ○ Single SAML SP shared via a primary cluster ○ We used this up to 4.0 ○ When it breaks, it *hurts* ○ Users need to be aware of cluster switches
  • 38. Load Balancing Tier ● We run Teleport in a HA setup ● Application Load Balancers ○ Change your timeout to get the web console to work. ○ You can let teleport generate its own self signed SSL cert. ALBs don’t check SSL. ● Network Load Balancers ○ You will see constant errors in the logs because of the heartbeat.
  • 39. Application Tier ● We run Teleport via an autoscaling group with one host per AZ ● We stack the Auth and Proxy components onto the same hosts ● Use SSM for your “break glass” mechanism
  • 40. Database Tier ● We use S3 to store sessions and Dynamo to store state and events ● This makes our auth/proxy hosts stateless ○ Really nice for upgrades ● Events in Dynamo open up SIEM integrations ○ DyanmoDB streams with NEW_IMAGE
  • 43. Recommended Next Steps Download Teleport https://gravitational.com/teleport/download Join Teleport Community https://community.gravitational.com Read the Teleport Admin Guide https://gravitational.com/teleport/docs/