تارا فایل

گزارش کارآموزی شرکت انفورماتیک طلوع اندیشه




موضوع گزارش
کارآموزی شرکت انفورماتیک طلوع اندیشه

نام استاد :

نام کارآموز :

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

فصل اول
معرفی شرکت انفورماتیک طلوع اندیشه

1- نام و نوع شرکت :
شرکت انفورماتیک طلوع اندیشه

2- سال تاسیس :
شرکت در تاریخ 29/8/1383 تحت شماره 214001 در اداره ثبت شرکتها و مالکیت صنعتی استان به ثبت رسیده است.

3- موضوع شرکت :
فعالیت شرکت طبق مفاد اساسنامه ، در زمینه های مختلف رایانه ای در زیر شاخه های نرم افزاری و سخت افزاری ، شبکه های رایانه ای ، سیستم های مبتنی بر داده ها میباشد ، انجام انواع خدمات سخت افزاری و نرم افزاری ، اجرا و پشتیبانی شبکه های رایانه ای در ارگانها و نهادها ، ارائه بسته های نرم افزاری خاص بر اساس نیاز نهاد و یا ارگان مورد نظر .

4- نوع فعالیت :
بخشی از تجربیات این شرکت را میتوان بشرح زیر خلاصه نمود :
– تعمیر و فروش انواع سیستم های سخت افزاری و همچنین ارائه نرم افزار های حسابداری و حسابرسی
– طراحی و پیاده سازی نرم افزار جامع زرگری
– اجرای شبکه های داخلی برای چندین ارگان در استان قزوین
– پشتیبانی شبکه ها

فصل دوم
فعالیت های انجام شده در دوره
امنیت اطلاعات سایت

فصل دوم – امنیت اطلاعات سایت :
پیشگفتار :
بانکهای اطلاعاتی حاوی حجم بسیار زیادی از داده هایی هستندکه چنانچه به دست اشخاص غیر مسئول برسند، می تواند برای شرکت وافراد شرکتتان بسیارزیان آورباشد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 سرور تحت عنوان گروه مطرح بودند. به جای تخصیص مجوز به هر یک از کاربران بانک اطلاعاتی، به راحتی می توانید یک نقش ایجاد کنید و بعد از قراردادن کاربران به آن نقش، مجوزها را به آن نقش تخصیص دهید.
۵) نقش برنامه کاربردی: یک نقش ویژه است که امکان دستیابی به داده های موجود در بانک اطلاعاتی را تنها به برنامه های کاربردی خاص می دهد. کاری که این نقش انجام می دهد، آن است که کاربران را مجاب می کند تا از طریق برنامه کاربردی به داده های بانک اطلاعاتی دستیابی پیدا کنند. این کار کاربران را مجاب به استفاده از برنامه کاربردیی می کند که خصوصا برای دستیابی به داده ها نوشته شده و از دستیابی برنامه های کاربردی دیگر جلوگیری میشود.
۶) گروه های ویندوزNT :امنیتSQL سرور، شدیدا بر امنیت ویندوزNT بیان شده است
گروه های ویندوزNT مستقیما به نقش هایSQL سرورقابل نگاشت هستند، از این رو هر کاربری که جزئی از آن گروه باشد، به طور خودکار بهSQL دستیابی خواهد داشت.
فرآیند بررسی اعتبار: وقتی کاربری اقدام به دستیابی به سرویس دهنده میکند، ۴چیز کنترل می شود
۱) امنیت در سطح شبکه: که نخستین سطح امنیت است. کاربران در بیشتر مواقع با یک شبکه ویندوزNT ارتباط برقرار خواهند کرد، اما با هر شبکه دیگری که در کنار شبکه مذکور وجود داشته باشد، نیز می توانند ارتباط برقرار کنند. کاربر باید یکID برقراری ارتباط و یک کلمه عبور معتبر شبکه وارد کند و اگر نه در همین سطح متوقف خواهد شد.
۲) امنیت در خود سرویس دهنده: که دومین سطح امنیت است. وقتی کاربر به این سطح می رسد، می بایست یک ID برقراری ارتباط و یک کلمه عبور معتبربرای پیشروی ارائه کند. بسته به مد امنیتی که در سرویس دهنده به کار میبرید،SQL سرور ممکن است بتواندID برقراری ارتباط با ویندوزNT را تعیین نماید.
۳) نیاز به یکID کاربری در بانک اطلاعاتی: که سومین سطح امنیت است. هیچ کلمه عبوری در این سطح مطرح نیست. در عوض،ID برقراری ارتباط توسط مدیر سیستم باID کاربری نگاشت می شود.
۴) ارتباط امنیت با مجوزها: آخرین سطح امنیت است.SQL سرور کنترل میکند کهID کاربریی که کاربر از طریق آن به سرویس دهنده دستیابی پیدا کرده است، مجوزهای دستیابی به شیءهای مورد نظر را داشته باشد.این امکان وجود دارد که دستیابی فقط برای برخی شیءها باشدو نه تمام شیءها.

برقراری ارتباط باسروس دهنده وکاربران بانک اطلاعاتی
همانند کارهای دیگری که درSQL سرورانجام می دهید، روشهای مختلف زیادی برای ایجادID های برقراری ارتباط وID های کاربری وجود دارد. نخستین روش برای انجام این کارازطریق یک ویزارد درSQL Enterprise Manager است. این ویزارد شما را گام به گام در ایجاد یک ID برقراری ارتباط ویک ID کاربری یاری می کند
روش دوم برای ایجاد ID ها، استفاده از رویه های ذخیره شده است. اگراز این روش استفاده کنید، درصورت نیاز می توانید همان ID هارا درتمام سرویس دهنده ها ایجاد کنید. آخرین روش، ایجاد مجزای آنها در SQL Enterprise Manager است.
گزینه دیگری که برای افزودن یک ID کاربر دارید، ازرویه های ذخیره شده واجرای SQL Query Analyzer است.
برای بررسی اعتباربا ویندوزNT باید ازرویه ذخیره شده sp-grantloginاستفاده کنید.
وقتی ازروش بررسی اعتبار SQL سروراستفاده می کنید،ازرویه ذخیره شده sp-addloginاستفاده کنید.
قالب sp-grantlogin به شکل زیراست:
sp-grantlogin [@loginname= ]'login'
نامی که پس از sp-grantlogin باید مشخص شود،نام کاربری ویندوزNT و نام حوزه ای است که کاربر در آن قرار دارد.
به عنوان مثال، برای اینکه کاربری به نامMrMoney از حوزهMonopoly را بهSQL سرور بیفزایید، می بایست دستور زیر را اجرا کنید:
sp-grantlogin'Monopoly/Mr Money'
دستور بالا مجوز دستیابی به بانک اطلاعاتی را به آن کاربر اعطا می کند، اما دستیابی بیشتر را برای وی فراهم نمی کند.

نقش ها
نقش ها اساسا گروههایی هستند که می توانید برای گروه بندی کاربرانی به کار برید که نیازهای دستیابی آنها مشابه است.
انواع نقش های مختلفی که می توانید به کار برید عبارتند از:
۱) نقش های از پیش تعریف شده سرویس دهنده
۲) نقش های از پیش تعریف شده بانک اطلاعاتی
۳) نقش عمومی
۴) نقش های شخصی بانک اطلاعاتی

