CentOS 7 は既にサポートが終了しています。このページは新規構築を推奨するものではなく、過去環境の保守、移行前調査、設定の読み解きに使うためのレガシー Linux 手順です。新規構築では、現在サポートされている Linux ディストリビューションを利用してください。
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.csrSAN 設定を用意する
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 系の記事をまとめたハブページです。
参考書籍
参考
書籍
書籍
参考書籍
CentOS 7 システム管理ガイド
CentOS 7 の systemd、NetworkManager、firewalld などを確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
CentOS 7 SSL 証明書 – 自己署名 CA と内部向け TLS の基本

