PDA

View Full Version : لطفا به من کمک کنید - امنییت در sql



ali_bagheri34
پنج شنبه 26 شهریور 1383, 15:30 عصر
سلام دوستان عزیز و ارجمند

من یک databse sql دارم که دارای یک کاربر بنام sa می باشد و پسورد sa را کسی نمی داند ولی با کپی دیتابیس بر روی یک سرور دیگر شخص دیگری به غیر از بنده می تواند وارد دیتابیس شود و تمام جداول و sp ها را ببیند قابل توجه می باشد که کاربر دومی دارای پسورد sa می باشد ولی پسورد sa آن با ما کاملا متفاوت می باشد ولی می تواند داخل دیتابیس شود

دوستان عزیز لطفا مرا یاری نمایید

متشکر م
علی باقری

AminSobati
جمعه 27 شهریور 1383, 01:46 صبح
دوست عزیز حق با شماست. فایلهای SQL Server نیاز به حمایت سیستم عامل ویندوز دارن تا امنیتشون تکمیل بشه. مثلا این فایلها در حالتی که تحت کنترل SQL Server قرار دارن قابل کپی شدن نیستند. باید سرویس SQL Server متوقف بشه یا توسط Admin این دیتابیس detach یا offline بشه تا فایلهای دیتابیس رو بتونیم کپی کنیم. لذا اگر با اکانتی که قابلیت Admin داره به ویندوز لاگین کردیم، تنها گذاشتن سرور با اطلاعات حساس کار عاقلانه ای نیست! حتما ویندوز رو Lock کنین!
مایکروسافت فرض رو بر این گذاشته که تا زمانی که دیتابیس تحت کنترل SQL Server قرار گرفته، Admin احتیاط میکنه و راه دسترسی دیگران به فایلها رو میبنده(حتی اگر شده با استفاده از NTFS). تنها حالتی که این اطلاعات از کنترل SQL Server خارج میشه Backup هست و برای این منظور شما میتونین موقع Backup گرفتن یک Password در نظر بگیرین که برای Restore اون رو باید ارایه کنیم.

ali_bagheri34
شنبه 28 شهریور 1383, 12:05 عصر
سلام جناب آقای AminSobati

منظور من این است که : به هیچ عنوان administrator ویندوز نتواند به دیتابیس دسترسی پیدا کند و هیچ پسوردی از اسکیوال ندارد (و اصلا Backup در اینجا مطرح نیست )

حال اگر مسول شبکه دارای پسورد admin ویندوز باشد و بتواند وارد سیستم عامل ویندوز شود و ما در اسکیو ال تعریف کرده ایم که حتا administrator ویندوز نیز نتواند به اسکیو ال دسترسی داشته باشد (به عبارتی administrator=Deny) ولی اگر administrator سرویس اسکیوال را down کند می تواند فایلهای اسکیوال را کپی نماید و بر روی کامپیوتر دیگری که پسورد sa آن را میداند با استفاده از Attach میتواند به سورس دیتابیس دسترسی پیدا کند که این از نظر امنیت مناسب نیست

حال سوال بنده این است که چگونه این مشکل بر طرف خواهد شد

متشکرم دوستان عزیز

AminSobati
یک شنبه 29 شهریور 1383, 22:46 عصر
دوست عزیزم،
منطقا نباید کسی که اعتماد کامل به اون ندارین جزء Adminهای ویندوز باشه تا بتونه SQL Server رو Stop کنه. یک نکته مهم اینکه طبیعتا اگر نسبت به کسی بی اعتماد باشیم، این فرد غیر از تهدید اطلاعات موجود در SQL Server، میتونه برای Resourceهای دیگر موجود در شبکه هم یک خطر باشه، پس بهتره به چنین کاربری اختیارات Admin ندیم.

http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnnetsec/html/THCMCh02.asp#c02618429_007

ali_bagheri34
سه شنبه 31 شهریور 1383, 07:36 صبح
سلام دوست عزیز

در اینجا اصلا بحث اعتماد مطرح نیست بلکه می خواهم بدانم آیا می توان این امکان را از Admin گرفت یا خیر .

چون گاهی اوقات پیش می آید که وقتی برنامه ای می نویسید دوست ندارید حتا admin شبکه به سورس database دسترسی داشته باشد

متشکرم

AminSobati
سه شنبه 31 شهریور 1383, 11:04 صبح
دوست عزیزم،
متاسفانه تا این ورژن از SQL Server چنین امکانی وجود نداره، امیدواریم در Yukon نیاز شما برآورده بشه :)