فایلکو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

فایلکو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

دانلود مقاله پایگاه داده sql server

اختصاصی از فایلکو دانلود مقاله پایگاه داده sql server دانلود با لینک مستقیم و پر سرعت .

 

 

 

مقدمه :
یکی از نکات مهم مدیریت یک پایگاه داده حصول اطمینان از امنیت اطلاعات است شما باید مطمئن باشید هر شخص که لازم است به طور قانونی به اطلاعات دسترسی داشته باشد می تواند به آنها را بدست آورد ولی هیچ کس نمی تواند بدون اجازه به آنها دسترسی داشته باشد .
نیاز به امنیت
قبل ازاینکه به بحث در مورد امنیت در SQL بپردازیم لازم است نیاز به امنیت را به درستی درک کنیم خطرات امنیتی از سه ناحیه مورد بحث قرار می گیرند .
1- فرامینی که از خارج به سیستم وارد می شوند : مزاحمین خارجی افرادی هستند که کوشش می کنند از خارج از شرکت به سیستم هایتان دستیابی پیدا کنند . که این کاردلایلی مثل اذیت کردن شوخی ، فروش اطلاعات به شرکت دیگر باشد از آنجا که بیشتر شرکت ها اقدامات اصولی وساده ای را برای پیشگیری از این نوع مزاحمت انجام می دهد این نوع مزاحمت به ندرت پیش می آید.
2- افراد شرکت تان این نوع مزاحمت متداولترین نوع آن است این افراد معمولا انگیزه نهائی برای دستیابی به داده هایی دارند که نمی بایست آنها را ببیند . که این انگیزه ممکن است کنجکاوی محض ویا سوء نیت باشد .
3- مزاحمت تصادفی : که نسبتا متداول است در اینجا کاربری دارد سیستم می شود وانتظار می رود که نتیجه خاص بدست آورد ولی آن نتیجه را بدست نمی آورد بلکه اطلاعات بسیار بیشتری نسبت به آنچه انتظار داشتند بدست می آورد .
اشخاصی که در شرکتتان کار می کنند ، احتمالا متداولترین نوع مزاحمت برای سیستم تا ن به شمار می آیند . این افراد معمولا انگیزه نهائی برای دستیبای به داده هایی دارند که نمی بایست آنها را ببینند . قدری از این انگیزه ممکن است کنجکاوی محض باشد ، و قدری از آن نیز ممکن است سوء نیت صرف باشد . برای متوقف کردن در این نوع مزاحمت ، واقعا باید با سوء ظن به تمام سیستم های خود بنگرید و آنها را تا حد ممکن قفل کنید . وقتی چنین کاری می کنید ، برخی از کاربران شکایت می کنند لازم است به تمامی این گونه مسائل پاسخ دهید وبه آنها توضیح دهید که چرا سیستم ها را قفل می کنید .
مزاحمت تصادفی نیز نسبتا متداول است چیزی که در این حالت رخ می دهد آن است که کاربری وارد سیستم می شود و انتظار دارد که نتیجه خاصی به دست آورد ، ولیکن آن نتیجه را به دست نمی آورد بلکه ، کاربران اطلاعات بسیار بیشتری نسبت به آنچه که انتظار داشتند به دست می آورند .

 