نقش های از پیش تعریف شده سرویس دهنده
نقش های سرویس دهنده برای آن هستند تا برخی از کارهای مدیریتی سرویس دهنده را به اشخاص دیگر واگذار کنید.
هفت نقش از پیش تعریف شده سرویس دهنده به شرح زیر هستند:
▪ sysadmin : اعضای این نقش می توانند هر عملی را در سرویس دهنده انجام دهند. این نقش، مشابهaccount ی به نام sa در نگارش های پیشینSQL سرور است.
▪ serveradmin : اعضای این نقش می توانند پیکربندی مشخصات سرویس دهنده را انجام دهند.
▪ setupadmin : اعضای این نقش مجازند پیوندهای سرویس دهنده ها را حذف یا اضافه کنند.
▪ Securityadmin : اعضای این گروه می توانند برقراری ارتباط با سرویس دهنده را مدیریت کنند.
▪ processadmin : اعضای این گروه می توانند هر فرآیندی را که درSQLسرور اجرا می شود را مدیریت کنند.
▪ dbcreator : این گروه مجوز ایجاد بانکهای اطلاعاتی در سرویس دهنده را دارد.
▪ diskadmin : این گروه مجوز ایجاد و مدیریت فایل ها در دیسک را دارد.

نقش های از پیش تعریف شده بانک اطلاعاتی
نقش های از پیش تعریف شده بانک اطلاعاتی به کاربران امکان می دهند تا عملیات گوناگونی را انجام دهند.
نه نقش از پیش تعریف شده بانک اطلاعاتی عبارتند از:
db-owner: اعضای این گروه به عنوان مالک بانک اطلاعاتی تعریف می شوند.
▪ db-accessadmin:عضویت در این گروه به کاربر امکان می دهد تا کاربران ویندوزNT وSQL سرور را در بانک اطلاعاتی حذف یا به آن بیفزاید.
▪ db-datareader: اعضای این گروه می توانند تمام داده های جداول کاربری بانک اطلاعاتی را ببینند.
▪ db-datawriter: اعضای این گروه مجوز افزودن، تغییریا حذف داده های تمام جداول کاربری بانک اطلاعاتی را دارند.
▪ db-ddladmin: به کاربرامکان می دهد تا شئ های یک بانک اطلاعاتی راحذف، اضافه یا اصلاح کند.
▪ db-securityadmin: اعضای این گروه می توانند نقش ها و اعضای نقش های بانک اطلاعاتیSQL سرور را مدیریت کنند.
▪ db-backupoperator: اعضای این نقش مجوز تهیه نسخه پشتیبان از بانک اطلاعاتی را دارند.
▪ db-denydatareader: اعضای این گروه نمی توانند هیچیک از داده های بانک اطلاعاتی را ببینند.
▪ db-denydatawriter: اعضای این گروه هیچ مجوزی برای تغییر داده های بانک اطلاعاتی ندارند.

نقش عمومی
نقش عمومی یک نوع نقش بانک اطلاعاتی ویژه است که تمام کاربران بانک اطلاعاتی عضوی از آن هستند. این نقش به هنگام ایجاد تمام بانک های اطلاعاتی ایجاد می شود.
فایده این نقش زمانی مشخص می شود که می خواهید مجموعه ای از مجوزهای پیش فرض را به تمام کاربران بدهید.

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

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

ابزارهای حمله
ابزارForceSQL نسخه 2.0
این ابزار برای بدست آوردن رمز عبور یک SQL Server استفاده می شود. ForceSQL دارای ویژگی¬های زیر است:
* کنترل و راهبری آسان آن در خط فرمان
* اجرای حمله دیکشنری (1)
* اجرای حمله فراگیر(2)
* بکارگیری درگاهی به غیر از درگاه 1433

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

ابزار CPMdeamon :
این برنامه که در محیط لینوکس نوشته شده است، یک کد CGI را اجرا می کند و اجازهی عوض کردن رمز عبور را از راه دور می دهد.

ابزار SQLScanner.exe :
این ابزار که در سطر فرمان ویندوز اجرا می شود، یک محدوده آدرس IPاز نوع کلاس B(XXX.XXX) و نام یک فایل خروجی را به عنوان پارامتر می گیرد، و سپس محدوده را جستجو کرده و IP¬هایی را که دارای Sql Server هستند مشخص می نماید و در فایل خروجی لیست می کند. این ابزار قادر به شناسایی SQL Serverهایی که از درگاه استاندارد 1433 استفاده نمی کنند نیز می باشد.

ابزار SqlPing.exe:
این برنامه ی سطر فرمان ویندوز، اطلاعات مفیدی (نظیر نام سِرور، شماره ی نسخه ، شماره ی درگاه و ….) در مورد یک SQL Server نصب شده بر روی یک IP خاص ارائه می دهد.

ابزارNGSSQLCrack :
ابزار NGSSQLCrack ابزاری است که جهت شکستن رمز عبور در SQL Server 7 و 2000 بکار گرفته می شود.

ابزار های دفاعی
ابزار SQL Critical Update:
SQL Critical Update بسته ای نرم افزاری است که توسط شرکت مایکروسافت ارائه شده و شامل اجزای زیر است:
ابزار SQL Critical Update : که در آن یک وصله ی امنیتی برای نسخه هایی از SQL Server 2000 و MSDE 2000 که در برابر کرم Slammer آسیب پذیرند قرار داده شده است.

ابزار SQL Scan : با استفاده از این ابزار می توان یک کامپیوتر، یک دامنه و یا محدوده ای از آدرس ها را برای یافتن یک نسخه ی نصب شده از SQL Server 2000 یا MSDE 2000 که در برابر کرم Slammer آسیب پذیر است، کنترل نمود.

ابزار SQL Check : با استفاده از این ابزار می توان یک کامپیوتر را برای یافتن نسخه های آسیب پذیرSQL Server 2000 یا MSDE 2000 در برابر کرم Slammer، چک کرد.

