セキュリティで保護されたデータベースに保存されているパスワードを暗号化する必要があるのはなぜですか?


78

Webサービスがあります。現在、サーバー上のMySQLテーブルにプレーンテキストでパスワードを保存しています。私はこれがベストプラクティスではないことを知っています。それが私がそれに取り組んでいる理由です。

セキュリティで保護されたデータベースに保存されているパスワードを暗号化する必要があるのはなぜですか?誰かが私のデータベースにハッキングすると、全員のパスワードを取得することに気付きます。しかし、誰かが私のデータベースに入った場合、たとえばデータの削除など、他の問題があります。

私が考えることができるシナリオは、あなたがハッキングされているということです。数時間前からデータベースを復元すると、すべてが順調です。ただし、パスワードがプレーンテキストの場合...泥棒はすべてのパスワードを持っているため、すべてリセットする必要があります。ユーザーの面倒。

パスワードが暗号化されている場合は、以前のデータベースに復元するだけで済みます。これは正しい考えですか?


124
さらに一歩進めます。暗号化するだけでは不十分です。あなたはそれをハッシュしたいでしょう。そうすれば、ユーザーのプレーンテキストパスワードが何であるかを知ることさえできません。
サンタ14年

67
@Santaパスワードをハッシュするだけでは不十分です。あなたは十分なレシピが良いにするために、いくつかの塩を追加する必要があります...
Bakuriu

16
この関連するSecurity.StackExchangeの投稿をご覧ください:パスワードを安全にハッシュする方法は?
アディ14年

10
不満を抱いたDBAは...ユーザーから*を選択し、そのリストを厳しい支払いのために販売します。安全なものはありません。
ジョンレイナー14年

回答:


194

最初に、読み取り/書き込みよりも読み取り専用のアクセス権で自由になっている必要があります。ハッカーがデータにアクセスできても、編集できない可能性があります。

しかし、もっと重要なことは、これはあなたに関するものではありません。誰かがあなたのデータベースへの完全なアクセス権を持っているとあなたが台無しになるかもしれないという事実は無関係です。さらに重要なのは、ユーザーのデータです。

データベースを回復しても、ハッカーはユーザーのアカウントにアクセスできます。

そして、誰が他に何を知っていますか?Googleで同じパスワードを使用するとどうなりますか?またはPayPal?ハッカーが母親の旧姓、またはクレジットカードの最後の4桁にアクセスできる場合はどうなりますか?

それが他のアカウントにそれらを取得したらどうなりますか?ハッカーを過ぎてユーザーサポートシステムを通過して詳細を取得しないでください

ただ...しないでください。それはユーザーの個人情報であり、それを見る必要はありません。それはあなたの評判でもあります。暗号化します。

編集:1つの追加のコメント、すべての回答とコメントを読むことから将来の読者を救うために...

(最も厳密な意味で)暗号化する場合は、公開キーと秘密キーのペアを使用する必要があります。

より単純で効果的なソリューションは、ランダムな塩とパスワードのハッシュ化です。ハッシュだけでは十分ではありません。ユーザーが共通のパスワードを使用している場合、単純なインターネット検索ですぐに利用できる逆ハッシュテーブルに表示されます。


89
または、それをハッシュします!
Blorgbeard 14年

29
この。「誰かがデータベースにアクセスすると、他の問題が発生します」。それはあなたのデータベースであり、ハッキングされると問題が発生することが予想されます。しかし、プレーンテキストのパスワードを保存することで、すべてのユーザーに、他のすべてのアカウントに潜在的な問題を与えます。どのWebサイトで実際に異なるパスワードを使用していると思いますか?
Carson63000 14年

13
Blorgbeardのアドバイスに従ってください、多分読んでこれを。パスワードを暗号化しても、Webサーバーが侵害された場合は保護されません。パスワードを復号化するためのキーは、サーバーのどこかに保存する必要があります。パスワードのハッシュとは、誰かがマシンにフルアクセスできる場合でも、パスワードを簡単に回復できないことを意味します。
スライスパン14年

7
システムに価値を提供しないのに、なぜパスワードを暗号化する必要があるのでしょうか?比較以外のどの時点でパスワードを解読する必要がありますか?@ pdr、OPに暗号化を指示するのではなく、ソルトとハッシュを指示する必要があります。
NobleUplift