اصول امنیت SQL سرور
SQL سرور واژه ها و مفاهیم زیادی که باید با آنها آشنا شوید این مفاهیم شامل مراحلی می شوند که SQL سرور با انجام آنها به یک کاربر امکان می دهد تا تحت مدهای امنیتی مختلف ، که به زودی بررسی خواهند شد ،بایک بانک اطلاعاتی ارتباط برقرار کند ابتدا باید واژه های بیشتری را فرا بگیرید این واژه ها عبارتند از :
• ID برقراری ارتباط ID برقراری ارتباط بخشی از اطلاعات اعتبار کاربر است که کاربر برای دستیابی به SQL سرور ارائه می دهد بسته به مد امنیتی مورد استفاده در سرویس دهنده ، کاربر ممکن است مجبور به ارائه ID نباشد .
• کلمه عبور این امر ممکن است بارز باشد ، اما هر کلمه عبور صرفا رشته ای از کاراکترها است که برای اعلام اعتبار کاربری که با یک ID خاص با سرویس دهنده ارتباط برقرارمی کند ، به سرویس دهنده ارسال می شود . بیشتر شما باید با قوانین یک کلمه عبور مناسب آشنا باشید اما لازم است از این امر مطمئن شویم ، کلمات عبور خوب باید حرفی – عددی باشند وطول آنها نیز حداقل شش کاراکتر باشد .
• ID کاربر – این هم یک مرحله دیگر برای دستیابی به یک بانک اطلاعاتی خاص است . ID برقراری ارتباط و کلمات عبور که در بالا بررسی شدند ، شما را تنها به سرویس دهنده می رسانند . اگر تنها تا به آن حد پیش روید ، به هیچ یک از بانک های اطلاعاتی آ”ن سرویس دهنده دستیابی نخواهید داشت . هر کاربری که به یک بانک اطلاعاتی دستیابی داشته باشد یک ID کاربری در آن خواهد داشت . در بیشتر موارد ID برقراری ارتباطID و کاربری یک چیز هستند . پس از بررسی درستی ID برقراری ارتباط توسط SQL سرور وتعیین اینکه کاربر مجاز به دستیابی سرویس دهنده است .وی می بایست یک بانک اطلاعاتی را برای کار انتخاب کند SQL سرور سپس ID برقراری ارتباط با را تمام ID های کاربری آن بانک اطلاعاتی مقایسه می کند تا اطمینان حاصل شود که کاربر به بانک اطلاعاتی دستیابی دارد اگر هیچ ID کاربریی مطابق با ID برقراری ارتباط وجود نداشته باشد SQL سرور اجازه پیشروی بیشتر را به کاربر نمی دهد .
• انواع نقش های مختلفی که می توانید به کاربربدهید عبارتند از :
• نقشهای از پیش تعریف شده سرویس دهنده
• نقش های از پیش تعریف شده کاربر
• نقش عمومی
• نقش های شخص بانک اطلاعاتی
• نقش – هر نقش روشی برای گروه بندی کاربران دارای کارهای مشابه به منظور آسان شدن مدیریت است نقش ها در نگارش های قدیمی تر SQL سرور تحت عنوان گروه مطرح بودند نقش ها درعمل هنوز همان کار را انجام می دهند .
به جای تخصیص مجوز به هر یک از کاربران بانک اطلاعاتی ، به راحتی می‌توانید یک نقش ایجاد کنید و پس از قرار دادن کاربران در آن نقش مجوزها را به آن نقش تخصیص دهید انجام این کار سبب صرفه جویی در وقت مدیریت می شود تنها کاری که باید انجام دهید آن است که وی را دراین نقش قرار دهید چو ن بسیاری از مدیران قدیمی SQL سرور هنوز مشغول کار هستند ، بازهم خواهید دید که از واژه گروه به جای نقش استفاده می شود .
• نقش برنامه کاربردی – این نقش یک نقش ویژه است که امکان دستیابی به داده های موجود در بانک اطلاعاتی را تنها به برنامه های کاربردی خاص می دهد . بیشتر مدیران SQL سرور سالها این نوع ویژگی را درخواست کرده اند کار یکه این نقش انجام می دهد آن است که کاربران را مجاب می کند تا از طریق برنامه کاربردی به داده های بانک اطلاعاتی دستیابی پیدا کنند این ویژگی از اهمیت خاصی برخوردار است . چرا که بیشتر کاربران قادر به استفاده از برنامه های کاربردی خاصی چون میکروسافت اکسس خواهند بود که می تواند با بانک اطلاعاتی ارتباط برقرار کند و دستیابی مستقیم به جداول موجود در آن را برای کاربران فراهم کند . این کار کاربران را مجاب به استفاده از برنامه کاربردی می کند که خصوصا برای دستیابی به داده ها نوشته شده و از دستیابی برنامه های کاربردی دیگر جلوگیری می شود .
• گروههای ویندوز NT امنیت SQL سرور شدیدا بر امنیت ویندوز NT بنا شده است گروههای ویندوز NT مستقیما به نقش های SQL سرور قابل نگاشت هستند ، از این رو هر کاربری که جزئی از آن گروه باشد ، به طور خودکار به SQL دستیابی خواهد داشت .

 