ابزار Microsoft Baseline Security Analyzer (MBSA) :
یک ابزار مجانی ارائه شده از سوی مایکروسافت میباشد که قادر است یک کامپیوتر دارای ویندوز را در برابر وجود پیکربندی های اشتباه و یا به روز نبودن نرم افزارها بر اساس آخرین بهنگام سازی های امنیتی ارایه شده، چک کند.
ابزار SQLLiteSpeed :
SQL LiteSpeed یک نرم افزار پیشرفته برای تهیه ی پشتیبان از بانک های اطلاعاتی SQL Server، در قالب فایل های رمزنگاری شده است.
ابزار EnforcePass :
بسیاری از حملات بر اساس کشف کلمات عبور ضعیف و قابل حدس انجام می گیرند. این ابزار که در واقع یک تابع است، با توجه به معیارهای زیر، از بکارگیری کلمات عبور ضعیف توسط راهبر SQL Server و کاربران جلوگیری می کند.
* کلمه عبور نباید شامل کلمه شناسه ی عبور باشد.
* طول کلمه ی عبور باید بیش از شش باشد.
* کلمه ی عبور باید شامل حداقل یک حرف، یک رقم و یک کاراکتر از علایم باشد.
این تابع باید درون رویه های ذخیره شده sp_password و sp_addlogin موجود در SQL Server قرار گیرد.
ابزار AppDetective. for Microsoft SQL Server :
این نرم افزار یک ابزار برای برآورد کردن میزان امنیت برنامه های کاربردی موجود در شبکه ی شماست.
ابزار NGSSQuirreL :
NGSSQuirreL یک ابزار بررسی امنیت برنامه است که مخصوص Microsoft SQL Server طراحی شده است.
1- در این نوع حمله رمز عبور در برابر یک سری کلمات خاص که کاربر آنها را مشخص میکند، چک میشود.
2- در این نوع حمله رمز عبور در برابر تمام ترکیبات موجود کاراکترهای کشخص شده (حروف، ارقام و …) تا یک طول مشخص چک میشود.
امنیت در ورود به سیستم
زمانی که یک بانک اطلاعاتی جدید را در SQL Server تعریف می کنید، با کلیک سمت راست بر روی نام موتور پایگاه داده ای یک سرور درEnterprise Manager و انتخاب قسمت Properties، در زبانه security، موتور بانک اطلاعاتی
امکان انتخاب دو روش مختلف در معرفی و یا شناسایی کاربران مجاز برای ورود به سیستم یا همان عمل احراز هویت (Authentication) را در دسترس قرار می دهد. البته بعد از ساخت یک بانک اطلاعاتی، با کلیک سمت راست بر روی نام آن بانک و انتخاب گزینه Properties و سپس security هم می توان روش مورد استفاده را تغییر داد. (شکل 1)
یکی از این دو روش که برمبنای ارتباط موتور این پایگاه داده با اکتیودایرکتوری ویندوز 2000 سرور بنا شده است و Windows only نام دارد، باعث می شود تا کاربران از قبل تعریف شده در دامنه (Domain) یک شبکه مبتنی بر ویندوز 2000 سرور، به رسمیت شناخته شوند. در این صورت نیازی به معرفی کاربر جدید و یا انتخاب دو نام کاربری برای یک نفر وجود ندارد و کاربر مذکور می تواند از همان نام کاربری و رمز عبوری که برای ورود به دامنه شبکه ویندوزی خود استفاده می کند، برای اتصال به بانک اطلاعاتی هم استفاده کند.
در روش دوم، ارایه مجوز دسترسی به کاربران با سیستمی خارج از محدوده دامنه ویندوزی صورت می گیرد. بدین صورت مدیر سیستم مجبور است برای کلیه کاربرانی که قصد اتصال به بانک را دارند، نام کاربری و رمزعبور جدیدی را تعریف کند.

تعریف کاربران
در صورتی که شیوه دوم تعریف کاربران را انتخاب کرده باشید، باید ابتدا لیستی از کاربران را به همراه رمزعبور مربوطه شان در قسمتی از صفحه Enterprise Manager که با عنوان Security مشخص شده، معرفی کنید. این کار با کلیک سمت راست بر روی گزینه Login در قسمت مذکور و سپس new login انجام می گیرد. انتخاب یک نام کاربری به همراه ورود رمزعبور تنها کاری است که باید در این جا انجام گیرد تا یک کاربر به طور عمومی در لیست کاربران یک موتور پایگاده داده قرار گیرد.

از این به بعد، وظیفه مدیر سیستم تعیین دسترسی کاربران تعریف شده در قسمت security، به بانک های مختلف تعریف شده در پایگاه است.
این کار نیز از دو طریق قابل انجام است. در روش اول، دسترسی به هر بانک اطلاعاتی از طریق همان قسمت security صورت می گیرد. کافی است بر روی هر کاربری که در این قسمت تعریف کرده اید، کلیک سمت راست کرده و ابتدا گزینه خصوصیات و سپس زبانه DataBase Access را انتخاب کنید. پس از آن لیستی از کلیه بانک های اطلاعاتی موجود در پایگاه به شما نمایش داده می شود که باید بانک موردنظر را انتخاب کرده و در ستون Permit کلیک موردنظر را انجام دهید. پس از این کار
می توانید یک نام نمایشی را برای نام کاربری مربوطه در ستون user تایپ کنید. در این جا به عنوان مثال امکان دسترسی کاربر mda را به بانک Northwind فراهم نموده و نام نمایشی <مهیار داعی الحق> برای آن انتخاب شده است (شکل 2). همان طور که مشاهده می کنید این کاربر به طور خودکار در گروه کاربری عمومی (public) بانک مذکور قرار داده می شود.
در روش دوم، به سراغ بانک اطلاعاتی موردنظر در لیست DataBases رفته و با کلیک سمت راست بر روی عبارتusers، گزینه New User را انتخاب می کنیم. حال در پنجره نمایش داده شده، باید از درون لیست Login name، یکی از کاربرانی را که قبلاً در قسمت security تعریف کرده ایم انتخاب کرده و نام نمایشی آن را هم در قسمت user name تایپ کنید. در این جا هم به صورت خودکار، کاربر مذکور در گروه کاربری Public برای آن بانک اطلاعاتی قرار می گیرد. (شکل 3)

نقش ها (Roles)
درSQL Server، می توان چندین کاربر را در یک گروه کاربری قرار داد. وقتی یک گروه کاربری تعریف می شود، دسترسی آن به قسمت های مختلف یک بانک اطلاعاتی و کلیه عملیاتی که اعضاء آن گروه می توانند انجام دهند، توسط مدیر سیستم تعیین می گردد. از این به بعد هرگاه کاربر جدیدی به آن گروه اضافه شود، نیازی به تعریف مجدد سطوح دسترسی و عملیاتی برای وی وجود ندارد و سطوح دسترسی به صورت خودکار از طرف گروه به عضو جدید اعطا می شود. درSQL Server به صورت پیش فرض تعدادی نقش (Role) وجود دارد که در واقع همان گروه های کاربری مذکور می باشد. هر کاربری که توسط مدیر سیستم به جمع کاربران اضافه می شود به طور خودکار در نقش public ظاهر می شود. نقش های از پیش تعریف شده و نحوه دسترسی و قابلیت عملیاتی آن ها عبارت هستند از:

