質問

PostgreSQL の極秘データのデータベースを備えたサーバーがあり、パスワードを推測するのが事実上不可能であるとします (あらゆる種類の奇妙な文字が手作業で生成された 128 文字列)。サーバーのパスワードも事実上推測不可能です。

パスワードの推測は別として、このデータベースからデータを取り出すのはどのくらい簡単ですか?

仮定:

  1. サーバー上にはDBのみが存在します。PHPスクリプトなどにはパスワードはありません
  2. サーバーを盗んだ人物はサーバー/DB/ハードドライブ復旧の専門家です
  3. ハードドライブの暗号化など、保護のために標準外のものは使用していません
  4. Ubuntu Hardy(最新の安定バージョン)を使用しています

誰かがサーバーのハードドライブに物理的にアクセスすることに伴うリスクを理解しようとしています。

役に立ちましたか?

解決

の「標準の思考は誰かがサーバーに座ったときに、それは、物語の終わりを侵害していますです。彼らは、ハードドライブをつかみ、開くと分析のための実験室にそれを取る場合は物事が唯一の悪化します。」

同上ます。

は、攻撃者が(つまり、彼は彼のブリーフケースでは、ハードドライブと建物の出て行った)恒久的な物理的なアクセスを持っていたら、ジグがアップしている - 時間のデータが危険にさらされることを前提としています。そこから、シナリオを遅らせる戦術対のコストは攻撃を遅くする機能です。

これは、攻撃者がインサイダーであれば少し違う、または一時的なアクセス権を持っていました。これらのケースでは、攻撃が実行不可能となるよう十分に彼を遅くする、または力の説明責任することができるかもしれません。

ハードドライブの暗号化は遅延戦術である - それは、アルゴリズムの強度と一致する保護、キーの強さ、そして強さの鍵にパスワードロックアクセスの(または別々に格納されたキーとハードウェアを挿入する機能を提供します)。でも、暗号化と仮定が、それは遅延戦術であるということです。遅かれ早かれ、攻撃者がシステムを復号化するものの鍵から鍵空間と数値を介して取得されます。

電子的に(物理的にケースからそれを削除するなどの)一定の条件の下で、ハードドライブを消去する方法を見つける -

Tamperproofingは別のオプションです。

しかし、強い彼らは - - ブルートフォースに頼ることなく物理的なアクセスが許可されると、攻撃者がパスワードを回避できることを

図。心に来る最初のものは、ほとんどのシステムがロックアウト&パスワードを紛失したヘルプsysの管理者に組み込まれている「パスワードを修正する」の技術を使用しています。

任意およびすべての保護は、価格が付属しています - あなたが専門のハードウェアを必要とするのでtamperproofingが、高価です。暗号化は安くすることができますが、それは起動時間に影響を与えます。また、私はアプリケーションとどのように暗号化劇でいくつかの厄介な驚きを見てきました - あなたはそれを使用しようとするまで、あなたは本当に知っていることはありません。

他のヒント

誰かがサーバーに座ったときに

は、標準的な考えは、それは妥協だ、物語の終わりです。物事にのみ、彼らはハードドライブを取得し、開放し、分析のために研究室にそれを取る場合は悪化ます。

私はのデータベース内だけでなく、あたりのフィールド暗号化など、全ドライブの暗号化との始まりでしょう。あなたは、サーバーにインストールされているハードドライブのハードウェアへの生体認証ベースのアクセスを持ってする方法があるかどうかを確認するために周りに見えるかもしれません。また、あなたは、物理的なセキュリティ業者を掘るとコンフィギュレーションのための提言を取得したいです。また、警備員を雇うます。

これは合理的に...

起こるかもしれないシナリオの場合私は、意味

編集ます:

私は私がに取得したいPostgresのDBファイルを持っていたと私は(すなわち、いくつかの格安デルズのための4Kを費やして)リソースを持っていた場合は、

、私はベオウルフの構成を使用し、割れ並列ブルートフォースを実行することになります。私はより多くのお金を持って開始し、設定することができれば物事は甘いNVidiaのスーパーコンピュータ・オン・デスクトップマシンは本当にブルート強制的にパスワードを開始します。

に差し込まれ、それらのいくつか、たとえば、悪化します 泥棒がそれに得ることについて深刻であり、あなたはセキュリティがすでに0日から予定されていない場合は、

、あなたのDBファイルは、イワシ缶のようにオープンする予定です。

あなたは、ハードドライブ/ファイルシステムを暗号化していない場合はPostgresはネイティブ暗号化を提供しないように、

、あなたは、運のほとんどアウトです。そして、ハードドライブを暗号化すると、盗まれたサーバーの保護の唯一の本当の方法です。

基本的に、何をする必要があるだろうことは、ハードドライブやファイルシステムの暗号化されており、Postgresは、最大発射前に、マシンの起動、手で、あなたは、ドライブをマウントするときにパスワードを入力するたびに持っているでしょう。

この記事では、あなたの質問に特に関連があると思わます:

PostgreSQLデータベース内のトータルセキュリティ
http://www.ibm.com/developerworks/opensource/library/os -postgresecurity /

私は、これが問題のPostgreSQL、または他のデータベース・アドレスではないと思います。データベースは、その自己は、パスワードデータのすべてを保護されていても、何が本当に重要プレーンテキストとのthatsです。何も、生のデータベースファイルをcat'ingや文字列かかわらず、それをパイプからの攻撃を停止しています。この種の攻撃のための最善の解決策は、暗号化ファイルシステムを使用することです。これは、パーティションをマウントするためのパスワードを入力する必要がありません。また、これはオーバーヘッドが増加します。

テーブルのデータが暗号化されていないデフォルト店舗よるPostgreSQL、特定の質問については、投稿(もう一つは、私は答えを探しに来ました)。 ... / pgsqlの/ 9.2 /データ/ベースのファイルの中を見て/ * Iは、1.1ギガバイトのチャンクでこれらのストアテーブルよね、と私は正常にgrepを持つこれらのファイルにASCII文字列を見つけることができます。ファイルの検査から、データが列に格納されていることを表示されます。

この情報から、私は実験ができ、書き込みコードは、私がのパスワードを持っていないサーバー上のコピーを作成するために、テーブルをリバースエンジニアリングすると信じています。

そのため、あなたが物理メディアが盗まれる危険から保護するために必要がある場合は、ケアのあなたの義務を満たしていないだけで、強力なデータベースのパスワードに頼っています。

PostgreSQLのオンラインドキュメントこの問題のために、特定の列を暗号化するか、他の回答者が提案してきたように、いくつかの方法で、根本的なメディアを暗号化するためのモジュールに限定されているように見えるさまざまなレベルでデータを暗号化するためのいくつかのオプションを提供します。

良いスタートは、フルディスク暗号化を有効にすることです。 また、アプリケーション層で暗号化することができます。 (例えば、暗号化データをデータベースに送信する前に、データベース・サーバーからアクセスできないキーを保存)

scroll top