開発者のラップトップに重要なデータベースを保存するための適切なセキュリティ対策は何ですか?


33

いくつかの指定があります。

  1. 開発者は、マシンに本番データベースのレプリカが必要です。
  2. 開発者は、App.configファイルで上記データベースへのパスワードを持っています。
  3. このデータベースのデータが危険にさらされるのは望ましくありません。

いくつかの推奨される解決策とその欠点:

  1. フルディスク暗号化。これはすべての問題を解決しますが、ラップトップのパフォーマンスを低下させ、私たちは新興企業なので、パワーホースにお金をかけないでください。
  2. 暗号化されたハードディスクを使用してVMを作成し、その上にデータベースを保存します。これはうまく機能しますが、Web.Configにパスワードがあるため、あまり役に立ちません。
  3. ソリューション番号2 +開発者が何かを実行するたびにデータベースパスワードを入力する必要がある。これはすべての問題を解決しますが、1分に数回アプリケーションを起動することがある開発者にとっては非常に面倒です。また、同じデータベースに接続する複数のアプリケーションがあり、パスワード画面の実装はそれぞれ異なる必要があります。

だから、私の問題は、そのような問題の一般的な解決策があるか、または上記の解決策のいずれかを実行可能にする方法に関する提案がありますか?


26
フルディスク暗号化のパフォーマンスへの影響を実際に測定しましたか。私はかなり古いラップトップでそれを使用してきましたが、パフォーマンスの大幅な低下を認識しませんでした。最新のオペレーティングシステムはキャッシングに非常に優れており、ディスクはとにかく遅いです。最悪の影響は、おそらくバッテリーの寿命です。
5gon12eder

69
正直に言うと、これは正しいアプローチのようには聞こえません。1)開発者がマシンに本番データベースを必要とするのはなぜですか?dev dbのダミーデータを作成する方法はありませんか?2)パスワードが設定ファイルにプレーンテキストで保存されるのはなぜですか?欠陥のあるプロセスに絆創膏をかけようとしているようです。おそらく、開発マシンに実際に存在するものや、データベースのパスワードの保存方法を修正できます。
トーマスストリンガー

2
開発者が本番データベースを必要とする理由があります。歴史的な理由から、彼らの仕事はライブデータと結びついています。これは悪い考えであり、良い解決策が見つからない場合は、ダミーデータに移行します。今のところ、私はそれなしで良い解決策を見つけようとしています。
スヴァログ

6
MacBook Proのユーザーは、SSDドライブでディスク全体の暗号化がオンかオフかをマシンの速度から知ることはできません。違いはありません。あなたが気付くことができるものはありません。たぶん、あなたは測定することができますが、目立ったものは何もありません。
gnasher729

5
2番目の@ gnasher729のコメント。規制された環境(金融および医療)で長年フルディスク暗号化を使用してきたため、パフォーマンスを著しく低下させる必要はありません。多くの人が他の有効なポイントを持ち出しますが、HIPAA環境では、データベースがノートブックに置かれていない場合でも、完全なディスク暗号化なしで適切なポリシーを設定することは困難です。とにかく、メールやその他のデータの断片がしばしばそこに集まります。スワップファイル...など...フルディスク暗号化は適切ではありませんが、通常は必要です。
joshp

回答:


100

実稼働データベースのコピーが必要ないだけでなく、実際には違法である可能性があります。たとえば、米国では、個人の健康データ、財務データ、または個人情報の盗難に使用される可能性のあるデータなどの規制情報が含まれている場合、本番環境から本番データを移動することはできません。違反すると、罰金を科されたり、コンプライアンスの地位を失い、より積極的な監査の対象になったり、訴訟で指名されたりする可能性があります。

テストに生産規模のデータが必要な場合、いくつかのオプションがあります。

  1. すべてのダミーデータを生成します。これは思ったよりもトリッキーです。理にかなった想像上のデータを生成することは驚くほど難しく、労働集約的です。
  2. 本番データを匿名化します。これは簡単かもしれませんが、注意して進めてください。

オプション#2の場合

  • 実稼働環境では、許可されたデータベース管理者が実稼働データのコピーを作成します。
  • 実稼働環境では、同じ許可された管理者がすべての機密データを匿名化するルーチンを実行します。疑わしい場合は、匿名化します。
  • その後、データを別の環境に移動する必要があります。