1- db-accessadmin
کاربران تعریف شده در این نقش قادر خواهند بود، سطوح دسترسی و امنیتی کلیه کاربران و نقش ها را در قسمت های مختلف پایگاه تعریف کنند.
2- db-backupoperator
این نقش مسوول ایجاد نسخه های پشتیبان از سیستم و اطلاعات درون آن است.
3- db-datareader
این نقش قادر است کلیه اطلاعات تمام جداول بانک اطلاعاتی موجود در سیستم را بخواند. مگر آن که اطلاعات خاصی توسط مکانیسم Deny از دسترس او دور نگاه داشته شود.
4- db-datawriter
افراد تعریف شده در این نقش قادرند تا کلیه اطلاعات موجود در کلیه جداول بانک را با استفاده از دستورات سه گانهInsert ،UPdate ،Delete تغییر دهند. مگر آن که جدول یا فیلد خاصی توسط مکانیسم Deny از دسترس شان دور نگه داشته شود.
5- db-ddladmin
کاربران دارای این نقش می توانند ساختار جداول، دیدها، روتین ها و توابع یک بانک اطلاعاتی را با استفاده از دستورات سه گانه Create ،alter ،Drop، بسازند، تغییر دهند یا از بین ببرند.
6- db-denydatareader
این نقش قادر به خواندن هیچ اطلاعاتی از جداول یا سایر قسمت های بانک نیست.
7- db-denydatawriter
این نقش هم قادر به تغییر دادن هیچ یک از قسمت های بانک اطلا عاتی نیست.
8- db-owner
این نقش قادر به انجام هر عملی در بانک اطلاعاتی می باشد و بالاترین سطح موجود در یک بانک است.
9- db-securityadmin
مسوول تعریف و تنظیم نقش ها، کاربران و سطوح دسترسی در یک بانک است.
10- public
کاربران این نقش قادرند تمام جداول، دیدها و سایر قسمت هایی که توسط خودشان یا توسط کاربران متعلق به نقش dbowner ساخته شده را بخوانند و بنویسند.
اما به غیر از نقش های مذکور، مدیر سیستم هم می تواند به تناسب، نقش هایی را در سیستم تعریف کند. به عنوان مثال فرض کنید که در یک واحد حسابداری، کارمندان عادی آن قسمت، موظف به وارد کردن اسناد مالی به یکی از جداول بانک اطلاعاتی با استفاده از یک برنامه ویژوال بیسیک هستند. مدیر مالی نیز توسط دکمه موجود در همان برنامه قادر است یک روتین ذخیره شده (stored procedure) را فراخوانی کرده تا اسناد وارد شده را تایید کند. بنابراین فقط کاربر مربوط به مدیر مالی حق اجرای روتین مذکور را دارد. برهمین اصل مدیر پایگاه یک گروه به نام <حسابداران> را برای ورود اسناد و گروه دیگری را به نام <مدیر مالی> برای مدیریت آن دپارتمان و جانشینان احتمالی وی در نظر می گیرد و برای گروه اول، اجرای روتین مذکور را در حالت ممنوع (Deny) و برای گروه دوم، در حالت مجاز (Allow) قرار می دهد. شما می توانید برای تعریف یک گروه یا نقش جدید، بر روی آیتم Roles کلیک سمت راست کرده و گزینه New Role و سپس یک نام دلخواه را انتخاب کرده و آن گاه با کلیک بر روی دکمه Add کاربران از قبل تعریف شده تان را یک به یک به جمع آن گروه اضافه نمایید. شایان ذکر است که هر کاربر می تواند جزء چند گروه یا نقش باشد. در ادامه باید در همان پنجره مذکور با کلیک بر روی دکمه مجوز (Permission)، دسترسی و قابلیت عملیاتی آن گروه را هم تعریف کنید. (شکل 4)

انواع مجوزها
1- جداول اطلاعاتی و دیدها
در مورد یک جدول بانک اطلاعاتی شما می توانید امکان انجام پرس وجو، درج، تغییر، حذف و تعریف وابستگی را به ترتیب با علا مت زدن در ستون های SELECT ،UPDATE ،DELETE و DRI برای یک گروه یا کاربر، ممکن یا غیرممکن کنید. در ضمن در صورتی که بخواهید بر روی تک تک فیلدها، قواعدی را وضع کنید می توانید بر روی دکمه Colums هر جدول کلیک کرده و امکان آوردن آن فیلد را در یک عبارت پرس وجو (SELECT) و یا امکان تغییر آن فیلد را در یک عملیات UPDATE برای گروه یا کاربر موردنظر مشخص کنید. (شکل 5) لازم به ذکر است که همین عملیات برای دیدهای (View) یک بانک هم قابل انجام است.

2- روتین ها و توابع
در مورد روتین ها و توابع تعریف شده (User Defined Fonction) فقط یک ستون مجوز به نام Exec و آن هم به معنی امکان استفاده یا عدم استفاده وجود دارد که توسط مدیر سیستم تنظیم می شود. (شکل 6)
3- مجوزهای اساسی
به غیر از عملیات عمومی سیستم مثل جستجو، درج، تغییر، اجرای روتین و… که در بالا ذکر شد، در SQL serverامکانات ویژه ای نیز برای کاربردهای خاص در نظر گرفته شده که فقط در مواقع لزوم به برخی کاربران یا نقش ها اعطا می شود. اگر بر روی نام هر بانک اطلاعاتی موجود در سیستم مثل Northwind، کلیک راست کرده و آیتم خصوصیات را انتخاب کنید، در زبانه آخر یعنی Permission لیستی از نقش ها و کاربرهای موجود در سیستم را مشاهده می کنید که در جلوی نام هر یک از
آن ها و در 8 ستون به ترتیب از چپ به راست امکان ساخت جدول، دید، روتین، مقادیر پیش فرض، قواعد، توابع، پشتیبان گیری از اطلاعات و پشتیبان گیری از لاگ ها وجود دارد که در مواقع خاصی قابل اعطا به کاربران با نقش های مختلف می باشد. به عنوان مثال اگر برنامه نویس قصد داشته باشد تا برای فراهم ساختن امکان تهیه یک گزارش پیچیده، به کاربری اجازه اجرای دستور CREATE VIEW را از داخل یکی از فرم های برنامه ویژوال بیسیک خود بدهد، باید قبلاً مدیر پایگاه را مطلع نموده تا وی ستون Create View را برای آن کاربر، فعال نماید. همین عمل جهت ساخت جداول موقت برای گرفتن گزارش یا سایر عملیات پیچیده هم وجود دارد و از طریق ستون Create Table قابل انجام است.
در این صورت کاربر می تواند با استفاده از دستوراتی که منتهی به ساخت جدول می شود مثل Create Table یا Select INTO جداول موقتی را توسط برنامه ویژوال بیسیک مورد استفاده خود ایجاد نموده و پس از پایان کار با استفاده از دستور DROP آن ها را حذف نماید. (شکل 7)

فصل سوم
ارائه سیستم های جامع دانشجویی

مقدمه :
دادِگان (پایگاه داده ها یا بانک اطلاعاتی) به مجموعه ای از اطلاعات با ساختار منظم و سامانمند گفته می شود. این پایگاه های اطلاعاتی معمولاً در قالبی که برای دستگاه ها و رایانه ها قابل خواندن و قابل دسترسی باشند ذخیره می شوند. البته چنین شیوه ذخیره سازی اطلاعات تنها روش موجود نیست و شیوه های دیگری مانند ذخیره سازی ساده در پرونده ها نیز استفاده می گردد. مسئله ای که ذخیره سازی داده ها در دادگان را موثر می سازد وجود یک ساختار مفهومی است برای ذخیره سازی و روابط بین داده ها است.
پایگاه داده در اصل مجموعه ای سازمان یافته از اطلاعات است.این واژه از دانش رایانه سرچشمه می گیرد ،اما کاربر وسیع و عمومی نیز دارد، این وسعت به اندازه ای است که مرکز اروپایی پایگاه داده (که تعاریف خردمندانه ای برای پایگاه داده ایجاد می کند) شامل تعاریف غیر الکترونیکی برای پایگاه داده می باشد. در این نوشتار به کاربرد های تکنیکی برای این اصطلاح محدود می شود.
یک تعریف ممکن این است که: پایگاه داده مجموعه ای از رکورد های ذخیره شده در رایانه با یک روش سیستماتیک (اصولی) مثل یک برنامه رایانه ای است که می تواند به سوالات کاربر پاسخ دهد. برای ذخیره و بازیابی بهتر، هر رکورد معمولا به صورت مجموعه ای از اجزای داده ای یا رویداد ها سازماندهی می گردد. بخش های بازیابی شده در هر پرسش به اطلاعاتی تبدیل می شود که برای اتخاذ یک تصمیم کاربرد دارد. برنامه رایانه ای که برای مدیریت و پرسش و پاسخ بین پایگاه های داده ای استفاده می شود را مدیر سیستم پایگاه داده ای یا به اختصار (DBMS) می نامیم. خصوصیات و طراحی سیستم های پایگاه داده ای در علم اطلاعات مطالعه می شود.
مفهوم اصلی پایگاه داده این است که پایگاه داده مجموعه ای از رکورد ها یا تکه هایی از یک شناخت است.نوعا در یک پایگاه داده توصیف ساخت یافته ای برای موجودیت های نگه داری شده در پایگاه داده وجود دارد: این توصیف با یک الگو یا مدل شناخته می شود. مدل توصیفی، اشیا پایگاه های داده و ارتباط بین آنها را نشان می دهد. روش های متفاوتی برای سازماندهی این مدل ها وجود دارد که به آنها مدل های پایگاه داده گوییم. پرکاربرد ترین مدلی که امروزه بسیار استفاده می شود، مدل رابطه ای است که به طور عام به صورت زیر تعریف می شود: نمایش تمام اطلاعاتی که به فرم جداول مرتبط که هریک از سطر ها و ستونها تشکیل شده است(تعریف حقیقی آن در علم ریاضیات برسی می شود). در این مدل وابستگی ها به کمک مقادیر مشترک در بیش از یک جدول نشان داده می شود. مدل های دیگری مثل مدل سلسله مراتب و مدل شبکه ای به طور صریح تری ارتباط ها را نشان می دهند.
در مباحث تخصصی تر اصتلاح دادگان یا پایگاه داده به صورت مجموعه ای از رکورد های مرتبط با هم تعریف می شود. بسیاری از حرفه ای ها مجموعه ای از داده هایی با خصوصیات یکسان به منظور ایجاد یک پایگاه داده ای یکتا استفاده می کنند.

