View Full Version : قفل کردن فایلهای Mdf,ldf در Sql
delphiprog3000
سه شنبه 27 فروردین 1387, 10:12 صبح
با سلام خدمت اساتید محترم.
برای قفل کردن فایلهای mdf , ldf در اسکیول چه راهی رو پیشنهاد میکنید؟
به این صورت که کاربر بدون اجازه قادر به Attach کردن دیتابیس نباشد....
یعنی تا اونجای که امکان داره از اجرا کردن این دو فایل جلوگیری بشه و به محض اجرا از کاربر رمز بخواد .
البته راهای Encode و Decode رو تا حدودی اطلاع کسب کردم.
ولی فعلا نیاز من اینه که مانع از Attach این دو فایل بشم.
با تشکر از توجه شما.................
delphiprog3000
سه شنبه 27 فروردین 1387, 22:05 عصر
سلام استاد ربیعی.
بیانات شما صحیح ولی من دلیلی که اینجا مطرح کردم به خاطر ارتباطش با دلفی بود.
میخواستم با کد نویسی دلفی مانع اجرا کد بشم نه sql server در هر صورت هرچه انتخاب مدیران باشه صحیح......
حالا به نظرتون راهی وجود نداره.
من یه راه به نظرم رسید اونم تغییر نام فایلهای mdf و ldf بود.
ولی باید به گونه ای باشه که دوباره کسی قادر به rename مجدد فایل نباشه.
منتظر جواب شما هستم...........................
delphiprog3000
چهارشنبه 28 فروردین 1387, 09:10 صبح
سلام.
با تشکر از شما . مطالب سایت رو مطالعه کردم.
برای من همین مسئله قفل کردن این دو فایل سوال بود که مطرح کردم.
اصلا میشه به روشی که دیگر فایلها فقل میشن این دو فایل رو قفل کرد؟
با تشکر..................
DataMaster
چهارشنبه 28 فروردین 1387, 13:07 عصر
فکر کنم اگه بخوای یه فایل رو قفل کنی یه سرویس ویندوز بنویسی و توی اون یه الگوریتمی استفاده کنی بد نباشه
بهر حال بازم سرویس رو میشه stop کرد
delphiprog3000
چهارشنبه 28 فروردین 1387, 13:13 عصر
سلام دوست عزیز.
بله درسته. من به این نتیجه رسیدم از راه sql نمیشه کار خاصی بر روی این دو فایل انجام داد.
درسته که sql امنیت بالایی داره. ولی بیشتر میخوام کاری کنم که حد اقل فایلهای db من قابل باز گردان یا نمایش حداقل نباشه..
ممنون میشم بازم راهنمایی کنید......
متشکرم.......
AminSobati
چهارشنبه 28 فروردین 1387, 23:18 عصر
دوست عزیزم،
کسی که Admin ویندوز باشه میتونه براحتی دیتابیس رو Detach کنه و روی SQL Server دیگه مجددا Attach کنه و کاری از دست من و شما ساخته نیست! فقط باید به Admin اعتماد کرد!
اما به هر حال شرایطی پیش میاد که نیاز به محافظت از خود فایلهای دیتابیس هست و این امر انکار ناپذیره. متاسفانه SQL Server در نسخه های 2000 و 2005 چنین محافظتی بعمل نمیاره. در نسخه 2008 این قابلیت تحت عنوان Transparent Data Encryption معرفی شده
delphiprog3000
پنج شنبه 29 فروردین 1387, 08:39 صبح
سلام استاد ثباتی.
از پاسخ شما متشکرم.
فقط 2تا سوال ناچیز داشتم.....
1-جناب ثباتی آیا تا به حال فایلهای mdfوldf کرک شده اند؟؟؟
2- آیا شما در sql 2000 راه یا توابعی و یا ترفندی رو پیشنهاد میکنید برای Encrypt کردن محتویات دیتابیس؟
با تشکر....................
حمیدرضاصادقیان
پنج شنبه 29 فروردین 1387, 08:56 صبح
محتویات دیتابیس رو شما میتونید در برنامه خودتون encrypt کنید. یک تابع بنویسید خودتون اینکارو بکنید.در این زمینه در همین بخش زیاد بحث شده اگر جستجو کنید پیدا خواهید کرد.
AminSobati
پنج شنبه 29 فروردین 1387, 09:00 صبح
سلام!
- منظورتون از Crack کردن این فایلها دقیقا چیه؟
- در نسخه 2000 باید تابعش رو خودتون بنویسین و موقع Read/Write ازش استفاه کنین (مثلا در Select و Insert و Update)
delphiprog3000
پنج شنبه 29 فروردین 1387, 10:52 صبح
سلام.
در جواب صادقیان عزیز باید اینو بگم که شما صحیح میفرمایید ولی با این روش سرعت میاد پایین و روند تبدیل کند میشه شما فرض بگیر 5هزار رکورد با محتویات رو میخوای دیکد کنی؟
ممنون میشم راهتونو ذکر کنید...
و در جواب جناب ثباتی منظورم از کرک یعنی فایلهای sql رو رمزگشایی کرد و محتویات فایل رو خواند.
و لطفا در مورد توابعی که میفرمایید در sql2000 یه مثال کوچیک برام بزنید....
با تشکر از توجه شما.................
AminSobati
پنج شنبه 29 فروردین 1387, 17:37 عصر
اگر الگوریتم مورد استفاده شما ساده باشه، یک Hacker با داشتن mdf و Attach کردنش و بررسی اطلاعات موجود ممکنه بتونه به الگوریتم شما پی ببره.
متاسفانه من مثال ندارم براش
delphiprog3000
پنج شنبه 29 فروردین 1387, 19:06 عصر
سلام و تشکر از پاسخ شما.
استاد ثباتی شما با این منوال و توضیحاتی که ارائه شد. به من چی کاری رو پیشهناد میکنید. که از نظر پایگاه داده ای خواسته من تا حدودی بر آورده شه ؟ و من تاپیک رو حل شده اعلام کنم.
با تشکر مجدد........................
AminSobati
پنج شنبه 29 فروردین 1387, 23:16 عصر
اگر از این شانس برخوردار باشین که فقط تعداد محدودی از فیلدها نیاز به Encryption داشته باشند، میتونین یک تابع بنویسین یا پیدا کنین (در اینترنت) که چنین کاری انجام بده. اما Encrypt کردن کل دیتابیس چندان معقول به نظر نمیرسه (در بسیاری از مواقع). به هر حال مسئله Performance رو هم باید در نظر داشت
delphiprog3000
شنبه 31 فروردین 1387, 09:58 صبح
سلام استاد.
میشه در زمینه Performance هم یه توضیح مختصر بدین
با تشکر..............
کیوان معینی
پنج شنبه 27 تیر 1387, 22:48 عصر
این بحث نتیجه نگرفت ، من ادامه میدم ...
اگه منظور از بحث Encryption در نسخه 2008 رمزنگاری اطلاعات ذخیره شده باشه ، این موضوع فقط مشکل عدم نمایش اطلاعات رو حل میکنه درصورتیکه امکان تغییر اطلاعات جای خودش باقی میمونه !
کسی میدونه چرا گروه Sql Sever ایجاد یه حدود دسترسی مستقل برای هر دیتابیس رو در نظر نمیگیره ؟! یعنی اونجا SQL رو فقط روی یک کامپیوتر ( که سرور و کلاینت با هم باشه ) بکار نمیبرن ؟!:متفکر:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.