SSL* Certificate Reporting
                                                         BayLISA
                                                     March 21st, 2013




                       @royrapoport rsr@netflix.com
Friday, March 22, 13

This is the story of how we went from SSL certificates expiring without notice in production to
deploying Security Monkey (later renamed Howler Monkey) and permanently eliminating SSL
certificate expiration as a production-class issue.
SSL* Certificate Reporting
                                                         BayLISA
                                                     March 21st, 2013




                       @royrapoport rsr@netflix.com
Friday, March 22, 13

This is the story of how we went from SSL certificates expiring without notice in production to
deploying Security Monkey (later renamed Howler Monkey) and permanently eliminating SSL
certificate expiration as a production-class issue.
Technology Overview




                       @royrapoport rsr@netflix.com
Friday, March 22, 13
Technology Overview
                       • SoA, REST, Mostly Java




                       @royrapoport rsr@netflix.com
Friday, March 22, 13
Technology Overview
                       • SoA, REST, Mostly Java
                       • Simple overall architecture:




                       @royrapoport rsr@netflix.com
Friday, March 22, 13
Technology Overview
                       • SoA, REST, Mostly Java
                       • Simple overall architecture:




                       @royrapoport rsr@netflix.com
Friday, March 22, 13
Culture Overview




                       @royrapoport rsr@netflix.com
Friday, March 22, 13

We hire very smart people, give them all the context and situational awareness they want, and
set them free. We design our environment, our systems, and our teams to be empowered to
make decisions without requiring slow approval processes, cumbersome formal
communication, or any other unnecessary friction.
Culture Overview
 • Freedom and
         Responsibility




                       @royrapoport rsr@netflix.com
Friday, March 22, 13

We hire very smart people, give them all the context and situational awareness they want, and
set them free. We design our environment, our systems, and our teams to be empowered to
make decisions without requiring slow approval processes, cumbersome formal
communication, or any other unnecessary friction.
Culture Overview
 • Freedom and
         Responsibility
 • Distributed
         Operations




                       @royrapoport rsr@netflix.com
Friday, March 22, 13

We hire very smart people, give them all the context and situational awareness they want, and
set them free. We design our environment, our systems, and our teams to be empowered to
make decisions without requiring slow approval processes, cumbersome formal
communication, or any other unnecessary friction.
Culture Overview
 • Freedom and
         Responsibility
 • Distributed
         Operations
 • Get out of the
         way of
         Developers


                       @royrapoport rsr@netflix.com
Friday, March 22, 13

We hire very smart people, give them all the context and situational awareness they want, and
set them free. We design our environment, our systems, and our teams to be empowered to
make decisions without requiring slow approval processes, cumbersome formal
communication, or any other unnecessary friction.
So Certificates ...




                       @royrapoport rsr@netflix.com
Friday, March 22, 13
So Certificates ...
                       •   Dozens of Certificates




                       @royrapoport rsr@netflix.com
Friday, March 22, 13
So Certificates ...
                       •   Dozens of Certificates
                       •   Different kinds of places




                       @royrapoport rsr@netflix.com
Friday, March 22, 13
So Certificates ...
                       •   Dozens of Certificates
                       •   Different kinds of places
                           •   Datacenter/private




                       @royrapoport rsr@netflix.com
Friday, March 22, 13
So Certificates ...
                       •   Dozens of Certificates
                       •   Different kinds of places
                           •   Datacenter/private
                           •   Datacenter/public/LB




                       @royrapoport rsr@netflix.com
Friday, March 22, 13
So Certificates ...
                       •   Dozens of Certificates
                       •   Different kinds of places
                           •   Datacenter/private
                           •   Datacenter/public/LB
                           •   ELBs




                       @royrapoport rsr@netflix.com
Friday, March 22, 13
So Certificates ...
                       •   Dozens of Certificates
                       •   Different kinds of places
                           •   Datacenter/private
                           •   Datacenter/public/LB
                           •   ELBs
                           •   EC2




                       @royrapoport rsr@netflix.com
Friday, March 22, 13
So Certificates ...
                       •   Dozens of Certificates
                       •   Different kinds of places
                           •   Datacenter/private
                           •   Datacenter/public/LB
                           •   ELBs
                           •   EC2
                           •   Source Control




                       @royrapoport rsr@netflix.com
