سؤال

شكل المصادقة المستندة إلى المواقع

ونحن نعتقد أن تجاوز سعة مكدس لا ينبغي أن يكون مجرد مورد معين جدا على الأسئلة التقنية ، ولكن أيضا من أجل المبادئ التوجيهية العامة بشأن كيفية حل الاختلافات حول المشاكل المشتركة."القائم على نموذج مصادقة على المواقع" ينبغي أن تكون بخير موضوع هذه التجربة.

وينبغي أن تشمل موضوعات مثل:

  • كيفية تسجيل الدخول
  • كيفية تسجيل الخروج
  • كيفية تسجيل تظل في
  • إدارة ملفات تعريف الارتباط (بما في ذلك الإعدادات الموصى بها)
  • SSL/HTTPS التشفير
  • كيفية تخزين كلمات السر
  • باستخدام الأسئلة السرية
  • نسيت اسم المستخدم/كلمة المرور وظائف
  • استخدام nonces لمنع عبر الموقع طلب التزوير (CSRF)
  • OpenID
  • "تذكرني" خانة الاختيار
  • المتصفح تكملة من أسماء المستخدمين وكلمات المرور
  • سر عناوين المواقع (العام URL محمية من قبل هضم)
  • التحقق من قوة كلمة المرور
  • التحقق من صحة البريد الإلكتروني
  • و أكثر من ذلك بكثير عن التوثيق القائم على النموذج...

فإنه لا ينبغي أن تشمل أشياء مثل:

  • أدوار إذن
  • HTTP المصادقة الأساسية

يرجى مساعدتنا من خلال:

  1. مما يشير إلى المواضيع الفرعية
  2. تقديم مقالات جيدة حول هذا الموضوع
  3. تحرير الجواب الرسمية
هل كانت مفيدة؟

المحلول

الجزء الأول:كيفية تسجيل الدخول

سوف نفترض أن كنت تعرف كيفية بناء الدخول+كلمة المرور نموذج HTML التي المشاركات القيم إلى برنامج نصي من جانب الخادم من أجل المصادقة.الأقسام أدناه سوف تتعامل مع أنماط الصوت عملية المصادقة ، وكيفية تجنب الأكثر شيوعا الأمن المزالق.

إلى HTTPS أو لا HTTPS ؟

إلا إذا كان الاتصال هو بالفعل آمنة (وهذا هو ، نفقية من خلال HTTPS باستخدام SSL/TLS), تسجيل الدخول الخاصة بك شكل قيم سيتم إرسالها في نص واضح ، مما يسمح لأي شخص التنصت على الخط الفاصل بين المتصفح وخادم ويب سوف تكون قادرا على قراءة تسجيلات لأنها تمر من خلال.هذا النوع من التنصت يتم بشكل روتيني من قبل الحكومات ، ولكن في عام ، لن عنوان "مملوكة" الأسلاك الأخرى من أن أقول هذا:إذا كنت حماية أي شيء مهم, استخدام HTTPS.

في جوهرها, فقط العملية طريقة للحماية من التنصت على المكالمات الهاتفية/علبة استنشاق خلال تسجيل الدخول باستخدام HTTPS أو شهادة أخرى على أساس نظام التشفير (على سبيل المثال ، TLS) أو ثبت & اختبار التحدي والاستجابة مخطط (على سبيل المثال ، Diffie-Hellmanعلى أساس SRP). أي طريقة أخرى يمكن التحايل عليها بسهولة بواسطة التنصت المهاجم.

بالطبع, إذا كنت ترغب في الحصول على القليل غير عملي ، يمكن أن تستخدم أيضا شكلا من اثنين عامل التوثيق الخطة (مثلا ، تطبيق أداة مصادقة Google ، المادية 'الحرب الباردة نمط' codebook ، أو RSA key generator دونجل).إذا ما طبقت بشكل صحيح ، يمكن أن تعمل حتى مع اتصال غير آمن, ولكن من الصعب أن نتصور أن ديف سيكون على استعداد لتنفيذ اثنين عامل مصادقة ولكن ليس SSL.

(لا) لفة الخاص بك جافا سكريبت تشفير/تجزئة

ونظرا غير الصفر التكلفة ينظر الصعوبة التقنية من إنشاء شهادة SSL على موقع الويب الخاص بك ، بعض المطورين يميل إلى لفة الخاصة بهم في متصفح تجزئة أو التشفير مخططات من أجل تجنب تمرير نص واضح تسجيلات على غير مضمونة الأسلاك.

في حين أن هذا هو اعتقاد نبيل هو عديمة الفائدة أساسا (و يمكن أن يكون ثغرة أمنية) ما لم يكن جنبا إلى جنب مع واحد من فوق -- وهذا هو ، إما تأمين خط مع التشفير القوي أو باستخدام المجربة التحدي والاستجابة آلية (إذا كنت لا تعرف ما هو هذا, فقط أعرف أنها هي واحدة من الأكثر صعوبة في إثبات الأكثر صعوبة في تصميم و الأكثر من الصعب تنفيذ المفاهيم في مجال الأمن الرقمي).

وفي حين أنه صحيح أن تجزئة كلمة المرور يمكن فعالة ضد والكشف عن كلمة السر, هو عرضة لتكرار الهجمات رجل في داخل المتوسطة الهجمات / اختطاف (إذا كان مهاجم يمكن حقن بعض بايت في غير المضمونة صفحة HTML قبل أن تصل إلى المتصفح الخاص بك ، يمكن ببساطة التعليق الخروج التجزئة في جافا سكريبت) ، أو هجمات القوة الغاشمة (منذ كنت تسليم المهاجم كلا من اسم المستخدم و الملح و كلمة المرور المجزأة).

كبتشس ضد الإنسانية

CAPTCHA يهدف إلى إحباط واحد فئة معينة من الهجوم:الآلي القاموس/القوة الغاشمة التجربة والخطأ مع أي مشغل الإنسان.ليس هناك شك في أن هذا هو التهديد الحقيقي ، ومع ذلك ، هناك طرق التعامل معها بسلاسة التي لا تتطلب كلمة التحقق ، على وجه التحديد مصممة بشكل صحيح من جانب الملقم تسجيل الدخول اختناق مخططات - سنناقش تلك في وقت لاحق.

أعرف أن CAPTCHA تطبيقات لم يتم إنشاؤها على حد سواء ؛ أنها ليست في كثير من الأحيان الإنسان قابلة للحل ، معظمهم في الحقيقة غير فعالة ضد البوتات كلها غير فعالة ضد رخيصة من العالم الثالث العمل (وفقا OWASP, الحالي بأجور بخسة معدل هو 12 $لكل 500 الاختبارات) ، و بعض التطبيقات قد تكون من الناحية الفنية غير قانونية في بعض البلدان (انظر OWASP المصادقة ورقة الغش).إذا كان يجب استخدام كلمة التحقق, استخدام جوجل اختبار reCAPTCHA, لأنه هو OCR-من الصعب تعريف (لأنه يستخدم بالفعل OCR-ترغب في كتاب بفحص) و يحاول من الصعب جدا أن تكون سهلة الاستعمال.

