Introducing Lemur

Netflix Technology Blog
9 min readadvanced
--
View Original

Overview

The article introduces Lemur, an open-source x.509 certificate orchestration framework developed by Netflix. It addresses the challenges of certificate management within Public Key Infrastructure (PKI) by simplifying the procurement process and enhancing security for developers.

What You'll Learn

1

How to use Lemur for certificate management in your applications

2

Why managing sensitive key material securely is crucial in PKI

3

When to utilize internal vs external Certificate Authorities (CAs)

Prerequisites & Requirements

  • Understanding of Public Key Infrastructure (PKI)
  • Familiarity with OpenSSL commands(optional)

Key Questions Answered

What is Lemur and how does it improve certificate management?
Lemur is a certificate management framework that acts as a broker between certificate authorities and deployment tools, simplifying the procurement process and enhancing security by minimizing developer exposure to sensitive key material.
What are the main components of Public Key Infrastructure (PKI)?
The main components of PKI include Public Certificates, Private Keys, and Certificate Authorities (CAs). Public Certificates validate ownership of public keys, Private Keys are used for decryption, and CAs confirm identities in communications.
How does Lemur handle sensitive key material?
Lemur securely stores sensitive key material created during the certificate procurement process, ensuring that developers do not have to manage this information directly, which reduces the risk of exposure and mistakes.
What are the steps in the certificate procurement process?
The typical steps include creating a Certificate Signing Request (CSR), submitting it to a CA, approving the CSR, deploying the certificate, and storing secrets. Each step involves careful handling to maintain security and integrity.

Technologies & Tools

Some links below are affiliate links. We may earn a commission if you make a purchase.

Backend
Python
Used for the Lemur API development.
Backend
Flask
Framework for building the Lemur API.
Database
Postgresql
Used for storing certificate data.
Frontend
Angularjs
Used for the user interface of Lemur.
Service
AWS Simple Email Service (ses)
Optional service for sending email notifications.

Key Actionable Insights

1
Utilize Lemur to streamline your certificate management process, reducing the complexity of handling sensitive key material.
By using Lemur, developers can avoid the pitfalls of manually managing certificates and keys, which can lead to security vulnerabilities.
2
Implement a centralized certificate management system to track all certificates across your environment.
Centralized tracking helps ensure compliance and security, making it easier to manage certificate lifecycles and renewals.
3
Educate your team on the importance of PKI and secure certificate management practices.
Understanding the components and processes of PKI can empower developers to make informed decisions and avoid common mistakes.

Common Pitfalls

1
Developers may inadvertently expose sensitive key material when handling certificates manually.
This often happens due to the complexity of the certificate procurement process and the need to copy and paste sensitive information across different systems.
2
Misunderstanding the roles of internal and external Certificate Authorities can lead to incorrect certificate usage.
It's crucial for developers to know when to use internal CAs for controlled environments and external CAs for public-facing applications to maintain security.

Related Concepts

Public Key Infrastructure (pki)
Certificate Authorities (cas)
Certificate Signing Request (csr)
TLS/SSL