手当たり次第に書くんだ

飽きっぽいのは本能

CentOS 7 SSL 証明書 – 自己署名 CA と内部向け TLS の基本

CentOS 7 は既にサポートが終了しています。このページは新規構築を推奨するものではなく、過去環境の保守、移行前調査、設定の読み解きに使うためのレガシー Linux 手順です。新規構築では、現在サポートされている Linux ディストリビューションを利用してください。

CentOS 7 サーバー管理ガイドへ戻る

CentOS 7 で内部向け TLS に使う自己署名 CA とサーバー証明書の考え方を整理します。公開サイトではなく、管理画面、LDAP、内部 Web UI などに TLS を適用する既存環境を読むための記事です。

自己署名証明書は、単に警告を無視して使うものではありません。内部 CA を作り、クライアントに信頼させ、SAN に実際の接続名を入れることで、内部向け TLS として意味を持ちます。

作業ディレクトリを用意する

mkdir -p /root/pki
cd /root/pki

内部 CA を作成する

openssl genrsa -out ca.key 4096
openssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 -out ca.crt

サーバー秘密鍵と CSR を作成する

openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr

SAN 設定を用意する

subjectAltName = DNS:server.example.local,IP:10.0.0.10
extendedKeyUsage = serverAuth

サーバー証明書を発行する

openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 825 -sha256 -extfile server.ext

証明書を確認する

openssl x509 -in server.crt -noout -text | grep -A2 "Subject Alternative Name"

クライアントへ CA を配布する

内部 CA を使う場合、サーバー証明書だけではなく CA 証明書をクライアント側に信頼させます。ここを省略すると、暗号化はされていても検証できない TLS になります。

確認するポイント

  • CN ではなく SAN に接続名が入っているか。
  • 秘密鍵の権限が適切か。
  • CA 秘密鍵をサーバー上に置きっぱなしにしていないか。
  • どの端末・どの用途で内部 CA を信頼させるか決めているか。

まとめ

内部向け TLS は、自己署名だから雑でよいという話ではありません。CentOS 7 の既存環境では、CA、SAN、秘密鍵、配布範囲、各サービスの参照先をセットで確認することで、証明書まわりの運用を読みやすくできます。

関連する記事

参考書籍

参考
書籍
参考書籍
CentOS 7 システム管理ガイド

CentOS 7 の systemd、NetworkManager、firewalld などを確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

CentOS 7 SSL 証明書 – 自己署名 CA と内部向け TLS の基本

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る