31
そして、データベースのコピーへのパスワードが.....生産バージョンのものと同じであってはならない
モニカと明度レース

3
「たとえば、米国では、規制された情報が含まれている場合、本番環境から本番データを移動することはできません」これのソースはありますか?たとえば、本番データベースのバックアップをステージング環境のデータとして使用したり、開発者のマシンでデータベースをテストしたりすることはできませんか?
ナニー

12
@nanny規制されたデータを使用している場合は別です。たとえば、私はHIPAA規制の下で働いてきました。HIPAAは、「対象事業体は、特定の目的のために保護された健康情報が使用、開示、および要求される量を制限する合理的で最小限の必要なポリシーおよび手順も実装する必要があります」と述べています。最低限必要なポリシーは、何らかの解釈に対して開かれています。当社の弁護士は、開発者がアクセスできない場所に機密データを保持する厳格な解釈を提案しました。(彼らが仕事をすることは本当に必要なのでしょうか?)PCIのような金融コンプライアンスにも同じ注意が適用されます。
コービン

4
@nannyこれを非弁護士からの伝聞として受け止めますが、私が理解しているように、ルールは州によって大きく異なります。私が一緒に仕事をしている弁護士は、常に注意を怠っています。厳密に言えば、開発者は職務を遂行するために実際の SSNを必要としないため、弁護士は開発者がアクセスできない保護された環境に住むことを提案します。しかし、私に耳を傾けないでください。あなたの長期的な利益を探している弁護士が最高のリソースになります。
コービン

5
厳密に言えば、政府の仕事をしていない限り、PPIに不注意であることは違法ではありません。タイトル32が登場しますが、重大な民事責任のエクスポージャーです。それ以外の場合、これは素晴らしい答えです。賛成。
dwoz

9

少なくとも、この作業のためにRDに入れることができるデータセンター内の開発者VMを提供できますか?彼らは本当に非生産データで作業する必要がありますが、データは簡単に盗まれたラップトップに保存されないため、そこに到達するまでこれは安全です。


これは、より多くのコメントのように読み、見回答する方法
ブヨ

5
@gnat、この答えは短いかもしれませんが、それは非常に良い代替案です。

@gnatのようなつまらないものにしないでください...これは良い答えです。
dwoz

@ dan1111それが問題です。それは答えではありません。代替手段です。それは答えではなくコメントになります。
corsiKa

2
@corsiKa、質問の前提に挑戦する回答は許可され、多くの場合非常に良い回答です。XY問題:meta.stackexchange.com/questions/66377/what-is-the-xy-problemを参照してください。そして、より詳細な回答のほうが良いかもしれませんが、これはまだ回答です。

8

可能であれば、作業方法を変更します。

他の人が指摘したように:

  • 開発に実稼働データを使用することはお勧めできません。
  • パスワードをプレーンテキストで保存することはお勧めできません。

どちらも重大なリスクにさらされるため、可能であれば変更する必要があります。これらの変更を行うためのコストを少なくとも真剣に評価する必要があります。これが外部の依存関係であり、変更する権限がない場合は、その権限を持っている人の懸念としてこれを上げることを検討してください。

しかし、現実の世界では、これを実際に変更することは不可能かもしれません。あなたがしていることが合法であると仮定すると、あなたは(少なくとも一時的に)この取り決めに従って生きなければならないかもしれません。

これが本当に必要な場合は、フルディスク暗号化を行うだけです。

リスクを考えると、利用可能な最高のセキュリティオプションを使用する必要があります。パフォーマンスが低下した場合は、それと一緒に生きます。機密データを扱うコストです。

私があなたの顧客であれば、ラップトップの速度が若干遅くなるため、利用可能な最高のセキュリティオプションを私のデータに使用しないことに決めたことに感心しません。


1
「理想的なソリューションではない」を「完全に馬鹿げたアイデア」に変更する必要がありますIMO
Darkhogg

@Darkhogg、あなたはそれが強くなければならないのは正しい。編集済み。私は、アプリケーションがどれほど敏感であるかを知らずに「完全に愚か」までは行かないでしょう。実際には、ディスク全体の暗号化を使用している場合、侵害のリスクは非常に低いため、セキュリティの問題としてこれを作りすぎる可能性があります。

