社内サービス向けTLS証明書の正しい取得方法
TLS certificates for internal services done right

社内サービスにTLS証明書を導入する際、`.internal`ドメインで自己署名証明書を使うと、全クライアントに証明書の信頼設定が必要になり、運用が煩雑になります。本記事では、パブリックドメインとVPNのDNS機能を組み合わせた「スプリットホライズンDNS」と、VPNインターフェースにバインドしたnginxのWAF機能を活用し、Let's EncryptなどのパブリックCAから証明書を発行・自動更新する方法を解説します。NetBirdのCustom Zones機能とacme.shのスタンドアロンモードを使った具体的な設定例も紹介します。
セキュリティはレイヤー構造です(玉ねぎやオーガのように)。最初のレイヤーはスプリットホライズンDNSですが、何らかの理由でそれが失敗したり、巧妙に迂回された場合に備えて、第2のレイヤーであるWAFが防衛線を維持するはずです。