Friday, March 22, 13
So Certificates ...
                       •   Dozens of Certificates
                       •   Different kinds of places
                           •   Datacenter/private
                           •   Datacenter/public/LB
                           •   ELBs
                           •   EC2
                           •   Source Control
                           •   EIPs



                       @royrapoport rsr@netflix.com
Friday, March 22, 13
So Certificates ...
                       •   Dozens of Certificates
                       •   Different kinds of places
                           •   Datacenter/private
                           •   Datacenter/public/LB
                           •   ELBs
                           •   EC2
                           •   Source Control
                           •   EIPs
                       •   Totally Distributed Design


                       @royrapoport rsr@netflix.com
Friday, March 22, 13
So Certificates ...
                       • Some Certificates Weren’t[sic]




                       @royrapoport rsr@netflix.com
Friday, March 22, 13

Some certificates weren’t even SSL certificates -- we have certificates we get from a partner
that cannot be accessed via SSL, and for which the answer to the question “when does this
expire?” require scraping a web page.
So Certificates ...




                       @royrapoport rsr@netflix.com
Friday, March 22, 13

(obviously, the ‘standard ways to solve this’ part here is somewhat facetious, but these are, in
fact, the standard ways in which most organizations try to deal with keeping up with SSL
certificate expirations)
So Certificates ...
            •          SSL Certificates expire




                        @royrapoport rsr@netflix.com
Friday, March 22, 13

(obviously, the ‘standard ways to solve this’ part here is somewhat facetious, but these are, in
fact, the standard ways in which most organizations try to deal with keeping up with SSL
certificate expirations)
So Certificates ...
            •          SSL Certificates expire
                  •      Millions of people can’t stream




                        @royrapoport rsr@netflix.com
Friday, March 22, 13

(obviously, the ‘standard ways to solve this’ part here is somewhat facetious, but these are, in
fact, the standard ways in which most organizations try to deal with keeping up with SSL
certificate expirations)
So Certificates ...
            •          SSL Certificates expire
                  •      Millions of people can’t stream
                  •      Hilarity ensues




                        @royrapoport rsr@netflix.com
Friday, March 22, 13

(obviously, the ‘standard ways to solve this’ part here is somewhat facetious, but these are, in
fact, the standard ways in which most organizations try to deal with keeping up with SSL
certificate expirations)
So Certificates ...
            •          SSL Certificates expire
                  •      Millions of people can’t stream
                  •      Hilarity ensues
            •          Standard Ways to Solve This




                        @royrapoport rsr@netflix.com
Friday, March 22, 13

(obviously, the ‘standard ways to solve this’ part here is somewhat facetious, but these are, in
fact, the standard ways in which most organizations try to deal with keeping up with SSL
certificate expirations)
So Certificates ...
            •          SSL Certificates expire
                  •      Millions of people can’t stream
                  •      Hilarity ensues
            •          Standard Ways to Solve This
                  •      Excel worksheets




                        @royrapoport rsr@netflix.com
Friday, March 22, 13

(obviously, the ‘standard ways to solve this’ part here is somewhat facetious, but these are, in
fact, the standard ways in which most organizations try to deal with keeping up with SSL
certificate expirations)
So Certificates ...
            •          SSL Certificates expire
                  •      Millions of people can’t stream
                  •      Hilarity ensues
            •          Standard Ways to Solve This
                  •      Excel worksheets
                  •      Wiki documents



                        @royrapoport rsr@netflix.com
Friday, March 22, 13

(obviously, the ‘standard ways to solve this’ part here is somewhat facetious, but these are, in
fact, the standard ways in which most organizations try to deal with keeping up with SSL
certificate expirations)
So Certificates ...
            •          SSL Certificates expire
                  •      Millions of people can’t stream
                  •      Hilarity ensues
            •          Standard Ways to Solve This
                  •      Excel worksheets
                  •      Wiki documents
                  •      Events on public calendars

                        @royrapoport rsr@netflix.com
Friday, March 22, 13

(obviously, the ‘standard ways to solve this’ part here is somewhat facetious, but these are, in
fact, the standard ways in which most organizations try to deal with keeping up with SSL
certificate expirations)
Let’s Do This Thing
                                                     Cassandra




                                                     Certificate




                       @royrapoport rsr@netflix.com
Friday, March 22, 13

Start with a very simple model -- a Certificate entity, which is really just a combination of
name, expiration date, and a series of locations where we can find this. It’d be trivial to feed
this thing from my todo list, if I wanted to (but given the state of my todo list, probably a bad
idea)
Let’s Do This Thing
                        ELB
                                                     Cassandra




                                                     Certificate




                       @royrapoport rsr@netflix.com
