2011-07-26 30 views
30

私は、従業員専用のRailsアプリケーションを機密情報を扱うために弊社で設定しようとしています。ファイアウォール、物理的なセキュリティ対策などがあります。私の懸念は、アプリケーションのログインプロセスです。最も安全なDevise構成は何ですか?

私はDeviseを認証に使用したいと思います。 Deviseにとって最も安全な設定は何ですか?彼らは有効を推測した場合

  • 使用config.paranoidは、攻撃者が言うことができない失敗したログイン試行の数が少ない後

    • ロックアカウント:

      私は、次の操作を行うウィル思っています電子メールアドレス

    • パスワードリセットを電子メールで無効にしている可能性がありますか?

    私はイタリック体でdevise.rbからの引用で、わからないのだ具体的な事柄のいくつか

    • ペッパーズ。 Deviseにはのオプションがあります。「暗号化されたパスワードを生成するためのペーストを設定する」これは、 "password123"のような愚かなパスワードを "password123K#(!@ akdlwekdf"や "*%!kd39gpassword123"などのハッシングの前に変換する、アプリケーション固有の値です。虹のテーブル攻撃を阻止するが、this articleからの私の理解は、パスワードごとの固有の塩ほど良くないということである。this articlethis paperはbcryptに塩が組み込まれていると言っている。 、そして、また、塩の柱を持ってする必要はありますか?
    • ストレッチthis questionに基づいて「bcryptのために、これは10にパスワードやデフォルトをハッシュするためのコストである」、私はと思っています12の作業係数を使用して計算されます。それは合理的なようですか?
    • パスワードの長さ。より長いパスワードは一般的にはより安全と思われますが、ユーザがそれをどこかの紙に書き込むことはそれほど難しくありません。私たちがbcryptを使用している場合、パスワードの長さは重要ですか?
    • SSLクッキー。 SSLが有効な公開アプリケーションの場合、Cookieを「HTTPS経由でのみ送信できる」とマークすると、Firesheepスタイルの攻撃から保護されます。しかし、内部アプリケーションのセキュリティ証明書をどれくらい持っているのかは分かりません。それは愚かですか?

    他に何が欠けていますか?

    +2

    SSLは愚かではありません。ネットワーク経由でログイン資格情報を送信する場合は、常に*重要です。 – meagar

    +3

    私は同じ質問があります。あなたが学んだことと使ったことを分かち合うために自己回答を投稿できますか? – KobeJohn

    答えて

    20

    ペッパー:はい、あなたは正しいです。あなたが塩を使用している場合は、コショウで多くの追加のセキュリティが達成されていません。

    ストレッチ:12は妥当ですが、bcryptは一定の時間しか保証しません。あなたは一定の時間と使用するメモリ量の両方を指定できるように、より新しいscryptの使用を検討するべきです。 Cryptyograhpically bcryptとscryptはほぼ同じですが、scryptはブルートフォースを難しくします。

    パスワードの長さ:任意の種類のパスワードルールを強制すると、パスワードのエントロピーが減少します。唯一の制限は最小の長さでなければならず、多数の研究が少なくとも8文字を示唆しています。

    SSLクッキー:あなたができる場合はそれらを使用しています。セキュリティは常に最初から構築され、後で追加されることはありません。誰が内部ネットワークを盗聴しているのかは決して分かりません。外部の人がデータを盗聴することはできないと仮定しているからといって、内部の従業員が何らかの理由でそうでないというわけではありません。従業員をお互いから守る責任と外部の脅威があります。

    +0

    私はdeviseのために暗号化可能なscryptのクラスを作成したいと思っています。あなたは使用して改善することができます。 – chris

    +0

    はDeviseオープンソーシングのためのあなたのscryptクラスですか? –

    +3

    私の現在の理解は、「コショウ」は、アプリケーション固有の塩に加えて、アプリケーションコード(*ではなくデータベース)に存在する単一のアプリワイド塩です。理論的には、データベースが侵害されたがアプリケーションコードが妥当でない場合は、これが役に立ちます。しかし、せいぜい、bcryptやscryptのようなものへの追加的な対策です。 –

    4

    パスワードについては、あなたが知られている割れたパスワードに弱いエントロピーとパスワード、およびチェックを拒否しhttps://github.com/bitzesty/devise_zxcvbnをチェックアウトすることができます。

    関連する問題