معمولا DBMS ها بر اساس مدل هایی که استفاده می کنند تقسیم بندی می شوند: ارتباطی،شی گرا، شبکه ای و امثال آن. مدل های داده ای به تعیین زبانهای دسترسی به پایگاه های داده علاقه مند هستند. بخش قابل توجهی از مهندسی DBMS مستقل از مدل های می باشد و به فاکتور هایی همچون اجرا، همزمانی،جامعیت و بازیافت از خطاهای سخت افزاری وابسطه است.در این سطح تفاوت های بسیاری بین محصولات وجود دارد.
موارد زیر به صورت خلاصه شرح داده می شود:
•۱ تاریخچه پایگاه داده
•۲ انواع دادگان ها
•۳ مدل های پایگاه داده
۳.۱ مدل تخت
۳.۲ مدل شبکه ای(Network)
۳.۳ مدل رابطه ای
۳.۴ پایگاه داده های چند بعدی
۳.۵ پایگاه داده های شیء
•۴ ویژگی های سیستم مدیریت پایگاه داده ها
•۵ فهرست سیستم های متداول مدیریت دادگان
1- تاریخچه پایگاه داده
اولین کاربردهای اصطلاح پایگاه داده به June 1963 باز می گردد، یعنی زمانی که شرکت System Development Corporation مسئولیت اجرایی یک طرح به نام "توسعه و مدیریت محاسباتی یک پایگاه داده ای مرکزی" را بر عهده گرفت. پایگاه داده به عنوان یک واژه واحد در اوایل دهه 70 در اروپا و در اواخر دهه 70 در خبر نامه های معتبر آمریکایی به کار رفت.(بانک داده ای یا Databank در اوایل سال 1966 در روزنامه واشنگتن کار رفت)
تصویر:اولین سیستم مدیریت پایگاه داده در دهه 60 گسترش یافت. از پیشگامان این شاخه چارلز باخمن می باشد. مقالات باخمن این را نشان داد که فرضیات او کاربرد بسیار موثرتری برای دسترسی به وسایل ذخیره سازی را محیا می کند. در آن زمانها پردازش داده بر پایه کارت های منگنه و نوار های مغناطیسی بود که پردازش سری اطلاعات را مهیا می کند. دو نوع مدل داده ای در آن زمانها ایجاد شد:CODASYL موجب توسعه مدل شبکه ای شدکه ریشه در نظریات باخمن داشت و مدل سلسله مراتبی که توسط North American Rockwell ایجاد شد و بعدا با اقباس از آن شرکت IBM محصولIMS را تولید نمود.
مدل رابطه ای توسط E. F. Codd در سال 1970 ارائه شد.او مدل های موجود را مورد انتقاد قرار می داد. برای مدتی نسبتا طولانی این مدل در مجامع علمی مورد تایید بود. اولین محصول موفق برای میکرو کامپیوتر ها dBASE بودکه برای سیستم عامل هایCP/M و PC-DOS/MS-DOS ساخته شد. در جریان سال 1980 پژوهش بر روی مدل توزیع شده (distributed database) و ماشین های دادگانی (database machines) متمرکز شد، اما تاثیر کمی بر بازار گذاشت. در سال 1990 توجهات به طرف مدل شی گرا(object-oriented databases) جلب شد. این مدل جهت کنترل داده های مرکب لازم بود و به سادگی بر روی پایگاه داده های خاص، مهندسی داده(شامل مهندسی نرم افزار منابع) و داده های چند رسانه ای کار می کرد.

در سال 2000 نوآوری تازه ای رخ داد و دادگان اکس ام ال (XML) به وجود آمد. هدف این مدل از بین بردن تفاوت بین مستندات و داده ها است و کمک می کند که منابع اطلاعاتی چه ساخت یافته باشند یا نه در کنار هم قرار گیرند.

2- انواع دادگان ها
دادگان ها از نظر ساختار مفهومی و شیوه ای رفتار با داده ها بر دو نوع هستند :
1.دادگان رابطه ای
2.دادگان شی گرا
3- مدل های پایگاه داده
شگرد های مختلفی برای مدل های داده ای وجود دارد. بیشتر سیستم های پایگاه داده ای هر چند که طور معمول بیشتر از یک مدل را مورد حمایت قرار می دهند، حول یک مدل مشخص ایجاد شده اند. برای هر یک از الگوهای های منطقی (logical model) اجراهای فیزیکی مختلفی قابل پیاده شدن است و سطوح کنترل مختلفی در انطباق فیزیکی برای کاربران محیا می کند. یک انتخاب مناسب تاثیر موثری بر اجرا دارد. مثالی از موارد الگوی رابطه ای (relational model) است: همه رویدادهای مهم در مدل رابطه ای امکان ایجاد نمایه هایی که دسترسی سریع به سطرها در جدول را می دهد،فراهم می شود.

یک مدل داده ای تنها شیوه ساختمان بندی داده ها نیست بلکه معمولا به صورت مجموعه ای از عملیات ها که می تواند روی داده ها اجرا شود تعریف می شوند. برای مثال در مدل رابطه ای عملیاتی همچون گزینش (selection)، طرح ریزی (projection) و اتصال (join) تعریف می گردد.