4
また、パスワード回復の質問に対する答えをハッシュ化する必要があります。それ以外の場合は、パスワードのように、それらを使用して他のサイトにもアクセスできます。
ザンリンクス2014年

64

ハッキングされた場合は、バックアップからサイトを復元して修正できます。 しかし、ハッカーはまだすべてのアカウントのパスワードを持っています! この出来事の実例が文書化されています(Sony、Linked-in)。パスワードテーブルが適切にハッシュ化され、ソルトされていれば、サービスのセキュリティ保護と復元がはるかに簡単になります。

ハッキングれると想定し、バックアップ戦略を設計し、この前提を念頭に置いて機密データを暗号化することをお勧めします。そして、保護する必要があるのはハッカーだけではありません。不満、不正直、または単に無知な従業員は、プレーンテキストのパスワードを漏らす可能性があります。

ハッシュを使用しないと、パスワードを変更するまですべてのユーザーのアクセスを無効にする必要があります(可能な場合でも、すべてのユーザーにとって大きな頭痛の種になります)。パスワードがハッシュおよびソルトされていた場合、Webサービスを復元できます。攻撃者がユーザーのアカウントにアクセスするのははるかに困難です。

適切にハッシュされソルトされたパスワードは基本的に一方向です。ハッシュされたパスワードからパスワードを簡単に推測することはできません。サービスプロバイダーが推測できないため、リセットすることしかできません。

また、エリンが言ったように、独自のハッシュ(または暗号化)を試みたり、転がしたりしないでください。標準ライブラリを使用します。



13
不満を抱いている従業員に言及した場合は+1。ワンマンショップや小さな会社の場合は簡単に見落とされがちですが、最終的には個人的に吟味していないデータを扱う人がいるでしょう。

2
foreachを作成してユーザーのリストをループし、パスワードをハッシュするのは数分の作業であり、率直に言って4000はほとんど何もありません。php.net/manual/en/function.hash.php
エリン

3
用語「暗号化」と「ハッシュとソルト」@ david25272を切り替え続けます。まったく異なる2つを混同しないでください。現在、OPはハッシュアルゴリズムではなく暗号化アルゴリズムを探しています。また、「ハッシュとソルト」ではなく、「ソルトとハッシュ」です。ハッシュした後、あなたはソルトできません。
NobleUplift

1
また、@ phpmysqlguyも、ソルティングとハッシュアルゴリズムに関する提案については私の答えを読んでください。
NobleUplift 14年

36

しかし、誰かが私のデータベースに入ると、データを削除するなど、他の問題が発生します。

それはあなたが抱えいる問題についてではなく、他のすべてのユーザーにそれが引き起こす可能性のある問題についてです。それは、サイトで作業している人々がそこに保存されているデータを悪用する誘惑(またはさらに悪いことに潜在的な責任)を取り除くことです。

人々異なるシステムで異なるパスワードを使用するべきであるにもかかわらず、現実はそうではないことを参照ください

...パスワードをハッシュ化するのはとても簡単なので、業界のベストプラクティスに従わない言い訳はありません。


9
あなたは私が最も重要だと信じるものを作ります: あなたとあなたの労働者はユーザーのパスワードにアクセスしてはいけません。ハッカーを気にするのは、ユーザーに関するデータを保持している人々です。
アダムデイビス14年

1
開発者/管理者として、ユーザーのパスワードにアクセスしてはならないという事実のために、+ 1。それ自体が十分な理由です。
マット14

21

データの削除などの顕著な攻撃は、通常はアマチュアのものであり、心配することはほとんどありません。経験豊富な攻撃者が最初に行うことの1つは、正当なアクセスを取得しようとすることです。そのため、使用した元の脆弱性にパッチを当てても、侵入することができます。彼が望むものを達成します。パスワードをハッシュせずに残すことで、あなたは彼の仕事をはるかに簡単にする可能性があります。また、彼の将来の悪意のある動作を検出して分離することを難しくしました。

また、すべての妥協が完全なシェルアクセスを提供するわけではありません。攻撃者が使用した脆弱性がusersテーブルへの読み取り専用のSQLインジェクションである場合はどうなりますか?パスワードをハッシュ化せずに残しておけば、彼はほぼ完全にアクセスできるようになりました。

これは、ユーザーのデータを保護する責任についての他の回答で示された理由に加えてです。私のポイントは、失うものがあるのはユーザーだけではないということです。


