ویژگی های سرورهای SQL

بسیاری از مشکلات و نقوض بین اطلاعات در اثر پایگاه های سرور اطلاعات ضعیف رخ می دهند. SQL سرور ماکروسافت یکی از معروف ترین راه حل های موجود است، که تا حدودی برای فهمیدن و اجرا کردن، پیچیده است. در این مقاله ما ۶ ویژگی های سرورهای SQL که باید برای محافظت از اطلاعاتتان بدانید؛ می پردازیم.

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

شما عزیزان می توانید برای درخواست دمو و گرفتن پاسخ سوالات خود این زمینه با ما تماس بگیرید، تا مشاوران ما راهنمایی های لازم را در اختیارتان قرار دهند.

شرکت پاسارگاد در کنار این مقاله مقاله امضای دیجیتال و حفره های امنیتی را به شما عزیزان پیشنهاد می دهد

ویژگی های سرور SQL
ویژگی های سرور SQL

۱. احراز هویت سرورهای SQL در برابر ویندوز


از جمله ویژگی های سرورهای SQL موضوع احراز هویت است که سرور SQL ماکروسافت، دو گزینه ی احراز هویت را پوشش می دهد:

  • احراز هویت ویندوز: بر AD(اکتیو دایرکتوری) برای احراز هویت کاربرها قبل از وصل شدن به SQL استناد دارد. این نوع، بیشتر توصیه و در بین ویژگی های سرورهای SQL دیده می شود، چون AD بهترین راه برای مدیریت رموز عبور و نام کاربری و دسترسی گروهی برای به کارگیری در سازمان می باشد.
  • احراز هویت سرور SQL با ذخیره کردن نام کاربری ها و رموز عبور در سرور دیتابیس کار می کند. زمانی که اکتیو دایرکتوری در دسترس نیستند، از آن استفاده می شود.

این امکان وجود دارد که از احراز هویت ویندوز و سرور SQL در کنار هم استفاده کرد، اما بهتر است که هر زمان که امکان دارد از احراز هویت ویندوزی به تنهایی استفاده کنید.

اگر چاره ای جز استفاده از احراز هویت سرور SQL نباشد، باید مطمئن شد که اکانت SA پیش فرض آن یا از کار افتاده باشد یا رمز عبور قوی ای داشته باشد که هر از چندگاهی خود به خود تغییر کند، چون این امکان در ویژگی های سرورهای SQL وجود دارد که این اکانت توسط هکرها مورد هدف قرار بگیرد. اکانت های سرور SQL، از جمله SA(اگر در دسترس باشد)، می تواند با استفاده از خدمات استودیو مدیریت سرور SQL یا دستور ALTER LOGIN Transact-SQL مدیریت شود.

۲. ورود به سیستم و ROLE ها


صرف نظر از روش های احراز هویتی که در ویژگی های سرورهای SQL انتخاب می شود، دو نوع روش برای ورود به سیستم وجود دارد که شما می توانید با SQL کانفیگ کنید، مانند: لاگین های کاربری و لاگین های سرور. در بخش بعد در مورد لاگین کاربر صحبت خواهد شد. لاگین سرور به کاربران اجازه می دهد که یک اتصال را به سرور SQL مقرر سازد. هر لاگین سرور به یک role یا بیشتر در سرور متصل می شود که عملکرهای مشخصی را بر روی instance اجرا می کنند. به طور معمول، لاگین سرور به رل های سرور پابلیک متصل می شوند، دسترسی های پایه ای را به instance در اختیار کاربر قرار می دهد. رل های در دسترس دیگری نیز در ویژگی های سرورهای SQL وجود دارند که شامل Serveradmin، sequrityadmin، dbcreator و bulkadmin می باشند.

لاگین های سرور می توانند با استفاده از T-SQL یا استودیو مدیریت سرور SQL ایجاد شوند. زمانی که یک لاگین سرور ساخته شد، دیتابیس اصلی باید مشخص شود. لاگین های سرور با یک لاگین کاربر در دیتابیس اصلی متصل می شود. اگر کاربر در این دیتابیس معرفی نشده باشد، لاگین سرور مانع از دسترسی می شود، تا زمانی که رل سرور به لاگینی متصل شود که اجازه دسترسی به همه ی دیتابیس داشته باشد. در ویژگی های سرورهای SQL، لاگین سرور می تواند برای یک کاربر در یک دیتابیس بیشتر معرفی شود و کاربران می توانند زمانی که لاگین سرور نصب شد، ساخته شوند.

