Webサーバーとセキュリティに関連する環境変数

Webサーバーとセキュリティに関連する環境変数

Node.jsサーバーからアクセスできるLinuxシステムにいくつかの環境変数を設定したいと思います。これらの変数には、データベースパスワードやAPIキーなどの機密情報が含まれます。

私の現在の設定は、権限が少ない(sudoもできません)、ユーザーがNode.jsサーバーを実行することです。このユーザーをサーバーだけを実行するように制限したいので(誤解を招くのですか?)、ユーザーの〜/ .bash_profileに環境変数を入れたくありません。

だから私の考えは、サーバーに必要な環境変数を/ etc / profileに入れることでした。そうすることで、サーバーを実行する権限の低いユーザーには構成に変数はありませんが、まだ使用できます。ただし、/etc/profile の権限はすべてのユーザーに読み取りアクセス権を付与します。これは論理的に理解されますが、始めた場所に戻ります。

LinuxシステムのWebサーバー環境変数のベストプラクティスは何ですか?すべてのユーザーが常に読むことができる場合は、プロジェクトのルートにあるキーと値を含むテキストファイルをWebサーバーにインポートするよりも、環境変数を使用する方がよいでしょう。(dotenvに類似)?環境変数はセキュリティ上の問題ではなく、メンテナンスのためのベストプラクティスにすぎないので、ここでポイントをリンクできませんか?

ベストアンサー1

機密データをプレーンテキストとして保存しないでください。誰も解読できないように暗号化する必要があります。

JSONファイルへのすべての構成の追加 一部のパスワードを使用してJSONファイルを暗号化し、ストレージ・サーバー上でアプリケーションの実行中にファイルを復号化し、変数を使用する

このモジュールを参照してください。 https://github.com/nareshv/secure-conf

注:このタイプのコードを保護するには、次のコマンドを使用して、本番環境で読み取れない形式でjavascript形式を指定できます。https://javascriptobfuscator.com/

この技術を使用してコードを保存します。

おすすめ記事