۳.۱ مدل تخت
مدل تخت یا جدولی (flat (or table) model ) تشکیل شده است از یک آرایه دو بعدی با عناصر داده ای که همه اجزای یک ستون به صورت داده های مشابه فرض می شود و همه عناصر یک سطر با هم در ارتباط هستند. برای نمونه در ستون هایی که برای نام کاربری و رمز عبور در جزئی از سیستم های پایگاه داده ای امنیتی مورد استفاده قرار می گیرد هر سطر شامل رمز عبوری است که مخصوص یک کاربر خاص است. ستون های جدول که با آن در ارتباط هستند به صورت داده کاراکتری، اطلاعات زمانی، عدد صحیح یا اعداد ممیز شناور تعریف می شوند. این مدل پایه برنامه های محاسباتی(spreadsheet) است.
پایگاه داده ها با فایل های تخت به سادگی توسط فایل های متنی تعریف می شوند. هر رکورد یک خط است و فیلد ها به کمک جدا کننده هایی از هم مجزا می شوند. فرضا به مثال زیر دقت کنید:
id name team
1 Amy Blues
2 Bob Reds
3 Chuck Blues
4 Dick Blues
5 Ethel Reds
6 Fred Blues
7 Gilly Blues
8 Hank Reds
داده های هر ستون مشابه هم است ما به این ستونها فیلد ها (fields) گوییم. و هر خط را غیر از خط اول یک رکورد(record) می نامیم. خط اول را که برخی پایگاه های داده ای آنرا ندارند رکورد برچسب(field labels) گوییم. هر مقدار داده ای اندازه خاص خود را دارد که اگر به آن اندازه نرسد می توان از کاراکنر فاصله برای این منظور استفاده کرد اما این مسئله مخصوصا زمانی که بخواهیم اطلاعات را بر روی کارت های منگنه قرار دهیم مشکل ساز خواهد شد. امروزه معمولا از نویسه TAB برای جداسازی فیلد ها و کاراکتر خط بعد برای رکورد بعدی استفاده می کنیم. البته شیوه های دیگری هم وجود دارد مثلا به مثال زیر دقت کنید:
"1","Amy","Blues"
"2","Bob","Reds"
"3","Chuck","Blues"
"4","Dick","Blues"
"5","Ethel","Reds"
"6","Fred","Blues"
"7","Gilly","Blues"
"8","Hank","Reds"
این مثال از جدا کننده کاما استفاده می کند.در این نوع مدل تنها قابلیت حذف،اضافه،دیدن و ویرایش وجود دارد که ممکن است کافی نباشد.Microsoft Excel این مدل را پیاده سازی می کند.

۳.2 مدل شبکه ای(Network)
در سال 1969 و در کنفرانس زبانهای سیستم های داده ای (CODASYL) توسطCharles Bachman ارائه شد. در سال 1971 مجددا مطرح شد و اساس کار پایگاه داده ای قرار گرفت و در اوایل دهه 80 با ثبت آن درسازمان بین المللی استانداردهای جهانی یا ISO به اوج رسید.

مدل شبکه ای (database model) بر پایه دو سازه مهم یعنی مجموعه ها و رکورد ها ساخته می شود و برخلاف روش سلسله مراتبی که از درخت استفاده می کند، گراف را به کار می گیرد. مزیت این روش بر سلسله مراتبی این است که مدل های ارتباطی طبیعی بیشتری را بین موجودیت ها فراهم می کند. الی رغم این مزیت ها به دو دلیل اساسی این مدل با شکست مواجه شد: اول اینکه شرکت IBM با تولید محصولات IMS و DL/I که بر پایه مدل سلسله مراتبی است این مدل را نادیده گرفت. دوم اینکه سرانجام مدل رابطه ای (relational model) جای آن را گرفت چون سطح بالاتر و واضح تر بود. تا اوایل دهه 80 به علت کارایی رابط های سطح پایین مدل سلسله مراتبی و شبکه ای پیشنهاد می شد که بسیاری از نیاز های آن زمان را برطرف می کرد. اما با سریعتر شدن سخت افزار به علت قابلیت انعطاف و سودمندی بیشتر سیستم های رابطه ای به پیروزی رسیدند.

رکورد ها در این مدل شامل فیلد هایی است( ممکن است همچون زبان کوبول (COBOL) به صورت سلسله مراتب اولویتی باشد). مجموعه ها با ارتباط یک به چند بین رکورد ها تعریف می شود: یک مالک و چند عضو. عملیات های مدل شبکه ای از نوع هدایت کننده است: یک برنامه در موقعیت جاری خود باقی می ماند و از یک رکورد به رکورد دیگر می رود هر گاه که ارتباطی بین آنها وجود داشته باشد. معمولا از اشاره گرها(pointers) برای آدرس دهی مستقیم به یک رکورد در دیسک استفاده می شود. با این تکنیک کارایی بازیابی اضافه می شود هر چند در نمایش ظاهری این مدل ضروری نیست .

۳.3 مدل رابطه ای
مدل رابطه ای (relational model) در یک مقاله تحصیلی توسط E. F. Codd در سال 1970 ارائه گشت. این مدل یک مدل ریاضیاتی است که با مفاهیمی چون مستندات منطقی (predicate logic) و تئوری مجموعه ها (set theory) در ارتباط است. محصولاتی همچون اینگرس،اراکل، DB2 وسرور اس کیوال (SQL Server) بر این پایه ایجاد شده است. ساختار داده ها در این محصولات به صورت جدول است با این تفاوت که می تواند چند سطر داشته باشد. به عبارت دیگر دارای جداول چند گانه است که به طور صریح ارتباطات بین آنها بیان نمی شود و در عوض کلید هایی به منظور تطبیق سطر ها در جداول مختلف استفاده می شود. به عنوان مثال جدول کارمندان ممکن است ستونی به نام "موقعیت" داشته باشد که کلید جدول موقعیت را با هم تطبیق می دهد.

۳.4 پایگاه داده های چند بعدی
پایگاه داده های رابطه ای توانست به سرعت بازار را تسخیر کند، هرچند کارهایی نیز وجود داشت که این پایگاه داده ها نمی توانست به خوبی انجام دهد. به ویژه به کارگیری کلیدها در چند رکورد مرتبط به هم و در چند پایگاه داده مشترک، کندی سیستم را موجب می شد. برای نمونه برای یافتن نشانی کاربری با نام دیوید، سیستم رابطه ای باید نام وی را در جدول کاربر جستجو کند و کلید اصلی (primary key ) را بیابد و سپس در جدول نشانی ها، دنبال آن کلید بگردد. اگر چه این وضعیت از نظر کاربر، فقط یک عملیات محسوب، اما به جستجو درجداول نیازمند است که این کار پیچیده و زمان بر خواهد بود. راه کار این مشکل این است که پایگاه داده ها اطلاعات صریح درباره ارتباط بین داده ها را ذخیره نماید. می توان به جای یافتن نشانی دیوید با جستجو ی کلید در جدول نشانی، اشاره گر به داده ها را ذخیره نمود. در واقع، اگر رکورد اصلی، مالک داده باشد، در همان مکان فیزیکی ذخیره خواهد شد و از سوی دیگر سرعت دسترسی افزایش خواهد یافت.
چنین سیستمی را پایگاه داده های چند بعدی می نامند. این سیستم در هنگامی که از مجموعه داده های بزرگ استفاده می شود، بسیار سودمند خواهد بود. از آنجاییکه این سیستم برای مجموعه داده های بزرگ به کار می رود، هیچگاه در بازار به طور مستقیم عمومیت نخواهد یافت.

۳.5 پایگاه داده های شیء
اگر چه سیستم های چند بعدی نتوانستند بازار را تسخیر نمایند، اما به توسعه سیستم های شیء منجر شدند. این سیستم ها که مبتنی بر ساختار و مفاهیم سیستم های چند بعدی هستند، به کاربر امکان می دهند تا اشیاء را به طور مستقیم در پایگاه داده ها ذخیره نماید. بدین ترتیب ساختار برنامه نویسی شیء گرا (object oriented ) را می توان به طور مستقیم و بدون تبدیل نمودن به سایر فرمت ها، در پایگاه داده ها مورد استفاده قرار داد. این وضعیت به دلیل مفاهیم مالکیت (ownership) در سیستم چند بعدی، رخ می دهد. در برنامه شیء گرا (OO)، یک شیء خاص "مالک " سایر اشیاء در حافظه است، مثلا دیوید مالک نشانی خود می باشد. در صورتی که مفهوم مالکیت در پایگاه داده های رابطه ای وجود ندارد.