فرایند بررسی اعتبار
وقتی کاربری اقدام به دستیابی به سرویس دهنده می کند چهار چیز کنترل می‌شود در هر مقطع کنترل می شود که کاربران مجاز به دستیابی هستند یا خیر . اگر چنین باشد امکان پیشروی به آنها داده می شود در غیر این صورت کاربر ،
پیام خطایی دریافت خواهد کرد وکار وی متوقف می شود .
نخستین سطح این امنیت ، در سطح شبکه است کاربران در بیشتر مواقع با یک شبکه ویندوز NT ارتباط برقرار خواهند کرد ،اما با هر شبکه دیگری که در کنار شبکه مذکور وجود داشته باشد نیز می توانند ارتباط برقرار کنند . کاربر باید یک IDبرقراری ارتباط ویک کلمه عبور معتبر شبکه وارد کند ، در غیراین صورت پیشرفت کار وی در همین سطح متوقف خواهد شد به نظر می رسد که چند روش برای گذشتن از این سطح امنیتی وجوددارد ، اماواقعا این طور نیست یک حالت در مواقعی است که یک کاربر بخواهد با استفاده از یک بانک اطلاعاتی واکشی کند اگر چه کاربر برای دستیابی به شبکه ممکن است نیاز به وارد کردن اطلاعات برقراری ارتباط نداشته باشد اما account که برنامه کاربردی در سرویس دهنده تحت آن درحال اجرا است حتما باید با شبکه ارتباط برقرار کند.
دومین سطح امنیت در خود سرویس دهنده است وقتی کاربر به این سطح می‌رسد ، می بایست یکID برقراری ارتباط و یک کلمه عبور معتبر برای پیشروی ارائه کنید بسته به مد امنیتی که در سرویس دهنده به کار می برید ، SQL سرور ممکن است بتواندIDبرقراری ارتباط با ویندوزNT را تعیین نماید .
سومین‌سطح امنیت یک سطح جالب است وقتی کاربر از سطح دوم عبور می‌کند
معمولا فرض براین است که مجوزهای لازم برای دستیابی به بانک اطلاعاتی در آن سرویس دهنده را دارد ، اما این امر حقیقت ندارد در عوض آ‎نچه که رخ می دهد آن است که کاربر باید یک کاربریID در بانک اطلاعاتی که می خواهد به آن دستیابی داشته باشد نیز داشته باشد هیچ کلمه عبوری در این سطح مطرح نیست در عوضID برقراری ارتباط توسط مدیر سیستم باID کاربری نگاشت می شود چنانچه کاربری ID در بانک اطلاعاتی نداشته باشد ، کار زیادی نمی تواند انجام دهد مگر در این حالت ممکن است یک IDکاربری مهمان در یک بانک اطلاعاتی وجود داشته باشد در این حالت آ‎نچه که رخ می دهد آن است که کاربر از طریق IDبرقراری ارتباط به سرویس دهنده دستیابی پیدا کرده است اما به بانک اطلاعاتی دستیابی ندارد و بانک اطلاعاتی حاوی یکID کاربری مهمان است مجوزها را می‌توان به کاربریID مهمان تخصیص داد درست به همان گونه ای که به کاربران دیگر قابل تخصیص هستند بانک های اطلاعاتی جدید طبق پیش فرض فاقد IDکاربری مهمان هستند .
آخرین سطح امنیت SQL سرور با مجوزهای سرو کار دارد آنچه که در این سطح رخ می دهد آن است که SQLسرور کنترل می کند کهID کاربریی که کاربر از طریق آن به سرویس دهنده دستیابی پیدا کرده است مجوزهای دستیابی به شی ء های مورد نظر را داشته باشد این امکان وجود دارد که دستیابی تنها برای برخی از شی ء های آن بانک اطلاعاتی باشد ونه تمام شی ء ها که معمولا نیز اینگونه است .
همان گونه که ملاحظه می کنید ، سطوح امنیت می توانند دستیابی به سرویس دهنده را برای کاربران غیر مسئوول بسیار دشوار کنند .
SQL سرور دو روش مختلف برای بررسی اعتبار کاربران و معرفی آنها به سرویس دهنده دارد بررسی اعتبار ویندوز NT که برای انجام تمام کارها به ویندوز NT متکی است روش دوم بررسی اعتباراتی SQLسرور که به ویندوز NT امکان می دهد تا علاوه بر کارهای بررسی اعتبار خاص خود ، بررسی اعتبار را اساسی اطلاعاتی که وارد می کند برای SQL سرور انجام می دهد .

 

