موضوع : بررسی روشهای برقراری ارتباط و امنیت در اس کیو ال
توضیح: این فایل به صورت ورد و آماده چاپ می باشد
مقدمه :
بانکهای اطلاعاتی حاوی حجم بسیار زیادی از داده هایی هستندکه چنانچه به دست اشخاص غیر مسئول برسند، می تواند برای شرکت وافراد شرکتتان بسیارزیان آورباشدSQL . سرورسیستم امنیتی با استحکامی دارد که به شما امکان می دهد تا سرویس دهنده را درسطحی قفل کنید که بتوانید دستیابی به سرویس دهنده، ودستیابی به بانک اطلاعاتی رابه ستونهای خاصی از یک جدول محدود کنید.
عناوین مهم این فصل عبارتند از:
▪ نیاز به امنیت
▪ اصول امنیت SQL سرور
▪ مدهای امنیت
▪ برقراری ارتباط با سرویس دهنده وکاربران بانک اطلاعاتی
▪ نقش ها
● نیازبه امنیت
در اینجا لازم است نیاز به امنیت را به درستی درک کنید، خطرات امنیتی از سه ناحیه متصور می شوند:
۱) فرامینی که از خارج به سیستم وارد میشوند:
مزاحمین خارجی افرادی هستند که کوشش میکنند، تا خارج ازشرکت به سیستم هایتان دستیابی پیدا کنند. این افراد به دلایل مختلف چنین کارهایی را انجام می دهند.
به عنوان مثال ممکن است این کاررا صرفا برای اذیت کردن و شوخی انجام دهند واطلاعات را به شرکت دیگری بفروشند .
۲) افرادی که در شرکتتان کار میکنند:
احتمالا متداولترین نوع مزاحمت برای سیستمتان به شمار می آیند. که انگیزه نهایی آنها، دستیابی به داده هایی است که نباید آنها را ببینند.
۳) مزاحمت تصادفی:
مزاحمت تصادفی متداول است.در این حالت کاربر وارد سیستم میشودو اطلاعات بیشتری نسبت به آنچه انتظار دارد به دست می آورد.
اصول امنيت SQL سرور
SQL سرور واژه ها ومفاهيم زيادي دارد كه بايد با آنها آشنا شويد.اين مفاهيم شامل مراحلي است كه SQL سروربا انجام آنها به يك كاربر امكان مي دهد تا تحت مدهاي امنيتي مختلف، كه به زودي بررسي خواهند شد، با يك بانك اطلاعاتي ارتباط برقرار كنند. اين واژه ها عبارتند از:
1 - ID برقراري ارتباط( Login ID): ID برقراري ارتباط، بخشي از اطلاعات اعتباركاربراست كه كاربر براي دستيابي به SQL سرور ارائه مي دهد.
2 - كلمه عبور: هركلمه عبور صرفا رشته اي ازكاراكترها است كه براي اعلام اعتباركاربري، كه با يكID خاص با سرويس دهنده ارتباط برقرار مي كند، به سرويس دهنده ارسال مي شود.کلمات عبور خوب باید حرفی عددی باشندو طول آنها نیز حداقل 6 کاراکتر باشد.
3 - ID کاربر: یک مرحله دیگر برای دستیابی به بانک اطلاعاتی خاص است، ID برقراری ارتباط و کلمات عبور، شما را تنها به سرویس دهنده میرسانند.
اگر تا به این حد پیش روید، به هیچ یک از بانکهای اطلاعاتی آن سرویس دهنده دستیابی نخواهید داشت.
بعد از بررسی درستیID برقراری ارتباط توسطSQLسرور و تعیین اینکه کاربر مجاز به دستیابی سرویس دهنده است، وی می بایست یک بانک اطلاعاتی را برای کار انتخاب کند وبعد ID برقراری ارتباط را با تمامID های کاربری آن بانک مقایسه می کند تا اطمینان حاصل شود که کاربر به بانک اطلاعاتی دستیابی دارد.
4 -نقش ها : هر نقش روشی برای گروه بندی کاربران دارای کارهای مشابه به منظور آسان شدن مدیریت است. نقش ها در نگارش های قدیمیSQL سرور تحت عنوان گروه مطرح بودند. به جای تخصیص مجوز به هر یک از کاربران بانک اطلاعاتی، به راحتی می توانید یک نقش ایجاد کنید و بعد از قراردادن کاربران به آن نقش، مجوزها را به آن نقش تخصیص دهید.
5 - نقش برنامه کاربردی: یک نقش ویژه است که امکان دستیابی به داده های موجود در بانک اطلاعاتی را تنها به برنامه های کاربردی خاص می دهد. کاری که این نقش انجام می دهد، آن است که کاربران را مجاب می کند تا از طریق برنامه کاربردی به داده های بانک اطلاعاتی دستیابی پیدا کنند. این کار کاربران را مجاب به استفاده از برنامه کاربردیی می کند که خصوصا برای دستیابی به داده ها نوشته شده و از دستیابی برنامه های کاربردی دیگر جلوگیری میشود.
6 - گروه های ویندوزNT :امنیتSQL سرور، شدیدا بر امنیت ویندوزNT بیان شده است
گروه های ویندوزNT مستقیما به نقش هایSQL سرورقابل نگاشت هستند، از این رو هر کاربری که جزئی از آن گروه باشد، به طور خودکار بهSQL دستیابی خواهد داشت.
فرآیند بررسی اعتبار: وقتی کاربری اقدام به دستیابی به سرویس دهنده میکند، 4چیز کنترل می شود
1 - امنیت در سطح شبکه: که نخستین سطح امنیت است. کاربران در بیشتر مواقع با یک شبکه ویندوزNT ارتباط برقرار خواهند کرد، اما با هر شبکه دیگری که در کنار شبکه مذکور وجود داشته باشد، نیز می توانند ارتباط برقرار کنند. کاربر باید یکID برقراری ارتباط و یک کلمه عبور معتبر شبکه وارد کند و اگر نه در همین سطح متوقف خواهد شد.
2 - امنیت در خود سرویس دهنده: که دومین سطح امنیت است. وقتی کاربر به این سطح می رسد، می بایست یک ID برقراری ارتباط و یک کلمه عبور معتبربرای پیشروی ارائه کند. بسته به مد امنیتی که در سرویس دهنده به کار میبرید،SQL سرور ممکن است بتواندID برقراری ارتباط با ویندوزNT را تعیین نماید.
3 - نیاز به یکID کاربری در بانک اطلاعاتی: که سومین سطح امنیت است. هیچ کلمه عبوری در این سطح مطرح نیست. در عوض،ID برقراری ارتباط توسط مدیر سیستم باID کاربری نگاشت می شود.
4 - ارتباط امنیت با مجوزها: آخرین سطح امنیت است.SQL سرور کنترل میکند کهID کاربریی که کاربر از طریق آن به سرویس دهنده دستیابی پیدا کرده است، مجوزهای دستیابی به شیءهای مورد نظر را داشته باشد.این امکان وجود دارد که دستیابی فقط برای برخی شیءها باشدو نه تمام شیءها
مدهای امنيت
SQL سروردو روش مختلف برای بررسی اعتبار کاربران ومعرفی آنها به سرویس دهنده دارد.
1 - روش نخست: بررسی اعتبار ویندوزNT : ویندوزNT می تواند از ویژگیهای بسیار بیشتری در سیستم امنیتی خود استفاده کند، از جمله: حداقل طول برای کلمات عبور، تاریخ انقضای کلمات عبور، جلوگیری از برقراری ارتباط بعد از چند اقدام ناموفق. به هنگام استفاده از این روش، کاربر برای دستیابی به سرویس دهنده نیازی به ارائهID برقراری ارتباط و کلمه عبور ندارد، در عوضSQL سرور نام کاربر را از ویندوزNT می خواهد وآن را با فهرست کاربران مجاز مقایسه می کند. مراحل زیر شما را درآماده سازیSQL سرور برای استفاده از روش بررسی اعتبار ویندوزNT یاری می کنند:
1 - .SQL Server Enterprise Manager را باز کنید وبا سرویس دهنده ای که می خواهید مد امنیتی آن را تغییر دهید ارتباط برقرار کنید.
2 - گزینه Properties را انتخاب کنید.
3 - تب Security را پيدا کنید وآن را برگزینید.
4 - گزینه Windows NT Authentication را انتخاب کنید.
5.SQL Server را دوباره راه اندازی کنید.
اصول امنیتSQL سرور
SQL سرور واژه ها ومفاهیم زیادی دارد که باید با آنها آشنا شوید.این مفاهیم شامل مراحلی است که SQL سروربا انجام آنها به یک کاربر امکان می دهد تا تحت مدهای امنیتی مختلف، که به زودی بررسی خواهند شد، با یک بانک اطلاعاتی ارتباط برقرار کنند. این واژه ها عبارتند از:
۱) I برقراری ارتباط( Login ID): ID برقراری ارتباط، بخشی از اطلاعات اعتبارکاربراست که کاربر برای دستیابی به SQL سرور ارائه می دهد.
۲) کلمه عبور: هرکلمه عبور صرفا رشته ای ازکاراکترها است که برای اعلام اعتبارکاربری، که با یکID خاص با سرویس دهنده ارتباط برقرار می کند، به سرویس دهنده ارسال می شود.کلمات عبور خوب باید حرفی عددی باشندو طول آنها نیز حداقل ۶ کاراکتر باشد.
۳) ID کاربر: یک مرحله دیگر برای دستیابی به بانک اطلاعاتی خاص است، ID برقراری ارتباط و کلمات عبور، شما را تنها به سرویس دهنده میرسانند.
اگر تا به این حد پیش روید، به هیچ یک از بانکهای اطلاعاتی آن سرویس دهنده دستیابی نخواهید داشت.
بعد از بررسی درستیID برقراری ارتباط توسطSQLسرور و تعیین اینکه کاربر مجاز به دستیابی سرویس دهنده است، وی می بایست یک بانک اطلاعاتی را برای کار انتخاب کند وبعد ID برقراری ارتباط را با تمامID های کاربری آن بانک مقایسه می کند تا اطمینان حاصل شود که کاربر به بانک اطلاعاتی دستیابی دارد.
۴) نقش ها:هر نقش روشی برای گروه بندی کاربران دارای کارهای مشابه به منظور آسان شدن مدیریت است. نقش ها در نگارش های قدیمیSQL سرور تحت عنوان گروه مطرح بودند. به جای تخصیص مجوز به هر یک از کاربران بانک اطلاعاتی، به راحتی می توانید یک نقش ایجاد کنید و بعد از قراردادن کاربران به آن نقش، مجوزها را به آن نقش تخصیص دهید.
۵) نقش برنامه کاربردی: یک نقش ویژه است که امکان دستیابی به داده های موجود در بانک اطلاعاتی را تنها به برنامه های کاربردی خاص می دهد. کاری که این نقش انجام می دهد، آن است که کاربران را مجاب می کند تا از طریق برنامه کاربردی به داده های بانک اطلاعاتی دستیابی پیدا کنند. این کار کاربران را مجاب به استفاده از برنامه کاربردیی می کند که خصوصا برای دستیابی به داده ها نوشته شده و از دستیابی برنامه های کاربردی دیگر جلوگیری میشود.
فهرست مطالبپیشگفتار :
عناوین مهم این فصل عبارتند از:
نیاز به امنیت
اصول امنیت SQL سرور
مدهای امنیت
برقراری ارتباط با سرویس دهنده وکاربران بانک اطلاعاتی
نقش ها
نیازبه امنیت
۱) فرامینی که از خارج به سیستم وارد میشوند:
۲) افرادی که در شرکتتان کار میکنند:
۳) مزاحمت تصادفی:
اصول امنیتSQL سرور
مدهای امنیت
اصول امنیتSQL سرور
برقراری ارتباط باسروس دهنده وکاربران بانک اطلاعاتی
نقش ها
نقش های از پیش تعریف شده سرویس دهنده
نقش های از پیش تعریف شده بانک اطلاعاتی
نقش عمومی
نقش های شخصی بانک اطلاعاتی
ابزارهای امنیتی در SQL Server
ابزارهای حمله
ابزارForceSQL نسخه 2.0
ابزار SQLDict:
ابزار CPMdeamon :
ابزار SQLScanner.exe :
ابزار SqlPing.exe:
ابزارNGSSQLCrack :
ابزار های دفاعی
ابزار SQL Critical Update:
ابزار Microsoft Baseline Security Analyzer (MBSA) :
ابزار SQLLiteSpeed :
ابزار EnforcePass :
ابزار AppDetective. for Microsoft SQL Server :
ابزار NGSSQuirreL :
امنیت در ورود به سیستم
تعریف کاربران
نقشها (Roles)
1- db-accessadmin
2- db-backupoperator
3- db-datareader
4- db-datawriter
5- db-ddladmin
6- db-denydatareader
7- db-denydatawriter
8- db-owner
9- db-securityadmin
10- public
انواع مجوزها
1- جداول اطلاعاتی و دیدها
2- روتینها و توابع
3- مجوزهای اساسی
نظارت بر عملکرد سیستم :
SQL Server Profiler
نحوه کار برنامه
1- Cursors
2- Data Base
3- Errors and Warning
4- Locks
5- Scans
6- Stored procedveres
7- TSQL
8- Transaction
9- Session
اجرای آزمایشی یک Trace
انتقال اطلاعات با Replication :
معرفی
1- انتقال اطلاعات به روش ادغام (Merge)
2- تصویربرداری از اطلاعات (snapshot)
3- انتقال براساس فرآیند (Transactional)
تعریف ناشر و مشترکین
طرح یک مسأله
مراحل ایجاد ناشر
مراحل ایجاد مشترکین
1- روش Pull (از طریق مشترک)
2 - روش push (از طریق ناشر)
امکانات جدید SQL Server :
Snapshot Isolation Level
باز هم داتنت
ADO .NET وارد میشود
تکنولوژی XML
سرویس اعلان (Notification)
سرویس گزارشگیری
بهبودهای ایجاد شده در زبان
مدیریت خطا
نتیجه گیری