web-dev-qa-db-ja.com

Apache 2で使用するSSL証明書を配置するためのベストプラクティスは?

少数のApacheサーバーがHTTPS用のSSL証明書を使用して多数のサイトを実行している環境では、これらの証明書はどこに配置する必要がありますか? DebianまたはUbuntuでは、関連するすべてのファイルを/ etc/Apache2/sslに配置する必要がありますか?それとも、これに適した他の場所はありますか?同じサーバー上の複数のWebサイトでこれらのファイルの場所を選択する場合、どのようなセキュリティ上の懸念に対処する必要がありますか?

6
Code Ghar

FWIW、私はDebianを使用しています。

すべての秘密鍵を、許可モード/etc/ssl/privateを持つ0700に配置します。すべての証明書を、アクセス許可モード/etc/ssl/certsを持つ0755に配置します。両方の所有者/グループはroot:rootです。

9
bahamat

基本的に、SSLキーファイルはrootユーザーのみが読み取り可能である必要があります(ファイルに対して2つのコマンドを発行する必要があります:Sudo chown root:root /path/to/your/keyfile.keyおよびSudo chmod 600 /path/to/your/keyfile.key)。証明書ファイルは誰でも読み取り可能です。また、キーと証明書をWebアクセス可能なドキュメントツリーの外部に保持することをお勧めします。/etc/Apache/sslうまくいくはずです。

3
Alex

SSL証明書を配置するための次のベストプラクティスは、通常、私にとってうまく機能しました。

  1. /usr/share/ca-certificates/domainname/- CA機関から取得した公開*.crtファイルをここに配置します
  2. /etc/ssl/certs-/usr/share/ca-certificates/domainname/ディレクトリに配置されたファイルへのシンボリックリンクを作成します
  3. /etc/ssl/private/private.key-秘密鍵はこのディレクトリに直接配置されます
  4. /opt/ssl/csr/domainname/domain.csr-将来の参照のために、元のCSRをこのディレクトリに配置します。

DovecotやPostfixなどのサービスにSSL証明書を使用することを計画している場合は、*.pemファイルも必要になります。これらの変換された*.pemファイルを/opt/ssl/csr/domainname/*.pemに置き、それらへのソフトリンクを/etc/ssl/certsディレクトリに作成できます。

1
Mr. Doomsbuster