سیستم شناسایی ویندوز
در این روش مدیر سیستم برای کاربران یا گروههای کاربری ویندوز حق دسترسی تعیین می کندکامپیوترهای مشتری که ازسرویس های کامپیوتر مرکزی استفاده می کنند به این کامپیوتر متصل شده اند کاربر توسط سیستم عامل Windows یا NT که بر روی کامپیوتر مرکزی نصب شده است شناسایی می شود واگر اجازه دسترسی داشته باشد به آن متصل می گردد در این حالتServer SQL تنها کافی است بررسی کند که آیا کاربر متصل شده حق دسترسی به سرویس دهنده وپایگاه داده را دارد یا خیر ؟

 

سیستم شناساییServer SQL
در این روش هنگامی که یک درخواست برای اتصال فرستاده می شود Server SQL یکLogin ID او یک کلمه عبور دریافت می کند وسپس Login مزبور را با لیست Login های تعریف شده توسط مدیر سیستم مقایسه می کند .

 

برقراری ارتباط با سرویس دهنده و کاربران بانک اطلاعاتی
همچون تمام کارهای دیگری که در SQL سرور انجام می دهید روشهای مختلف زیادی برای ایجادID های برقراری ارتباط وID های کاربری وجود دارد نخستین روش برای انجام این کار از طریق یک ویزارد درEnterprise Manager SQL است .
این ویزارد شما راگام به گام در ایجاد یکID برقراری ارتباط ویک IDکاربری یاری می کند دلیل یکی کردن آنها آن است که درواقع در ارتباط بایکدیگر ایجاد می شوند روش دوم برای ایجاد ID ها استفاده از رویه های ذخیره شده است اگر از این روش استفاده کنید ،درصورت نیاز می توانید همان ID ها را در تمام سرویس دهند ها ایجاد کنید آخرین روش ،ایجاد مجزای آنها درEnterprise Manager SQL است .

 