4- ویژگی های سیستم مدیریت پایگاه داده ها
پس از این مقدمه به توصیف سیستم مدیریت پایگاه داده ها می پردازیم. سیستم مدیریت پایگاه داده ها، مجموعه ای پیچیده از برنامه های نرم افزاری است که ذخیره سازی و بازیابی داده های (فیلدها، رکوردها و فایل ها) سازمان را در پایگاه داده ها، کنترل می کند. این سیستم، کنترل امنیت و صحت پایگاه داده ها را نیز بر عهده دارد. سیستم مدیریت پایگاه داده ها، درخواست های داده را از برنامه می پذیرد و به سیستم عامل دستور می دهد تا داده ها ی مناسب را انتقال دهد. هنگامی که چنین سیستمی مورد استفاده قرار می گیرد، اگر نیازمندیهای اطلاعاتی سازمانی تغییر یابد، سیستم های اطلاعاتی نیز آسانتر تغییر خواهند یافت. سیستم مذکور از صحت پایگاه داده ها پشتیبانی می کند. بدین ترتیب که اجازه نمی دهد بیش از یک کاربر در هر لحظه، یک رکورد را به روز رسانی کند. این سیستم رکوردهای تکراری را در خارج پایگاه داده ها نگاه می دارد. برای مثال، هیچ دو مشترک با یک شماره مشتری، نمی توانند در پایگاه داده ها وارد شوند. این سیستم روشی برای ورود و به روز رسانی تعاملی پایگاه داده ها فراهم می آورد. یک سیستم اطلاعات کسب و کار از موضوعاتی نظیر (مشتریان، کارمندان، فروشندگان و غیره) و فعالیت هایی چون (سفارشات، پرداخت ها، خریدها و غیره) تشکیل شده است. طراحی پایگاه داده ها، فرایند تصمیم گیری درباره نحوه سازماندهی این داده ها در انواع رکوردها و برقراری ارتباط بین رکوردهاست.سیستم مدیریت پایگاه داده ها می تواند ساختار داده ها و ارتباط آنها را در سازمان به طور اثر بخش نشان دهد. سه نوع مدل متداول سازمانی عبارتند از: سلسله مراتبی، شبکه ای و رابطه ای. یک سیستم مدیریت پایگاه داده ها ممکن است یک، دو یا هر سه روش را فراهم آورد. سرورهای پایگاه داده ها، کامپیوترهایی هستند که پایگاه داده های واقعی را نگاه می دارند و فقط سیستم مدیریت پایگاه داده ها و نرم افزار مربوطه را اجرا می کنند. معمولا این سرورها رایانه های چند پردازنده ای با آرایه های دیسک RAID برای ذخیره سازی می باشند.

5- فهرست سیستم های متداول مدیریت دادگان
معروف ترین این نرم افزارهای مدیریت دادگان ها می توان به چند نمونه زیر اشاره کرد:
1.Oracle
2.Microsoft SQL Server
3.MySQL
4.PostregSQL
5.DB2
6.Microsoft Access
واژه دادگان از برابرنهاده های فرهنگستان زبان فارسی می باشد

برقراری ارتباط و امنیت در SQL Server
پیشگفتار :
بانکهای اطلاعاتی حاوی حجم بسیار زیادی از داده هایی هستندکه چنانچه به دست اشخاص غیر مسئول برسند، می تواند برای شرکت وافراد شرکتتان بسیارزیان آورباشد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 سرور تحت عنوان گروه مطرح بودند. به جای تخصیص مجوز به هر یک از کاربران بانک اطلاعاتی، به راحتی می توانید یک نقش ایجاد کنید و بعد از قراردادن کاربران به آن نقش، مجوزها را به آن نقش تخصیص دهید.
۵) نقش برنامه کاربردی: یک نقش ویژه است که امکان دستیابی به داده های موجود در بانک اطلاعاتی را تنها به برنامه های کاربردی خاص می دهد. کاری که این نقش انجام می دهد، آن است که کاربران را مجاب می کند تا از طریق برنامه کاربردی به داده های بانک اطلاعاتی دستیابی پیدا کنند. این کار کاربران را مجاب به استفاده از برنامه کاربردیی می کند که خصوصا برای دستیابی به داده ها نوشته شده و از دستیابی برنامه های کاربردی دیگر جلوگیری میشود.
۶) گروه های ویندوزNT :امنیتSQL سرور، شدیدا بر امنیت ویندوزNT بیان شده است
گروه های ویندوزNT مستقیما به نقش هایSQL سرورقابل نگاشت هستند، از این رو هر کاربری که جزئی از آن گروه باشد، به طور خودکار بهSQL دستیابی خواهد داشت.
فرآیند بررسی اعتبار: وقتی کاربری اقدام به دستیابی به سرویس دهنده میکند، ۴چیز کنترل می شود
۱) امنیت در سطح شبکه: که نخستین سطح امنیت است. کاربران در بیشتر مواقع با یک شبکه ویندوزNT ارتباط برقرار خواهند کرد، اما با هر شبکه دیگری که در کنار شبکه مذکور وجود داشته باشد، نیز می توانند ارتباط برقرار کنند. کاربر باید یکID برقراری ارتباط و یک کلمه عبور معتبر شبکه وارد کند و اگر نه در همین سطح متوقف خواهد شد.
۲) امنیت در خود سرویس دهنده: که دومین سطح امنیت است. وقتی کاربر به این سطح می رسد، می بایست یک ID برقراری ارتباط و یک کلمه عبور معتبربرای پیشروی ارائه کند. بسته به مد امنیتی که در سرویس دهنده به کار میبرید،SQL سرور ممکن است بتواندID برقراری ارتباط با ویندوزNT را تعیین نماید.
۳) نیاز به یکID کاربری در بانک اطلاعاتی: که سومین سطح امنیت است. هیچ کلمه عبوری در این سطح مطرح نیست. در عوض،ID برقراری ارتباط توسط مدیر سیستم باID کاربری نگاشت می شود.
۴) ارتباط امنیت با مجوزها: آخرین سطح امنیت است.SQL سرور کنترل میکند کهID کاربریی که کاربر از طریق آن به سرویس دهنده دستیابی پیدا کرده است، مجوزهای دستیابی به شیءهای مورد نظر را داشته باشد.این امکان وجود دارد که دستیابی فقط برای برخی شیءها باشدو نه تمام شیءها.