Friday, March 22, 13

Then start building location-aware spiders -- e.g. this spider that knows how to probe all our
ELBs to see if they listen on 443 and gets their certificate if they do.
Let’s Do This Thing
                        ELB
                                                     Cassandra




                   EC2 Instance




                                                     Certificate




                       @royrapoport rsr@netflix.com
Friday, March 22, 13

Or this spider that knows how to talk to a specific kind of EC2 instance we have with some
certificates.
Let’s Do This Thing
                         ELB
                                                      Cassandra




                   EC2 Instance




                       IP Range
                                                      Certificate




                        @royrapoport rsr@netflix.com
Friday, March 22, 13

etc ...
Let’s Do This Thing
                          ELB
                                                      Cassandra




                   EC2 Instance




                       IP Range
                                                      Certificate




                       Filesystem




                        @royrapoport rsr@netflix.com
Friday, March 22, 13
Let’s Do This Thing
                          ELB
                                                        Cassandra




                   EC2 Instance




                       IP Range
                                                        Certificate




                       Filesystem
                                                  DNS




                        @royrapoport rsr@netflix.com
Friday, March 22, 13
Let’s Do This Thing
                          ELB
                                                        Cassandra




                   EC2 Instance




                       IP Range
                                                        Certificate




                       Filesystem
                                                  DNS




                        @royrapoport rsr@netflix.com
Friday, March 22, 13

Once you have all this information, you can easily generate a web page showing certificates,
where they are, and when they expire
Let’s Do This Thing
                          ELB
                                                        Cassandra




                   EC2 Instance




                       IP Range
                                                        Certificate




                       Filesystem
                                                  DNS




                        @royrapoport rsr@netflix.com
Friday, March 22, 13

And send out emails, too -- once we built the capability for teams to subscribe to emails for
a given certificate and specify how many days before expiration they should start getting
notified
Since Then




                       @royrapoport rsr@netflix.com
Friday, March 22, 13

We validated the design by continuing to iterate on it -- recently, when building the DNS
spider component, that work took only about 15 minutes to implement. We also expanded
subscription capabilities so teams could subscribe to certificate expiration warnings based on
certificate name regular expressions.
Since Then

            • No Production Emergencies due to SSL
                       certificate expiration




                        @royrapoport rsr@netflix.com
Friday, March 22, 13

We validated the design by continuing to iterate on it -- recently, when building the DNS
spider component, that work took only about 15 minutes to implement. We also expanded
subscription capabilities so teams could subscribe to certificate expiration warnings based on
certificate name regular expressions.
Since Then

            • No Production Emergencies due to SSL
                       certificate expiration
            • Validated Design


                        @royrapoport rsr@netflix.com
Friday, March 22, 13

We validated the design by continuing to iterate on it -- recently, when building the DNS
spider component, that work took only about 15 minutes to implement. We also expanded
subscription capabilities so teams could subscribe to certificate expiration warnings based on
certificate name regular expressions.
Since Then

            • No Production Emergencies due to SSL
                       certificate expiration
            • Validated Design
            • Better Subscription Capabilities

                        @royrapoport rsr@netflix.com
Friday, March 22, 13

We validated the design by continuing to iterate on it -- recently, when building the DNS
spider component, that work took only about 15 minutes to implement. We also expanded
subscription capabilities so teams could subscribe to certificate expiration warnings based on
certificate name regular expressions.
Soon ...




                       @royrapoport rsr@netflix.com
Friday, March 22, 13

We should be able to figure out who owns a certificate, most of the time, and alert them
directly even if they don’t set up a subscription.
Soon ...
            • Customized, automated alerting




                       @royrapoport rsr@netflix.com
Friday, March 22, 13

We should be able to figure out who owns a certificate, most of the time, and alert them
directly even if they don’t set up a subscription.
Soon ...
            • Customized, automated alerting
            • Automated renewal




                       @royrapoport rsr@netflix.com
Friday, March 22, 13

We should be able to figure out who owns a certificate, most of the time, and alert them
directly even if they don’t set up a subscription.
Soon ...
            • Customized, automated alerting
            • Automated renewal
             • Telling you a problem is about to happen:
                        Good




                       @royrapoport rsr@netflix.com
Friday, March 22, 13