ساختن Login
برای ساختن یک Login با مدل شناسایی SQL Server
1- سرویس دهنده مورد نظر خود را درکنسول درختی انتخاب کنید سیستمی از اشیاء آن سرویس دهنده در منطقه جزییات ظاهر می شود . ( شکل 1)
2- دکمه Wizard موجود بر روی نوار ابزار Enterprise Manager را کلیک کنید .Server SQL کاردرمحاوره ای Slect Wizard را نشان می دهد (شکل 2)
3- آیتم Creat Login Wizard موجود در قسمت Data bases را انتخاب نمود سپس دکمه ok را کلیک کنید اولین صفحه این ویزارد توسطServer SQL به نمایش در می آید ( شکل 3)
4- دکمه Next را کلیک کنید ویزارد صفحه ای رانشان می دهد که مدل شناسایی را از شما درخواست می کند (شکل 4)
5- ایتم دوم را انتخاب نمایید . ( شکل 5)
6- دکمه Next را کلیک کنید در صفحه بعدی شناسه کاربر و کلمه عبور را از شما درخواست می شود ( شکل 6)
7- کلمه Test ID رابه عنوان نام وارد کرده و دکمه عبور دلخواه خود را نیز تایپ کنید ( شکل 7)
8- دکمهNext را کلیک کنید ویزارد از شما سوال می کند که این Login را به کدامیک از رل های امنیتی نسبت دهد . (شکل 8 )
9- این Login را به رل System Adminstrator نسبت دهید (شکل 9 )
10- دکمه Next را کلیک کنید درصفحه بعدی باید پایگاه هایی را که این Login به آنها دسترسی دارد مشخص نمایید ( شکل 10 )
11- این Login را به پایگاه داده Aromatherapy نسبت دهید ( شکل 11 )
12- دکمه Next را کلیک کنید در صفحه نهایی ویزارد انتخاب های شما نشان داده می شوند (شکل 12 )
توجه : Login هایی که به رل های مخصوص سرویس دهنده مثل رل System Adminstators نسبت داده می شوند به تمام پایگاه داده دسترسی خواهند داشت حتی اگر درمرحله 11 آنها را انتخاب نکنید . (شکل 12)
13 دکمه Finish راکلیک کنید این ویزارد پیغامی مبنی بر اتمام کار و ساخته شدن Login جدید نمایش می دهد ( شکل 13 )

 

مدیریت Login ها
همانطور که بقیه اشیاء پایگاه داده به مدیریت و نگهداری نیاز دارند شناسه های کاربران نیز ممکن است در طول زمان تغییر کنند مثلا ممکن است لازم باشد که رل امنیتی نسبت داده شده به یک Login ویا پایگاه داده قابل دسترس آن راتغییر دهیدویا در بعضی شرایط ممکن است بخواهید یک Login رابه طور کامل حذف کنید تمام این کار ها با استفاده از Enterprise Manager بسیار ساده هستند .

 

امنیت در سطح پایگاه داده
در سطح پایگاه داده هر یک از Login ها به یک کاربر پایگاه داده مربوط می شوند اگر چه Login به یک شخص امکان میدهد که به یک نمونه ازServer SQL دسترس مجاز داشته باشند ولی باید بدانیم که به یک پایگاه داده خاص دسترسی نخواهد داشت مگر آنکه به عنوان یک کاربر آن پایگاه داده تعریف شود .
همانطور که Login ها به رل های سرویس دهنده نسبت داده می شوند به این
ترتیب حق دسترسی آنها در سطح سرویس دهنده مشخص می گردد کاربران یک پایگاه داده نیز رل های آن پایگاه نسبت داده می شوند واز این طریق سطح دسترسی به پایگاه داده تعیین می گردد .

 

کاربران پایگاه داده
هنگامی که با استفاده از ویزارد Login Creatیک Login می سازید ودسترسی به یک یا چند پایگاه داده را برای وی میسر می سازید این Login به طور اتوماتیک به لیست کاربران آن پایگاه ها اضافه می شود ولی وقتی یک پایگاه داده جدیدی می سازید Login های موجود به عنوان کاربران آن منظور نمی شوند بلکه خود شما باید Login های مورد نظر تان را به لیست کاربران آن پایگاه داده اضافه کنید .
خلاصه : در این مقاله اطلاعات مربوط به مدهای امنیتی SQL سرور و امنیت SQL سرور را بررسی نمودیم نکته ای که می بایست به هنگام تعیین امنیت در نظر داشته باشید آن است که باید شکاک باشید پس از آن با ID های برقراری ارتباط ID های کاربری ونقش ها آشنا شوید دانستن آنها برای چگونگی مدیریت مهم است چرا که چگونگی کنترل دستیابی به سرویس دهنده را تعیین می کند .

معرفی و مقدمه
1- برنامه های کاربردی Web SQL njection,
1.1 مرور کلی SQL njection شیوه ای است که برنامه های کاربردی Web به کار می رو د و مشتریان می توانند اطلاعات را از طریق query های SQL مرون اینکه ابتدا کاراکترهای مضرر را به صورت بالقوه ای stripping potentially جدا کنند فراهم می کند موضوع این مقاله در مورد آموزش تکنیکهای استفاده از برنامه های کاربردی Web که درمقابل SQLinjection آسیب پذیر هستند و مکانیسم محافظت در مقابل SQLinjection وبه طور کلی مشکلات معتبر سازی ورودی باشد .

 