برقراری ارتباط باسروس دهنده وکاربران بانک اطلاعاتی
همانند کارهای دیگری که درSQL سرورانجام می دهید، روشهای مختلف زیادی برای ایجادID های برقراری ارتباط وID های کاربری وجود دارد. نخستین روش برای انجام این کارازطریق یک ویزارد درSQL Enterprise Manager است. این ویزارد شما را گام به گام در ایجاد یک ID برقراری ارتباط ویک ID کاربری یاری می کند
روش دوم برای ایجاد ID ها، استفاده از رویه های ذخیره شده است. اگراز این روش استفاده کنید، درصورت نیاز می توانید همان ID هارا درتمام سرویس دهنده ها ایجاد کنید. آخرین روش، ایجاد مجزای آنها در SQL Enterprise Manager است.
گزینه دیگری که برای افزودن یک ID کاربر دارید، ازرویه های ذخیره شده واجرای SQL Query Analyzer است.
برای بررسی اعتباربا ویندوزNT باید ازرویه ذخیره شده sp-grantloginاستفاده کنید.
وقتی ازروش بررسی اعتبار SQL سروراستفاده می کنید،ازرویه ذخیره شده sp-addloginاستفاده کنید.
قالب sp-grantlogin به شکل زیراست:
sp-grantlogin [@loginname= ]'login'
نامی که پس از sp-grantlogin باید مشخص شود،نام کاربری ویندوزNT و نام حوزه ای است که کاربر در آن قرار دارد.
به عنوان مثال، برای اینکه کاربری به نامMrMoney از حوزهMonopoly را بهSQL سرور بیفزایید، می بایست دستور زیر را اجرا کنید:
sp-grantlogin'Monopoly/Mr Money'
دستور بالا مجوز دستیابی به بانک اطلاعاتی را به آن کاربر اعطا می کند، اما دستیابی بیشتر را برای وی فراهم نمی کند.

نقش ها
نقش ها اساسا گروههایی هستند که می توانید برای گروه بندی کاربرانی به کار برید که نیازهای دستیابی آنها مشابه است.
انواع نقش های مختلفی که می توانید به کار برید عبارتند از:
۱) نقش های از پیش تعریف شده سرویس دهنده
۲) نقش های از پیش تعریف شده بانک اطلاعاتی
۳) نقش عمومی
۴) نقش های شخصی بانک اطلاعاتی

نقش های از پیش تعریف شده سرویس دهنده
نقش های سرویس دهنده برای آن هستند تا برخی از کارهای مدیریتی سرویس دهنده را به اشخاص دیگر واگذار کنید.
هفت نقش از پیش تعریف شده سرویس دهنده به شرح زیر هستند:
▪ sysadmin : اعضای این نقش می توانند هر عملی را در سرویس دهنده انجام دهند. این نقش، مشابهaccount ی به نام sa در نگارش های پیشینSQL سرور است.
▪ serveradmin : اعضای این نقش می توانند پیکربندی مشخصات سرویس دهنده را انجام دهند.
▪ setupadmin : اعضای این نقش مجازند پیوندهای سرویس دهنده ها را حذف یا اضافه کنند.
▪ Securityadmin : اعضای این گروه می توانند برقراری ارتباط با سرویس دهنده را مدیریت کنند.
▪ processadmin : اعضای این گروه می توانند هر فرآیندی را که درSQLسرور اجرا می شود را مدیریت کنند.
▪ dbcreator : این گروه مجوز ایجاد بانکهای اطلاعاتی در سرویس دهنده را دارد.
▪ diskadmin : این گروه مجوز ایجاد و مدیریت فایل ها در دیسک را دارد.

نقش های از پیش تعریف شده بانک اطلاعاتی
نقش های از پیش تعریف شده بانک اطلاعاتی به کاربران امکان می دهند تا عملیات گوناگونی را انجام دهند.
نه نقش از پیش تعریف شده بانک اطلاعاتی عبارتند از:
db-owner: اعضای این گروه به عنوان مالک بانک اطلاعاتی تعریف می شوند.
▪ db-accessadmin:عضویت در این گروه به کاربر امکان می دهد تا کاربران ویندوزNT وSQL سرور را در بانک اطلاعاتی حذف یا به آن بیفزاید.
▪ db-datareader: اعضای این گروه می توانند تمام داده های جداول کاربری بانک اطلاعاتی را ببینند.
▪ db-datawriter: اعضای این گروه مجوز افزودن، تغییریا حذف داده های تمام جداول کاربری بانک اطلاعاتی را دارند.
▪ db-ddladmin: به کاربرامکان می دهد تا شئ های یک بانک اطلاعاتی راحذف، اضافه یا اصلاح کند.
▪ db-securityadmin: اعضای این گروه می توانند نقش ها و اعضای نقش های بانک اطلاعاتیSQL سرور را مدیریت کنند.
▪ db-backupoperator: اعضای این نقش مجوز تهیه نسخه پشتیبان از بانک اطلاعاتی را دارند.
▪ db-denydatareader: اعضای این گروه نمی توانند هیچیک از داده های بانک اطلاعاتی را ببینند.
▪ db-denydatawriter: اعضای این گروه هیچ مجوزی برای تغییر داده های بانک اطلاعاتی ندارند.

نقش عمومی
نقش عمومی یک نوع نقش بانک اطلاعاتی ویژه است که تمام کاربران بانک اطلاعاتی عضوی از آن هستند. این نقش به هنگام ایجاد تمام بانک های اطلاعاتی ایجاد می شود.
فایده این نقش زمانی مشخص می شود که می خواهید مجموعه ای از مجوزهای پیش فرض را به تمام کاربران بدهید.

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

فصل چهارم – نتیجه گیری
* نتیجه گیری

نتیجه گیری :
همانگونه که در فصول بالا به استحضار شما رساندم ، فعالیت های صورت گرفته در شرکت در زمینه های مختلفی صورت گرفت که برخی از این بخش ها برای ما تازگی ویژه ای داشت ، مانند سیستم های جامع دانشجویی که شرکت مشغول فعالیت در زمینه ارائه سیستم های جامع خدمات دانشجویی جهت ارائه خدمات به دانشگاهها می باشد و بسیاری موارد از آموخته ها و تجربیات که در طول دوره کسب شد

با تشکر

فهرست مطالب
پیشگفتار
فصل اول
معرفی شرکت انفورماتیک طلوع اندیشه
1- نام و نوع شرکت
2- سال تاسیس
3- موضوع شرکت
4- نوع فعالیت
فصل دوم
فعالیت های انجام شده در دوره
امنیت اطلاعات سایت
فصل دوم – امنیت اطلاعات سایت
پیشگفتار
عناوین مهم این فصل عبارتند از
نیازبه امنیت
فرامینی که از خارج به سیستم وارد میشوند
افرادی که در شرکتتان کار میکنند
مزاحمت تصادفی
اصول امنیت 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- مجوزهای اساسی
فصل سوم
ارائه سیستم های جامع دانشجویی
مقدمه
1- تاریخچه پایگاه داده
2- انواع دادگان ها
3- مدل های پایگاه داده
?.? مدل تخت
?.2 مدل شبکه ای(Network)
?.3 مدل رابطه ای
?.4 پایگاه داده های چند بعدی
?.5 پایگاه داده های شیء
4- ویژگی های سیستم مدیریت پایگاه داده ها
5- فهرست سیستم های متداول مدیریت دادگان
برقراری ارتباط و امنیت در SQL Server
پیشگفتار
عناوین مهم این فصل عبارتند از
نیازبه امنیت
فرامینی که از خارج به سیستم وارد میشوند
افرادی که در شرکتتان کار میکنند
مزاحمت تصادفی
اصول امنیت SQL سرور
مدهای امنیت
اصول امنیتSQL سرور
برقراری ارتباط باسروس دهنده وکاربران بانک اطلاعاتی
نقش ها
نقش های از پیش تعریف شده سرویس دهنده
نقش های از پیش تعریف شده بانک اطلاعاتی
نقش عمومی
نقش های شخصی بانک اطلاعاتی
فصل چهارم – نتیجه گیری
نتیجه گیری

48


تعداد صفحات : 52 | فرمت فایل : word

بلافاصله بعد از پرداخت لینک دانلود فعال می شود