SSL/TLS 証明書 (現行は TLS が正しい呼称ですが、 SSL 証明書という名称が定着) は、 Web の通信を暗号化し、ドメインの所有者を検証するための仕組みです。 Let's Encrypt の登場 (2016 年) と Chrome の HTTPS 必須化 (2018 年) を経て、 2024 年時点で世界の Web トラフィックの 95% 以上が HTTPS で通信されるようになりました。短縮 URL を独自ドメインで運用する場合、 SSL 証明書の選定と運用は信頼性に直結します。
SSL 証明書には、 DV (Domain Validation)、 OV (Organization Validation)、 EV (Extended Validation) の 3 種類があります。 DV はドメイン所有のみ検証する低価格な証明書で、 Let's Encrypt や ZeroSSL が無料で発行しています。 OV と EV は組織情報まで検証するため、ブランドの信頼性を強調したい大手企業の Web サイトで使われていました。 EV はかつてブラウザ URL バーに会社名を表示していましたが、 Chrome は 2019 年、 Firefox は 2020 年にこの表示を廃止し、 EV と OV の差は実質的に小さくなっています。短縮 URL サービスでは、 DV 証明書 + Let's Encrypt の自動更新が標準で十分です。
ワイルドカード証明書 (例: 「*.example.com」) は、独自ドメインの短縮 URL で複数サブドメインを運用する場合に有効です。 Let's Encrypt はワイルドカード証明書を無料で発行できますが、 ACME-DNS-01 チャレンジによる DNS レコード認証が必要で、 HTTP-01 チャレンジ (ファイル配置のみ) より設定がやや複雑になります。 Cloudflare、 AWS Route 53 などのマネージド DNS と組み合わせると、 DNS チャレンジを自動化でき、運用が大幅に簡素化されます。
HSTS (HTTP Strict Transport Security) は、ブラウザに「このドメインは常に HTTPS で接続する」と指示するヘッダーで、 HTTPS への自動アップグレードと、自己署名証明書のクリック許可不可を強制します。短縮 URL のドメインで HSTS を有効にすると、ユーザーが http:// で短縮 URL を入力しても確実に HTTPS で接続され、中間者攻撃のリスクが下がります。 max-age を 1 年以上 (31536000 秒) に設定し、 includeSubDomains と preload オプションを併用すると、 HSTS Preload リスト (Chrome の組み込みリスト) に登録できます。
CT (Certificate Transparency) ログは、発行されたすべての SSL 証明書を公開ログに記録する仕組みで、 Chrome は CT ログ未登録の証明書を信頼しなくなりました。 Let's Encrypt や DigiCert などの主要 CA は自動的に CT ログに登録するため、利用者側の操作は不要です。 CT ログは 「crt.sh」 で検索でき、自社ドメインに対する不審な証明書発行を監視するセキュリティ用途にも使えます。 Web セキュリティの体系を学ぶには、関連書籍は Amazon でも探せます。
証明書の更新運用が、独自ドメイン短縮 URL サービスの最大の運用課題です。 Let's Encrypt は 90 日ごとの更新が必要で、自動化が必須です。 certbot、 acme.sh、 lego などの ACME クライアントを cron で定期実行する構成が標準的です。更新失敗時のアラートを Slack や PagerDuty に飛ばす監視を組まないと、 90 日サイレント期限切れで突然 SSL エラーが出る事故が起こります。
独自ドメインの短縮 URL を SSL で運用するベストプラクティスは、 Let's Encrypt の DV ワイルドカード証明書、 HSTS の preload 適用、 CT ログ監視、自動更新の確実な運用の 4 点です。これらを整えると、無料かつ高信頼な独自ドメイン短縮 URL サービスを長期運用できます。