1.2 سابقه
قبل از خواندن این مقاله باید درک اولیه از چگونگی کار پایگاههای داده ای و استفاده ازSQL برای دستیابی به آنها داشته باشیم .

 

1.3 به رمز در آوردن کاراکترها
در بیشترbrowser Web ها کاراکترهای نشانه گذاری وبسیاری سمبل های
دیگر باید قبل از اینکه دریک درخواست استفاده شوند به صورت URL به رمز در آورده شوند در این مقاله از کاراکترهای عادی ASCII در مثالها و عکسها استفاده شده است .

 

2- آزمون آسیب پذیری
2.1 آزمون جامع
چک کردن برنامه های کاربردی Web برای آسیب پذیری نسبت به SQLInjection به نظر ساده می رسد آنچه که ما می بینیم فرستادن یک quote اولین ارگومان script و برگرداندن یک صفحه سفید با یک خط که اشتباه ODBC را نشان می دهد به وسیله سرور می باشد ولی بررسی جزئیات آسیب پذیر بسیار مشکل است .
همه پارامترهای موجود در هرSCRIPT باید همیشه چک شوند برنامه نویسی کهScript A را طراحی می کند هیچ کاری با گسترش Script B ندارد و ممکن است در جایی SQL injection A که نسبت به مصون است B آسیب پذیر باشد حتی وقتی برنامه نویسی روی تابع A از Script کار می کند هیچ کاری به تابع Bدر همان Script ندارد ومثلا ممکن است تابع A به آسیب پذیر باشد ولی B نباشد وقتی کل یک برنامه کاربردی Web به وسیله یک نفر برنامه نویس طراحی کد گذاری و تست می شود ممکن است فقط و فقط یک پارامتر در یک Script در بین هزارانScript پارامتر در هزاران آسیب پذیر باشد که می تواند به خاطر این باشد که توسعه دهنده به هر دلیلی در مورد آن داده در آن محل مطابق اصول رفتار نکرده است پس هیچ گاه نمی توان مطمئن بود و باید چک کرد .

 

2.2 فرایند آ‎زمون
آرگومان هر پارامتر را به وسیله یک Quoteتنها و کلمات کلیدی SQL مثل WHERE جایگزین کنید هر پارامتر باید به صورت منفرد تست شود البته در هنگام تست هر پارامتر بقیه پارامترها باید بدون تغییر باشد ممکن است تصور شود که بهتر است برای ساده تر شدن داده های اصامی را پاک کرد و به خصوص باکار بردهایی که صفی از پارامترها دارند و مربوط به هزاران کاراکتر است ولی این کار باعث کارابنون کاربرد در زمینه های دیگر می شود که باعث می شود که نتوانیم مطمئن شویم که SQLinjecttion در آ‎ن محل ممکن است یا خیر برای مثال فرض می کنیم خط پارامتر زیرکاملا قابل دسترس و
تغییر ناپذیر است .
Contact Name= Maria% 20 Qanders & company Name = Alfreds % 20 futter kiste
وخط پارامتری زیر به شما اشتباه ODBC را می دهد .
Contact Name= Maria% 20 Qanders & company Name= 20 OR
که با چک کردن این خط :
Company Name =
به شما اشتپاهی را می دهد که می گویند باید مقدار Contact Name مشخص شود این خط :
Contact Name= Bad Contact Name& company Name=

 

فرمت این مقاله به صورت Word و با قابلیت ویرایش میباشد

تعداد صفحات این مقاله 51   صفحه

پس از پرداخت ، میتوانید مقاله را به صورت انلاین دانلود کنید

 

 


دانلود با لینک مستقیم


دانلود مقاله پایگاه داده sql server
نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد