2017-10-13 13 views
2

postgresql pg.Pool接続プールの資格情報をnode.js実装に安全に格納する方法は? configオブジェクトをpg.Poolに渡すように設定すると、poolオブジェクトに暗号化されずに格納されます。つまり、プールオブジェクトは常にメモリ内に表示されます。postgresql pg.Pool接続プールの資格情報のセキュリティ

pg.Poolには、資格情報が必要なときにのみ、その機能を即座に復号化するコールバックメカニズムがありますか、それをプールオブジェクトに保存する以外の方法で保護します暗号化されていない状態で長時間メモリに残っていますか?

お知らせください。接続の詳細は、のために厳密に意図されているので、

+0

しかし、これは厳密にはサーバー側であり、クライアント側には漏れていません。あなたの心配は何ですか? –

+0

私の懸念は、ハッカーがメモリダンプを取得できる場合、そこにデータベース名、ユーザー名などと共にデータベースにアクセスするプレーンテキストのパスワードがあることです。この脆弱性から守るために?私はまた、この脆弱性から保護することが可能であることを示唆しており、そうする方法があるはずです。 – CaptAmericode

答えて

1

んpg.Poolは、それは資格情報

ないようなことが必要な場合にのみ、それはその場で解読するために、あなたの関数を呼び出すができたコールバックメカニズムを持っていますサーバ側。

Poolオブジェクトを作成する直前にのみ、その接続を復号化することができます。その後、オブジェクトによって内部的に保持されます。

企業環境では、データベースサーバーはDMZ内に存在する必要があります。

+0

はい、それは私の理解です。プール設定の詳細をメモリダンプ攻撃から保護する別の方法があるかどうかは疑問だった。共有ホスト環境では、マシンのセキュリティと監視が手元にないため、問題になります。 – CaptAmericode

+1

@CaptAmericode現在可能な唯一のアプローチは、サーバーを保護することです。それが破られると、あなたは暴かれます。セキュリティ保護されたものを適切にホスティングするには、DMZ内のサーバーが必要です。 –

+0

DMZに関する情報を追加していただきありがとうございます。この情報をあなたの答えに加えると、私はそれを受け入れます。あなたの答えがより完全であると思うからです。 – CaptAmericode