18

質問自体の誤りについては、ここに回答を投稿する必要があります。パスワードを暗号化する必要があるかどうかを尋ねています。誰もパスワードを暗号化しません。パスワードを暗号化することを唯一の目的とするFirefox SyncやRoboformなどのサービスとプログラムを除き、誰もいません。

定義を見てみましょう。

暗号化では、暗号化とはメッセージ(または情報)をエンコードするプロセスであり、許可された者のみがメッセージを読み取ることができます。

そしてハッシュ:

ハッシュ関数は、任意の長さのデータを固定長のデータにマッピングするアルゴリズムです。

つまり、暗号化は双方向の変換であり、ハッシュは一方向の変換であるため、後で表示するために復号化しない限り、これは暗号化ではありません。

また、塩をハッシュするだけではありません!パスワードをハッシュする前に、このページ全体を読んでください。

OPが現在検討しているハッシュアルゴリズムについては、SHA-384やSHA-512などのハイエンドのSHA-2バリアントをお勧めします。

そして、ハッシュのラウンドを使用するようにしてください。1回ハッシュしないで、複数回ハッシュします。

ログインプロセスをさらに保護するために、このページを読むことを検討してください

第二に、データベースのセキュリティを十分に確保することはできません。セキュリティホールと常に進化するリスクが常に存在します。マーフィーの法則に従い、常に最悪の事態に備える必要があります。

PDRなりますが、他の点など、すべてのウェブサイトで同じパスワードを使用する人々 、より多くの情報を得るためにソーシャルエンジニアリングを使用して、ハッカーなど:私が言う他に、正確にどのようなもの


ハッシュソルトの場合は+1 。塩なしでハッシュをクラックすることですっごく簡単。
コードマーベリック14年

3
レインボーテーブル@CodeMaverickの向こう側に何があるか知っていますか?金の鍋。
NobleUplift

パスワードハッシュのコンテキストでは、MD5には高速であること以外に既知の脆弱性はなく、SHA-2にも適用されます。MD5ではなくSHA-2を選択するよりも、低速の反復構造を使用する方がはるかに重要です。
CodesInChaos 14年

4
「パスワードをハッシュする前にこのページ全体を読んでください」-そのページでは、ラウンドのハッシュを使用するべきではなく、PBKDF2など、必要に応じて遅くなるように特別に設計されたハッシュ方式を記載しています。
ジョミナル14

2
SCryptまたはPBKDF2を使用します。どちらも、メモリまたはCPUの観点から実行すると非常に高価になるように設計されています。ユーザーレコードに保存するランダムに生成されたソルトを使用します。複数回のハッシュを実行しないでください。衝突の問題につながるだけです。
tom.dietrich

14

ここには重要な原則があります。ユーザーのパスワードを知っているビジネスを持つ人は1人だけです。それがユーザーです。彼らの妻/夫、医者、あるいは司祭でさえありません。

プログラマー、データベース管理者、使用しているサービスを担当するシステム技術者は含まれていません。プログラマーは、ユーザーが実際にパスワードを知っていることを証明する責任を負っているため、これは挑戦を生み出します。

純粋なソリューションは、ユーザーが新しい予測不可能なデータに挑戦し、このデータとパスワードに基づいた応答を返さなければならないメカニズムを持つことです。この実装の1つは、ユーザーにデジタル署名で新しく生成されたデータにデジタル署名するよう求めることであり、アカウントの作成に使用したのと同じ暗号キーペアを使用したことを数学的に証明できます。

実際には、純粋なソリューションにはかなりのクライアント側のインフラストラクチャと処理が必要であり、多くのWebサイトでは、これは多くの場合、保護されるデータには適切ではありません。

より一般的なソリューションは次のとおりです。

アプリケーションでパスワードが最初に受信された時点で、パスワードはハッシュ関数に渡され、アプリケーションのランダムな「塩」値がハッシュ関数に渡されます。

元の文字列はメモリ内で上書きされ、この時点からソルトハッシュはデータベースに保存されるか、データベースレコードと比較されます。

ここでセキュリティを提供する重要な側面は次のとおりです。

  1. ハッシュの知識は認証を直接提供しません。
  2. ハッシュからパスワードを逆算することは実用的ではありません。
  3. 結果のハッシュはユーザー名とパスワードの両方に依存するため、レインボーテーブル(パスワードと計算されたハッシュの長いリスト)の使用はより困難になります。

