PDA

View Full Version : سوال تخصصی امنیتی(رمزنگاری) روی sql server 2008. ( دنبال راه حل های کم هزینه تر و مطمئنتر)



samnet
جمعه 15 اسفند 1393, 16:26 عصر
سلام. یه سوال تخصصی دارم و فقط خواهشمندم کسانیکه تجربه کار با دیتابیسهای واقعی در محیط کاری اداری دارند جواب بدن چون اشتباه کردن در این موارد ممکن تبعات زیادی برای من داشته باشه.
سوال: یه برنامه داریم که در شبکه قرار داره و همه کاربرا با یوزر و پسورد خودشون وارد برنامه میشن. یوزر و پسوردها همه کاربران روی دیتابیس در سرور قرار داره که هنگام ورود چک میشه.
متاسفانه پسورد سرور رو اکثر کاربرا دارن و از طرفی خود دیتابیس هم دارای هیچگونه پسوردی نیست و windows authentication هست و متاسفانه یکی دو تا از کاربرا که تا حدی به مرور زمان و طی سالیان طولانی یاد گرفتن برن روی دیتابیس و پسورد کاربران رو براحتی ببینن و من میخوام جلوی این کار رو بگیرم، بدون اینکه هیچ تبعاتی داشته باشته باشه و یا ملزم به ایجاد تغییری روی برنامهی نصبی رو کلاینتها باشه که ورود کاربران دچار اختلال بشه چون سورس کد برنامه در اختیارم نیست و فقط میتونم روی دیتابیس دستکاری کنم. از طرفی امکان تغییر رمز سرور هم برام وجود نداره بخاطر پیامدها متعدد و دردسرهای متعدد که بعدش برام ایجاد میشه و اونم مطمئنم بعد نهایت یکی دو هفته بازم رمز سرور لو میره.
حالا چه راه حلی برام دارین؟
امنیت روی سطح کل دیتابیس اگه امکانپذیر نیست، آیا راه حل دارم تا فقط فیلد پسورد رو رمزنگاری کنم بدون اینکه نیاز به تغییر سورس کد برنامه باشه؟؟ من بحثه TDE رو دیدم ولی فکر نکنم اجرائی باشه چون حدس میزنم در سورس برنامه یه تغییر کوچیکی باید ایجاد بشه تا ستون رمزنگاری شده نوعش در برنامه نصبی روی کلاینتها قابل تشخیص باشه؟ و همچنین براحتی اگه کسی روی دیتابیس باشه میتونه با یک کوئری براحتی Decryption کنه.
هر راه حلی در هر سطحی برام دارید تا بتونم فیلد کلمه عبور رو بتونم حفظ کنم یا کل دیتابیس رو حفظ کنم راهنمائیم کنین، ترجیحم اینه که بتونم فقط در حد حداقل یک ستون دیتابیس رمزنگاری کنم که رمزش فقط دست خودم باشه و از طرفی نیاز به هیچ تغییری در برنامه سمت کلاینتها هم نباشه و دردسرساز برام نشه.
یا علی. منتظر پاسخ فنی دوستان هستم.

samnet
جمعه 15 اسفند 1393, 20:32 عصر
کسی نبود، خلاصه اش اینه:
1-رمزگذاری روی sql 2008 که هر یوزر فقط با رمز بتونه وارد شه و البته گذاشتن این رمز مستلزم تغییر در برنامه هائی که با دیتابیس کار میکنن نباشه
2-رمزگذاری روی یک ستون از یک جدول که اگه کاربری وارد دیتابیس هم شد و نتونستم رمزگذاری روی کل sql انجام بدم، حداقل نتونه ستون مربوط به پسورد کاربران رو ببینه.

Ali.hitter
یک شنبه 24 اسفند 1393, 00:04 صبح
سلام
شما میتونید یه کار دیگه هم بکنید و به جای ذخیره ی متن پسورد در دیتابیس ، MD5 اون رو ذخیره کنید و فقط موقع ورود چک بکنیدشون...