安全なディレクトリに配置されているSSL秘密鍵を読み取りながら、PM2を介してノードを実行する方法を探しています。
詳細:ノードを備えたBitnamiLEMPスタック
/ etc/ssl/privateの権限:
drwx------ 2 root root 4096 private
キーファイルのアクセス許可:
-rw-r----- 1 root root 1704 my_key_file.key
上記の権限があれば、nginxとphpの両方が問題なく正常に実行されます(これは、nginxのmasterプロセスがrootとして実行されるためだと思いますか?)、実行中のノードもSudoとして実行されます。
ただし、このノードコードをroot以外のユーザーとして実行したいのは、ノードサーバーが危険にさらされた場合のセキュリティリスクが軽減されるためです。
ここでの私のオプションは何ですか?私がそれを理解する方法は、これらのオプションのようなものです:
どんな種類の助けも大歓迎です!ありがとう
ssl-cert
というグループを作成し、そのグループにpm2user
を追加できます。
Sudo groupadd ssl-cert
Sudo usermod -a -G ssl-cert pm2user
次に、ディレクトリ/etc/ssl/private
のグループとその内容をssl-cert
に変更します。また、private
ディレクトリのグループ実行権限を追加する必要があります。
Sudo chown -R root:ssl-cert /etc/ssl/private/
Sudo chmod 650 /etc/ssl/private/
Sudo chmod 640 /etc/ssl/private/my_key_file.key
これにより、PM2がファイルを読み取るためのアクセスが可能になります。それは多かれ少なかれ安全ですか?これは、サーバーにアクセスできるユーザーと、ssl-cert
グループが共有されている範囲によって異なります。グループの使用を最小限に抑えます。ログインしていないアカウントのみです。 NginxおよびPM2サービスを再起動して、新しい権限で再接続する必要があります。