SSLキーの許可


15

私はnginxで安全な接続(https)を設定しようとしています。

しかし、私は秘密鍵の許可について少し心配しています。これはどのチュートリアルでも言及されていません。

それらを変更する必要がありますか?何に?

回答:


15

秘密鍵の読み取りは厳しく制限する必要があります。にアクセス許可を設定し600、所有しrootます。ただし、他の安全なアクセス許可設定があります-Ubuntuは、所有者root、グループssl-cert、およびアクセス許可を持つディレクトリにキーを保存します710。つまり、のメンバーのみssl-certがそのディレクトリ内のファイルにアクセスできます。秘密鍵には、グループssl-cert、所有者root、および許可があり640ます。


2
具体的に追加します。CentOS7でnginxを使用する場合、nginxグループ内のユーザーが証明書または秘密キーを読み取り可能にする必要はありません。Webサーバーは、root(あるべきように)でのみ読み取り可能であっても、それらを使用できます。

3

私はnginxのセットアップに問題があり、この質問に出会いました。ここでの他の回答はすでに質問に直接回答していますが、もう少し情報が役立つと思いました。

通常、nginxはrootinit scripts / systemdによってユーザーとして起動されます。ただし、nginxには、通常の操作で特権の低いユーザーに切り替える機能もあります。だから私の質問は、SSL証明書/鍵をロードするためにどのユーザーが使用されたのですか?最初の特権ユーザーまたは切り替えられたユーザー?

幸いなことに、nginxはユーザーを切り替える前に、初期アクセス許可を使用して証明書とキーをメモリに読み込みます。そのため、通常は、nginxがまだ実行されているときにnginxによってロードされるため、非常に制限されたアクセス許可でキーを残すことができますroot


私がここに着陸した問題ssl_certificateは、私のserverブロックでのみ定義していたことnginx.confです。[error] 18606#18606: *311 no "ssl_certificate" is defined in server listening on SSL port while SSL handshaking鍵が正しい場所にあることをよく知っていたときのように、エラーが発生していました。その問題は、私がssl_certificatehttpレベルではなかったということでしたnginx.conf

これが誰かに役立つことを願っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.