6
一般に、ユーザー名の代わりにランダムなソルトを使用することをお勧めします。
CodesInChaos 14年

うわー、素晴らしいキャッチ@CodesInChaos。質問を初めて読んだときに気づかなかった。はい、ソルトはランダムに生成される必要があります。MySQLに保存されているクレイジーなブロブである必要はありません(移植性がないため、それは悪いことです)。それ以外の場合、ユーザーのみがユーザーのパスワードを知っている必要があることを示すために+1。
NobleUplift

さて、アプリケーションが独自のランダムな塩の値を持っていることを示唆するために更新された回答
マイケルショー14年

4
いいえ、アプリケーションが持っていないのいずれかsalt値を。格納されたハッシュごとに、異なる強くランダムなソルト値が必要です。(そのハッシュと一緒にソルトを保存します。)それが統計攻撃から保護するものです。アプリケーション全体に同じハッシュを使用した場合、同じプレーンテキストのハッシュが同じ値になります。ユーザー名をハッシュとして使用するよりもはるかに悪いです。
ベンフォイト14年

Webサービスではありませんが、SSHキーペア認証では「純粋な」ソリューションが使用されます。このソリューションでは、サーバーが公開キーを保存し、ユーザーが秘密キーで認証されます。
cpast 2014年

10

防御の第2層としてパスワードを「暗号化」する必要があります(実際には、ハッシュの適切な概念のために「ハッシュ」)。これは、データベースの読み取り専用を垣間見る攻撃者がエスカレートするのを防ぐためのものです。それを読み取り/書き込みアクセスに変更し、正確にデータの変更を開始します。読み取り専用の部分的な違反は、現実の世界で発生します。たとえば、読み取り専用のアクセス権を持つアカウントからのSQLインジェクション攻撃や、破棄されたハードディスクまたは古いバックアップテープを収集機から取得するなどです。私はそこでこの主題について長々と書いた。

パスワードをハッシュする適切な方法については、この回答を参照してください。これには、ソルト、イテレーション、そして何より、独自のアルゴリズムを発明することは含まれません(手作りの暗号化は災害の確実なレシピです)。


暗号化とハッシュの違いを知るために+1。
NobleUplift

8

他の人が言ったことは繰り返しませんが、PHP 5.3.8以降を使用している場合は、PHPネイティブbcryptを使用してパスワードを保存する必要があります。これはPHPに組み込まれています。PHP 5.5を使用している場合は、利用可能な最高のパスワード定数を使用できます。また、ライブラリを使用して5.3.8以上を5.5のように動作させることもできます。

Stack Overflow question PHPでパスワードをハッシュするためにbcryptをどのように使用しますか?それを説明し、そこにある他の返信でさらに説明します。これを自分でやろうとしないでください。


2
残念ながら、私はPHP 5.3.3を使用していますので、あなたの提案は適用されません
phpmysqlguy

4
5.3.3から5.3.8へのアップグレードはどれくらいですか?
gbjbaanb 14年

Red Hatを利用している可能性はありますか?彼らは修正をbcryptにバックポートしたからです。そうでない場合は、brcyptの代わりにSHA256を使用します。
エリン14年

1
暗号化とハッシュは別のものです。パスワードをハッシュします。暗号化しないでください。それらを知る必要はありません。ユーザーがパスワードを使用して、自分が誰であるかを証明できるようにすることだけが必要です。ハッシュ化(塩を使用)により、これが可能になります。暗号化、特に 対称暗号化は、パスワードを回復できるため間違っています。
ポール・ド・フリーズ14年

追加する1つのことは、php 5.5+のpassword_hash()関数の良い点は、デフォルトで正常にソルト処理などを処理することです。それより前に、先に進み、それをバックポートするircmaxellのライブラリのようなものを使用する必要があります(彼は5.5実装を作成しました)。自分でランダムなソルトを生成できると想定しないでください。それは非常に難しく、専門家に任せるのが最善です。ランダムな結果を得るのは非常に簡単ですが、悪用可能な均一な結果は得られません。
エリン14年

7

その回答に記載されている理由により、私はpdrからの回答に同意します。

