← Retour au blog
tech 10 July 2026

TLS Certificates for Internal Services Done Right

Securing your internal services with TLS certificates isn't a trivial task. Learn how to implement it seamlessly.

Article inspired by the original source
TLS certificates for internal services done right ↗ tuxnet.dev

Introduction

Securing internal services with TLS certificates is often seen as a complex task. However, when implemented correctly, it offers robust security while simplifying access management. This article will guide you through the essential steps to implement TLS certificates for your internal services, avoiding common pitfalls.

Why TLS Certificates for Internal Services?

TLS certificates are not just for public services. They play a crucial role in securing internal communications within your infrastructure. By encrypting data in transit, they protect against eavesdropping and man-in-the-middle attacks. Moreover, they ensure the authenticity of services, thereby strengthening trust within your network.

The Problem with Self-Signed Certificates

A common choice for internal services is the use of self-signed certificates. While easy to generate, they have major drawbacks. Every HTTP client must be configured to accept them, which can quickly become unmanageable at scale. Worse, if misconfigured, they might encourage users to ignore certificate errors, compromising security.

Using Split-Horizon DNS

A more robust solution is split-horizon DNS. This configuration allows a single domain to resolve to different IP addresses, depending on whether the user is connected to the VPN. For instance, grafana.tuxnet.dev could resolve to a public IP for public DNS resolvers, and an internal IP for VPN users. This enables the use of public CAs like Let's Encrypt, which are widely recognized and avoid the complications of self-signed certificates.

Implementation with Modern Tools

To implement this solution, here are the recommended tools:

  • VPN with DNS Resolver: NetBird is a great option thanks to its custom zones feature.
  • ACME Client: acme.sh is a lightweight tool for obtaining certificates from Let's Encrypt.
  • Reverse Proxy with WAF: Use Nginx to protect your internal applications from unauthorized traffic.

Step-by-Step

  1. Configure NetBird: Use the custom zones feature to manage split-horizon DNS resolutions.
  2. Obtain a Certificate: Use acme.sh to get a certificate via the http-01 challenge.
  3. Set Up Nginx: Implement a reverse proxy with WAF rules to filter traffic.

Conclusion

Implementing TLS certificates for internal services may seem daunting, but with the right approach, it becomes a manageable and highly beneficial task for your network's security. Adopt these best practices and strengthen the trust within your infrastructure.

Let's discuss your project in 15 minutes.

TLS internal services split-horizon DNS Let's Encrypt network security
Deepthix newsletter · 100% AI · every Monday 8am

An AI agent reads tech for you.

Our AI agent scans ~200 sources per week and ships the best articles to your inbox Monday 8am. Free. One click to unsubscribe.

Visit the newsletter page →

Want to automate your operations?

Let's talk about your project in 15 minutes.

Book a call