اعمال گواهینامه SSL روی SQL Server

اعمال گواهینامه SSL روی SQL Server

نوشته شده توسط: تیم فنی نیک آموز
تاریخ انتشار: ۰۳ شهریور ۱۴۰۳
آخرین بروزرسانی: ۰۳ شهریور ۱۴۰۳
زمان مطالعه: 12 دقیقه
۵
(۱)

تنظیم SSL بر روی دیتابیس‌های عملیاتی یکی از مسائل مهمی است که برای تامین امنیت ارتباط SQL Server با کلاینت‌ها باید در نظر بگیرید. مایکروسافت در نسخه‌های جدید SQL Server توانسته عملیات اعمال گواهینامه SSL را ساده‌تر و کوتاه‌تر کند. با ما همراه باشید تا با نحوه تنظیم SSL روی SQL Server آشنا شوید.

دوره آموزش امنیت در SQL Server 2022 نیک آموز

آشنایی با پروتکل SSL و کاربرد آن در دیتابیس

برای آشنایی با نحوه تنظیم SSL بر روی دیتابیس‌های عملیاتی، بهتر است ابتدا با این پروتکل و کاربرد آن در دیتابیس آشنا شویم. پروتکل Secure Sockets Layer یا «لایه سوکت‌های امن» که به اختصار از آن با عنوان SSL هم یاد می‌شود، یک پروتکل ارتباطی مبتنی بر رمزنگاری است. 

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

مزایای استفاده از SSL در SQL Server

مهم‌ترین دلایل تنظیم SSL بر روی دیتابیس‌های عملیاتی عبارت‌اند از:

  • ساده بودن پیاده‌سازی SSL در SQL Server.
  • کلاینت‌ها برای اتصال به SQL Server از طریق SSL، باید مراحل ساده و مختصری را طی کنند.
  • ما فقط به رمزنگاری اطلاعات نیاز نداریم، بلکه باید طرف‌های موجود در یک ارتباط را هم احراز هویت کنیم؛ پروتکل SSL امکان احراز هویت را هم در اختیار ما قرار می‌دهد.
  • با ایجاد یک PKI (زیرساخت کلید عمومی) مناسب، می‌توان پایگاه داده را در برابر هک، نفوذ، نشت اطلاعات و… محافظت کرد.

حالا که با فواید استفاده از SSL در SQL Server آشنا شدیم به نحوه استفاده از آن در برنامه مدیریت پایگاه داده Microsoft SQL Server می‌پردازیم.

معرفی قابلیت SSL در SQL Server نسخه جدید

تنظیم SSL بر روی دیتابیس‌های عملیاتی از نسخه ۲۰۱۹ به بعد بسیار راحت شده است؛ چرا که برنامه مدیریت پایگاه داده Microsoft SQl Server از نسخه سال ۲۰۱۹ به بعد به قابلیت Certificate management مجهز شده که می‌توان از طریق آن، تنظیمات SSL را اعمال کرد.

قبلا، برای پیاده‌سازی پروتکل‌هایی مثل SSL در SQL Server باید اسکریپت‌ها و دستورات طولانی را به صورت دستی می‌نوشتیم. 

برنامه Certificate management امکاناتی مثل:

  • اضافه کردن گواهینامه SSL به SQL Server به صورت مستقیم.
  • مشاهده و اعتبارسنجی گواهینامه‌های SSL نصب شده روی SQL Server.
  • بررسی تاریخ انقضای گواهینامه‌های SSL.
  • اعمال گواهینامه SSL روی سرورهایی با توپولوژی FCI (یا همان Always On Failover Cluster Instance) و AG (یا همان Availability Group).

را در SQL Server برای شما فراهم می‌کند. 

مهم‌ترین قابلیتی که به نسخه ۲۰۱۹ به بعد اضافه شده، این است که می‌توانید گواهینامه‌های SSL/TLS را به صورت مستقیم وارد SQL Server کنید. بنابراین پروسه تنظیم SSL بر روی دیتابیس‌های عملیاتی بسیار ساده و کوتاه شده است.

اگر نگاهی به تصاویر زیر بیندازیم، می‌توانیم دکمه‌ای که اجازه اضافه کردن گواهینامه SSL به صورت مستقیم را به ما می‌دهد، مشاهده کنیم (تصویر سمت چپ مربوط به SQL Server 2017 و سمت راست مربوط به نسخه ۲۰۱۹ آن است):

 

 

اضافه کردن گواهینامه SSL به صورت مستقیم

 

در ادامه، با پیش نیازهای تنظیم SSL بر روی دیتابیس‌های عملیاتی آشنا می‌شویم.

