2017-10-28 7 views
0

私はnodejs上で実行されているjavascriptアプリケーションを持っています。いくつかのオンラインサービスにアクセスするためにstdinを読み、ユーザー名とパスワードを取得します。ノードjsのランタイムを保護するか、デバッグ/検査を無効にする

これらの資格情報は、リロジンが必要な場合に、アプリケーションが稼動している時間(24/7)の間、変数にとどまります。

サーバーにアクセスするユーザーがブラウザで実行できるのと同じ方法でアプリケーションを「デバッグ」し、それらの変数を取得することは可能ですか?または他の方法で。

私はまだノードの内部動作をほとんど理解していません。

EDIT: アプリケーションはDockerコンテナで実行されています。

答えて

2

これはサーバーによって異なります。彼らにrootまたはAdministratorの特権がある場合は、ラムから直接読み取るなど、さまざまな方法でアクセスできる可能性があります。標準のアカウントを使用している場合は、アプリと同じアカウントで実行されていない限り、おそらくより安全です。常に可能ですが、別のアカウントを使用し、マシンへのOSユーザーのアクセスを制限し、少なくとも資格情報を暗号化することで、リスクを最小限に抑えることができます。また、アクセス許可が設定されているので、アプリコードを書き込んだり読んだりできないように設定しておいてください。 Nodeのデバッグに関しては、デバッグモードで明示的に実行する必要があると私は理解しています。しかし、確かに他の方法もあります。そのため、特にサーバーへのアクセスを制限し、暗号化を使用することが最善です。これらの資格情報を暗号化された形式でオフロードし、それらを保持していたすべての変数をクリアすることができればさらに優れています。

+1

@Aus 1.攻撃者**がroot /管理者権限を取得すると想定する必要があります。 2. 2要素認証をサーバーにセットアップします。 – zaph

+0

@zaph質問を編集しました.Dockerコンテナで実行されていますが、関連性があるかどうかわかりませんでした。 – Aus

+0

これはDocker上で動作していますが、私はデフォルトのルートの代わりに "node"ユーザを使って読んでいます。 – Aus

関連する問題