شخصيا أميل إلى العثور على الكابتشا المزعجة ، واستخدامها كملاذ أخير فقط عندما يقوم المستخدم فشل تسجيل الدخول عدة مرات واختناق التأخير بلغوا.هذا يحدث نادرا ما يكفي أن تكون مقبولة ، ويقوي النظام ككل.

تخزين كلمات السر / التحقق من تسجيل الدخول

هذه قد تكون في النهاية المعرفة المشتركة بعد كل حظيت بتغطية إعلامية مكثفة الخارقة بيانات المستخدم التسريبات التي شهدناها في السنوات الأخيرة ، ولكن قد يمكن أن يقال:لا تقم بتخزين كلمات المرور في نص واضح في قاعدة البيانات الخاصة بك.قواعد بيانات المستخدم بشكل روتيني اخترق سرب أو استقاها من خلال حقن SQL, و إذا كنت تخزين الخام, كلمات السر الغير مشفرة التي الفورية أكثر من لعبة بالنسبة تسجيل الدخول الخاصة بك الأمن.

حتى إذا كنت لا يمكن تخزين كلمة المرور, كيف يمكنك التحقق من تسجيل الدخول+كلمة المرور مزيج من نشر نموذج تسجيل الدخول هو الصحيح ؟ الجواب هو تجزئة باستخدام مفتاح وظيفة اشتقاق.كلما إنشاء مستخدم جديد أو تغيير كلمة المرور ، كنت تأخذ كلمة المرور وتشغيله من خلال الصندوق الكويتي ، مثل Argon2 ، bcrypt ، scrypt أو PBKDF2, تحويل نص واضح كلمة ("correcthorsebatterystaple") إلى طويل عشوائي يبحث السلسلة ، والذي هو الكثير أكثر أمانا مخزن في قاعدة البيانات الخاصة بك.للتحقق من تسجيل الدخول, يمكنك تشغيل نفس وظيفة تجزئة على إدخال كلمة مرور هذا الوقت يمر في الملح ومقارنة الناتج تجزئة السلسلة إلى القيمة المخزنة في قاعدة البيانات الخاصة بك.Argon2 ، bcrypt scrypt تخزين الملح مع تجزئة بالفعل.تحقق من هذا المادة على المجلس الأعلى للتعليم.stackexchange للحصول على معلومات أكثر تفصيلا.

السبب الملح يستخدم هو أن تجزئة في حد ذاتها ليست كافية -- سوف تحتاج إلى إضافة ما يسمى 'الملح' لحماية تجزئة ضد جداول قوس قزح.الملح بشكل فعال يمنع اثنين من كلمات السر التي تتطابق تماما مع من يتم تخزين نفس تجزئة القيمة ، ومنع كل قاعدة البيانات التي تم مسحها ضوئيا في تشغيل واحد إذا كان المهاجم هو تنفيذ المرور التخمين الهجوم.

تجزئة التشفير لا ينبغي أن تستخدم في تخزين كلمة المرور لأن المحددة من قبل المستخدم وكلمات السر ليست قوية بما فيه الكفاية (أيعادة لا تحتوي على ما يكفي الكون) وكلمة مرور التخمين الهجوم يمكن أن تنجز في وقت قصير نسبيا قبل المهاجم مع إمكانية الوصول إلى تجزئات.هذا هو السبب KDFs تستخدم هذه الفعالية "تمتد المفتاح", مما يعني أن كل كلمة تخمين مهاجم يجعل أسباب متعددة التكرار من خوارزمية التجزئة ، على سبيل المثال 10 ، 000 مرات ، مما يسبب المهاجم لتخمين كلمة المرور 10 ، 000 مرات أبطأ.

الدورة بيانات "تسجيل الدخول كـ Spiderman69"

مرة واحدة الملقم التحقق من تسجيل الدخول وكلمة المرور الخاص بك ضد مستخدم قاعدة البيانات العثور على تطابق ، يحتاج النظام وسيلة لتذكر أن المتصفح قد تم المصادقة.هذه الحقيقة ينبغي فقط من أي وقت مضى أن يتم تخزين جانب الخادم في الدورة البيانات.

إذا كنت غير مألوف مع الدورة البيانات هنا كيف يعمل:واحد بشكل عشوائي ولدت سلسلة المخزنة في تنتهي كوكي و يستخدم للإشارة إلى مجموعة من البيانات - الدورة البيانات التي يتم تخزينها على الملقم.إذا كنت تستخدم إطار MVC, لا شك أن هذا التعامل معها بالفعل.

إذا كان ذلك ممكنا ، تأكد من ملف تعريف ارتباط جلسة لديه آمنة HTTP الأعلام فقط مجموعة عند إرسالها إلى المتصفح.HttpOnly العلم يوفر بعض الحماية ضد كوكي يجري من خلال قراءة XSS الهجوم.آمنة العلم يضمن ملف تعريف الارتباط هو فقط إرسالها مرة أخرى عن طريق HTTPS ، وبالتالي يحمي شبكة استنشاق الهجمات.قيمة ملف تعريف الارتباط يجب أن لا يمكن التنبؤ بها.حيث كوكي المرجعية غير موجودة الدورة قدمت قيمته يجب أن يتم استبدال فورا لمنع دورة التثبيت.

الجزء الثاني:كيفية تسجيل تظل في الشائنة "تذكرني" خانة الاختيار

استمرار تسجيل الدخول ملفات تعريف الارتباط ("تذكرني" وظائف) هي خطر على المنطقة ؛ من ناحية ، فهي تماما كما آمنة التقليدية تسجيل الدخول عند المستخدمين على فهم كيفية التعامل معها ؛ و من ناحية أخرى ، فهي هائلة المخاطر الأمنية في يد الإهمال المستخدمين الذين يمكن استخدامها على أجهزة الكمبيوتر العامة و تنسى تسجيل الخروج, و الذين قد لا يعرفون ما المتصفح ملفات تعريف الارتباط أو كيفية حذفها.

شخصيا, أنا أحب تسجيلات المستمرة على المواقع زيارة على أساس منتظم ، لكنني أعرف كيفية التعامل معها بأمان.إذا كنت إيجابية للمستخدمين معرفة نفسه ، يمكنك استخدام تسجيلات المستمرة مع ضمير نظيف.إن لم يكن - إذن يمكنك الاشتراك في الفلسفة أن المستخدمين الذين يتم التساهل مع اعتماد تسجيل الدخول جلبت على نفسها إذا كانت الحصول على اختراق.انها ليست مثل نحن نذهب إلى المستخدم لدينا بيوت تمزيق كل تلك facepalm-حمل المذكرات بعد ذلك مع كلمات السر لديهم اصطف على حافة شاشات, إما.

بالطبع, بعض الأنظمة لا تستطيع أن يكون لها أي اختراق حسابات;هذه أنظمة لا توجد وسيلة يمكنك أن تبرر وجود تسجيلات المستمرة.