以下を追加します。簡単に実行でき、あらゆるアプリケーションのベストプラクティスとして一般に受け入れられているため、実行する必要があります。より具体的には、永続ストレージに書き込む前に、パスワードを常にソルトおよびハッシュする必要があります。ここでは、ソルティングと適切な暗号化ハッシュの選択の重要性に関する適切なリファレンスがあります(いくつかの一般的な言語で無料のソースコードも提供されます):https : //crackstation.net/hashing-security.htm

少しの余分な開発時間は、ユーザーに提供する保護の価値があり、開発者としての評判に値します。


ソルティングとハッシュの両方に言及しているだけでなく、暗号化に言及していないため、+ 1 はこの質問に属していません。
NobleUplift

2

私が考えることができるシナリオは、あなたがハッキングされているということです。

あなたが考える必要がある別のシナリオ:誰かがあなたのDBA(またはあなたのDBでselectクエリを実行できる他の人)に$ 100、ユーザーのパスワードを与えるために。または、ソーシャルエンジニアがインターンをします。

次に、それらのパスワードを使用して、ユーザーのGmail ...またはコマースサイトにログインします...(人々は...賢くはないので、サイト間で同じパスワードを使用するため)。

次に、激怒したユーザーは、パスワードを公開したことで会社を訴えます。


NOBODY(社内の人を含む)は、プレーンテキストのパスワードを読み取れる必要があります。今まで。そのための正当なビジネス上または技術的な必要性はありません。


2

1つには、データベース管理者でさえユーザーのパスワードを表示すべきではありません。管理者がパスワードを確認してユーザーのアカウントにログインすることにした場合、それらをハッシュすることでこれを防ぐことができます。


1
これは、既に前の回答に投稿されたものに値する何も追加されません
ブヨ

3
+1。彼は、他の多くの人がしているような暗号化の代わりに、実際に「ハッシュ」と言いました。また、彼はパスワード平文が他のユーザーのアカウントにログインすることを望むと言ったOPと直接矛盾しました。
NobleUplift

0

さて、これについて誰もまだ言及していないのは驚くべきことですが、データベースの物理的なセキュリティはどうですか?

世界最高のITセキュリティが設定されている場合でも、ストレージメディアに物理的にアクセスできる人を止めることはできません。今日の午後、チームがスーパーボウルで優勝し、オフィス/ホスティングプロバイダーがいる市内のダウンタウンで小さな暴動が起きた場合はどうなりますか?(米国の2つの大きなIT領域であるシアトルとデンバーのことを考えると、それは無理だとは思いません)。暴徒はあなたの建物にぶつかり、当局が圧倒されている間に、誰かが平文パスワードを含むDBを持つハードウェアの一部をつかみますか?

連邦幹部が現れ、機器を押収すると、高位の幹部が会社でのポジションを使って違法な株式取引を行っていたため、どうなりますか?その後、FRBはこれらのパスワードを使用して顧客を調査しますが、何も問題はありませんでした。それから彼らは、あなたが彼らを無防備にしたことを悟ります。

IT部門が、インターンに古いドライブを「配る」前にスケジュールされた交換を行うときに、DBを保持していた古いRAIDドライブを消去することを忘れると、寮のルームメイトが残されたものを見つけて、彼らができることを見つけたときにどうなりますか?それを販売し、彼らにさかのぼることはありませんか?

DBサーバーがマザーボードを爆破し、ITが新しいサーバーにイメージを復元し、古いサーバーの「死体」がリサイクルヒープに投入されるとどうなりますか。これらのドライブはまだ良好であり、そのデータはまだそこにあります。

まともなアーキテクトは、セキュリティは後でファイアウォールや運用ポリシーを使用して「ボルトオン」するものではないことを知っています。セキュリティは非常に最初から設計の基本的な部分である必要があり、それはパスワードが一方向ハッシュ化され、されることを意味しNEVER(でも独自のデータセンター内)うち暗号化して送信されず、決して回復可能。取得できるものはすべて危険にさらされる可能性があります。


-1

データベースがハッキングされるケースを別にすれば、顧客として、パスワードを知ってほしくないでしょう。リクエストに応じてパスワードを簡単にキャッチできることは知っていますが、好きなときにいつでもクエリを実行できるようになっているのではないという方が良いと感じました。


1
実際、OPがさらに一歩進んでJavaScriptで暗号化された場合、ハッシュはネットワーク経由で送信され、リクエストには表示されません。
NobleUplift 14年