We should be able to figure out who owns a certificate, most of the time, and alert them
directly even if they don’t set up a subscription.
Soon ...
            • Customized, automated alerting
            • Automated renewal
             • Telling you a problem is about to happen:
                        Good
                  • Preventing the problem automatically:
                        Priceless



                       @royrapoport rsr@netflix.com
Friday, March 22, 13

We should be able to figure out who owns a certificate, most of the time, and alert them
directly even if they don’t set up a subscription.
Soon ...
            • Customized, automated alerting
            • Automated renewal
             • Telling you a problem is about to happen:
                        Good
                  • Preventing the problem automatically:
                        Priceless
            • Open Source
                       @royrapoport rsr@netflix.com
Friday, March 22, 13

We should be able to figure out who owns a certificate, most of the time, and alert them
directly even if they don’t set up a subscription.
Remember ...




                       @royrapoport rsr@netflix.com
Friday, March 22, 13
Remember ...
            • Be Lazy




                       @royrapoport rsr@netflix.com
Friday, March 22, 13
Remember ...
            • Be Lazy
            • Help Others Be Lazy




                       @royrapoport rsr@netflix.com
Friday, March 22, 13
Remember ...
            • Be Lazy
            • Help Others Be Lazy
            • Computers Are Better Than Humans



                       @royrapoport rsr@netflix.com
Friday, March 22, 13
Remember ...
            • Be Lazy
            • Help Others Be Lazy
            • Computers Are Better Than Humans
             • For some things


                       @royrapoport rsr@netflix.com
Friday, March 22, 13
Remember ...
            • Be Lazy
            • Help Others Be Lazy
            • Computers Are Better Than Humans
             • For some things
             • Don’t compete on their terms

                       @royrapoport rsr@netflix.com
Friday, March 22, 13
Questions?




                       @royrapoport rsr@netflix.com
Friday, March 22, 13

More Related Content

PDF
Cloud Tech III: Actionable Metrics
PDF
Python Through the Back Door: Netflix Presentation at CodeMash 2014
PDF
Operational Insight: Concepts and Examples (w/o Presenter Notes)
PDF
Operational Insight: Concepts and Examples
PPTX
Gluecon keynote
PDF
Keeping Movies Running Amid Thunderstorms!
PPTX
Gluecon 2013 - NetflixOSS Cloud Native Tutorial Introduction
PDF
SV Forum Platform Architecture SIG - Netflix Open Source Platform
Cloud Tech III: Actionable Metrics
Python Through the Back Door: Netflix Presentation at CodeMash 2014
Operational Insight: Concepts and Examples (w/o Presenter Notes)
Operational Insight: Concepts and Examples
Gluecon keynote
Keeping Movies Running Amid Thunderstorms!
Gluecon 2013 - NetflixOSS Cloud Native Tutorial Introduction
SV Forum Platform Architecture SIG - Netflix Open Source Platform

Viewers also liked (19)

PDF
Canary Analyze All the Things
PPTX
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
PPTX
Traffic anomaly detection and attack
PPTX
Anomaly Detection for Security
PPTX
The Dark of Building an Production Incident Syste
PPTX
Cassandra Performance and Scalability on AWS
PPTX
Anomaly Detection for Real-World Systems
PPTX
Where is Data Going? - RMDC Keynote
PDF
Parallel Programming in Python: Speeding up your analysis
PPTX
Monitoring large scale Docker production environments
PPTX
Can a monitoring tool pass the turing test
PPTX
The Dark Art of Production Alerting
PPTX
Monitoring without alerts
PPTX
PyGotham 2016
PPTX
The definition of normal - An introduction and guide to anomaly detection.
PPTX
Monitoring Docker Application in Production
PPTX
Ruxit - How we launched a global monitoring platform on AWS in 80 days.
PPTX
Five Things I Learned While Building Anomaly Detection Tools - Toufic Boubez ...
PDF
Anomaly Detection for Global Scale at Netflix
Canary Analyze All the Things
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
Traffic anomaly detection and attack
Anomaly Detection for Security
The Dark of Building an Production Incident Syste
Cassandra Performance and Scalability on AWS
Anomaly Detection for Real-World Systems
Where is Data Going? - RMDC Keynote
Parallel Programming in Python: Speeding up your analysis
Monitoring large scale Docker production environments
Can a monitoring tool pass the turing test
The Dark Art of Production Alerting
Monitoring without alerts
PyGotham 2016
The definition of normal - An introduction and guide to anomaly detection.
Monitoring Docker Application in Production
Ruxit - How we launched a global monitoring platform on AWS in 80 days.
Five Things I Learned While Building Anomaly Detection Tools - Toufic Boubez ...
Anomaly Detection for Global Scale at Netflix
Ad

