-1

サーバーとデータベースが侵害された場合でも、攻撃者が元のデータを読み取ることができないように、機密性の高いユーザー データをデータベースに保存する方法はありますか? 明らかにデータを暗号化できますが、復号化のためにサーバーがキーにアクセスできる必要があり、サーバーとともに危険にさらされます。

編集: Linode などの vps ホスティングを使用します。攻撃者がサーバー (データベースとソース コードもある) への root アクセスを 1 時間取得できると仮定します。

4

2 に答える 2

3

管理者ユーザーからキーを取得する

サーバーのメモリにキーのみを保存します。メモリのみのコピーは、必要に応じてデータを復号化するために使用されます。サーバーが起動すると、管理者からキー情報を取得する必要があります。もちろん、これにはバリエーションがあります。管理者は、その瞬間だけ USB ドライブを差し込むことができます。管理者は、キーがデータベースなどにある別のマシンへの一時的なアクセスを提供するパスワードを提供できます。管理者は、コンソールのプロンプトに応答して、サーバー上にあるキーストア ファイルのパスワードを入力できます。管理者がログインして「キーを入力」オプションを選択するまで、Web サイトは機能しません。

これにより、攻撃者はデータを復号化する前にメモリ内のキーを見つける必要があります。

2 台目のマシンのキー

管理者に頼るよりも安全性は低くなりますが、それでも多少安全な 2 番目の方法が使用されます。ネットワーク上のどこかにある 2 台目のマシンにキーを配置します。サーバーと同じユーザー アカウントがないことを確認します。サーバーが起動すると、何らかの方法で他のマシンに接続してキーを取得し、キーをメモリにのみ保存する必要があります。繰り返しますが、管理者に頼って他のマシンのアカウントにパスワードを提供するか、Linux では保存されたキーで SCP を使用することができます。攻撃者がネットワークを通過する際に鍵を見ることができないように、通信を安全にすることが重要です。

この場合、攻撃者は 2 台のマシンを侵害して、1 台からデータを取得し、別のマシンからキーを取得する必要があります。そのため、同じマシンにキーを配置するよりも安全です。

その他のポイント

これらすべてを Web 上で見つけることができます。グーグルはあなたの友達です。

ただし、悪者にとってより困難にするために、いくつかの明らかなセキュリティ上の予防措置を覚えておいてください。

  1. システムを物理的に保護します。悪者がキーボードを手に入れないようにしてください。
  2. 優れたセキュリティ機能を備えた OS を使用し、それらの機能を活用してください。
  3. root パスワードを無効にし、すべてのユーザーが識別可能なアカウントを使用してログインすることを要求し、必要に応じて root 権限を取得するために何かを行います。(次に、すべてのログインとルートへのアクセスのログを保持して、誰が何をしたかを確認できるようにします。)
  4. マシンで何が起こっているかを監視します。これは、ビデオ監視またはログのチェックアウトを意味する場合があります。
  5. バックアップ「テープ」を安全に保管してください。これらには、ディスク ドライブと同じシークレットが含まれています。
  6. 彼らが秘密を漏らす可能性のある場所にメモリ ダンプを放置しないでください。
  7. アクセス権を持つ人々を考慮してください。彼らは信頼できますか?彼らは賄賂を受け取ることができますか?彼らの行動を確認できますか?彼らは低賃金ですか、それとも不満を持っていますか?
于 2013-06-26T19:06:09.933 に答える