web-dev-qa-db-ja.com

証明書ファイルに必要な適切なファイル許可は何ですか

SSL証明書ファイルのファイル許可はどうあるべきか興味があります。誰もサーバーキーを物理的にコピーしたくないので、なぜホストが誰でもそれを読み取り可能にするのですか? (644)

1
drtechno

これは部分的に主観的であり、特に質問には次のようなコンテキストのポイントが多すぎるためです:どのアプリケーションがこれらの証明書を使用しているか、どのOS(644の言及に基づいてUnixシステムについて話しているようです-この場合rw-r--r--と言うのははるかに読みやすいようです)私には-しかし、そこに他のOSがあります)、セキュリティのレベルなど.

それでは、少し戻ってみましょう。一般的なHTTPS PKI操作の場合、サーバーは基本的にキーの公開部分であり、個別に秘密キーファイルである1つの証明書(通常は仮想ホストごとに)を持つ必要があります。これらは、証明書とキーと呼ばれることがよくあります。

個人的な嫌がらせ:二重エラーであるため、誰もがそれを行ったとしても、「SSL証明書」と言うのを止めてください。まず、SSLはもう存在しません。最近はTLSを使用しています。そして、それは実際にはTLS通信に使用されるX.509証明書です。まったく証明書なしでTLSを実行することも、X.509証明書以外のキーマテリアルを使用してTLSを実行することもできます。

証明書は、定義により公開されています。だから、誰でも利用できるようにすることができます、それは「世界で読める」です。ただし、他のファイルと同様に、Webサーバーが実行されているのと同じUIDによってnot所有(またはファイルが存在するディレクトリ)になっていることを確認します。

キーに関しては、定義上、プライベートです。他の制約に基づいて、Unixの権限は可能な限り小さくする必要があります。 Webサーバーと同じUIDが所有している場合(推奨しない場合)、r--------にできます。それ以外の場合、適切なオプションは、rootまたは他の管理者アカウントによって所有され、権限がrw-r-----になるようにWebサーバーのグループを作成することです。

1
Patrick Mevzek