最初の点には同意しますが、2番目の点には同意しません。パスワードをプレーンテキストで保存していない場合は、(1)暗号文または(2)脳をどこに保存していますか。(1)の場合、暗号のパスワードをどこに保存していますか(無限ループが検出されました)。(2)の場合、午前2時に起きてパスワードを入力し、サービスを再起動してください。
エモリー

1

Corbin Marchの答えはかなり良いです。追加の詳細を追加します。通常、運用データベースには2つのクラスのデータがあります。システム/アプリケーションメタデータ。クライアントユーザーデータ/トランザクションデータ。この後者は、開発環境で「そのまま」使用しないでください。

実際に、開発を行うために実際の運用クライアント情報が必要になることは非常にまれです。

ただし、OPがここで説明している問題が企業秘密データまたは顧客データを含まない高度にプロプライエタリなシステムデータに関係する場合、それは開発者に必要です...セキュリティアプローチには、 dbパスワードは、どこかのリソースファイルにクリアテキストで保持されます。たとえば、ディスクに保存されない毎日のパスワードを再生成するメカニズムが必要です。


5
client user data/transactional data... should NEVER be used in a development environment "as is." -これは私には役に立たないように思えます。特定のクライアントのデータに関する生産関連のプログラミングの問題は、この取り決めの下では解決できません。さらに、実際のライブデータは、テストの観点から非常に役立ちます。民営化または匿名化の取り組みは、特に規制されているデータのみに焦点を当てる必要があります。
ロバートハーヴェイ

@RobertHarvey、これは開発環境で本番の問題を再現できない場合にのみ機能しません。私のキャリア全体で(長い間)、本番のバグを再現するのに適切にサニタイズされたテストデータが適切ではなかった回数を数本の指で数えることができると思います。「独自のビジネス情報」は、SSNやCC番号をはるかに超えています。
dwoz

4
しかし、そのルートをたどる場合は、すべてに管理アクセス権がないため、仕事ができないITスタッフがいることになります。スノーデンの潜在的な問題を引き起こすことは認めますが、信頼できる人を雇う以外に、実行可能な代替手段はありません。Sarbanes OxleyとHIPAAは、どの種類のデータを隔離する必要があるかについて非常に具体的であり、ロングショットではなく「すべての運用データ」を含みません。そうは言っても、ローミングラップトップにはいかなる種類の生産データも存在するとは考えていません。
ロバートハーヴェイ

1
-1の場合は決してありません。あなたのより微妙なコメントはあなたの答えよりも優れています。それらを編集する必要があります。

1
@ dan1111私たちはその時同意しないことに同意することができます。顧客データを「現状のまま」開発システムで決して使用しないでください。常に消毒する必要があります。あなたはこの狂ったマングースにまだ噛まれていないので、あなたはこれを信じていません... あなたの血を引くことを意図する狂気の非常識なげっ歯類。猛烈なマングースを避け、私のアドバイスをください。
dwoz

1

どのデータベースとどの環境を指定しません。

統合セキュリティを使用できる場合、そのユーザーとしてログインしないとデータベースにアクセスできません。はい、データがハードディスク上にある場合、ハッキングされる可能性がありますが、これは第1レベルの防御です。

App.configにより、これが.NETである可能性があります。サムドライブに設定を配置し、サムドライブから読み取ります。ドライブが存在しない場合は、ユーザーにパスワードを入力させます。

初めてパスワードを入力してすべての人がパスワードを読み取るときに、パスワードをメモリに保存する方法はありますか。繰り返しますが、環境については述べません。 メモリマップドファイル

一部のTDEでは、データベースサーバーの起動時にキーを提供するだけであるため、キーを別のデバイスに保存できます。


0

考えられるオプションの1つは、データベースのコピーを作成し、そのコピーをスクリプトでスクラブすることで、実際に運用中のものとは異なるデータになるようにすることです。最終的に本番と同じデータにはなりませんが、同じ規模になります。


これは、単に1週間前のトップアンサーで作成され、説明されたポイントを繰り返すようです
-gnat
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.