SlideShare a Scribd company logo
1 of 44
Download to read offline
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

More Related Content

What's hot (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
 

Similar to Secure Developer Access at Decisiv

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
 
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
 
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
 

Similar to Secure Developer Access at Decisiv (20)

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
 
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
 
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
 

More from 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
 

More from 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
 

Recently uploaded

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benonimasabamasaba
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 

Recently uploaded (20)

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 

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/