2016-10-03 5 views
1

ExpressとNode.JSを使用して人のページを作成できる小さなwebAppがあります。すべてのページはオブジェクトです。つまり、new privatePage(name, pswd)を使用して新しいページを作成できるため、すべてのパスワードはオブジェクトのpswd属性に格納されます。Node.JS、私のパスワードはRAMで安全ですか?

ここで私の質問は安全ですか、それとも簡単に「ハックする」のですか?

編集:私のパスワードは、短い時間で非アクティブになっていると自分自身を削除するので、平均で最大24時間保存する必要があります。

+0

アプリを実行しているOSを制御しているときに、いつでもそれらをハックするのは簡単です。しかし、そうではありません、彼らを外部からハックするのは簡単ではありません。 – Bergi

+0

あなたはそれらのインスタンスでより長い時間「保存」されることを意図していますか? – Bergi

+0

"時間"が長いです。 "1回のリクエストの時間"は短いです。アプリケーションですべてのメモリ内のみを保存する予定ですか?したがって、アプリケーションがクラッシュして再起動する必要がある場合、すべてのページはなくなりますか? – Bergi

答えて

1

これらは絶対にNOT SAFEです。

bcryptを使用して保存します。これは、世界で使用されている最新のハッシュアルゴリズムです。これを使用すると、データベースに保存されているパスワードは絶対に安全です。

これはあなたを助けました。

+0

パスワードは、受け取ったときにRAMに入っていてbcryptに供給されるので、これも安全ではないと思います。 NISTはPBKDF2の使用を提案していますが、彼らは何を知っていますか? ;-)「絶対に安全」を定義しますか? – zaph

1

"安全"の定義方法によって異なります。

セキュリティのベストプラクティスとして、RAMでは何も安全ではないと想定する必要があります。バッファオーバーフローの原因となる脆弱性を持つ悪質なソフトウェアやOSコードは、巧妙な攻撃者がサーバのメモリセグメントを制御し、ページパスワードなどの機密データを含む可能性があります。バッファオーバーフローの問題を調べることは難しい作業ですが、インターネットが存在するため、だれでもscript kiddiesが実行できるツールを作成できます。したがって、これらの種類の問題への曝露のリスクを低減するために、機密データをメモリに短期間保存することがベストプラクティスです。

一方、サーバー上のセキュリティ更新プログラムの更新に関する非常に堅固なポリシーがあり、セキュリティの問題が発表されるのと同じ速さで対応できます。その場合、リスクは低いと言えますが、100%のハッキングの可能性は排除されません。これが、私が最初にそれがあなたの環境をどのように "安全"にしているかによって決まる理由です。

+0

ああ、ほとんどのDBのencryprionは安全ではないと思うが、HSMを持っていない限り、鍵はある時点でRAMになければならないので、一般的にその暗号化を行う。 – zaph

関連する問題