Similar to SSL Certificate Expiration and Howler Monkey's Inception (20)

PDF
PyData Texas 2015 Keynote
PPTX
JAZOON'13 - Abdelmonaim Remani - The Economies of Scaling Software
PDF
Mastery
PDF
Intro to Web3 and Polygon.pdf
PPTX
Understanding Blockchain
PPTX
Crypto Miners in the Cloud
PPT
The Economies of Scaling Software
PPT
The economies of scaling software - Abdel Remani
PDF
Доклад Владимира Бичева на третьем митапе сообщества блокчейн-разработчиков С...
PDF
CONFidence 2018: Detecting Phishing from pDNS (Irena Damsky)
PDF
No sql findings
PPTX
Rest + Oauth Integration by Lightning By Mohammed Rizwan
PPTX
Blockchain in Photography
PDF
Killing Shark-Riding Dinosaurs with ORM
PDF
Introduction to Blockchain Technology By Professor Lili Saghafi
PPTX
03 - VMUGIT - Lecce 2018 - Massimiliano Mortillaro, Tech Unplugged
PDF
Gateway and secure micro services
PDF
State of Pyramid - Brasilia 2013
PDF
Ethereum for visionary dummies
PDF
Database Management for 
Real Estate Professionals
PyData Texas 2015 Keynote
JAZOON'13 - Abdelmonaim Remani - The Economies of Scaling Software
Mastery
Intro to Web3 and Polygon.pdf
Understanding Blockchain
Crypto Miners in the Cloud
The Economies of Scaling Software
The economies of scaling software - Abdel Remani
Доклад Владимира Бичева на третьем митапе сообщества блокчейн-разработчиков С...
CONFidence 2018: Detecting Phishing from pDNS (Irena Damsky)
No sql findings
Rest + Oauth Integration by Lightning By Mohammed Rizwan
Blockchain in Photography
Killing Shark-Riding Dinosaurs with ORM
Introduction to Blockchain Technology By Professor Lili Saghafi
03 - VMUGIT - Lecce 2018 - Massimiliano Mortillaro, Tech Unplugged
Gateway and secure micro services
State of Pyramid - Brasilia 2013
Ethereum for visionary dummies
Database Management for 
Real Estate Professionals
Ad

Recently uploaded (20)

PDF
A review of recent deep learning applications in wood surface defect identifi...
PPTX
Modernising the Digital Integration Hub
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
A comparative study of natural language inference in Swahili using monolingua...
PPTX
The various Industrial Revolutions .pptx
PDF
CloudStack 4.21: First Look Webinar slides
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PDF
DP Operators-handbook-extract for the Mautical Institute
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PDF
Getting started with AI Agents and Multi-Agent Systems
PPT
Geologic Time for studying geology for geologist
PDF
Getting Started with Data Integration: FME Form 101
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PPTX
Benefits of Physical activity for teenagers.pptx
PDF
Hybrid model detection and classification of lung cancer
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
A review of recent deep learning applications in wood surface defect identifi...
Modernising the Digital Integration Hub
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
A comparative study of natural language inference in Swahili using monolingua...
The various Industrial Revolutions .pptx
CloudStack 4.21: First Look Webinar slides
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
DP Operators-handbook-extract for the Mautical Institute
O2C Customer Invoices to Receipt V15A.pptx
Getting started with AI Agents and Multi-Agent Systems
Geologic Time for studying geology for geologist
Getting Started with Data Integration: FME Form 101
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Benefits of Physical activity for teenagers.pptx
Hybrid model detection and classification of lung cancer
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
A contest of sentiment analysis: k-nearest neighbor versus neural network
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Web Crawler for Trend Tracking Gen Z Insights.pptx