إذا قررت لتنفيذ استمرار تسجيل الدخول ملفات تعريف الارتباط هذا هو كيف نفعل ذلك:

  1. أولا يستغرق بعض الوقت لقراءة المثل المبادرة المادة على هذا الموضوع.سوف تحتاج إلى الحصول على مجموعة من عناصر الحق ، المادة يقوم بعمل عظيم من شرح كل.

  2. و المشكل واحدة من الأكثر شيوعا المزالق ، لا تخزن استمرار تسجيل الدخول كوكي (رمز) في قاعدة البيانات الخاصة بك, فقط تجزئة من ذلك! رمز الدخول هو كلمة السر ما يعادلها ، حتى إذا كان مهاجم حصلت على أيديهم على قاعدة البيانات الخاصة بك, أنها يمكن أن تستخدم الرموز لتسجيل الدخول إلى أي حساب, تماما كما لو كانوا نص واضح تسجيل الدخول-تركيبات كلمة المرور.ولذلك فإن استخدام تجزئة (وفقا https://security.stackexchange.com/a/63438/5002 ضعف التجزئة سوف تفعل ما يرام لهذا الغرض) عند تخزين استمرار تسجيل الدخول الرموز.

الجزء الثالث:باستخدام الأسئلة السرية

لا تنفذ 'الأسئلة السرية'.'سرية الأسئلة' الميزة الأمنية لمكافحة نمط.قراءة الورقة من الرابط رقم 4 من يجب قراءة قائمة.يمكنك أن تسأل سارة بالين أن لها بعد Yahoo!تم اختراق حساب البريد الإلكتروني أثناء الحملة الرئاسية السابقة لأن إجابة لها عن سؤال الأمان كان..."Wasilla المدرسة الثانوية"!

حتى مع المستخدم المحدد الأسئلة ، فمن المحتمل جدا أن معظم المستخدمين سوف تختار إما:

  • "القياسية" السؤال السري مثل اسم الأم أو الحيوانات الأليفة المفضلة

  • قطعة بسيطة من التوافه التي يمكن لأي شخص أن رفع من بلوق, ينكدين الشخصي ، أو ما شابه

  • أي سؤال أسهل الإجابة من تخمين كلمة المرور الخاصة بهم.والتي لأي الكريم كلمة السر, هو كل سؤال يمكنك أن تتخيل

في الختام ، إن آمن إلى حد كبير في جميع أشكالها الاختلافات, لا ينبغي أن تستخدم في نظام المصادقة لأي سبب من الأسباب.

السبب الحقيقي لماذا الأمن الأسئلة موجودة حتى في البرية هو أنها مريح حفظ تكلفة بضع مكالمات الدعم من المستخدمين الذين لا يمكن الوصول إلى البريد الإلكتروني الخاصة بهم للوصول إلى تنشيط رمز.هذا على حساب الأمن و سارة بالين سمعة.يستحق كل هذا العناء ؟ ربما لا.

الجزء الرابع:نسيت كلمة السر وظيفة

لقد سبق ذكره لماذا يجب أن أبدا استخدام الأمن الأسئلة التعامل مع المنسية/فقدت المستخدم وكلمات السر.كما أنه يجب عليك أبدا البريد الإلكتروني للمستخدمين كلمات السر الفعلية.هناك اثنين على الأقل من كل شائع جدا لتجنب المزالق في هذا المجال:

  1. لا إعادة تعيين نسيت كلمة المرور إلى إنشاؤه تلقائيا مرور قوية - مثل كلمات السر المعروف من الصعب تذكر ، مما يعني يجب على المستخدم إما تغييره أو الكتابة عليه - يقول على أصفر مشرق بعد ذلك على حافة الشاشة.بدلا من وضع كلمة مرور جديدة فقط السماح للمستخدمين اختيار واحد جديد على الفور - وهو ما يريدون القيام به على أي حال.(استثناء قد يكون هذا إذا كان المستخدمون عالميا باستخدام كلمة مرور مدير مخزن/إدارة كلمات المرور التي عادة ما تكون من المستحيل أن نتذكر دون كتابته).

  2. دائما تجزئة كلمة المرور المفقودة الرمز/الرمز المميز في قاعدة البيانات. مرة أخرى, هذا الرمز هو مثال آخر على المرور ما يعادلها ، لذلك يجب أن يكون تجزئته في حالة مهاجم حصلت على أيديهم على قاعدة البيانات الخاصة بك.عندما فقدت كلمة المرور رمز طلب إرسال عادي رمز إلى عنوان البريد الإلكتروني للمستخدم ، ثم تجزئة هذا حفظ التجزئة في قاعدة البيانات الخاصة بك -- و رمي بعيدا الأصلي.تماما مثل كلمة المرور أو استمرار تسجيل الدخول رمزية.

ملاحظة أخيرة:دائما تأكد من واجهة دخول 'فقدت كلمة المرور رمز' على الأقل أمنا كما دخولك النموذج نفسه ، أو مهاجم ببساطة استخدام هذا للوصول بدلا من ذلك.التأكد على توليد طويلة جدا 'فقدت كلمة المرور رموز' (على سبيل المثال ، 16 تراعي حالة الأحرف الأبجدية الرقمية) هو بداية جيدة ، ولكن النظر في إضافة نفس واختناق مخطط هذا نموذج تسجيل الدخول نفسها.

الجزء الخامس:التحقق من قوة كلمة المرور

أولا سوف تحتاج إلى قراءة هذه المقالة الصغيرة بالنسبة للواقع: 500 من أكثر كلمات السر شيوعا

حسنا ربما القائمة ليست الكنسي قائمة أكثر كلمات السر شيوعا على أي نظام في أي مكان من أي وقت مضى, لكنه مؤشرا جيدا كيف سيئة الناس سوف تختار كلمات المرور الخاصة بهم عندما لا يكون هناك فرض سياسة في المكان.بالإضافة إلى قائمة تبدو بشكل مخيف على مقربة من المنزل عند مقارنتها المتاحة للجمهور التحليلات في الآونة الأخيرة سرقة كلمات المرور.

لذلك:مع عدم وجود قوة كلمة المرور الحد الأدنى من المتطلبات ، 2% من المستخدمين استخدام واحدة من أكبر 20 أكثر كلمات السر شيوعا.المعنى:إذا كان مهاجم يحصل فقط 20 المحاولات ، 1 في 50 حسابات على موقع الويب الخاص بك سوف يكون crackable.

إحباط هذا يتطلب حساب الكون كلمة مرور ثم تطبيق العتبة.المعهد الوطني للمعايير والتكنولوجيا (NIST) المنشور الخاص 800-63 يحتوي على مجموعة من اقتراحات جيدة جدا.أنه عندما جنبا إلى جنب مع قاموس تخطيط لوحة المفاتيح تحليل (على سبيل المثال ، 'قويرتيويوب' هو كلمة سيئة) ، رفض 99% من كل سوء اختيار كلمات السر عند مستوى 18 بت من الكون.ببساطة حساب قوة كلمة المرور ، عرض مرئي قوة متر إلى مستخدم جيد لكنه غير كاف.لم تنفذ الكثير من المستخدمين من المرجح أن تتجاهل ذلك.

و منعش تأخذ على سهولة عالية الكون كلمات السر ، راندال مونرو هو قوة كلمة المرور xkcd ينصح بشدة.

الاستفادة تروي هانت Have I Been Pwned API للتحقق من المستخدمين كلمات المرور ضد كلمات المرور للخطر في العام خروقات البيانات.

الجزء السادس:أكثر من ذلك بكثير - أو:منع سريع لاطلاق النار محاولات تسجيل الدخول

أولا إلقاء نظرة على الأرقام: استعادة كلمة السر سرعات - كم كلمة المرور الخاصة بك الوقوف

إذا لم يكن لديك الوقت للبحث من خلال الجداول في هذا الرابط هنا قائمة بها:

  1. فإنه يأخذ تقريبا أي وقت من الأوقات لكسر كلمة مرور ضعيفة ، حتى لو كنت تكسير مع العداد

  2. فإنه يأخذ تقريبا أي وقت من الأوقات للقضاء أبجدية 9-حرف كلمة المرور إذا كان قضية حساسة

  3. فإنه يأخذ تقريبا أي وقت من الأوقات للقضاء معقدة, رموز و حروف و أرقام العليا و صغيرة كلمة المرور إذا كان أقل من 8 أحرف (أجهزة الكمبيوتر المكتبية يمكن البحث كامل keyspace تصل إلى 7 شخصيات في غضون أيام أو حتى ساعات)

  4. بيد أنه يأخذ قدرا هائلا من الوقت للقضاء حتى 6 أحرف كلمة المرور ، إذا كنت اقتصرت على محاولة واحدة في الثانية الواحدة!

ماذا يمكننا أن نتعلم من هذه الأرقام ؟ حسنا, الكثير, ولكن يمكننا التركيز على الجزء الأكثر أهمية:حقيقة أن منع أعداد كبيرة من النار السريع المتعاقبة محاولات تسجيل الدخول (أي.على القوة الغاشمة الهجوم) حقا ليس من الصعب أن.ولكن منع ذلك صحيح ليس من السهل كما يبدو.

عموما لديك ثلاثة خيارات كلها فعالة ضد هجمات القوة الغاشمة (و هجمات القاموس ، ولكن منذ كنت بالفعل باستخدام كلمات مرور قوية السياسة لا ينبغي أن يكون مشكلة):

  • هذا CAPTCHA بعد ن محاولات فاشلة (ومزعج جدا و فعالة في كثير من الأحيان -- ولكن أنا أكرر نفسي هنا)

  • قفل حسابات و التي تتطلب التحقق من البريد الإلكتروني بعد ن محاولات فاشلة (وهذا هو دوس الهجوم في انتظار أن يحدث ذلك)

  • وأخيرا ، تسجيل الدخول اختناق:هذا هو تحديد وقت التأخير بين محاولات بعد ن محاولات فاشلة (نعم, دوس الهجمات لا تزال ممكنة ، ولكن على الأقل هم أقل احتمالا أكثر تعقيدا لسحب قبالة).

أفضل الممارسات #1: وقت قصير تأخير يزيد مع عدد من المحاولات الفاشلة مثل:

  • 1 محاولة فاشلة = أي تأخير
  • 2 المحاولات الفاشلة = 2 ثانية تأخير
  • 3 محاولات فاشلة = 4 sec تأخير
  • 4 محاولات فاشلة = 8 ثانية تأخير
  • 5 محاولات فاشلة = 16 ثانية تأخير
  • الخ.

دوس مهاجمة هذا النظام سيكون غير عملي جدا ، منذ الناتجة تأمين الوقت هو أكبر قليلا من مجموع السابقة تأمين مرات.

توضيح:التأخير لا تأخير قبل أن تعود الرد على المتصفح.هو أشبه مهلة أو صهر فترة محاولات تسجيل الدخول إلى حساب معين أو من عنوان IP معين لن يتم قبول أو تقييمها على الإطلاق.هذا هو الصحيح تفويض لن يعود في دخول ناجح و مؤهلات اعتماد غير صحيحة لا تؤدي إلى تأخير الزيادة.

أفضل الممارسات #2: متوسط طول تأخير الوقت الذي يدخل حيز التنفيذ بعد ن محاولات فاشلة, مثل:

  • 1-4 محاولات فاشلة = أي تأخير
  • 5 محاولات فاشلة = 15-30 دقيقة تأخير

دوس مهاجمة هذا النظام سيكون غير عملي جدا, ولكن بالتأكيد قابلة للتنفيذ.أيضا ، قد يكون من المناسب الإشارة إلى أن هذا التأخير الطويل يمكن أن تكون مزعجة جدا على المستخدم الشرعي.النسيان المستخدمين سوف يروق لك.

أفضل الممارسات #3: الجمع بين النهجين - إما ثابتة قصيرة تأخير الوقت الذي يدخل حيز التنفيذ بعد ن محاولات فاشلة, مثل:

  • 1-4 محاولات فاشلة = أي تأخير
  • 5+ المحاولات الفاشلة = 20 ثانية تأخير

أو زيادة في التأخير مع ثابت العلوي ، مثل:

  • 1 محاولة فاشلة = 5 ثانية تأخير
  • 2 المحاولات الفاشلة = 15 ثانية تأخير
  • 3+ المحاولات الفاشلة = 45 ثانية تأخير

هذا النهائي كان مخطط مأخوذة من OWASP أفضل الممارسات اقتراحات (رابط 1 من يجب قراءة قائمة) و ينبغي النظر في أفضل الممارسات ، حتى لو كان المسلم على التقييدية الجانب.

وكقاعدة عامة من الإبهام, ومع ذلك, وأود أن أقول:أقوى كلمة المرور الخاصة بك في السياسة ، أقل لك أن علة المستخدمين مع التأخير.إذا كنت تحتاج إلى قوية (تحسس حالة الأحرف أحرف وأرقام + مطلوب أرقام ورموز) 9+ حرف كلمات السر ، يمكن إعطاء المستخدمين 2-4 غير تأخر محاولات كلمة المرور قبل تفعيل اختناق.

دوس مهاجمة هذا الأخير الدخول اختناق المخطط سيكون جدا غير عملي.وكما لمسة نهائية, دائما تسمح المستمر (ملف تعريف الارتباط) الدخول (و/أو كلمة التحقق-التحقق من نموذج تسجيل الدخول) لتمرير من خلال ذلك المستخدمين الشرعيين حتى لا يتأخر في حين أن الهجوم هو في التقدم.بهذه الطريقة جدا غير عملي دوس الهجوم يصبح للغاية عملية الهجوم.

بالإضافة إلى ذلك, فمن المنطقي أن تفعل أكثر عدوانية اختناق على المشرف الحسابات منذ تلك هي الأكثر جاذبية نقاط الدخول

الجزء السابع:وزعت هجمات القوة الغاشمة

مثلما جانبا ، أكثر تقدما المهاجمين محاولة للالتفاف على الدخول اختناق من قبل 'نشر الأنشطة:

  • توزيع محاولات على الروبوتات منع عنوان IP الضعيف

  • بدلا من اختيار مستخدم واحد و محاولة 50.000 أكثر كلمات السر شيوعا (التي لا يمكن بسبب اختناق) ، وسوف نختار الأكثر شيوعا كلمة المرور وحاول ضد 50.000 المستخدمين بدلا من ذلك.أن ليس فقط أنها لا تحصل على حوالي الأقصى-محاولات تدابير مثل كبتشس و الدخول اختناق ، فرصة للنجاح يزيد كذلك ، لأن عدد 1 الأكثر شيوعا كلمة المرور المرجح أكثر بكثير من عدد 49.995

  • تباعد تسجيل الدخول الطلبات لكل حساب مستخدم, يقول, 30 ثانية على حدة ، إلى التسلل تحت الرادار

هنا أفضل ممارسة تسجيل عدد من فشل تسجيل الدخول ، على نطاق المنظومة, و باستخدام الجري المتوسط من موقع الويب الخاص بك سيئة-تسجيل الدخول التردد كأساس الحد الأعلى ومن ثم تفرض على جميع المستخدمين.

مجردة جدا ؟ اسمحوا لي أن أعيد صياغة:

يقول موقع الويب الخاص بك لديه ما معدله 120 سيئة تسجيل الدخول يوميا على مدى 3 أشهر.باستخدام هذا (الجري المتوسط) ، النظام الخاص بك قد وضع حد 3 مرات -- ie.360 محاولات فاشلة على مدى فترة 24 ساعة.ثم إذا كان مجموع عدد من المحاولات الفاشلة في جميع حسابات يتجاوز هذا العدد في غضون يوم واحد (أو حتى أفضل, رصد معدل تسارع الزناد على حساب العتبة) ، كما أنه ينشط المنظومة الدخول اختناق - معنى قصيرة التأخير لجميع المستخدمين (لا يزال, مع استثناء من الكعكة تسجيل الدخول و/أو النسخ الاحتياطي CAPTCHA تسجيل الدخول).

كما نشر السؤال مع مزيد من التفاصيل و جيدة حقا مناقشة كيفية تجنب صعبة pitfals في صد توزيع هجمات القوة الغاشمة

الجزء الثامن:المصادقة اثنين عامل التوثيق مقدمي

التفويض يمكن أن يتعرض للخطر ، إذا كان من مآثر ، كلمات المرور التي يتم كتابتها فقدت, أجهزة الكمبيوتر المحمولة مع مفاتيح السرقة ، أو دخول المستخدمين تسجيل الدخول إلى مواقع التصيد.تسجيلات يمكن أن تكون محمية أبعد من ذلك مع اثنين عامل التوثيق ، والذي يستخدم خارج النطاق عوامل مثل واحد-استخدام الرموز الواردة من مكالمة هاتفية, رسالة قصيرة, التطبيق, أو دونجل.العديد من مقدمي العرض مصادقة اثنين عامل خدمات.

المصادقة يمكن أن يكون تماما فوض إلى واحد-خدمة تسجيل الدخول ، حيث مزود آخر مقابض جمع بيانات الاعتماد.وهذا يدفع المشكلة إلى طرف ثالث موثوق به.جوجل وتويتر على حد سواء تقديم المستندة إلى المعايير SSO الخدمات ، في حين Facebook توفر الملكية مماثل الحل.

لا بد من قراءة الروابط عن مصادقة ويب

  1. OWASP دليل التوثيق / OWASP المصادقة ورقة الغش
  2. دوس وما يترك من مصادقة العميل على شبكة الإنترنت (جدا للقراءة MIT ورقة بحثية)
  3. ويكيبيديا:HTTP كوكي
  4. معرفة شخصية الأسئلة تراجع المصادقة:الأسئلة الأمنية في عهد Facebook (جدا للقراءة بيركلي ورقة بحثية)

نصائح أخرى

نهائي المادة

إرسال تفويض

السبيل العملي الوحيد إلى إرسال بيانات الاعتماد 100% آمن باستخدام SSL.باستخدام جافا سكريبت إلى تجزئة كلمة مرور غير آمنة.المخاطر الشائعة العميل تجزئة كلمة المرور:

  • إذا كان الاتصال بين العميل والخادم غير مشفرة, كل ما عليك فعله هو عرضة رجل في داخل المتوسطة الهجمات.يمكن للمهاجمين محل واردة جافا سكريبت لكسر تجزئة أو إرسال جميع أوراق اعتماده إلى الخادم الخاص بهم, أنها يمكن أن تستمع إلى العميل الردود و انتحال المستخدمين تماما ، إلخ.الخ.SSL مع المصدقة الموثوق بها مصممة لمنع الهجمات MitM.
  • كلمة المرور المجزأة التي تلقاها خادم أقل أمنا إذا كنت لا تفعل إضافية زائدة العمل على الملقم.

هناك طريقة آمنة يسمى SRP, لكنها براءة اختراع (على الرغم من أنه هو بحرية مرخصة) و هناك بعض التطبيقات المتاحة.

تخزين كلمات السر

لا من أي وقت مضى متجر السر الغير مشفرة في قاعدة البيانات.حتى إذا كنت لا تهتم حول أمن الموقع الخاص بك.نفترض أن بعض المستخدمين سوف إعادة استخدام كلمة المرور الخاصة بهم على الانترنت البنكي.لذا, تخزين كلمة المرور المجزأة ، ورمي بعيدا الأصلي.وتأكد من كلمة المرور لا تظهر في الوصول إلى سجلات أو سجلات التطبيق.OWASP يوصي استخدام Argon2 كما خيارك الأول للحصول على تطبيقات جديدة.إذا كان هذا غير متوفر ، PBKDF2 أو scrypt ينبغي أن تستخدم بدلا من ذلك.وأخيرا إذا كان أي من أعلاه متوفرة استخدم bcrypt.

تجزئات في حد ذاتها هي أيضا غير آمنة.على سبيل المثال, متطابقة كلمات السر يعني متطابقة التجزئة--وهذا يجعل تجزئة جداول البحث طريقة فعالة تكسير الكثير من كلمات السر في آن واحد.بدلا من تخزين المملحة تجزئة.الملح هو سلسلة إلحاق كلمة المرور قبل التجزئة - استخدام مختلفة (عشوائية) ملح لكل مستخدم.الملح هو القيمة العامة ، حتى يمكنك تخزينها مع تجزئة في قاعدة البيانات.انظر هنا لمزيد من المعلومات حول هذا.

هذا يعني أنه لا يمكنك إرسال المستخدم الخاصة بهم نسيت كلمة السر (لأنه لديك فقط التجزئة).لا إعادة تعيين كلمة مرور المستخدم إلا إذا كان لديك مصادقة المستخدم (المستخدمين يجب أن تثبت أنها قادرة على قراءة رسائل البريد الإلكتروني المرسلة إلى تخزين (صحتها) عنوان البريد الإلكتروني.)

الأمن الأسئلة

الأمن الأسئلة آمنة - تجنب استخدامها.لماذا ؟ أي سؤال الأمان لا كلمة سر يفعل أفضل.قراءة الجزء الثالث:باستخدام الأسئلة السرية في @ينس رولان الإجابة هنا في هذا الويكي.

ملفات تعريف الارتباط

بعد قيام المستخدم بتسجيل الدخول يرسل الملقم المستخدم تعريف ارتباط جلسة العمل.الخادم يمكن استرداد اسم المستخدم أو معرف من الكعكة ، ولكن لا أحد آخر يمكن أن تولد مثل هذه الكعكة (تودو شرح آليات).

ملفات تعريف الارتباط يمكن مخطوفة:هم فقط آمن مثل بقية الجهاز العميل وغيرها من الاتصالات.يمكن قراءتها من القرص ، مشموم في حركة مرور الشبكة ، رفعت بواسطة البرمجة عبر الموقع الهجوم ، المخدوع من تسمم DNS بحيث يقوم العميل بإرسال ملفات تعريف الارتباط الخاصة بها إلى الخوادم خاطئ.لا ترسل ملفات تعريف الارتباط الدائمة.ملفات تعريف الارتباط يجب أن تنتهي في نهاية جلسة عمل العميل (إغلاق المتصفح أو ترك المجال الخاص بك).

إذا كنت ترغب في autologin المستخدمين, يمكنك تعيين ملفات تعريف الارتباط الدائمة ، ولكن ينبغي أن تكون متميزة عن كامل ملف تعريف ارتباط جلسة العمل.يمكنك تعيين إضافية العلم أن المستخدم لديه السيارات-تسجيل يحتاج إلى تسجيل الدخول الحقيقي من أجل عمليات التشغيل الحساسة.هذه هي شعبية مع مواقع التسوق التي تريد أن توفر لك مع السلس شخصية تجربة التسوق ولكن لا تزال تحمي التفاصيل المالية الخاصة بك.على سبيل المثال ، عند العودة إلى زيارة الأمازون ، فإنها تظهر لك الصفحة التي تبدو مثل تسجيل الدخول ، ولكن عندما تذهب إلى مكان النظام (أو تغيير عنوان الشحن الخاص بك بطاقة الائتمان الخ) ، أنها تطلب منك تأكيد كلمة المرور الخاصة بك.

المواقع المالية مثل البنوك وشركات بطاقات الائتمان ، من ناحية أخرى ، فقط البيانات الحساسة ويجب أن لا يسمح تسجيل الدخول التلقائي أو منخفضة وضع الأمان.

قائمة من الموارد الخارجية

أولا قوية التحذير من أن هذا الجواب ليس مناسب لهذا السؤال الدقيق.فإنه بالتأكيد يجب أن لا تكون أعلى من الإجابة!

سوف تمضي قدما و ذكر موزيلا المقترحة BrowserID (أو ربما أكثر دقة ، التحقق من البريد الإلكتروني بروتوكول) في روح إيجاد مسار الترقية إلى أفضل نهج المصادقة في المستقبل.

سوف ألخص الأمر بهذه الطريقة:

  1. موزيلا هي منظمة غير ربحية مع القيم التي تتماشى بشكل جيد مع إيجاد حلول لهذه المشكلة.
  2. الواقع اليوم هو أن معظم المواقع تستخدم نموذج المصادقة المستندة إلى
  3. يستند إلى نموذج المصادقة لديه عيب كبير الذي هو زيادة في خطر التصيد.ويطلب من المستخدمين إدخال معلومات حساسة في منطقة تسيطر عليها عن بعد الكيان بدلا من منطقة تسيطر عليها المستخدم العميل (المستعرض).
  4. منذ المتصفحات ضمنا الموثوقة (كل فكرة مستخدم الوكيل بالتصرف نيابة عن المستخدم) ، فإنها يمكن أن تساعد على تحسين هذا الوضع.
  5. القوة الرئيسية التي تعيق التقدم هنا نشر الجمود.الحلول يجب أن تكون متحللة في الخطوات التي تقدم بعض الإضافية يستفيد من تلقاء نفسها.
  6. أبسط اللامركزية طريقة للتعبير عن الهوية التي بنيت في البنية التحتية للإنترنت هو اسم المجال.
  7. كما المستوى الثاني من التعبير عن هوية كل مجال تدير مجموعة من الحسابات.
  8. شكل "حساب@المجال" محكم معتمد من قبل مجموعة واسعة من بروتوكولات URI المخططات.هذا المعرف هو بالطبع الأكثر المعترف بها عالميا مثل عنوان البريد الإلكتروني.
  9. مزودي خدمات البريد الإلكتروني بالفعل بحكم الواقع الأولية هوية مقدمي الخدمات على الإنترنت.الحالية إعادة تعيين كلمة المرور التدفقات عادة تمكنك من السيطرة على حساب إذا كنت تستطيع أن تثبت أنك تحكم الحساب المرتبطة عنوان البريد الإلكتروني.
  10. التحقق من البريد الإلكتروني البروتوكول المقترح إلى توفير طريقة آمنة ، على أساس تشفير المفتاح العام ، من أجل ترشيد عملية تثبت أن المجال ب أن يكون لديك حساب على المجال A.
  11. لمتصفحات التي لا تدعم التحقق من البريد الإلكتروني بروتوكول (حاليا كل منهم) ، موزيلا توفر شيم التي تنفذ البروتوكول في جانب العميل شفرة جافا سكريبت.
  12. للحصول على خدمات البريد الإلكتروني التي لا تدعم التحقق من البريد الإلكتروني بروتوكول بروتوكول يسمح للأطراف الثالثة بمثابة وسطاء موثوق بهم ، مؤكدا أن لقد تم التحقق من المستخدم ملكية الحساب.فإنه ليس من المستحسن أن يكون لديك عدد كبير من هذه الأطراف الثالثة ؛ هذه القدرة هو المقصود فقط للسماح مسار الترقية ، كما يفضل أن خدمات البريد الإلكتروني توفر هذه التأكيدات نفسها.
  13. موزيلا تقدم الخدمات الخاصة بهم إلى التصرف مثل هذه طرف ثالث موثوق به.مقدمي الخدمات (التي هي الاعتماد الأطراف) تنفيذ التحقق من البريد الإلكتروني بروتوكول قد يختار الثقة موزيلا تأكيدات أو لا.موزيلا خدمة التحقق من المستخدمين ملكية الحساب باستخدام الوسائل التقليدية إرسال رسالة بريد إلكتروني مع وصلة تأكيد.
  14. مقدمي الخدمات قد بالطبع نقدم هذا البروتوكول كخيار بالإضافة إلى أي طريقة أخرى(s) من مصادقة قد ترغب في العرض.
  15. كبير واجهة المستخدم الاستفادة يجري البحث هنا هو "الهوية محدد".عندما يزور المستخدم موقع ويختار لمصادقة, المتصفح يظهر لهم مجموعة من عناوين البريد الإلكتروني ("الشخصية", "العمل", "النشاط السياسي" ، إلخ.) أنها قد تستخدم لتعريف أنفسهم إلى الموقع.
  16. آخر كبير واجهة المستخدم الاستفادة يجري البحث كجزء من هذا الجهد هو مساعدة المتصفح معرفة المزيد عن جلسة المستخدم – الذين هم وقعت في حاليا في المقام الأول – لذلك قد عرض في متصفح كروم.
  17. بسبب توزيع طبيعة هذا النظام ، فإنه يتجنب قفل في المواقع الرئيسية مثل Facebook, Twitter, Google, الخ.أي فرد يمكن أن تمتلك المجال الخاصة بهم وبالتالي بمثابة الهوية الخاصة بهم مزود.

هذا ليس بدقة "نموذج المصادقة المستندة إلى المواقع".وإنما هو محاولة الانتقال من المعيار الحالي من شكل المصادقة المستندة إلى شيء أكثر أمنا:متصفح يدعمها المصادقة.

فكرت حصة هذا الحل الذي وجدته أن تعمل على ما يرام.

أنا أسميها دمية المجال (على الرغم من أنني لم اخترع هذا حتى لا الائتمان لي).

باختصار:عليك فقط أن إدراج هذا في <form> والتحقق من أن تكون فارغة في عند التحقق من صحة:

<input type="text" name="email" style="display:none" />

الحيلة لخداع بوت في التفكير وقد لإدراج البيانات في حقل مطلوب ، لهذا سميت الإدخال "البريد الإلكتروني".إذا كان لديك حقل يسمى البريد الإلكتروني الذي تستخدمه يجب أن تحاول تسمية وهمية الميدان شيء آخر مثل "شركة" ، "الهاتف" أو "emailaddress".مجرد اختيار شيء تعرفه أنت لا تحتاج إلى ما يبدو وكأنه شيء أن الناس سوف تجد عادة من المنطقي أن ملء في شكل شبكة الإنترنت.الآن إخفاء input الحقل باستخدام CSS أو جافا سكريبت/مسج - ما يلائم لكم أفضل فقط لا تعيين الإدخال type إلى hidden أو آخر بوت لن تقع.

عندما يتم التحقق من صحة النموذج (إما عميل أو ملقم الجانب) تحقق إذا كان لديك دمية المجال وقد شغل لتحديد ما إذا كان يرسلها الإنسان أو بوت.

على سبيل المثال:

في حالة الإنسان: المستخدم لن ترى دمية الميدانية (في حالتي اسمه "البريد الإلكتروني") ولن محاولة لملء ذلك.وبالتالي فإن قيمة وهمية المجال لا يزال ينبغي أن يكون فارغا عندما يكون النموذج قد تم إرسالها.

في حالة بوت: بوت سوف نرى حقل نوعه text و اسم email (أو أيا ما كان يطلق عليه) وسوف منطقيا محاولة لملء ذلك مع البيانات المناسبة.لا يهم إذا كنت على غرار النموذج الإدخال مع بعض الهوى CSS, مطوري الويب تفعل ذلك في كل وقت.مهما كانت قيمة وهمية المجال هو أننا لا يهمني طالما هو أكبر من 0 الأحرف.

أنا استخدم هذا الأسلوب في سجل الزوار في تركيبة مع CAPTCHA, و أنا لم أر واحدة غير المنصب منذ ذلك الحين.كنت قد استخدمت كلمة التحقق-الحل الوحيد قبل ، ولكن في نهاية المطاف ، أسفرت عن خمس مشاركات غير مرغوب فيها في كل ساعة.مضيفا وهمية الميدانية في شكل توقف (على الأقل حتى الآن) جميع الرسائل غير المرغوب فيها من الظهور.

وأعتقد أن هذا يمكن أن تستخدم أيضا على ما يرام مع تسجيل الدخول/المصادقة شكل.

تحذير:بالطبع هذه الطريقة ليست مضمونة 100%.البوتات يمكن برمجتها إلى تجاهل حقول الإدخال مع نمط display:none المطبق عليه.عليك أيضا أن تفكر في الناس الذين يستخدمون بعض شكل الإكمال التلقائي (مثل معظم المتصفحات قد بنيت في!) لصناعة السيارات في ملء جميع حقول النموذج بالنسبة لهم.قد فقط كذلك التقاط دمية المجال.

يمكنك أيضا تغيير هذا قليلا قبل مغادرة دمية مجال مرئية ولكن خارج حدود الشاشة ، ولكن هذا هو تماما متروك لكم.

أن تكون خلاقة!

لا أعتقد أن الإجابة أعلاه هو "خطأ" ولكن هناك مناطق واسعة من المصادقة التي لا تمس (أو بدلا من ذلك يتم التركيز على "كيفية تنفيذ كوكي جلسات" وليس على "ما هي الخيارات المتاحة وما هي المقايضات".

بلدي اقترح التعديلات/الإجابات

  • المشكلة تكمن في إعداد حساب من كلمة التحقق.
  • استخدام اثنين عامل التوثيق هو أكثر أمانا من أكثر وسائل ذكية من تشفير كلمة المرور
  • لا تحاول تنفيذ تسجيل الدخول الخاصة بك شكل أو بيانات تخزين كلمات السر ، ما لم البيانات التي يتم تخزينها هو قيمة لها عند إنشاء الحساب المولدة ذاتيا (أي أن نمط ويب 2.0 مثل Facebook, فليكر, إلخ.)

    1. هضم المصادقة المستندة إلى المعايير نهج معتمدة في جميع المتصفحات الرئيسية خوادم, أن لا ترسل كلمة المرور حتى عبر قناة آمنة.

هذا يتجنب أي بحاجة إلى "جلسات" أو ملفات تعريف الارتباط المتصفح نفسه سيتم إعادة تشفير الاتصالات في كل مرة.هو الأكثر "خفيفة" نهج التنمية.

ولكن أنا لا أوصي هذا ، باستثناء العامة ، وانخفاض قيمة الخدمات.هذه قضية مع بعض الإجابات أعلاه - لا محاولة إعادة تنفيذ جانب الخادم آليات التوثيق - وقد تم حل هذه المشكلة و هو معتمد من قبل معظم المتصفحات الرئيسية.لا تستخدم ملفات تعريف الارتباط.لا تخزين أي شيء في اليد الخاصة بك-توالت البيانات الخاصة بنا.فقط أسأل, في الطلب ، إذا كان طلب مصادقة.كل شيء آخر يجب أن تكون معتمدة من قبل التكوين طرف ثالث موثوق به البرنامج.

لذا ...

أولا نحن مربكة الأولي إنشاء حساب (مع كلمة السر) مع إعادة التحقق من كلمة المرور في وقت لاحق.إذا أنا فليكر إنشاء موقع الويب الخاص بك لأول مرة ، مستخدم جديد الوصول إلى قيمة صفر (ويب فارغة الفضاء).أنا حقا لا يهمني إذا كان الشخص إنشاء الحساب هو الكذب عن اسمه.إذا أنا إنشاء حساب المستشفى إنترانت/إكسترانت قيمة يكمن في كافة السجلات الطبية ، لذا هل يهتمون الهوية (*) من حساب الخالق.

هذا هو جزء من الصعب جدا.على فقط الكريم الحل هو شبكة من الثقة.على سبيل المثال ، يمكنك الانضمام إلى المستشفى كطبيب.يمكنك إنشاء صفحة ويب المستضافة في مكان ما مع الصور الخاصة بك ، رقم جواز السفر الخاص بك و المفتاح العام و تجزئة كل منهم مع المفتاح الخاص.ثم زيارة مستشفى مسؤول النظام يبدو في جواز السفر الخاص بك ، يرى إذا كانت الصورة مباريات ، ثم تجزئات صفحة ويب/صور التجزئة مع المستشفى المفتاح الخاص.من الآن فصاعدا يمكننا آمن تبادل المفاتيح والرموز.كما أن أي شخص يثق المستشفى (هناك سر صلصة راجع للشغل).مسؤول النظام يمكن أيضا تعطيك RSA دونجل أو اثنين عامل التوثيق.

ولكن هذا هو الكثير من المتاعب و لا الويب 2.0.ومع ذلك, هو فقط وسيلة آمنة إلى إنشاء حسابات جديدة التي لديها إمكانية الوصول إلى المعلومات القيمة التي ليست الذاتي خلق.

  1. Kerberos SPNEGO - علامة واحدة على آليات مع طرف ثالث موثوق به - في الأساس المستخدم بالتحقق ضد طرف ثالث موثوق به.(ملحوظة: هذا ليس بأي حال من الأحوال لا يمكن الوثوق بها أوث)

  2. SRP - نوع من ذكي مصادقة كلمة المرور دون طرف ثالث موثوق به.ولكن هنا نحن ندخل في نواحي "انها أكثر أمانا لاستخدام اثنين عامل التوثيق ، حتى لو كان هذا أكثر تكلفة"

  3. SSL العميل - إعطاء العملاء شهادة المفتاح العام (دعم في جميع المتصفحات الرئيسية - ولكن يثير أسئلة أكثر من جهاز العميل الأمن).

في النهاية, انها المقايضة - ما هي تكلفة خرق أمني مقابل تكلفة تنفيذ أكثر أمنا النهج.يوم واحد, قد نرى السليم PKI على نطاق واسع و لذلك لا مزيد من الخاصة توالت مصادقة النماذج وقواعد البيانات.يوم واحد...

عند تجزئة لا تستخدم بسرعة خوارزميات التجزئة مثل MD5 (العديد من الأجهزة تطبيقات موجودة).استخدام شيء مثل SHA-512.على كلمات المرور أبطأ التجزئة بشكل أفضل.

وأسرع يمكنك إنشاء التجزئات ، وأسرع أي القوة الغاشمة المدقق يمكن أن تعمل.أبطأ التجزئة وبالتالي تبطئ الغاشمة إجبار.بطيئة خوارزمية التجزئة سوف تجعل الغاشمة مما اضطر غير عملي لفترة أطول كلمات السر (8 أرقام +)

بلدي المفضل القاعدة في ما يخص نظم التوثيق:استخدام عبارات, لا كلمات السر.من السهل أن نتذكر ، من الصعب للقضاء.مزيد من المعلومات: الترميز الرعب:كلمات المرور مقابلتمرير العبارات

أود أن أضيف اقتراح واحد لقد استعملت على أساس الدفاع في العمق.أنت لا تحتاج أن يكون لها نفس مصادقة&auth نظام مدراء العادية المستخدمين.هل يمكن أن يكون منفصلا نموذج تسجيل الدخول على url منفصلة المنفذة رمز منفصل للطلبات التي سوف تمنح امتيازات عالية.هذا واحد يمكن أن تجعل الخيارات التي من شأنها أن يكون مجموع الألم إلى المستخدمين العادية.واحدة من هذه التي استخدمتها فعلا التدافع تسجيل الدخول URL المشرف والوصول إلى البريد الإلكتروني المشرف عنوان URL الجديد.توقف أي هجوم القوة الغاشمة على الفور كما URL الجديد الخاص بك يمكن أن يكون تعسفيا من الصعب (طويلة جدا سلسلة عشوائية) ولكن المشرف المستخدم فقط إزعاج التالية وصلة في البريد الإلكتروني الخاصة بهم.المهاجم لم يعد يعرف إلى أين حتى ما بعد إلى.

أنا لا أعرف ما إذا كان من الأفضل أن الإجابة على هذا النحو إجابة أو تعليق.أنا اختار الخيار الأول.

فيما يتعلق poing الجزء الرابع:نسيت كلمة السر وظيفة في أول الجواب ، أود أن أوضح نقطة حول توقيت الهجمات.

في تذكر كلمة المرور الخاصة بك أشكال مهاجم يمكن أن تحقق من قائمة كاملة من رسائل البريد الإلكتروني وكشف التي هي مسجلة في النظام (انظر الرابط أدناه).

بخصوص كلمة المرور المنسية شكل ، أود أن أضيف أن هذا هو فكرة جيدة أوقات متساوية بين الناجح و unsucessful الاستفسارات مع بعض التأخير وظيفة.

https://crypto.stanford.edu/~دابو/أوراق/webtiming.pdf

أود أن أضيف واحد مهم جدا التعليق:-

  • "في الشركات ، داخل صافي الإعداد ، " معظم إن لم يكن كل ما سبق قد لا تنطبق!

العديد من الشركات نشر "الداخلية فقط استخدام" المواقع التي هي فعليا الشركات "التطبيقات" التي يحدث أن تم تنفيذها من خلال عناوين url.هذه عناوين url (يفترض ...) يمكن حلها إلا من خلال "شركة الشبكة الداخلية." (الشبكة التي سحرية يشمل جميع VPN اتصال 'الطريق المحاربين.')

عندما يقوم المستخدم بأخلاص-متصلا المذكور شبكة هويتهم ("التوثيق") هو [بالفعل] "قاطع المعروف" كما هو إذنهم ("الترخيص") أن تفعل أشياء معينة ...مثل ..."الوصول إلى هذا الموقع."

هذا "المصادقة + إذن" خدمة يمكن أن تقدمها عدة تقنيات مختلفة مثل LDAP (Microsoft OpenDirectory), أو Kerberos.

من وجهة ، يمكنك ببساطة تعلم هذا:أن أي شخص الذين شرعيا الرياح في موقع الويب الخاص بك يجب أن تكون مصحوبة [بيئة متغير سحرية تحتوي على ...] "عربون". (أي غياب هذا المنطلق يجب أن تكون الأسباب المباشرة 404 Not Found.)

رمزية قيمة لا معنى لك ، ولكن ، إذا ما اقتضت الحاجة "الوسائل المناسبة موجودة" والتي موقع الويب الخاص بك يمكن "[رسميا] إسأل شخص يعرف (LDAP...إلخ.)" عن أي و كل(!) سؤال قد يكون لديك.وبعبارة أخرى ، هل لا الاستفادة من نفسك أي "نابعة من المنطق." بدلا من ذلك, يمكنك الاستفسار من السلطة و الثقة ضمنا حكمها.

اه صحيح ...انها تماما العقلية التبديل من "البرية و الغامضة الإنترنت."

استخدام OpenID الاتصال أو يديرها المستخدم الوصول.

كما ليس هناك ما هو أكثر كفاءة من لا يفعل ذلك على الإطلاق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top