كيف يمكنني تجنب وجود كلمة مرور قاعدة البيانات المخزنة في نص عادي في المصدرية?

StackOverflow https://stackoverflow.com/questions/42833

سؤال

في شبكة الإنترنت تطبيق انا النامية أنا حاليا استخدم حل ساذج عند الاتصال إلى قاعدة البيانات:

Connection c = DriverManager.getConnection("url", "username", "password");

هذا غير آمنة جدا.إذا كان مهاجم مكاسب الوصول إلى المصدرية كما مكاسب الوصول إلى قاعدة البيانات نفسها.كيف يمكن my web-التطبيق الاتصال إلى قاعدة البيانات دون تخزين قاعدة البيانات كلمة المرور في نص عادي في المصدرية?

هل كانت مفيدة؟

المحلول

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

http://www.ondotnet.com/pub/a/dotnet/2005/02/15/encryptingconnstring.html

نصائح أخرى

في .صافي الاتفاقية هو متجر connectionstrings في ملف منفصل.

في هذا الشأن ، config يمكن أن تكون مشفرة.

إذا كنت تستخدم Microsoft SQL Server, كل هذا يصبح غير ذي صلة إذا كنت تستخدم حساب المجال لتشغيل التطبيق ، ثم يستخدم اتصال موثوق إلى قاعدة البيانات.سلسلة_أحرف_الاتصال لا تحتوي على أي أسماء المستخدمين وكلمات المرور في هذه الحالة.

يمكنني أن أوصي هذه التقنيات .صافي المبرمجين:

  • تشفير كلمة المرور\سلسلة الاتصال في ملف التكوين
  • إعداد الاتصال الموثوق بها بين العميل و الخادم (أياستخدام مصادقة windows, الخ)

هنا هو المواد المفيدة من CodeProject:

إلا إذا أنا في عداد المفقودين نقطة الاتصال ينبغي أن تدار من قبل الملقم عبر اتصال بركة ، ولذلك الاتصال تفويض تقام من قبل الخادم وليس من قبل التطبيق.

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

أيضا ، لم تعطي priviliges إلى db حساب على أو فوق ما هو حاجة أساسا.

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

على افتراض أن كنت تستخدم MS SQL, يمكنك الاستفادة من مصادقة windows الذي لا يتطلب أي ussername/تمر في أي مكان في التعليمات البرمجية المصدر.وإلا فإنني أتفق مع ملصقات أخرى يوصي التطبيق.config + التشفير.

  1. إنشاء O/S المستخدم
  2. وضع كلمة المرور في O/S متغير البيئة لهذا المستخدم
  3. تشغيل البرنامج المستخدم

المزايا:

  1. فقط الجذر أو التي يمكن للمستخدم عرض المستخدم O/S متغيرات البيئة
  2. يبقى التشغيل
  3. لم قصد التحقق من كلمة المرور إلى عنصر تحكم مصدر
  4. كنت لا داعي للقلق حول الشد أذونات الملف
  5. كنت لا داعي للقلق حول حيث يمكنك تخزين مفتاح التشفير
  6. يعمل x-منصة
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top