SSL Certificate Expiration and Howler Monkey's Inception

  • 1. SSL* Certificate Reporting BayLISA March 21st, 2013 @royrapoport rsr@netflix.com Friday, March 22, 13 This is the story of how we went from SSL certificates expiring without notice in production to deploying Security Monkey (later renamed Howler Monkey) and permanently eliminating SSL certificate expiration as a production-class issue.
  • 2. SSL* Certificate Reporting BayLISA March 21st, 2013 @royrapoport rsr@netflix.com Friday, March 22, 13 This is the story of how we went from SSL certificates expiring without notice in production to deploying Security Monkey (later renamed Howler Monkey) and permanently eliminating SSL certificate expiration as a production-class issue.
  • 3. Technology Overview @royrapoport rsr@netflix.com Friday, March 22, 13
  • 4. Technology Overview • SoA, REST, Mostly Java @royrapoport rsr@netflix.com Friday, March 22, 13
  • 5. Technology Overview • SoA, REST, Mostly Java • Simple overall architecture: @royrapoport rsr@netflix.com Friday, March 22, 13
  • 6. Technology Overview • SoA, REST, Mostly Java • Simple overall architecture: @royrapoport rsr@netflix.com Friday, March 22, 13
  • 7. Culture Overview @royrapoport rsr@netflix.com Friday, March 22, 13 We hire very smart people, give them all the context and situational awareness they want, and set them free. We design our environment, our systems, and our teams to be empowered to make decisions without requiring slow approval processes, cumbersome formal communication, or any other unnecessary friction.
  • 8. Culture Overview • Freedom and Responsibility @royrapoport rsr@netflix.com Friday, March 22, 13 We hire very smart people, give them all the context and situational awareness they want, and set them free. We design our environment, our systems, and our teams to be empowered to make decisions without requiring slow approval processes, cumbersome formal communication, or any other unnecessary friction.
  • 9. Culture Overview • Freedom and Responsibility • Distributed Operations @royrapoport rsr@netflix.com Friday, March 22, 13 We hire very smart people, give them all the context and situational awareness they want, and set them free. We design our environment, our systems, and our teams to be empowered to make decisions without requiring slow approval processes, cumbersome formal communication, or any other unnecessary friction.
  • 10. Culture Overview • Freedom and Responsibility • Distributed Operations • Get out of the way of Developers @royrapoport rsr@netflix.com Friday, March 22, 13 We hire very smart people, give them all the context and situational awareness they want, and set them free. We design our environment, our systems, and our teams to be empowered to make decisions without requiring slow approval processes, cumbersome formal communication, or any other unnecessary friction.
  • 11. So Certificates ... @royrapoport rsr@netflix.com Friday, March 22, 13
  • 12. So Certificates ... • Dozens of Certificates @royrapoport rsr@netflix.com Friday, March 22, 13
  • 13. So Certificates ... • Dozens of Certificates • Different kinds of places @royrapoport rsr@netflix.com Friday, March 22, 13
  • 14. So Certificates ... • Dozens of Certificates • Different kinds of places • Datacenter/private @royrapoport rsr@netflix.com Friday, March 22, 13
  • 15. So Certificates ... • Dozens of Certificates • Different kinds of places • Datacenter/private • Datacenter/public/LB @royrapoport rsr@netflix.com Friday, March 22, 13
  • 16. So Certificates ... • Dozens of Certificates • Different kinds of places • Datacenter/private • Datacenter/public/LB • ELBs @royrapoport rsr@netflix.com Friday, March 22, 13
  • 17. So Certificates ... • Dozens of Certificates • Different kinds of places • Datacenter/private • Datacenter/public/LB • ELBs • EC2 @royrapoport rsr@netflix.com Friday, March 22, 13
  • 18. So Certificates ... • Dozens of Certificates • Different kinds of places • Datacenter/private • Datacenter/public/LB • ELBs • EC2 • Source Control @royrapoport rsr@netflix.com Friday, March 22, 13
  • 19. So Certificates ... • Dozens of Certificates • Different kinds of places • Datacenter/private • Datacenter/public/LB • ELBs • EC2 • Source Control • EIPs @royrapoport rsr@netflix.com Friday, March 22, 13
  • 20. So Certificates ... • Dozens of Certificates • Different kinds of places • Datacenter/private • Datacenter/public/LB • ELBs • EC2 • Source Control • EIPs • Totally Distributed Design @royrapoport rsr@netflix.com Friday, March 22, 13
  • 21. So Certificates ... • Some Certificates Weren’t[sic] @royrapoport rsr@netflix.com Friday, March 22, 13 Some certificates weren’t even SSL certificates -- we have certificates we get from a partner that cannot be accessed via SSL, and for which the answer to the question “when does this expire?” require scraping a web page.
  • 22. So Certificates ... @royrapoport rsr@netflix.com Friday, March 22, 13 (obviously, the ‘standard ways to solve this’ part here is somewhat facetious, but these are, in fact, the standard ways in which most organizations try to deal with keeping up with SSL certificate expirations)
  • 23. So Certificates ... • SSL Certificates expire @royrapoport rsr@netflix.com Friday, March 22, 13 (obviously, the ‘standard ways to solve this’ part here is somewhat facetious, but these are, in fact, the standard ways in which most organizations try to deal with keeping up with SSL certificate expirations)
  • 24. So Certificates ... • SSL Certificates expire • Millions of people can’t stream @royrapoport rsr@netflix.com Friday, March 22, 13 (obviously, the ‘standard ways to solve this’ part here is somewhat facetious, but these are, in fact, the standard ways in which most organizations try to deal with keeping up with SSL certificate expirations)
  • 25. So Certificates ... • SSL Certificates expire • Millions of people can’t stream • Hilarity ensues @royrapoport rsr@netflix.com Friday, March 22, 13 (obviously, the ‘standard ways to solve this’ part here is somewhat facetious, but these are, in fact, the standard ways in which most organizations try to deal with keeping up with SSL certificate expirations)
  • 26. So Certificates ... • SSL Certificates expire • Millions of people can’t stream • Hilarity ensues • Standard Ways to Solve This @royrapoport rsr@netflix.com Friday, March 22, 13 (obviously, the ‘standard ways to solve this’ part here is somewhat facetious, but these are, in fact, the standard ways in which most organizations try to deal with keeping up with SSL certificate expirations)
  • 27. So Certificates ... • SSL Certificates expire • Millions of people can’t stream • Hilarity ensues • Standard Ways to Solve This • Excel worksheets @royrapoport rsr@netflix.com Friday, March 22, 13 (obviously, the ‘standard ways to solve this’ part here is somewhat facetious, but these are, in fact, the standard ways in which most organizations try to deal with keeping up with SSL certificate expirations)
  • 28. So Certificates ... • SSL Certificates expire • Millions of people can’t stream • Hilarity ensues • Standard Ways to Solve This • Excel worksheets • Wiki documents @royrapoport rsr@netflix.com Friday, March 22, 13 (obviously, the ‘standard ways to solve this’ part here is somewhat facetious, but these are, in fact, the standard ways in which most organizations try to deal with keeping up with SSL certificate expirations)
  • 29. So Certificates ... • SSL Certificates expire • Millions of people can’t stream • Hilarity ensues • Standard Ways to Solve This • Excel worksheets • Wiki documents • Events on public calendars @royrapoport rsr@netflix.com Friday, March 22, 13 (obviously, the ‘standard ways to solve this’ part here is somewhat facetious, but these are, in fact, the standard ways in which most organizations try to deal with keeping up with SSL certificate expirations)
  • 30. Let’s Do This Thing Cassandra Certificate @royrapoport rsr@netflix.com Friday, March 22, 13 Start with a very simple model -- a Certificate entity, which is really just a combination of name, expiration date, and a series of locations where we can find this. It’d be trivial to feed this thing from my todo list, if I wanted to (but given the state of my todo list, probably a bad idea)
  • 31. Let’s Do This Thing ELB Cassandra Certificate @royrapoport rsr@netflix.com Friday, March 22, 13 Then start building location-aware spiders -- e.g. this spider that knows how to probe all our ELBs to see if they listen on 443 and gets their certificate if they do.
  • 32. Let’s Do This Thing ELB Cassandra EC2 Instance Certificate @royrapoport rsr@netflix.com Friday, March 22, 13 Or this spider that knows how to talk to a specific kind of EC2 instance we have with some certificates.
  • 33. Let’s Do This Thing ELB Cassandra EC2 Instance IP Range Certificate @royrapoport rsr@netflix.com Friday, March 22, 13 etc ...
  • 34. Let’s Do This Thing ELB Cassandra EC2 Instance IP Range Certificate Filesystem @royrapoport rsr@netflix.com Friday, March 22, 13
  • 35. Let’s Do This Thing ELB Cassandra EC2 Instance IP Range Certificate Filesystem DNS @royrapoport rsr@netflix.com Friday, March 22, 13
  • 36. Let’s Do This Thing ELB Cassandra EC2 Instance IP Range Certificate Filesystem DNS @royrapoport rsr@netflix.com Friday, March 22, 13 Once you have all this information, you can easily generate a web page showing certificates, where they are, and when they expire
  • 37. Let’s Do This Thing ELB Cassandra EC2 Instance IP Range Certificate Filesystem DNS @royrapoport rsr@netflix.com Friday, March 22, 13 And send out emails, too -- once we built the capability for teams to subscribe to emails for a given certificate and specify how many days before expiration they should start getting notified
  • 38. Since Then @royrapoport rsr@netflix.com Friday, March 22, 13 We validated the design by continuing to iterate on it -- recently, when building the DNS spider component, that work took only about 15 minutes to implement. We also expanded subscription capabilities so teams could subscribe to certificate expiration warnings based on certificate name regular expressions.
  • 39. Since Then • No Production Emergencies due to SSL certificate expiration @royrapoport rsr@netflix.com Friday, March 22, 13 We validated the design by continuing to iterate on it -- recently, when building the DNS spider component, that work took only about 15 minutes to implement. We also expanded subscription capabilities so teams could subscribe to certificate expiration warnings based on certificate name regular expressions.
  • 40. Since Then • No Production Emergencies due to SSL certificate expiration • Validated Design @royrapoport rsr@netflix.com Friday, March 22, 13 We validated the design by continuing to iterate on it -- recently, when building the DNS spider component, that work took only about 15 minutes to implement. We also expanded subscription capabilities so teams could subscribe to certificate expiration warnings based on certificate name regular expressions.
  • 41. Since Then • No Production Emergencies due to SSL certificate expiration • Validated Design • Better Subscription Capabilities @royrapoport rsr@netflix.com Friday, March 22, 13 We validated the design by continuing to iterate on it -- recently, when building the DNS spider component, that work took only about 15 minutes to implement. We also expanded subscription capabilities so teams could subscribe to certificate expiration warnings based on certificate name regular expressions.
  • 42. Soon ... @royrapoport rsr@netflix.com Friday, March 22, 13 We should be able to figure out who owns a certificate, most of the time, and alert them directly even if they don’t set up a subscription.
  • 43. Soon ... • Customized, automated alerting @royrapoport rsr@netflix.com Friday, March 22, 13 We should be able to figure out who owns a certificate, most of the time, and alert them directly even if they don’t set up a subscription.
  • 44. Soon ... • Customized, automated alerting • Automated renewal @royrapoport rsr@netflix.com Friday, March 22, 13 We should be able to figure out who owns a certificate, most of the time, and alert them directly even if they don’t set up a subscription.
  • 45. Soon ... • Customized, automated alerting • Automated renewal • Telling you a problem is about to happen: Good @royrapoport rsr@netflix.com Friday, March 22, 13 We should be able to figure out who owns a certificate, most of the time, and alert them directly even if they don’t set up a subscription.
  • 46. Soon ... • Customized, automated alerting • Automated renewal • Telling you a problem is about to happen: Good • Preventing the problem automatically: Priceless @royrapoport rsr@netflix.com Friday, March 22, 13 We should be able to figure out who owns a certificate, most of the time, and alert them directly even if they don’t set up a subscription.
  • 47. Soon ... • Customized, automated alerting • Automated renewal • Telling you a problem is about to happen: Good • Preventing the problem automatically: Priceless • Open Source @royrapoport rsr@netflix.com Friday, March 22, 13 We should be able to figure out who owns a certificate, most of the time, and alert them directly even if they don’t set up a subscription.
  • 48. Remember ... @royrapoport rsr@netflix.com Friday, March 22, 13
  • 49. Remember ... • Be Lazy @royrapoport rsr@netflix.com Friday, March 22, 13
  • 50. Remember ... • Be Lazy • Help Others Be Lazy @royrapoport rsr@netflix.com Friday, March 22, 13
  • 51. Remember ... • Be Lazy • Help Others Be Lazy • Computers Are Better Than Humans @royrapoport rsr@netflix.com Friday, March 22, 13
  • 52. Remember ... • Be Lazy • Help Others Be Lazy • Computers Are Better Than Humans • For some things @royrapoport rsr@netflix.com Friday, March 22, 13
  • 53. Remember ... • Be Lazy • Help Others Be Lazy • Computers Are Better Than Humans • For some things • Don’t compete on their terms @royrapoport rsr@netflix.com Friday, March 22, 13
  • 54. Questions? @royrapoport rsr@netflix.com Friday, March 22, 13