1
その場合、攻撃者はハッシュをネットワーク経由で送信するだけで済みます。ハッシュは単に派手な機能ですが、暗号化されていないパスワードとして機能しませんか?(編集:毎回異なる塩で塩漬けする必要があり、塩はサーバーから来た場合ではありません。)
RemcoGerlich 14年

1
@RemcoGerlichキーコンセプトは、リプレイ攻撃を回避するために使用されるノンスとして知られています。

-1

パスワードがプレーンテキストで保存されている場合、そのパスワードはユーザーおよびそのテーブルにアクセスできるユーザーに知られていることを意味します。ユーザーとパスワードの実装に関する全体的な考えは、プライバシーとセキュリティの両方の理由から、システム内の特定のセッションがその人物に属することを保証することです。

ユーザー名/パスワードが人々のグループによって知られている場合、個人を明確に識別することは役に立たなくなり、個人情報の盗難、詐欺の多くの可能なシナリオを作成します...

そのため、パスワードは非対称暗号化プロトコルを使用して保存されます。これにより、パスワードを読み取れずに検証できるようになります。


2
非対称暗号化を使用してパスワードを保存するのは誰ですか?これは公開鍵暗号方式です。つまり、パスワードを暗号化した後でも、誰かが私の秘密鍵を取得した場合、解読して読み取ることができます。ハッシュを使用すると、自分と自分だけがパスワードを知っています(実際に非対称暗号化されているパスワードマネージャーに書き留めたり、パスワードマネージャーに入れない限り)。
NobleUplift

、公開鍵暗号のためのWikipediaのページをチェックしてください: en.wikipedia.org/wiki/Public-key_cryptography 「公開鍵暗号、また、非対称暗号としても知られ、」
Alpha1983

2
...はい、私はそれを言ったusing asymmetric encryption? That's public-key cryptography。あなたの言いたいことは何ですか?
NobleUplift

-1

この質問には根本的な欠陥があると思います。事実、「安全なデータベース」というものはありません。悪意のあるユーザーがサーバー上の任意のデータにアクセスできるようにするシステムのどこかに欠陥があることを前提とする必要があります。Heartbleedは優れた事例であり、研究者によって気付かれる前に2年以上にわたって悪用されていました。データを保護するための方法をすべて知っているかもしれませんが、サーバーで使用している他のすべてのソフトウェアとそれらがやり取りする複雑な方法を説明することはできません。

誰かがあなたに興味を持った場合、あなたハッキングされます。そもそもハッキングされるのを防ぐために最善を尽くすことが重要ですが、できるだけ多くのハードルを配置することで、発生した場合の被害を軽減することも重要です。パスワードをハッシュします。設定するのはそれほど難しくはありません。また、ユーザーのプライバシーを真剣に考えないことで、ユーザーに損害を与えています。ヤフーソニー、またはターゲットなど、すべてハッキングされた企業よりも、悪意のある攻撃からあなたが何らかの形で保護されていると考えるのはhub慢です。


1
これは14の前の回答に比べて大幅何も提供していないようだ
ブヨ

そうでなければ、私はそれを投稿しなかったでしょう。しかし、ネガティブなコメントをすることで、人々が参加することを思いとどまらせることは別として、どうやって会話に追加されるのかわかりません。
lobati 14

あなたが投稿する前に他の回答を読んだことがあるかどうかはよくわからないが、私が読んだことによると、ここでのすべてのポイントはすでに(そして私の読んだほうが上手く提示されている)例えば、問題の欠陥についてのポイントは中2ヶ月以上前に行われたこの、この答え。パスワードのハッシュに関するポイントは、少なくとも他の7つの回答で示されました。バックアップを作成し、システムの他の部分で発生する可能性のある問題に対処することについても、かなり前に指摘されました。などなど
ブヨ

リンクされた誤認ポイントは私のものとは異なりました。彼らはハッシュと暗号化の意味の違いを述べていましたが、私はデータベースが「安全」であると考えることができるのは間違いだと言っていました。私はまだ、他のソフトウェアとそれらの相互作用が安全でないことを議論する他の回答を見ていません。また、バックアップについては何も言いませんでした。
lobati 14

「あなたが前提となりますハッキングさ」 -それは、それが2ヶ月以上前に投稿答えで綴られた方法です
ブヨ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.