2011-03-03 6 views
1

最近、GITを使用したワンクリックアプリケーションのセットアップと更新が可能なクラウドホスティングサービスに登録しました。私はWordPressアプリケーションを作成し、データベースのパスワード(つまり、サービスに登録する際に使用したパスワード)として自分のアカウントのパスワードを使用したことを認識するために、コードを引き出しました。クラウドサービスリポジトリのパスワード

これは少し心配でした。私のラップトップを盗んだり、私の知らないうちにアクセスした場合、誰かが簡単にサービスを使ってホストしているすべてのアプリケーションを破壊する可能性があります。私はホストにそれについて尋ねたところ、AES暗号化(パスワード塩とは対照的に)を使用すると主張し、リポジトリへの接続は保護されていました。

これは悪い設計ですか? GITリポジトリにパスワードを保存したり、パスワードを守ることは決して妥当ですか?私の唯一の他の経験は、パスワードが設定ファイルに含まれていない(パスワードがプレーンテキストとして表示されていない)Herokuです。ありがとう!

答えて

1

ああ、古い「心配しないで、私たちはAESを使う!防衛。あなたの声明を正しく理解すれば、ユーザーのパスワードを1つのファイルに保管しておき、AESでそのファイルを暗号化しているように見えます。もしそうなら、はい、それは一般的に悪いデザインです。標準的な方法は、暗号化されていないファイルにハッシュ化されたパスワードとソルトされたパスワードを格納することです。暗号化されたファイルにパスワードを保存する

は、多くの問題に苦しんでいる:

1)暗号化されたファイルへのパスワードは何ですか? 「タートルズ・オール・ザ・ウェイ・ダウン」の理由から、そのパスワードを暗号化することはできません。それは盗難/推測することができます。

2)暗号化されたファイルに標準のパスワードの問題があります。エントロピーを低くして覚えていますか?あなたはそれを高いエントロピーにしてどこかのディスクに保管しますか?どちらも明らかな問題があり、このキーはシステム全体の単一障害点であることに注意してください。

3)システムがパスワードを確認する必要があるときはいつでも、ファイルを復号化する必要があります。したがって、おそらくファイルの暗号化キーとすべてのファイルのパスワードは、サーバー上のメモリに平文で読み込まれます。

「全体のアカウントとデータベースへのアクセスに私のパスワードを使用しています」という問題については、それはもっと議論の余地があります。一方では、どのパスワードでどれだけアクセスできるかを制限したいかもしれません。しかし、もう一つは、少しずつパスワードを変えなければならないため、パスワードの作成やパスワードの再利用が悪いということです。

+0

偉大な答えをありがとう。 1つのコメントは、AES暗号化を使用して自分のパスワードを自分の管理データベースに保存していると思うということです。新しいアプリケーションを生成すると、データベースからパスワードを取得し、 'config'ファイルに追加します。私はGIT(sshキーで保護されている)を通してすべてのソースコードにアクセスできます。 –

+0

すでに1つのシステムで認証にSSH鍵を使用している場合は、理想的な解決方法はすべての認証にその鍵を使用することです。彼らはあなたの公開鍵をどこにでも保存し、任意の数のプロトコルを使用して秘密鍵を知っていることを証明することができます。あなたがそうした場合、ハッカーが盗んであなたを偽装する可能性のあるサーバー上には何もありません。 私はまだこれらの設定ファイルの周りにあなたのパスワードを複製する際のポイントが表示されません。彼らがそれをどこかに保存しておけば、そこに保管しておいてください。たぶん怠惰なプログラミングです。 – AltF4

+0

怠惰なまたはおそらく無知。 –

2

私は、ハッシュとソルトが好きではなく、復号化できる形式でパスワードを保存すべきではないと言いたいと思います。

しかし、ここでの問題は、あなたの代わりにGITリポジトリにアクセスする必要があることです。これは、パスワードを他のシステムに渡すために、使用時にサーバーによってパスワードを解読する必要があることを意味します。

実際には、これらの要件のために、完全にそれを保護する実際の方法はありません。ただし、暗号化されているので、マシンをハッキングした人が復号鍵を利用できるようになります。

異なるパスワードまたは同じものを使用するかどうかは関係ありません。サイトがハッキングされていると、パスワードが公開される可能性があります。

実際の質問は、どのように暗号化しているのか(実際問題ではありません)です。実際の問題は、サイトがハッキングされていないことを確認するためにサイト全体をどのように監視しているかです。これは、IDS/IPS(侵入検知/保護システム)を使用しているかどうかにかかっています。そうでない場合は、それを使用している別のプロバイダに移動します。

+0

こんにちはクリス。明確にするために、彼らはGITリポジトリを作成して管理しています(パスワードはリポジトリにコミットされた設定ファイルに追加されます)。 –

+0

@Kevin Sylvestre:この部分は本当に問題ではありません。彼らがコードを引き出すためにGITに接続しなければならないシステムを持っているなら、そのシステムは適切なパスワードにアクセスする必要があります。システムがパスワードにアクセスすると、ハッカーにとって脆弱になります。これは、システムをマージすることの副作用です。 – NotMe

+1

正しいですが、GITリポジトリの作成とアクセスでは、(SSH鍵認証を使用する代わりに)パスワード認証は使用されません。ウェブアプリケーションがデータベースサーバに接続できるようにパスワードがリポジトリにコミットされる(すなわち、ウェブアプリケーションの設定ファイルである)。システムをマージすることによって、正確にはどういう意味ですか? –