SlideShare uma empresa Scribd logo
1 de 42
Baixar para ler offline
Don’t Build
“Death Star” Security
Maintaining agility and security
in distributed and microservice architectures
About Me
● Drupal
○ Infrastructure (drupal.org)
○ Security
○ Performance/scalability,
especially database
● Systemd
○ Committer
○ Scalable cgroups management
○ Structured logging integration
○ Launch-on-demand adapter maintainer
● Pantheon
○ CTO and Co-founder
○ Billions of monthly page views
○ Millions of containers
Your infrastructure is the Empire…
…and Rebel scum from Tatooine threatens it.
“Death Star” security is reinforcing the edge…
…but suffering catastrophe when that’s breached.
BOOM!
We’re not here to talk about basics or your edge
● Layer 2 or 3 Firewalls
● Web Application
Firewalls
● OWASP Top 10
● DDoS Controls
● Applying updates quicklyFor the purposes of this presentation:
Your first line of defense is gone!
Where Do Attackers Go Next?
● Collecting authentication data
● Using the foothold behind the firewall
○ Attacking other internal systems
○ Exploiting the assumption of trust
● Collecting sensitive user, payment, and patient data
● Phishing attacks from privileged email accounts
Authentication Security
Challenge: Password Data Breach
827ccb0eea8a706c4c34a16891f84e7b
That's amazing! I've got
the same combination on
my luggage!
President Skroob
Pattern: Better Password Hashing
Password: 12345
Salt: 4c34a8371ce2d3116
Pepper: 27ccb0eea8a706c
HMAC
SHA512 827ccb0eea891f84e7b8a7891f84e7b06c4c34a16891f84e7
Pattern: Add in Password Stretching
Password: 12345
Salt: 4c34a8371ce2d3116
Pepper: 27ccb0eea8a706c
PBKDF2
(100k rounds) 84e7b8827ccba891f84e7b8a7891f84e7b06c4c34a16891f
Pattern: Requiring Decent Passwords
Pattern: Multifactor Authentication
Something You Have
Something You Are
or
Pattern: Federated Authentication
Pattern: Authentication Before Application
Apache
with
SAML
Drupal or WordPress
with PHP-FPM
Have You Met the Confused Deputy?
Challenge: Ambient Authority and Confused Deputies
Set a course for
Alderaan.
Governor Tarkin
How it’s
supposed
to work:
Setting course,
Governor.
Helm/Weapons
How it
can fail: Set a course for
Coruscant.
Imposter Tarkin
Setting course,
Governor.
Helm/Weapons
AlderaanBOOM!
CoruscantBOOM!
Pattern: Capability-Based Security
Set a course for
ef28bc28 (signed
token for Alderaan).
Governor Tarkin
How it’s
supposed
to work:
Setting course,
Governor.
Helm/Weapons
Attemptedh
ack:
Code
validation
Set a course for, um,
3a2eb45a
(invalid token).
Imposter Tarkin
Sorry, that code isn’t
working in my helm
system, Governor.
Helm/Weapons
AlderaanBOOM!
Code
validation
Pattern: Mandatory access control (MAC), like selinux
Set a course for
Alderaan.
Governor Tarkin
How it’s
supposed
to work:
Setting course,
Governor.
Helm/Weapons
May
target
Rebel
Set a course for
Coruscant.
Imposter Tarkin
Setting course,
Governor.
Helm/Weapons
Coruscant
[Label: Imperial]
Alderaan
[Label: Rebel]BOOM!
May
target
Rebel DENIED
Attemptedh
ack:
Antipattern: Mandatory access control (MAC) as an afterthought
Better: Boundaries First, Container-Style
Staying Hands-Off Sensitive Data
Pattern: Delegated Handling of Sensitive Data
Payments Marketing
User
Agent
Your ApplicationHTTP GET
HTTP POST
External Service Sensitive
Data
Pattern: Black Hole APIs
● Don’t simply divide
permissions into read
versus read+write.
● The ability to just write
allows one side to
irretrievably rid itself
of access to sensitive
information.
Protecting Data on the Move and Endpoints
Pattern: Key Management
● AWS Key Management System
● Alliance Key Manager by Townsend Security
○ Lockr (for Drupal and WordPress)
● Vault by HashiCorp
● Many more…
Database
● Audit Trail
● Alerts
Key Manager
App
Pattern: Anonymizing Data
david@pantheon.io
xa34s@au39sm.io
Pattern: Physical Security and Device Encryption
Pattern: Smart Cards and Hardware Tokens
PIN or Password
SSH Server
Preventing a Breach from Spreading
Pattern: Systems Isolation
Web-Facing Systems Intranet Systems
Load
Balancer
Application
Server
Database
Server
Cache
Server
Active
Directory
Exchange
File
Shares
HR Records
FirewallorMore
Challenge: Shared Secrets (Including Passwords)
DatabaseApp
Password or Key
Compromise
Point #1
Compromise
Point #2
Anti-pattern: Security Through Obscurity
“An analysis of the plans
found in their insecure
git repository has
demonstrated a weakness
in the battle station.”
Pattern: Public Key Infrastructure
Admin
Firewall
CDN nginxHTTPS MySQL
Solr
HTTPS
File System
NFS or Similar
SSH Jump or VPNTunnel
Server
Key
SSH
Key
User HTTPS
Server
Certificate MariaDB
PHP-FPM
+ Drupal
Client
Certificate
Server
Certificate
Client
Certificate
Client
Certificate
Client
Certificate
Server
Certificate
Server
Certificate
Server
Certificate
Creating a Local Certificate Authority (CA)
● Once: Create a certificate authority (CA):
○ Create a private key for the CA.
○ Create the certificate for the CA.
○ Distribute the certificate to your servers.
● Every time: Follow the normal certificate-creation steps:
○ Create a private key.
○ Create a certificate signing request (CSR).
○ Sign the certificate on the CA.
○ Deploy the certificate alongside the private key.
MySQL PKI: Server Side
[mysqld]
ssl-ca=ca.crt
ssl-cert=server.crt
ssl-key=server.key
CREATE USER 'backups'@'backup-host'
REQUIRE SUBJECT '/C=US/ST=California/L=San Francisco/
O=Pantheon/
CN=backups.pantheon.io/emailAddress=hosting@pantheon.io';
Supports rolling secret rotation for multiple clients!
MySQL PKI: Client Side
<?php
$pdo = new PDO('mysql:host=ip;dbname=db', 'user', 'pass', array(
PDO::MYSQL_ATTR_SSL_KEY => '/etc/mysql/tls/client.key',
PDO::MYSQL_ATTR_SSL_CERT => '/etc/mysql/tls/client.crt',
PDO::MYSQL_ATTR_SSL_CA => '/etc/mysql/tls/ca.crt'
)
);
$statement = $pdo->query('SHOW TABLES;');
$row = $statement->fetch(PDO::FETCH_ASSOC);
echo htmlentities($row['_message']);
Tomcat PKI: Server Side
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
scheme="https" secure="true"
keystoreFile="/etc/tls/servlet.ks"
keystorePass="secret"
clientAuth="true" sslProtocol="TLS"
truststoreFile="/etc/tls/servlet.ks"
truststorePass="secret" domain="catalina" />
nginx PKI: Server Side
...
server {
listen 443 ssl;
ssl_certificate server.crt;
ssl_certificate_key server.key;
ssl_client_certificate ca.crt;
...
Python PKI: Client Side
import requests
requests.get('https://api.pantheon.io',
cert=('client.crt', 'client.key')
verify='ca.crt')
Questions?
@DavidStrauss
david@pantheon.io
linkedin.com/in/davidstrauss

Mais conteúdo relacionado

Mais procurados

ContainerDays Boston 2016: "Hiding in Plain Sight: Managing Secrets in a Cont...
ContainerDays Boston 2016: "Hiding in Plain Sight: Managing Secrets in a Cont...ContainerDays Boston 2016: "Hiding in Plain Sight: Managing Secrets in a Cont...
ContainerDays Boston 2016: "Hiding in Plain Sight: Managing Secrets in a Cont...DynamicInfraDays
 
Webinar Slides: Become a MongoDB DBA (if you’re really a MySQL user)
Webinar Slides: Become a MongoDB DBA (if you’re really a MySQL user)Webinar Slides: Become a MongoDB DBA (if you’re really a MySQL user)
Webinar Slides: Become a MongoDB DBA (if you’re really a MySQL user)Severalnines
 
Vault w/ config injection kubernetes canada
Vault w/ config injection   kubernetes canadaVault w/ config injection   kubernetes canada
Vault w/ config injection kubernetes canadaJean-Philippe Bélanger
 
ContainerDays NYC 2016: "The Secure Introduction Problem: Getting Secrets Int...
ContainerDays NYC 2016: "The Secure Introduction Problem: Getting Secrets Int...ContainerDays NYC 2016: "The Secure Introduction Problem: Getting Secrets Int...
ContainerDays NYC 2016: "The Secure Introduction Problem: Getting Secrets Int...DynamicInfraDays
 
Achieving Pci Compliace
Achieving Pci CompliaceAchieving Pci Compliace
Achieving Pci CompliaceDenish Patel
 
Yihan Lian & Zhibin Hu - Smarter Peach: Add Eyes to Peach Fuzzer [rooted2017]
Yihan Lian &  Zhibin Hu - Smarter Peach: Add Eyes to Peach Fuzzer [rooted2017]Yihan Lian &  Zhibin Hu - Smarter Peach: Add Eyes to Peach Fuzzer [rooted2017]
Yihan Lian & Zhibin Hu - Smarter Peach: Add Eyes to Peach Fuzzer [rooted2017]RootedCON
 
End-to-end encryption for Dapps with NuCypher KMS. Sergey Zotov, software dev...
End-to-end encryption for Dapps with NuCypher KMS. Sergey Zotov, software dev...End-to-end encryption for Dapps with NuCypher KMS. Sergey Zotov, software dev...
End-to-end encryption for Dapps with NuCypher KMS. Sergey Zotov, software dev...Cyber Fund
 
Secure deduplicaton with efficient and reliable convergent
Secure deduplicaton with  efficient and reliable   convergentSecure deduplicaton with  efficient and reliable   convergent
Secure deduplicaton with efficient and reliable convergentJayakrishnan U
 
Chickens & Eggs: Managing secrets in AWS with Hashicorp Vault
Chickens & Eggs: Managing secrets in AWS with Hashicorp VaultChickens & Eggs: Managing secrets in AWS with Hashicorp Vault
Chickens & Eggs: Managing secrets in AWS with Hashicorp VaultJeff Horwitz
 
Webinar slides: Become a MongoDB DBA - What to Monitor (if you’re really a My...
Webinar slides: Become a MongoDB DBA - What to Monitor (if you’re really a My...Webinar slides: Become a MongoDB DBA - What to Monitor (if you’re really a My...
Webinar slides: Become a MongoDB DBA - What to Monitor (if you’re really a My...Severalnines
 
Security Basics For Developers Knowledge
Security Basics For Developers KnowledgeSecurity Basics For Developers Knowledge
Security Basics For Developers KnowledgeSiva Sankar
 
Six Degrees of Domain Admin - BloodHound at DEF CON 24
Six Degrees of Domain Admin - BloodHound at DEF CON 24Six Degrees of Domain Admin - BloodHound at DEF CON 24
Six Degrees of Domain Admin - BloodHound at DEF CON 24Andy Robbins
 
Carlos García - Pentesting Active Directory [rooted2018]
Carlos García - Pentesting Active Directory [rooted2018]Carlos García - Pentesting Active Directory [rooted2018]
Carlos García - Pentesting Active Directory [rooted2018]RootedCON
 
VisualWorks Security Reloaded - STIC 2012
VisualWorks Security Reloaded - STIC 2012VisualWorks Security Reloaded - STIC 2012
VisualWorks Security Reloaded - STIC 2012Martin Kobetic
 
BSides Rochester 2018: Chaim Sanders: Easily Deploying and Optimizing Open So...
BSides Rochester 2018: Chaim Sanders: Easily Deploying and Optimizing Open So...BSides Rochester 2018: Chaim Sanders: Easily Deploying and Optimizing Open So...
BSides Rochester 2018: Chaim Sanders: Easily Deploying and Optimizing Open So...JosephTesta9
 
Apache mod security 3.1
Apache mod security   3.1Apache mod security   3.1
Apache mod security 3.1Hai Dinh Tuan
 

Mais procurados (19)

ContainerDays Boston 2016: "Hiding in Plain Sight: Managing Secrets in a Cont...
ContainerDays Boston 2016: "Hiding in Plain Sight: Managing Secrets in a Cont...ContainerDays Boston 2016: "Hiding in Plain Sight: Managing Secrets in a Cont...
ContainerDays Boston 2016: "Hiding in Plain Sight: Managing Secrets in a Cont...
 
Webinar Slides: Become a MongoDB DBA (if you’re really a MySQL user)
Webinar Slides: Become a MongoDB DBA (if you’re really a MySQL user)Webinar Slides: Become a MongoDB DBA (if you’re really a MySQL user)
Webinar Slides: Become a MongoDB DBA (if you’re really a MySQL user)
 
Vault w/ config injection kubernetes canada
Vault w/ config injection   kubernetes canadaVault w/ config injection   kubernetes canada
Vault w/ config injection kubernetes canada
 
ContainerDays NYC 2016: "The Secure Introduction Problem: Getting Secrets Int...
ContainerDays NYC 2016: "The Secure Introduction Problem: Getting Secrets Int...ContainerDays NYC 2016: "The Secure Introduction Problem: Getting Secrets Int...
ContainerDays NYC 2016: "The Secure Introduction Problem: Getting Secrets Int...
 
Puzzle Lock
Puzzle LockPuzzle Lock
Puzzle Lock
 
Achieving Pci Compliace
Achieving Pci CompliaceAchieving Pci Compliace
Achieving Pci Compliace
 
Yihan Lian & Zhibin Hu - Smarter Peach: Add Eyes to Peach Fuzzer [rooted2017]
Yihan Lian &  Zhibin Hu - Smarter Peach: Add Eyes to Peach Fuzzer [rooted2017]Yihan Lian &  Zhibin Hu - Smarter Peach: Add Eyes to Peach Fuzzer [rooted2017]
Yihan Lian & Zhibin Hu - Smarter Peach: Add Eyes to Peach Fuzzer [rooted2017]
 
End-to-end encryption for Dapps with NuCypher KMS. Sergey Zotov, software dev...
End-to-end encryption for Dapps with NuCypher KMS. Sergey Zotov, software dev...End-to-end encryption for Dapps with NuCypher KMS. Sergey Zotov, software dev...
End-to-end encryption for Dapps with NuCypher KMS. Sergey Zotov, software dev...
 
Secure deduplicaton with efficient and reliable convergent
Secure deduplicaton with  efficient and reliable   convergentSecure deduplicaton with  efficient and reliable   convergent
Secure deduplicaton with efficient and reliable convergent
 
Chickens & Eggs: Managing secrets in AWS with Hashicorp Vault
Chickens & Eggs: Managing secrets in AWS with Hashicorp VaultChickens & Eggs: Managing secrets in AWS with Hashicorp Vault
Chickens & Eggs: Managing secrets in AWS with Hashicorp Vault
 
Webinar slides: Become a MongoDB DBA - What to Monitor (if you’re really a My...
Webinar slides: Become a MongoDB DBA - What to Monitor (if you’re really a My...Webinar slides: Become a MongoDB DBA - What to Monitor (if you’re really a My...
Webinar slides: Become a MongoDB DBA - What to Monitor (if you’re really a My...
 
Security Basics For Developers Knowledge
Security Basics For Developers KnowledgeSecurity Basics For Developers Knowledge
Security Basics For Developers Knowledge
 
Six Degrees of Domain Admin - BloodHound at DEF CON 24
Six Degrees of Domain Admin - BloodHound at DEF CON 24Six Degrees of Domain Admin - BloodHound at DEF CON 24
Six Degrees of Domain Admin - BloodHound at DEF CON 24
 
Carlos García - Pentesting Active Directory [rooted2018]
Carlos García - Pentesting Active Directory [rooted2018]Carlos García - Pentesting Active Directory [rooted2018]
Carlos García - Pentesting Active Directory [rooted2018]
 
Vault 101
Vault 101Vault 101
Vault 101
 
VisualWorks Security Reloaded - STIC 2012
VisualWorks Security Reloaded - STIC 2012VisualWorks Security Reloaded - STIC 2012
VisualWorks Security Reloaded - STIC 2012
 
BSides Rochester 2018: Chaim Sanders: Easily Deploying and Optimizing Open So...
BSides Rochester 2018: Chaim Sanders: Easily Deploying and Optimizing Open So...BSides Rochester 2018: Chaim Sanders: Easily Deploying and Optimizing Open So...
BSides Rochester 2018: Chaim Sanders: Easily Deploying and Optimizing Open So...
 
Introduction To The DANE Protocol (DNSSEC)
Introduction To The DANE Protocol  (DNSSEC)Introduction To The DANE Protocol  (DNSSEC)
Introduction To The DANE Protocol (DNSSEC)
 
Apache mod security 3.1
Apache mod security   3.1Apache mod security   3.1
Apache mod security 3.1
 

Semelhante a Don't Build "Death Star" Security - O'Reilly Software Architecture Conference 2016 NYC

apidays LIVE Australia 2021 - Levelling up database security by thinking in A...
apidays LIVE Australia 2021 - Levelling up database security by thinking in A...apidays LIVE Australia 2021 - Levelling up database security by thinking in A...
apidays LIVE Australia 2021 - Levelling up database security by thinking in A...apidays
 
AWS Big Data Demystified #4 data governance demystified [security, networ...
AWS Big Data Demystified #4   data governance demystified   [security, networ...AWS Big Data Demystified #4   data governance demystified   [security, networ...
AWS Big Data Demystified #4 data governance demystified [security, networ...Omid Vahdaty
 
Defense in Depth: Lessons Learned Securing 200,000 Sites
Defense in Depth: Lessons Learned Securing 200,000 SitesDefense in Depth: Lessons Learned Securing 200,000 Sites
Defense in Depth: Lessons Learned Securing 200,000 SitesPantheon
 
Aws training in bangalore
Aws training in bangalore Aws training in bangalore
Aws training in bangalore apponix123
 
Security and privacy of cloud data: what you need to know (Interop)
Security and privacy of cloud data: what you need to know (Interop)Security and privacy of cloud data: what you need to know (Interop)
Security and privacy of cloud data: what you need to know (Interop)Druva
 
Cloud Intrusion Detection Reloaded - 2018
Cloud Intrusion Detection Reloaded - 2018Cloud Intrusion Detection Reloaded - 2018
Cloud Intrusion Detection Reloaded - 2018randomuserid
 
Cassandra Lunch #90: Securing Apache Cassandra
Cassandra Lunch #90: Securing Apache CassandraCassandra Lunch #90: Securing Apache Cassandra
Cassandra Lunch #90: Securing Apache CassandraAnant Corporation
 
You are Doing IT Security Wrong - Understanding the Threat of Modern Cyber-at...
You are Doing IT Security Wrong - Understanding the Threat of Modern Cyber-at...You are Doing IT Security Wrong - Understanding the Threat of Modern Cyber-at...
You are Doing IT Security Wrong - Understanding the Threat of Modern Cyber-at...Michael Noel
 
Application of Machine Learning in Cybersecurity
Application of Machine Learning in CybersecurityApplication of Machine Learning in Cybersecurity
Application of Machine Learning in CybersecurityPratap Dangeti
 
CISSP Week 14
CISSP Week 14CISSP Week 14
CISSP Week 14jemtallon
 
Operations: Security Crash Course — Best Practices for Securing your Company
Operations: Security Crash Course — Best Practices for Securing your CompanyOperations: Security Crash Course — Best Practices for Securing your Company
Operations: Security Crash Course — Best Practices for Securing your CompanyAmazon Web Services
 
Cloud data governance, risk management and compliance ny metro joint cyber...
Cloud data governance, risk management and compliance    ny metro joint cyber...Cloud data governance, risk management and compliance    ny metro joint cyber...
Cloud data governance, risk management and compliance ny metro joint cyber...Ulf Mattsson
 
Remote security with Red Hat Enterprise Linux
Remote security with Red Hat Enterprise LinuxRemote security with Red Hat Enterprise Linux
Remote security with Red Hat Enterprise LinuxGiuseppe Paterno'
 
Securing IT Against Modern Threats with Microsoft Cloud Security Tools - M365...
Securing IT Against Modern Threats with Microsoft Cloud Security Tools - M365...Securing IT Against Modern Threats with Microsoft Cloud Security Tools - M365...
Securing IT Against Modern Threats with Microsoft Cloud Security Tools - M365...Michael Noel
 
Cloud Security and some preferred practices
Cloud Security and some preferred practicesCloud Security and some preferred practices
Cloud Security and some preferred practicesMichael Pearce
 
Cloud security privacy- org
Cloud security  privacy- orgCloud security  privacy- org
Cloud security privacy- orgDharmalingam S
 
Challenges with Cloud Security by Ken Y Chan
Challenges with Cloud Security by Ken Y ChanChallenges with Cloud Security by Ken Y Chan
Challenges with Cloud Security by Ken Y ChanKen Chan
 
7 Ways To Cyberattack And Hack Azure
7 Ways To Cyberattack And Hack Azure7 Ways To Cyberattack And Hack Azure
7 Ways To Cyberattack And Hack AzureAbdul Khan
 

Semelhante a Don't Build "Death Star" Security - O'Reilly Software Architecture Conference 2016 NYC (20)

apidays LIVE Australia 2021 - Levelling up database security by thinking in A...
apidays LIVE Australia 2021 - Levelling up database security by thinking in A...apidays LIVE Australia 2021 - Levelling up database security by thinking in A...
apidays LIVE Australia 2021 - Levelling up database security by thinking in A...
 
AWS Big Data Demystified #4 data governance demystified [security, networ...
AWS Big Data Demystified #4   data governance demystified   [security, networ...AWS Big Data Demystified #4   data governance demystified   [security, networ...
AWS Big Data Demystified #4 data governance demystified [security, networ...
 
Defense in Depth: Lessons Learned Securing 200,000 Sites
Defense in Depth: Lessons Learned Securing 200,000 SitesDefense in Depth: Lessons Learned Securing 200,000 Sites
Defense in Depth: Lessons Learned Securing 200,000 Sites
 
Aws training in bangalore
Aws training in bangalore Aws training in bangalore
Aws training in bangalore
 
Security and privacy of cloud data: what you need to know (Interop)
Security and privacy of cloud data: what you need to know (Interop)Security and privacy of cloud data: what you need to know (Interop)
Security and privacy of cloud data: what you need to know (Interop)
 
Cloud Intrusion Detection Reloaded - 2018
Cloud Intrusion Detection Reloaded - 2018Cloud Intrusion Detection Reloaded - 2018
Cloud Intrusion Detection Reloaded - 2018
 
Cassandra Lunch #90: Securing Apache Cassandra
Cassandra Lunch #90: Securing Apache CassandraCassandra Lunch #90: Securing Apache Cassandra
Cassandra Lunch #90: Securing Apache Cassandra
 
You are Doing IT Security Wrong - Understanding the Threat of Modern Cyber-at...
You are Doing IT Security Wrong - Understanding the Threat of Modern Cyber-at...You are Doing IT Security Wrong - Understanding the Threat of Modern Cyber-at...
You are Doing IT Security Wrong - Understanding the Threat of Modern Cyber-at...
 
Application of Machine Learning in Cybersecurity
Application of Machine Learning in CybersecurityApplication of Machine Learning in Cybersecurity
Application of Machine Learning in Cybersecurity
 
CISSP Week 14
CISSP Week 14CISSP Week 14
CISSP Week 14
 
The Perimeter Is Dead
The Perimeter Is DeadThe Perimeter Is Dead
The Perimeter Is Dead
 
Operations: Security Crash Course — Best Practices for Securing your Company
Operations: Security Crash Course — Best Practices for Securing your CompanyOperations: Security Crash Course — Best Practices for Securing your Company
Operations: Security Crash Course — Best Practices for Securing your Company
 
Cloud data governance, risk management and compliance ny metro joint cyber...
Cloud data governance, risk management and compliance    ny metro joint cyber...Cloud data governance, risk management and compliance    ny metro joint cyber...
Cloud data governance, risk management and compliance ny metro joint cyber...
 
Remote security with Red Hat Enterprise Linux
Remote security with Red Hat Enterprise LinuxRemote security with Red Hat Enterprise Linux
Remote security with Red Hat Enterprise Linux
 
Operations: Security
Operations: SecurityOperations: Security
Operations: Security
 
Securing IT Against Modern Threats with Microsoft Cloud Security Tools - M365...
Securing IT Against Modern Threats with Microsoft Cloud Security Tools - M365...Securing IT Against Modern Threats with Microsoft Cloud Security Tools - M365...
Securing IT Against Modern Threats with Microsoft Cloud Security Tools - M365...
 
Cloud Security and some preferred practices
Cloud Security and some preferred practicesCloud Security and some preferred practices
Cloud Security and some preferred practices
 
Cloud security privacy- org
Cloud security  privacy- orgCloud security  privacy- org
Cloud security privacy- org
 
Challenges with Cloud Security by Ken Y Chan
Challenges with Cloud Security by Ken Y ChanChallenges with Cloud Security by Ken Y Chan
Challenges with Cloud Security by Ken Y Chan
 
7 Ways To Cyberattack And Hack Azure
7 Ways To Cyberattack And Hack Azure7 Ways To Cyberattack And Hack Azure
7 Ways To Cyberattack And Hack Azure
 

Mais de David Timothy Strauss (13)

Advanced Drupal 8 Caching
Advanced Drupal 8 CachingAdvanced Drupal 8 Caching
Advanced Drupal 8 Caching
 
LCache DrupalCon Dublin 2016
LCache DrupalCon Dublin 2016LCache DrupalCon Dublin 2016
LCache DrupalCon Dublin 2016
 
Effective service and resource management with systemd
Effective service and resource management with systemdEffective service and resource management with systemd
Effective service and resource management with systemd
 
Containers > VMs
Containers > VMsContainers > VMs
Containers > VMs
 
PHP at Density and Scale (Lone Star PHP 2014)
PHP at Density and Scale (Lone Star PHP 2014)PHP at Density and Scale (Lone Star PHP 2014)
PHP at Density and Scale (Lone Star PHP 2014)
 
PHP at Density and Scale
PHP at Density and ScalePHP at Density and Scale
PHP at Density and Scale
 
PHP at Density and Scale
PHP at Density and ScalePHP at Density and Scale
PHP at Density and Scale
 
Valhalla at Pantheon
Valhalla at PantheonValhalla at Pantheon
Valhalla at Pantheon
 
Cassandra-Powered Distributed DNS
Cassandra-Powered Distributed DNSCassandra-Powered Distributed DNS
Cassandra-Powered Distributed DNS
 
Scalable Drupal Infrastructure
Scalable Drupal InfrastructureScalable Drupal Infrastructure
Scalable Drupal Infrastructure
 
Planning LAMP infrastructure
Planning LAMP infrastructurePlanning LAMP infrastructure
Planning LAMP infrastructure
 
Is Drupal Secure?
Is Drupal Secure?Is Drupal Secure?
Is Drupal Secure?
 
Cassandra queuing
Cassandra queuingCassandra queuing
Cassandra queuing
 

Último

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
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
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
+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
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
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
 
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
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 

Último (20)

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
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 ...
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
+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...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
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...
 
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
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 

Don't Build "Death Star" Security - O'Reilly Software Architecture Conference 2016 NYC

  • 1. Don’t Build “Death Star” Security Maintaining agility and security in distributed and microservice architectures
  • 2. About Me ● Drupal ○ Infrastructure (drupal.org) ○ Security ○ Performance/scalability, especially database ● Systemd ○ Committer ○ Scalable cgroups management ○ Structured logging integration ○ Launch-on-demand adapter maintainer ● Pantheon ○ CTO and Co-founder ○ Billions of monthly page views ○ Millions of containers
  • 3. Your infrastructure is the Empire…
  • 4. …and Rebel scum from Tatooine threatens it.
  • 5. “Death Star” security is reinforcing the edge…
  • 6. …but suffering catastrophe when that’s breached. BOOM!
  • 7. We’re not here to talk about basics or your edge ● Layer 2 or 3 Firewalls ● Web Application Firewalls ● OWASP Top 10 ● DDoS Controls ● Applying updates quicklyFor the purposes of this presentation: Your first line of defense is gone!
  • 8. Where Do Attackers Go Next? ● Collecting authentication data ● Using the foothold behind the firewall ○ Attacking other internal systems ○ Exploiting the assumption of trust ● Collecting sensitive user, payment, and patient data ● Phishing attacks from privileged email accounts
  • 10. Challenge: Password Data Breach 827ccb0eea8a706c4c34a16891f84e7b That's amazing! I've got the same combination on my luggage! President Skroob
  • 11. Pattern: Better Password Hashing Password: 12345 Salt: 4c34a8371ce2d3116 Pepper: 27ccb0eea8a706c HMAC SHA512 827ccb0eea891f84e7b8a7891f84e7b06c4c34a16891f84e7
  • 12. Pattern: Add in Password Stretching Password: 12345 Salt: 4c34a8371ce2d3116 Pepper: 27ccb0eea8a706c PBKDF2 (100k rounds) 84e7b8827ccba891f84e7b8a7891f84e7b06c4c34a16891f
  • 14. Pattern: Multifactor Authentication Something You Have Something You Are or
  • 16. Pattern: Authentication Before Application Apache with SAML Drupal or WordPress with PHP-FPM
  • 17. Have You Met the Confused Deputy?
  • 18. Challenge: Ambient Authority and Confused Deputies Set a course for Alderaan. Governor Tarkin How it’s supposed to work: Setting course, Governor. Helm/Weapons How it can fail: Set a course for Coruscant. Imposter Tarkin Setting course, Governor. Helm/Weapons AlderaanBOOM! CoruscantBOOM!
  • 19. Pattern: Capability-Based Security Set a course for ef28bc28 (signed token for Alderaan). Governor Tarkin How it’s supposed to work: Setting course, Governor. Helm/Weapons Attemptedh ack: Code validation Set a course for, um, 3a2eb45a (invalid token). Imposter Tarkin Sorry, that code isn’t working in my helm system, Governor. Helm/Weapons AlderaanBOOM! Code validation
  • 20. Pattern: Mandatory access control (MAC), like selinux Set a course for Alderaan. Governor Tarkin How it’s supposed to work: Setting course, Governor. Helm/Weapons May target Rebel Set a course for Coruscant. Imposter Tarkin Setting course, Governor. Helm/Weapons Coruscant [Label: Imperial] Alderaan [Label: Rebel]BOOM! May target Rebel DENIED Attemptedh ack:
  • 21. Antipattern: Mandatory access control (MAC) as an afterthought
  • 22. Better: Boundaries First, Container-Style
  • 24. Pattern: Delegated Handling of Sensitive Data Payments Marketing User Agent Your ApplicationHTTP GET HTTP POST External Service Sensitive Data
  • 25. Pattern: Black Hole APIs ● Don’t simply divide permissions into read versus read+write. ● The ability to just write allows one side to irretrievably rid itself of access to sensitive information.
  • 26. Protecting Data on the Move and Endpoints
  • 27. Pattern: Key Management ● AWS Key Management System ● Alliance Key Manager by Townsend Security ○ Lockr (for Drupal and WordPress) ● Vault by HashiCorp ● Many more… Database ● Audit Trail ● Alerts Key Manager App
  • 29. Pattern: Physical Security and Device Encryption
  • 30. Pattern: Smart Cards and Hardware Tokens PIN or Password SSH Server
  • 31. Preventing a Breach from Spreading
  • 32. Pattern: Systems Isolation Web-Facing Systems Intranet Systems Load Balancer Application Server Database Server Cache Server Active Directory Exchange File Shares HR Records FirewallorMore
  • 33. Challenge: Shared Secrets (Including Passwords) DatabaseApp Password or Key Compromise Point #1 Compromise Point #2
  • 34. Anti-pattern: Security Through Obscurity “An analysis of the plans found in their insecure git repository has demonstrated a weakness in the battle station.”
  • 35. Pattern: Public Key Infrastructure Admin Firewall CDN nginxHTTPS MySQL Solr HTTPS File System NFS or Similar SSH Jump or VPNTunnel Server Key SSH Key User HTTPS Server Certificate MariaDB PHP-FPM + Drupal Client Certificate Server Certificate Client Certificate Client Certificate Client Certificate Server Certificate Server Certificate Server Certificate
  • 36. Creating a Local Certificate Authority (CA) ● Once: Create a certificate authority (CA): ○ Create a private key for the CA. ○ Create the certificate for the CA. ○ Distribute the certificate to your servers. ● Every time: Follow the normal certificate-creation steps: ○ Create a private key. ○ Create a certificate signing request (CSR). ○ Sign the certificate on the CA. ○ Deploy the certificate alongside the private key.
  • 37. MySQL PKI: Server Side [mysqld] ssl-ca=ca.crt ssl-cert=server.crt ssl-key=server.key CREATE USER 'backups'@'backup-host' REQUIRE SUBJECT '/C=US/ST=California/L=San Francisco/ O=Pantheon/ CN=backups.pantheon.io/emailAddress=hosting@pantheon.io'; Supports rolling secret rotation for multiple clients!
  • 38. MySQL PKI: Client Side <?php $pdo = new PDO('mysql:host=ip;dbname=db', 'user', 'pass', array( PDO::MYSQL_ATTR_SSL_KEY => '/etc/mysql/tls/client.key', PDO::MYSQL_ATTR_SSL_CERT => '/etc/mysql/tls/client.crt', PDO::MYSQL_ATTR_SSL_CA => '/etc/mysql/tls/ca.crt' ) ); $statement = $pdo->query('SHOW TABLES;'); $row = $statement->fetch(PDO::FETCH_ASSOC); echo htmlentities($row['_message']);
  • 39. Tomcat PKI: Server Side <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" scheme="https" secure="true" keystoreFile="/etc/tls/servlet.ks" keystorePass="secret" clientAuth="true" sslProtocol="TLS" truststoreFile="/etc/tls/servlet.ks" truststorePass="secret" domain="catalina" />
  • 40. nginx PKI: Server Side ... server { listen 443 ssl; ssl_certificate server.crt; ssl_certificate_key server.key; ssl_client_certificate ca.crt; ...
  • 41. Python PKI: Client Side import requests requests.get('https://api.pantheon.io', cert=('client.crt', 'client.key') verify='ca.crt')