آشنایی با پیش نیازهای تنظیم SSL بر روی دیتابیس های عملیاتی

قبل از انجام هر کاری و برای اطمینان از موفقیت‌آمیز بودن عملیات پیش‌رو، باید تعدادی از گزینه‌های موجود در برنامه Local Group Policy Editor را فعال یا غیرفعال کنیم. این برنامه، بخش مهمی از سیستم‌عامل ویندوز است که به کمک آن می‌توان قابلیت‌های عملکردی سیستم‌عامل را کنترل کرد.

برای اجرای این برنامه، کلیدهای ویندوز و R را به صورت هم‌زمان فشار دهید تا برنامه Run، اجرا شود. یا این که می‌توانید این برنامه را با جستجو در منوی استارت (Start)، پیدا و اجرا کنید. پس از باز شدن Run، عبارت «gpedit.msc» را تایپ کرده و کلید Enter را بزنید. حالا باید پنجره Local Group Policy Editor برای شما باز شده باشد:

 

پنجره Local Group Policy Editor

 

حالا از سمت چپ برنامه، منوی User Configuration را باز کنید. سپس روی گزینه Administrative Templates و در نهایت روی گزینه Windows components کلیک کنید:

 

User Configuration

 

در این بخش، پوشه Microsoft Management Console را باز کنید. حالا باید روی  Restrict the user from entering author mode کلیک راست کرده و گزینه Edit را انتخاب کنید (مانند شکل زیر):

 

پوشه Microsoft Management Console

 

در پنجره‌ای که برای شما باز شده، تنظیمات را روی گزینه Disabled قرار داده و سپس دکمه‌های Apply و OK را به ترتیب بزنید:

 

پنجره   Restrict the user from entering author mode

 

با انجام این تنظیمات، توانایی پیکربندی تنظیمات کنسول مدیریتی یا همان Management Console به شما اعطا می‌شود.

در ادامه انجام پیش‌نیازهای لازم برای تنظیم SSL بر روی دیتابیس‌های عملیاتی باید گزینه Restricted/Permitted snap-ins را انتخاب کنید:

 

ادامه پیش‌نیازهای لازم برای تنظیم SSL

 

گزینه‌هایی که در تصویر بالا مشخص کرده‌ایم (یعنی گزینه‌های Certification authority، Certificates و Computer management) را فعال کنید تا دسترسی شما به تنظیماتی که قرار است در عملیات پیش‌رو قرار دهید، فراهم شود.

در ادامه، باید گواهینامه SSL موجود در کامپیوتری که SQL Server روی آن نصب شده را بررسی کنیم.

 

بررسی گواهینامه فعلی موجود در سرور

در ادامه آموزش تنظیم SSL بر روی دیتابیس‌های عملیاتی باید snap-inها (ابزارهای مدیریتی موجود در کنسول مدیریت ویندوز) زیر را اجرا کنید:

  • certlm.msc: بررسی گواهینامه‌های موجود در کامپیوتر شما
  • certmgr.msc: بررسی گواهینامه‌های مرتبط با کاربر

برای اجرای این برنامه‌ها، خط فرمان (Command Line) یا PowerShell را در حالت Administrative باز کرده و هر یک از عبارت‌های بالا را تایپ و اجرا کنید.

پس از باز کردن certmgr.msc به دنبال پوشه Trusted Root Certification Authorities/Certificates بگردید: 

 

بررسی گواهینامه فعلی موجود در سرور

 

در این مثال که برای تنظیم SSL بر روی دیتابیس‌های عملیاتی در نظر گرفته‌ایم، ما از یک گواهینامه با نامی که در تصویر بالا مشخص شده (البته این نام، نام ماشین یا کامپیوتری است که SQL Server روی آن اجرا می‌شود)، استفاده کرده‌ایم.

حالا روی این گواهینامه، دوبار کلیک می‌کنیم تا پنجره مربوط به جزئیات آن باز شود. پس از باز شدن پنجره، وارد زبانه Details می‌شویم. مقادیر خاصی را در این  بخش، باید تغییر دهیم. اول از همه، مقدار Issuer را به کامل‌ترین نام شناخته شده کامپیوتر یا همان Fully Qualified Domain Name تغییر می‌دهیم:

 

تنظیم SSL

 

مقدار Enhanced Key Usage هم باید مقادیر موجود در تصویر زیر را داشته باشد:

 

مقدار Enhanced Key Usage

 

در ادامه انجام پیش‌نیازهای لازم برای تنظیم SSL بر روی دیتابیس‌های عملیاتی، روی دکمه Edit Properties کلیک کرده و برای گزینه Enable only the following purposes، یک نام انتخاب می‌کنیم:

 

ادامه پیش‌نیازهای لازم برای تنظیم SSL

 

کار تمام است. حالا باید در ادامه، با نحوه پیکربندی SQL Server برای رمزنگاری از طریق SSL آشنا شویم.

نحوه پیکربندی SQL Server برای استفاده از پروتکل SSL در نسخه های جدید 

در این قسمت، نحوه تنظیم SSL بر روی دیتابیس‌های عملیاتی با استفاده از SQL Server ۲۰۱۹ به بعد را به صورت قدم به قدم توضیح می‌دهیم.

 

۱. در قدم اول، باید SQL Server 2019 Configuration Manager را اجرا کنید. سپس باید روی دیتابیس خود (که در مثال ما، SQL2K19 نام دارد) راست کلیک کرده و گزینه Properties را انتخاب کنید:

 

پیکر بندی SQL Server 2019 Configuration Manager

 

۲. حالا باید پنجره تنظیمات دیتابیس انتخابی خود را مشاهده کنید. به زبانه Certificate رفته و روی دکمه Import کلیک کنید. با این کار، پنجره انتخاب Certificate برای شما نمایش داده می‌شود:

 

پنجره تنظیمات دیتابیس

 

۳. در پنجره انتخاب Certificate، با دو گزینه مواجه خواهید شد. شما می‌توانید برای تنظیم SSL بر روی دیتابیس‌های عملیاتی یکی از انواع Certificteهای PFX یا PEM را وارد کنید. ما در این مثال، از یک Certificate که با رمز عبور محافظت شده است (PFX) استفاده کرده‌ایم:

 

پنجره انتخاب Certificate

 

۴. پس از وارد کردن رمز عبور، خلاصه‌ای از تنظیمات Certificate را مشاهده می‌کنیم. آن‌ها را بررسی کرده و سپس روی دکمه Next کلیک می‌کنیم:

 

خلاصه‌ای از تنظیمات Certificate

 

۵. در این مرحله از آموزش تنظیم SSL بر روی دیتابیس‌های عملیاتی به ما یادآوری می‌شود که برای اعمال تغییرات روی دیتابیس، باید آن را مجددا راه‌اندازی کنیم:

 

راه‌اندازی مجدد SSL

 

۶. در این مرحله، خلاصه‌ای از روند اعمال گواهینامه روی دیتابیس را مشاهده می‌کنیم:

 

خلاصه‌ای از روند اعمال گواهینامه

 

۷. پس از اتمام مراحل و راه‌اندازی مجدد دیتابیس، دوباره روی دیتابیس خود کلیک راست کرده و وارد Properties می‌شویم. حالا می‌توانیم در زبانه Certificate ببینیم که گواهینامه انتخابی ما به درستی اعمال شده است:

 

تنظیمات دیتابیس

 

۸. اگر روی دکمه View کلیک کنید، می‌توانید جزئیات گواهینامه SSL (مثل Subject Alternative Name، نام مستعار و…) را مشاهده کنید:

 

جزئیات گواهینامه SSL

 

۹. در مرحله آخر از تنظیم SSL بر روی دیتابیس‌های عملیاتی حالا باید تصمیم بگیریم که آیا تمامی اتصالات به دیتابیس ما، از کانال پروتکل SSL انجام شود یا نه. بری این کار، وارد زبانه Flags شده و مقدار گزینه Force Encryption را در حالت Yes قرار می‌دهیم. برای اعمال این تغییرات هم باید دیتابیس را مجددا راه‌اندازی کنید:

 

گزینه Force Encryption

 

با اعمال این تغییرات، اتصال کلاینت‌ها به SQL Server به صورت رمزنگاری شده و از طریق کانال SSL انجام خواهد شد.

جمع بندی: اعمال گواهینامه SSL روی SQL Server

در این مطلب با تنظیم SSL بر روی دیتابیس‌های عملیاتی آشنا شدیم. به پیش‌نیازهای تنظیم SSL اشاره کردیم و سپس ویژگی‌های برنامه Certificate Management را در SQL Server نسخه جدید، توضیح دادیم. همچنین نحوه اعمال گواهینامه SSL روی SQL Server  را هم به صورت کامل و قدم به قدم، دنبال کردیم. امیدواریم که این آموزش، مورد توجه شما قرار گرفته باشد.

چه رتبه ای می‌دهید؟

میانگین ۵ / ۵. از مجموع ۱

اولین نفر باش

title sign
معرفی نویسنده
تیم فنی نیک آموز
مقالات
402 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
تیم فنی نیک آموز
title sign
دیدگاه کاربران