منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : طلب مساعدة في كيفية عمل حماية بكلمة سر لقاعدة بيانات من نوع sql
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم



طلب مساعدة في كيفية عمل حماية بكلمة سر لقاعدة بيانات من نوع sql

ما المفروض ان اقوم به لفعل هذا
مع العلم ان قاعدة البيانات من نوع sql 2008 r2


 شكراً مقدماً
وعليكم السلام

سؤالك غير واضح بشكل جيد

هل تقصد أن لديك برنامج متصل مع قاعدة بيانات وتريد عمل حماية لكلمة سر المستخدم في قاعدة المعطيات؟
شكراً اخي الكريم علي الاهتمام

نعم البرنامج متصل مع قاعد بيانات
اريد الا يكون في الامكان الولوج او اضافة قاعدة البيانات لل sql الا بكلمة سر
حتي لا يستطيع احد عمل attach لقاعدة البيانات علي ال sql ويقوم بتعديل البيانات في الجداول كما يحب ويتلاعب بها
بعد البحث ، يمكنك القول أنه اي شخص مصرح له بالولوج إلى الإس كيو إل SQL Server سوف يكون بإمكانه ربط attach قاعدة بيانات أو فك الإرتباط. لكن هناك تقنية طرحتها شركة مايكروسوف واوراكل لإنشاء مستوى حماية لقاعدة البيانات على مستوى الملفات هذه الميزة توفر لك إمكانية حماية قاعدة البيانات على مستوى الملف لتلافي خطر العبث بقاعدة البيانات أو حتى مجرد الولوج إليها اذا ما تعرضت قاعدة البيانات نفسها للسرقة. هذه التقنية تسمح لك بإنشاء شهادة certificate هذه الشهادة يمكنك استخدمها حتى من أجل النسخ الإحتياطية backups. ولكن في حال فقدك للشهادة لن يكون بمقدورك الولوج لقاعدة البيانات بتاتا أبدا.

يمكنك قراءة التفاصيل وتعليمات SQL Server من موقع مايكروسوفت https://msdn.microsoft.com/en-us/library/bb934049.aspx
هذا ما توصلت له بالفعل وهو يقوم علي اساس تشفير البيانات بداخل الجداول مما يتيح حذفها او تخريبها
المطلوب اخفاء الجداول نفسها
(22-01-17, 01:28 AM)Darel كتب : [ -> ]هذا ما توصلت له بالفعل وهو يقوم علي اساس تشفير البيانات بداخل الجداول مما يتيح حذفها او تخريبها
المطلوب اخفاء الجداول نفسها

أعتقد Transparent Data Encryption (TDE) هو ما تبحث عنه لانه بدون هذه الشهادة حتى ولو استطاع الشخص الولوج إلى SQL Server لن يكون بمقدوره العبث بقاعدة بياناتك، ولكن فقط عليك الإحتفاظ بالشهادة certificate في مكان آمن وإلا لن يكون بمقدورك التعامل مع قاعدة بياناتك في المستقبل
أرجوا إن استخدمتها أن تشاركنا بخبرتك بها

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

لو كان البرنامج الذي يقوم المبرمج ببرمجتة ينوي بيعة
فهل يجب ان يجبر المبرمج كل عميل ان يشتري نسخة enterprise من ال sql حتي يستطيع حماية قاعدة بياناته

علي العموم ابتكرت خدعة تودي الغرض بنسخة sql عادية وتم تجربتها ونجحت

نضع كونكشن بنظام SQL Server Authentication في كود البرنامج وباسم مستخدم و كلمة سر محددين

اذا كان يقابلهم نفس اسم المستخدم وكلمة السر في الsql يعمل البرنامج

ومن ناحية اخري نغلق الكونكشن بنظام Windows Authentication

وبهذا نحمي قاعدة البيانات وحق المبرمج حتي لا يستخدم البرنامج علي اكثر من جهاز بالسرقة
انا كمان ابحث منذ فتره عن حل لحمايه ملف قاعده البيانات , وهذا ما توصلت اليه :
1- استخدم قاعده بيانات access لانها تحتوى على باسورد للملف وطريقه استخدامها قريبه لل sql ولاكن عيوبها انها يجب ان تكون على جهاز المستخدم اى لا يمكن الاتصال بها من سيرفير
2- عمل تشفير لملف قاعده البيانات بمكتبه system.security العيوب انه يمكن سرقتها فى لحظه اتصال البرنامج بها بسهوله جدا جدا
3- ضغط الملف الى zip وحمايته بكلمه سر ولاكن مثل سابقها يمكن سرقتها بسهوله فى لحظه الاتصال , لان فى لحظه الاتصال يجب ازاله الضغط او التشفير ثم اعاده الضغط او التشفير بعد قطع الاتصال

طبعا افضل حل هو TDE ولاكنه للاسف سيكون مكلف
ارجوا ان يجد احد حل للمشكه ولاكن يكون مجانى ؟