少数のApacheサーバーがHTTPS用のSSL証明書を使用して多数のサイトを実行している環境では、これらの証明書はどこに配置する必要がありますか? DebianまたはUbuntuでは、関連するすべてのファイルを/ etc/Apache2/sslに配置する必要がありますか?それとも、これに適した他の場所はありますか?同じサーバー上の複数のWebサイトでこれらのファイルの場所を選択する場合、どのようなセキュリティ上の懸念に対処する必要がありますか?
FWIW、私はDebianを使用しています。
すべての秘密鍵を、許可モード/etc/ssl/private
を持つ0700
に配置します。すべての証明書を、アクセス許可モード/etc/ssl/certs
を持つ0755
に配置します。両方の所有者/グループはroot:rootです。
基本的に、SSLキーファイルはroot
ユーザーのみが読み取り可能である必要があります(ファイルに対して2つのコマンドを発行する必要があります:Sudo chown root:root /path/to/your/keyfile.key
およびSudo chmod 600 /path/to/your/keyfile.key
)。証明書ファイルは誰でも読み取り可能です。また、キーと証明書をWebアクセス可能なドキュメントツリーの外部に保持することをお勧めします。/etc/Apache/ssl
うまくいくはずです。
SSL証明書を配置するための次のベストプラクティスは、通常、私にとってうまく機能しました。
/usr/share/ca-certificates/domainname/
- CA機関から取得した公開*.crt
ファイルをここに配置します/etc/ssl/certs
-/usr/share/ca-certificates/domainname/
ディレクトリに配置されたファイルへのシンボリックリンクを作成します/etc/ssl/private/private.key
-秘密鍵はこのディレクトリに直接配置されます/opt/ssl/csr/domainname/domain.csr
-将来の参照のために、元のCSRをこのディレクトリに配置します。DovecotやPostfixなどのサービスにSSL証明書を使用することを計画している場合は、*.pem
ファイルも必要になります。これらの変換された*.pem
ファイルを/opt/ssl/csr/domainname/*.pem
に置き、それらへのソフトリンクを/etc/ssl/certs
ディレクトリに作成できます。