۳. کاربران، اسکیما و رل در دیتابیس


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

اسکیمای پیش فرض برای گزینه های معرفی شده توسط کاربر در ویژگی های سرورهای SQL، dbo است. اسکیمای پیش فرض دیگر sys؛ تمام گزینه های دیگر سیستم را در بردارد.
همانطور که لاگین سرور به سرور رل ها متصل می شود، لاگین کاربر به رل های دیتابیس متصل شده که قوانین را در دیتابیس در نظر می گیرند. رل های دیتابیس سرور شامل dbaccessadmin، db securityadmin، db owner و public می باشد.

۴. Securables و Permissions


زمانی که رل دیتابیس یا سرور، به کاربر دسترسی خیلی زیاد یا خیلی کم بدهد؛ می توان به جای آن یک یا چند securable تعریف کرد. Securable در سرور، اسکیما و سطوح دیتابیس وجود دارد؛ منابع سرور SQL وجود دارد که می توان با لاگین های یوزر و سرور به آن دسترسی داشت. برای مثال، با استفاده از securable، به یک لاگین سرور، دسترسی استفاده از یک میز کاربری یا عملکرد خاصی داده می شود، یک سطحی از کاربری که با مشخص کردن یک رل برای یک لاگین غیر ممکن خواهد بود.

در ویژگی های سرورهای SQL، از Permissions برای دسترسی های اصلی به بخش securable سرور SQL استفاده می شود. از آن برای دیدن و یا تغییر دیتا می توان استفاده کرد. بخش های DENY، GRANT و REVOKE T-SQL برای تنظیم کردن permission ها استفاده می شود.
هرچند permissionها می توانند پیچیده باشند. برای مثال، تنظیم DENY در securable از ادامه پیدا کردن این permission در سطوح پایین تر جلوگیری می کند. در بین ویژگی های سرورهای SQL چون permissionها پیچیده هستند، ارزش این را دارد که آن ها را با استفاده از T-SQL چک کرد.

۵. رمزگذاری داده ها در سرورهای SQL


از جمله ویژگی های سرورهای SQL رمزگذاری داده هاست و سرور SQL چندین نوع گزینه رمزگذاری را پشتیبانی می کند:

  • Secure Sockets Layer (SSL) با عبور از بین instance سرور و برنامه مشتری، ترافیک را رمزگذاری می کند، که دقیقاً مانند ترافیک اینترنت است که بین مرورگر و سرور امن می شود. علاوه بر این، مشتری می تواند هویت سرور را با استفاده از گواهی سرور، تایید کند.
  • Transparent Data Encryption(TDE) در بین ویژگی های سرورهای SQL، داده را بر روی دیسک رمزگذاری می کند. به طور خاص، درون داده را رمزگذاری کرده و فایل ها را محدود می کند. کاربردهای مشتری لازم نیست زمانی که TDE استفاده می شود، تغییر کند.
  • Backup Encryption به TDE شبیه است اما پشتیبان های SQL را به جای داده فعال و فایل ها، رمزگذاری می کند.
  • Column/Cell-Level Encryption از این که یک داده مشخص در دیتابیس رمزگذاری شود و باقی بماند حتی زمانی که در حافظه ذخیره شده است؛ مطمئن می شود. داده از رمزگذاری با استفاده از یک فانکشن و تغییر کاربری مشتری، خارج می شود.
  • Always Encrypted در بین ویژگی های سرورهای SQL، یک نمونه پیشرفته بر Column/Cell-Level Encryption است که نیاز به ایجاد تغییر در کاربری مشتری ندارد. داده های رمزگذاری شده در شبکه، در حافظه و بر روی دیسک باقی می مانند. حتی داده های حساس را در مقابل چشم های کنجکاو کاربران SQL سرور محافظت می کند. اما می توان یک سری مشکل در مورد این نوع رمزگذاری مطرح کرد، چون سرور SQL نمی تواند داده را بخواند بعضی از فانکشن ها و ایندکس ها در آن کار نمی کند.

۶. Row-Level Security


Row-Level Security (RLS) در ویژگی های سرورهای SQL، به سازمان ها اجازه می دهد تا کنترل کنند چه کسانی به ردیف های دیتابیس دسترسی داشته باشند. برای مثال، می توان کاربرها را برای دیدن تنها ردیف هایی که شامل اطلاعاتی درباره ی مشتری ها هستند، محدود کرد.

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

[ratings]

اسکرول به بالا