امنیت در SQL Server

security in sql server

ویژگی‌های دوره امنیت در SQL

طول دوره

طول دوره: ۳۵ ساعت

نام استاد

استاد: مسعود طاهری

نوع ارائه

نوع ارائه: انتشار جلسات به صورت هفتگی

پرسش و پاسخ

پرسش و پاسخ: گروه پشتیبانی

مدرک رکت در دوره

مدرک شرکت در دوره: به دو زبان فارسی و انگلیسی

پیشنیاز شرکت در دوره

رفع اشکال کارگاهی: ۲ جلسه در طول ترم

مخاطبان دوره

مدل‌های ثبت‌نام این دوره

بنا به نیاز و درخواست دانشجویان، دو نوع ثبت‌نام برای این دوره در نظر گرفته‌ایم که هر کدام شامل موارد به خصوصی می‌شوند.

دوره نقره‌ای

دوره طلایی

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

چک لیست عارضه یابی امنیت در SQL Server مطابق با استاندارد NIST بصورت فارسی

ارائه ابزار تخصصی برای Block کردن حملات Brute-Force در SQL Server

آموزش ویدئویی فارسی ابزار تخصصی Block کردن حملات Brute-Force

ارائه اسکریپت های پرکاربرد در حوزه امنیت SQL Servere

آموزش و ارائه برنامه PsExec و نحوه استفاده از آن در سناریوهای SQL Server

آموزش و ارائه ابزار جهت مانتیور کردن ترافیک SQL Server در شبکه

آموزش و ارائه ابزار برای Recovery رمز عبور Loginها در SQL Server

آموزش و ارائه ابزار در جهت مشاهده کدهای CLR Object در SQL Server

آموزش و ارائه ابزار در جهت بازیابی سورس اشیاء Encrypt شده در SQL Server

آموزش و ارائه ابزار در جهت اجرای فرمان در سرورهای دیگر با استفاده از SQL Server

گروه تلگرامی پرسش و پاسخ

دو جلسه ۶۰ دقیقه‌ای پرسش و پاسخ در حوزه امنیت در SQL Server

ابزار Idera SQL Secure به همراه لایسنس معتبر

آموزش فارسی Idera SQL Secure

آموزش فارسی Idera SQL Compliance Manager

ابزار Idera SQL Compliance Manager به همراه لایسنس معتبر

ابزار Idera SQL Secure به همراه لایسنس معتبر

یک جلسه مشاوره ۶۰ دقیقه‌ای با تیم فنی نیک آموز

ثبت نام با ۴۰ درصد تخفیف در جشنواره یلدای ۱۴۰۳

۷.۰۰۰.۰۰۰ تومان

۲۰.۵۰۰.۰۰۰ تومان

مزایای دوره آنلاین

آنلاین (پخش زنده)

مشاهده دوره به صورت زنده و ارتباط مستقیم با استاد

بدون ترافیک

صرفه‌جویی در زمان، هزینه و انرژی در طول دوره

شبکه سازی

ارتباط با سایر شرکت‌کنندگان و توانایی تعامل

گام به گام

امکان آموختن گام به گام، روان و با سرعت استاندارد

پرسش و پاسخ

دسترسی هم‌زمان به استاد برای پرسش و پاسخ سریع

دسترسی‌پذیری

دسترسی به کلاس، در هر شرایط زمانی و مکانی

سرفصل‌های آموزشی

سرفصل‌های دوره

بررسی امنیت نسخه‌های پشتیبان در SQL Server

۵۱ فصل

۱۵ جلسه

۱۵ تا ۲۰ ساعت

۱

تعاریف و مفاهیم اولیه

۱- بررسی اهداف پیاده‌سازی امنیت

۲- معرفی مفهوم Authentication

۳- معرفی مفهوم Authorization

۴- معرفی اولیه Windows Authentication

۵- معرفی اولیه SQL Server Authentication

۶- معرفی اولیه مفهوم Login

۷- معرفی اولیه مفهوم User

۸- معرفی اولیه مفهوم Windows Service

۹- معرفی اولیه برنامه Services ویندوز و نحوه کار کردن با آن

۱۰- معرفی برنامه SQL Serer Configuration Manager

۱۱- معرفی برنامه Windows Event Viewer

۱۲- معرفی برنامه MMC و نحوه کار با آن

۱۳- معرفی برنامه Windows Service Manger و نحوه کار با آن

۱۴- بررسی نحوه تعریف و مدیریت کاربران در سیستم عامل ویندوز

۱۵-بررسی نحوه اجرای برنامه‌ها در ویندوز با دسترسی کاربران مختلف

۱۶- آشنایی با برنامه Group Policy در سیستم عامل ویندوز

۱۷- معرفی اولیه Power Shell و نحوه کار با آن

۱۸- معرفی اولیه Command Prompt و نحوه کار با آن

۱۹- بررسی نحوه Impersonate کردن Command Prompt

۲۰- معرفی مفهوم Instance در SQL Server

۲۱- بررسی مفهوم Default Instance در SQL Server

۲۲- بررسی مفهوم Named Instance در SQL Server

۲۳- آشنایی با مفهوم Stored Procedureهای سیستمی

۲۴- آشنایی با مفهوم Dynamic Management View های سیستمی

۲۵- آشنایی با مفهوم Functionهای سیستمی

برنامه SQL Server Configuration Manager که به همراه SQL Server نصب می‌گردد یکی از برنامه‌های قدرتمند مدیریت سرویس‌های SQL Server می‌باشد. برخی از نکات مربوط به حوزه امنیت و همچنین حوزه Performance در SQL Server توسط این برنامه باید تنظیم گردد، همیشه در طی پروژه‌ها و آموزش‌هایی که که انجام می‌دهیم به کار کردن اصولی با این برنامه تاکید ویژه‌ای داشتم.

۲

نصب یک نسخه از SQL Server به صورت اَمن

۱- معرفی نسخه‌های SQL Server

۲- بررسی نحوه نصب SQL Server امن بر روی یک سرور

۳- بررسی نحوه نصب سرویس SSIS

۴- بررسی نحوه نصب سرویس SSAS

۵- بررسی بخش‌های مختلف SQL Server هنگام نصب

۶- بررسی تنظیمات Accountهای راه‌انداز سرویس هنگام نصب

۷- نکات مهم در خصوص تغییر نام سرور مربوط به SQL Server

۸- بررسی Authentication Mode و تنظیمات مربوط به آن هنگام نصب

برای نصب امن یک نسخه از SQL Server باید یکسری نکات را رعایت کرد. ما در طی این دوره نکات کاربردی و مهمی در خصوص نصب SQL Server به صورت امن را به شما آموزش خواهیم داد.

۳

بررسی بانک‌های اطلاعاتی سیستمی

۱- بررسی کاربرد بانک‌های اطلاعاتی سیستمی

۲- بررسی بانک اطلاعاتی سیستمی master

۳- بررسی بانک اطلاعاتی سیستمی msdb

۴- بررسی بانک اطلاعاتی سیستمی tempdb

۵- بررسی بانک اطلاعاتی سیستمی model

۶- بررسی بانک اطلاعاتی سیستمی resourcedb

یکی از بانک‌های اطلاعاتی مهم و کاربردی که مهم‌ترین تنظیمات امنیتی SQL Server بر روی آن ذخیره می‌گردد بانک اطلاعاتی master است. در طی این دوره با جداول مهم این بانک اطلاعاتی آشنا شده و نقش آن در امنیت SQL Server را بررسی خواهیم کرد.

۴

بررسی اولیه سرویس‌های SQL Server و امن سازی آن‌ها

۱- بررسی سرویس اصلی SQL Server

۲- بررسی سرویس Agent

۳- بررسی سرویس SSIS

۴- بررسی سرویس SSAS

۵- بررسی سرویس Full Text Search

۶- بررسی سرویس PolyBase

۷- بررسی سرویس SQL Server Browser

۸- بررسی سرویس CEIP در SQL Server و نکات امنیتی مربوط به آن

۹- بررسی فعال و غیر فعال سازی سرویس‌های وابسته به SQL Server

۱۰- بررسی تاثیر فعال و یا غیر فعال بودن سرویس‌های SQL Server در امنیت آن

۱۱- بررسی نحوه تنظیم Accountهای راه‌انداز برای سرویس‌های SQL Server

۱۲- بررسی نحوه راه‌اندازی سرویس‌های SQL Server با استفاده از Local System

۱۳- بررسی نحوه راه‌اندازی سرویس‌های SQL Server با استفاده از Local Service

۱۴- بررسی نحوه راه‌اندازی سرویس‌های SQL Server با استفاده از Network Service

۱۵- بررسی نحوه راه‌اندازی سرویس‌های SQL Server با استفاده از Virtual Account

۱۶- معرفی MSA Accountها و نحوه راه‌اندازی سرویس‌های SQL Server با استفاده از آن

۱۷- معرفی GMSA و نحوه راه‌اندازی سرویس‌های SQL Server با استفاده از آن

۱۸- بررسی تعریف Custom Account و نحوه راه‌اندازی سرویس‌های SQL Server با استفاده از آن

۱۹- بررسی Permissionهای لازم برای راه‌اندازی Custom Account

۲۰- نحوه اعمال دسترسی برای ذخیره نسخه پشتیبان SQL Server تحت شبکه به صورت Domain

۲۱- نحوه اعمال دسترسی برای ذخیره نسخه پشتیبان SQL Server تحت شبکه به صورت Workgroup

۲۲-معرفی اولیه دستور Net و نحوه مدیریت سرویس‌های SQL Server با استفاده از آن

 

برای راه‌اندازی سرویس‌های SQL Server نیاز به اکانت راه‌انداز (Log on) است.تنظیمات مربوط به این بخش به شدت مهم است، متاسفانه در حال حاضر برخی از ادمین‌ها سرویس SQL Server را با Local System استارت می‌زنند و اصلاً به فکر امنیت سرورهای خود نمی‌باشند، ما در نیک آموز موارد مربوط به این حوزه را به خوبی بررسی خواهیم کرد.

۵

بررسی Sessionها در SQL Server

۱- بررسی مفهوم Session در SQL Server

۲- آشنایی با Procedureهای سیستمی جهت کار با Sessionها

۳- آشنایی با Functionهای سیستمی جهت کار با Sessionها

۴- آشنایی با DMVهای سیستمی جهت کار با Sessionها

۵- بررسی Context Info و تنظیمات آن در SQL Server

۶- بررسی نحوه مشاهده هر کدام از دستورات اجرا شده توسط Sessionها

۷- بررسی نحوه مانیتور کردن Sessionها در SQL Server

۸- بررسی روش‌های ارسال مشخصات Business User به SQL Server

۹- بررسی Kill کردن Sessionها و نکات مربوط به آن

 

ما در SQL Server می‌توانیم لیست Sessionهایی که به آن متصل شده‌ و در حال اجرای دستورات هستند را بدست آورده و دستورات آنها را مشاهده کرد. این موضوع باعث می‌شود که ما بتوانیم راحت‌تر سرور خود را از لحاظ امنیتی مانیتور کنیم. برای این منظور می‌توان از DMVهای کاربردی سیستمی استفاده کرد.

۶

بررسی بخش تنظیمات پیشرفته SQL Server (کار با پروسیجر SP_Configure)

۱- بررسی بخش تنطیمات پیشرفته SQL Server

۲- بررسی نحوه استفاده از پروسیجر سیستمی SP_Configure

۳- بررسی نحوه فعال و غیر فعال‌سازی تنظیمات پیشرفته

۴- بررسی تنظیمات مفید امنیتی در بخش تنظیمات پیشرفته

 

یکی از بخش‌های جذاب SQL Server کار کردن با قسمت تنظیمات مربوط به آن می‌باشد. برای کار با تنظیمات پیشرفته در SQL Server می‌توان از پروسیجر سیستمی sp_configure استفاده کرد، ما در طی این دوره نحوه کار با این پروسیجر و تنظیم‌های مهم امنیتی SQL Server را به شما آموزش خواهیم داد.

۷

بررسی Connection String و تنظیمات امنیتی مربوط به آن

۱- بررسی مفهوم Connection String

۲- بررسی اجزاء مهم Connection String

۳- بررسی تکنیک‌های امن کردن Connection String

۴- بررسی ارسال داده اضافی به همراه Connection String به SQL Server

۵- بررسی امن کردن Connection String در دات نت

 

چند سال پیش یکی از شرکت‌هایی که با آنها پروژه داشتیم دنبال روشی برای ارسال Business User به همراه Connection String به بانک اطلاعاتی بود. روشی که خود آنها استفاده کرده بودند استفاده از پارمتر Application Name بود اما این موضوع باعث بوجود آمدن مشکلاتی مانند Connection Pooling و… شده بود. برای رفع مشکلات مربوط به این موضوع ما استفاده از Context Info را به آنها پیشنهاد دادیم. استفاده از Context Info در سناریوهایی که امنیت برای آنها مهم است کاربردی می‌باشد.

۸

بررسی تنظیمات پیشرفته SQL Server جهت اتصال

۱- بررسی DAC Connection

۲- بررسی نحوه استفاده از DAC Connection در SQL Server

۳- بررسی نحوه Single Mode کردن سرویس SQL Server

۴- بررسی سوئیچ‌های کاربردی سرویس اصلی SQL Server

۵- بررسی نحوه اتصال به SQL Server بدون داشتتن Login Name و Password

 

در برخی سرور SQL Server به طور وحشتناکی Busy است که امکان پاسخ دهی به کاربران و همچنین اتصال به آن به سختی فراهم است. در این حالت حتی به راحتی نمی‌توان به سرور Remote زد و یا با استفاده از SSMS از طریق یک کلاینت به SQL Server متصل شد، خیلی از کاربران در چنین مواقعی ماشین مجازی مربوط به سرور را Reset می‌کنند. اما یک راهکار دیگر برای اتصال به SQL Server  و انجام کارهای مدیریتی وجود دارد و آن استفاده از Dedicate Administrator Connection است که به اختصار به آن DAC می‌گویند. من از ویژگی در سرورهایی که احتمال می‌دهم به علت حجم درخواست‌ها ممکن است Busy شوند استفاده می‌کنم.

۹

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

۱- آشنایی با مفهوم TCP Port و اعمال تنظیمات مربوط به آن

۲- بررسی TCP Portهای لازم برای کار با SQL Server

۳- بررسی نحوه پیدا کردن Instanceهای نصب شده در SQL Server

۴- بررسی Firewall و نحوه تنظیم آن برای SQL Server

۵- بررسی TLS و انجام تنظیمات مربوط به آن در SQL Server

۶- بررسی تنظیمات مربوط به Extended Protection در SQL Server

 

به طور خیلی ساده TLS یک پروتکل برای رمز کردن داده‌ها در بستر ارتباطی می‌باشد. به وسیله این پروتکل زمانی که کلاینت به SQL Server متصل می‌شود داده‌هایی که در بستر شبکه ارسال می‌شوند با استفاده از این پروتکل رمز می‌شوند. چند وقت پیش تیم ما یک تجربه جالب برای استفاده از این موضوع بر روی سرور یک Application ویندوزی قدیمی داشت که برای امن سازی داده‌هایی که در سطح شبکه (اینترنت داخلی) در حال استفاده بود از آن استفاده کردیم.

۱۰

بررسی Filestream

۱- بررسی نحوه فعال‌سازی Filestream

۲- ایجاد بانک‌های اطلاعاتی Filestream

۳- بررسی امنیت SQL Server هنگام کار با Filestream

۴- بررسی Filetable و نکات امنیتی مربوط به آن

۵- بررسی Encrypt کردن فایل‌های ذخیره شده با تکنولوژی‌های Filestream

 

تکنولوژی Filestream در SQL Server جهت مدیریت ذخیره و بازیابی BLOB می‌باشد. اگر شما می‌خواهید تصویر، فایل Word، فایل PDF و… را در SQL Server ذخیره کنید ویژگی Filestream و تکنولوژی‌های وابسته به آن می‌تواند برای شما مناسب باشد. زمانی که از Filestream استفاده می‌کنید باید حواستان به امنیت فایل‌های ذخیره شده بوسیله این تکنولوژی باشید ما در طی این دوره نکات کاربردی در خصوص امنیت این تکنولوژی به شما ارائه خواهیم کرد.

۱۱

امن‌سازی فایل‌های بانک اطلاعاتی در سطح سیستم عامل

۱- بررسی مفهوم Principal

۲- بررسی سطوح Principle در سطح ویندوز و SQL Server و Database

۳- بررسی مفهوم Securable

۴- بررسی مفهوم Permission

۵- بررسی ساختار امنیتی SQL Server

۶- بررسی مفهوم Instance Level Security

۷- بررسی مفهوم Database Level Security

۸- بررسی سلسله مراتب امنیت و دسترسی در SQL Server

۹- بررسی تفاوت‌های Login و User

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

۱۲

بررسی مفاهیم اولیه Security در SQL Server

۱- بررسی مفهوم Principal

۲- بررسی سطوح Principle در سطح ویندوز و SQL Server و Database

۳- بررسی مفهوم Securable

۴- بررسی مفهوم Permission

۵- بررسی ساختار امنیتی SQL Server

۶- بررسی مفهوم Instance Level Security

۷- بررسی مفهوم Database Level Security

۸- بررسی سلسله مراتب امنیت و دسترسی در SQL Server

۹- بررسی تفاوت‌های Login و User

 

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

۱۳

بررسی Login

۱- بررسی نحوه تعریف Login

۲- بررسی انواع Loginها در SQL Server

۳- بررسی نحوه تنظیم Password Policy برای SQL Server

۴- بررسی نحوه اعطای مجوز به Loginها

۵- بررسی نحوه گرفتن مجوز از Loginها

۶- بررسی دستورات Grant، Revoke، Deny

۷- بررسی نحوه تخصیص دسترسی‌های مختلف به Loginها

۸- بررسی سناریوهای کاربردی در خصوص تخصیص دسترسی به Loginها

۹- بررسی نحوه Impersonate کردن به دسترسی یک Login

۱۰- بررسی Map شدن بین لاگین‌ها و Userها پس از Restore بانک اطلاعاتی

۱۱- بررسی نحوه انتقال لاگین‌های یک سرور به یک سرور دیگر

۱۲- بررسی مفهوم SID و نکات مربوط به آن

۱۳- بررسی مفهوم Brute-Force Attack و ارائه راه‌حل برای آن در SQL Server

۱۴- بررسی دلایل غیر فعال کردن لاگین SA در SQL Server

۱۵- بررسی مباحث مربوط به Cross Database Security

۱۶- بررسی توابع ، DMF، DMV وSPهای مربوط به این حوزه

۱۷- بررسی عمال تنظیمات مناسب برای Owner بانک‌های اطلاعاتی و سایر اشیاء

۱۸- بررسی Server Permissionهای جدید در نسخه جدید SQL Server

 

اولین گام جهت اتصال به SQL Server داشتن یک لاگین معتبر است. زمانی که شما Login تعریف می‌کنید درگیر مباحث مانند Password Policy، Server Role و… هستید. یکی از اشتباه‌‌هایی که اکثر کاربران در این حوزه انجام می‌دهند این است که یک Login تعریف و نقش آن را به عنوان Sys Admin در نظر گرفته و در اختیار سایر کاربران قرار می‌دهند. توصیه ما به شما این است که به عنوان به هیچ عنوان به هر لاگینی نقش Sys Admin در SQL Server ارائه ندهید، مخصوصاً لاگین مربوط به Applicationها، اگر شما برای یک Application لاگینی با نقش Sys Admin ایجاد کنید نفوذ به SQL Server خود را راحت‌تر کرده‌اید.

۱۴

بررسی Server Role

۱- معرفی مفهوم Role و انواع آن

۲- بررسی Server Role

۳- بررسی انواع Server Roleها در SQL Server

۴- بررسی نحوه ایجاد Server Roleها سفارشی در SQL Server

۵- بررسی DMVهای مربوط به Server Roleها

۶- بررسی Server Roleهای جدید در نسخه جدید SQL Server

۷- بررسی DMVهای مربوط به Server Roleها

 

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

۱۵

بررسی User

۱- بررسی نحوه اعطای مجوز به کاربران

۲- بررسی نحوه گرفتن مجوز از کاربران

۳- بررسی دستورات Grant، Revoke، Deny

۴- بررسی سناریوهای کاربردی در خصوص تخصیص دسترسی به Userها

۵- بررسی نحوه Impersonate کردن به دسترسی یک User

۶- بررسی Database Permissionهای جدید در نسخه جدید SQL Server

۷- بررسی Ownership Chains

۸- بررسی نحوه تعریف کاربر با کمترین دسترسی برای کار با اشیاء بانک اطلاعاتی

۹- بررسی توابع ، DMF، DMV وSPهای مربوط به این حوزه

 

اگر بخواهید اشیاء مربوط به یک بانک اطلاعاتی را محدود کرده و درگیر دسترسی و… نمایید باید از Userهای موجود در Database کمک بگیرید، ما در SQL Server می‌توانیم کارهای جالبی با استفاده از Userها انجام دهیم. برای مثال می‌توانیم یک User داشته باشیم که صرفاً بتواند از داده‌های موجود در یک ویو Select بگیرد. استفاده از این موضوع می‌تواند برای امنیت سرورهای شما مفید واقع شود.

۱۶

بررسی Schema در SQL Server

۱- بررسی مفهوم Schema

۲- بررسی نحوه ایجاد Schema

۳- بررسی نحوه قرار دادن اشیاء (جدول، ویو و…) در Schema

۴- بررسی نحوه کنترل دسترسی و امنیت با استفاده از Schema

۵- بررسی نحوه تغییر Schema

۶- بررسی نحوه حذف کردن Schema

 

استفاده از Schema در SQL Server برای اولین بار در SQL Server 2005 بوجود آمد. با استفاده از این ویژگی می‌توانیم اشیاء موجود در بانک اطلاعاتی را گروه‌بندی کرده و امنیت مربوط به آنها را تامین نمایید، ما در طی این دوره به شما در این خصوص تکنیک‌های کاربردی را آموزش خواهیم داد.

۱۷

بررسی Database Role2

۱- معرفی مفهوم Role و انواع آن

۲- بررسی Database Role

۳- بررسی انواع Database Roleها در SQL Server

۴- بررسی نحوه ایجاد Database Roleها سفارشی در SQL Server

۵- اعمال دسترسی سفارشی به ازای Roleهای سفارشی

۶- بررسی DMVهای مربوط به Database Roleها

 

یکی از امکانات جالب SQL Server در سطح بانک اطلاعاتی Database Roleها هستند. شاید شنیده باشید که خیلی از دوستان برای دسترسی Applicationهای خود به بانک اطلاعاتی یک Login تعریف کرده و متناسب با آن یک User تعریف کرده و نقش ان را db_owner بانک اطلاعاتی قرار می‌دهند. این موضوع می‌تواند از لحاظ امنیتی کمی خطرناک باشد به دلیلی این لاگین Application شما دسترسی فراتر از بحث خواندن و نوشتن داده‌ها در جداول دارد برای مثال با استفاده از دسترسی db_owner برنامه شما می‌تواند جداول، ایندکس‌ها و… را به راحتی حذف نماید، به همین منظور پیشنهاد ما این است که شما Database Roleهای سفارشی ایجاد کرده و دسترسی به بانک اطلاعاتی خود را با استفاده از این موضوع کنترل نمایید.

۱۸

بررسی Application Role

۱- بررسی مفهوم Application Roleها

۲- بررسی نحوه ایجاد Application Roleها

۳- بررسی کاربرد Application Roleها

۴- بررسی نحوه تخصیص دسترسی به Application Roleها

۵- بررسی نحوه کار با پروسیجر sp_setapprole هنگام کار با Application Roleها

۶- بررسی DMVهای مربوط به Application Roleها

 

لاگین Application کاربردی شما بنا به دلایلی در دسترس برخی از افراد است. انتظار شما این است که این لاگین مخصوص Application باشد و کاربری نتواند با برنامه‌ای دیگر مثل SSMS و… به بانک اطلاعاتی وصل شود برای این منظور اگر بخواهید که دسترسی این لاگین صرفاً به دیتابیس مورد نظر شما با استفاده از Application خودتان باشد باید از Application Roleها استفاده نمایید، ما در طی این دوره نحوه استفاده از این موضوع را به شما آموزش خواهیم داد.

۱۹

بررسی Contained Database

۱- بررسی Contained Database

۲- بررسی تنظیمات مربوط به Contained Database Authentication

۳- بررسی تنظیمات Containment Type در Database

۴- بررسی نحوه ایجاد SQL User با Password

۵- بررسی نحوه اتصال به پایگاه داده‌ای که قابلیت Contained Database را پشتیبانی می‌کند

۶- بررسی DMV و DMFهای وابسته به مبحثContained Database

 

شرکت ما یک نرم‌افزار کاربردی ایجاد کرده که بانک اطلاعاتی آن SQL Server است و برای نصب آن در سازمان‌ها درگیر ایجاد مباحثی مانند Login و… می‌باشد، ما دنبال این موضوع هستیم که صرفاً Backup بانک اطلاعاتی خودمان را بر روی سرور مشتری راه‌اندازی کرده و همه مباحث مربوط به Login و دسترسی داخل خود بانک اطلاعاتی باشد. در SQL Server این موضوع را می‌توانیم با استفاده از Contained Database رفع و رجوع نماییم.

۲۰

بررسی Database Snapshot و نکات امنیتی آن

۱- معرفی Database Snapshot

۲- بررسی کاربردهای Database Snapshot

۳- بررسی نحوه تنظیم Database Snapshot بر روی بانک اطلاعاتی

۴- بررسی تاثیر استفاده از Database Snapshot بر روی امنیت بانک‌های اطلاعاتی

۵- بررسی محدودیت‌های Database Snapshot

 

یکی از ویژگی‌های جالب SQL Server  که می‌تواند برای تهیه کپی لحظه از وضعیت حال حاضر یک بانک اطلاعاتی مورد استفاده قرار گیرد، Database Snapshot (تصویر لحظه‌ای) است این موضوع می‌تواند در سناریوهایی امنیتی بانک‌های اطلاعاتی مورد استفاده قرار گیرد. استفاده این موضوع برای تیم ما در یک از پروژه‌هایی که داشتیم کاربردی بوده است، در طی این پروژه ما نیاز داشتیم که Snapshot کلیه داده‌های بانک اطلاعاتی را سه بار در طی روز داشته باشیم تا بتوانیم روند تغییر داده‌ها را طی آن فواصل زمانی بررسی داشته باشیم.

۲۱

بررسی Linked Servers و نکات امنیتی آن

۱- آموزش نحوه راه‌اندازی Linked Servers جهت اتصال به سایر Instanceها

۲- بررسی تنظیمات امنیتی در Linked Server

۳- پیاده‌سازی Impersonation در Linked Server

۴- استفاده از Synonym هنگام کار با Linked Server

۵- آشنایی با مفهوم Distributed Query و نحوه پیاده‌سازی آن در SQL Server

 

در سازمان‌هایی که با آنها کار کرده‌ام برخی از Applicationها از Linked Server برای ارتباط مابین سرورهای خود استفاده می‌کنند. زمانی که به تنظیمات امنیتی مربوط به Linked Server مراجعه می‌کنم با کمال تعجب مشاهده می‌کنم که کلیه کارها با دسترسی Full Access به سرور مقصد انجام می‌شود و هیچ کنترلی بر روی آن وجود ندارد. زمانی که دلیل این موضوع را جویا می‌شوم با کمال تعجب این جواب را می‌شنویم برای راحتی کار و همچنین نیاز برنامه، در صورتیکه که اگر بررسی دقیق انجام دهید متوجه می‌شوید که برنامه اصلاً نیاز به چنین دسترسی سمت Linked Server نداشته و  با دسترسی محدود می‌توان کار را انجام داد.

۲۲

بررسی PolyBase و نکات امنیتی مربوط به آن

۱- بررسی Polybase و کاربرد آن در SQL Server

۲- بررسی نحوه نصب و راه‌اندازی PolyBase

۳- بررسی مفهوم External Table در SQL Server

۴- بررسی استفاده از Polybase جهت اتصال به سایر بانک‌های اطلاعاتی

۵- بررسی نتظیمات امنیتی برای کار با PolyBase

۶- مقایسه PolyBase و Linked Server

 

اگر دنبال اتصال راحت SQL Server به سایر بانک‌های اطلاعاتی مانند Oracle، MongoDB و… هستید می‌توانید از PolyBase برای این موضوع کمک بگیرید. برای کار  با این تکنولوژی باید با ویژگی‌های امنیتی آن آشنا باشید تا بتوانید در محیط‌های عملیاتی به بهترین نحو ممکن از آن استفاده نمایید.

۲۳

ایجاد Functionها و نکات امنیتی مربوط به آن

۱- بررسی نکات امنیتی مناسب برای کار با Functionها

۲- بررسی انواع Permissionهای لازم در سطح Database برای کار با Functionها

۳- بررسی DMVهای مفید برای کار با Functionها

۴- بررسی نحوه Encrypt کردن سورس Functionها

۵- بررسی نحوه برگرداندن سورس Functionهای Encrypt شده

۲۴

ایجاد Stored Procedureها و نکات امنیتی مربوط به آن

بررسی نکات امنیتی مناسب برای کار با Stored Procedureها

بررسی انواع Permissionهای لازم در سطح Database برای کار با Stored Procedureها

بررسی DMVهای مفید برای کار با Stored Procedureها

بررسی نحوه Encrypt کردن سورس Stored Procedureها

بررسی نحوه برگرداندن سورس Stored Procedureهای Encrypt شده

۲۵

معرفی Procedureها و Functionهای پرکاربرد و نکات امنیتی مربوط به آنها

۱- بررسی پروسیجر سیستمی sp_ExecuteSQL

۲- بررسی پروسیجر سیستمی xp_cmdshell

۳- بررسی پروسیجر سیستمی sp_execute_external_script

۴- بررسی تابع OpenRowSet

۵- پیکربندی SQL Server جهت اجرای OS Command

۶- بررسی ریسک‌های فعال بودن قابلیت اجرای OS Commands بر روی SQL Server

۲۶

استفاده از CLR و نکات امنیتی مربوط به آن

۱- CLR چیست؟

۲- بررسی تنظیمات SQL Server برای کار با CLR

۳- بررسی انواع CLR Objectهای قابل استفاده برای SQL Server

۴- نحوه ایجاد Functionهای CLR و Register کردن آنها در .NET

۵- بررسی سطوح امنیتی هنگام کار با CLR در SQL Server

۶- بررسی استخراج سورس CLR Objectهای از SQL Server

استفاده از اشیاء CLR مانند پروسیجر، توابع، تریگر و… در بانک‌های اطلاعاتی جدید میان توسعه گران باب شده است. زمانی که شما از CLR استفاده می‌کنید می‌توان سطوح امنیتی مربوط به آن را هنگام Register کردن اسمبلی‌ها در SQL Server مشخص کنید. این تنظیم توسط خیلی از دوستان نادیده گرفته شده و در برخی از موارد برای راحتی کار و جلوگیری از خطا و… عموماً به صورت Unsafe در نظر گرفته می‌شود که این موضوع می‌تواند باعث بوجود آمدن مشکلات امنیتی در شرایطی خاص شود.

۲۷

بررسی Endpoint و نکات امنیتی مربوط به آن

۱- بررسی Endpoint و کاربرد آن در SQL Server

۲- بررسی انواع Endpointها و کاربرد هر کدام از آنها

۳- اعمال امنیت بر روی Endpointها

۴- بررسی DMVهای مرتبط با Endpointها

 

در SQL Server تمامی تعاملات شبکه با استفاده از Endpoint در SQL Server انجام می شود. نقطه پایانی یا Endpoint یک اصطلاح کلی برای نقطه اتصال بین یک کلاینت و یا سرور شبکه است که با تنظیم مناسب آن هنگام استفاده از تکنولوژی‌هایی مانند Service Broker، Database Mirroring و… امنیت سرورها را تضمین نمود. ما در طی این دوره نحوه ایجاد Endpoint و تنظیمات امنیتی مربوط به آنها را یاد خواهیم گرفت.

۲۸

بررسی استفاده از Proxy برای پیاده‌سازی امنیت

۱- بررسی Endpoint و کاربرد آن در SQL Server

۲- بررسی انواع Endpointها و کاربرد هر کدام از آنها

۳- اعمال امنیت بر روی Endpointها

۴- بررسی DMVهای مرتبط با Endpointها

در SQL Server تمامی تعاملات شبکه با استفاده از Endpoint در SQL Server انجام می شود. نقطه پایانی یا Endpoint یک اصطلاح کلی برای نقطه اتصال بین یک کلاینت و یا سرور شبکه است که با تنظیم مناسب آن هنگام استفاده از تکنولوژی‌هایی مانند Service Broker، Database Mirroring و… امنیت سرورها را تضمین نمود. ما در طی این دوره نحوه ایجاد Endpoint و تنظیمات امنیتی مربوط به آنها را یاد خواهیم گرفت.

۲۹

بررسی SQL Injection

۱- SQL Injection چیست

۲- نحوه Inject کردن دستورات TSQL به یک Application

۳- بررسی تکنیک‌های کاربردی جهت جلوگیری از SQL Injection

 

هنوز که هنوز است SQL Injection یکی از بیشترین روش‌های هک کردن بانک‌های اطلاعاتی می‌باشد. یادم است چند سال پیش یکی از دوستان یک Windows App برای سازمانی ایجاد کرده بود به خاطر اینکه ضعف امنیتی مربوط به Application را به او گوشزد کنم به راحتی آب خوردن با استفاده از SQL Injection توانستم دسترسی Remote بگیرم. توجه داشته باشید دسترسی Remote به سرور.

۳۰

بررسی Encryption در SQL Server

    • ۱- بررسی دلایل Encrypt و Decrypt کردن داده‌ها در SQL Server
    • ۲- بررسی مفهوم Hash و پیاده‌سازی آن در SQL Server
    • ۳- مقایسه نتیجه الگوریتم‌های Hash مربوط به SQL Server و .NET
    • ۴- بررسی Service Master Key
    • ۵- بررسی Database Master key
    • ۶- بررسی Symmetric Key و نحوه استفاده از آن برای Encrypt کردن Data
    • ۷- بررسی Asymmetric Key و نحوه استفاده از آن برای Encrypt کردن Data
    • ۸- بررسی مفهوم Certificate و رمزگذاری دیتا با استفاده از Certificate
    • ۹- محافظت ار داده‌ها توسط امضاء دیجیتالی
    • ۱۰- بررسی سلسه مراتب Encryption در SQL Server
    • ۱۱- بررسی Authenticating stored procedure by signature
    • ۱۲- بررسی Extensible Key Management
    • ۱۳- بررسی توابع ، DMF، DMV وSPهای مربوط به این حوزه

     

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

۳۱

استفاده از TDE در بانک‌های اطلاعاتی

  • ۱- معرفی Transparent Database Encryption
  • ۲- بررسی نحوه استفاده از TDE در SQL Server
  • ۳- بررسی پیاده‌سازی اصولی TDE به ازای بانک‌هایی
  • ۴- بررسی نحوه تهیه نسخه پشتیبان از کلیدهای مورد استفاده از جهت عملیات Encrypt و Decrypt
  • ۵- بررسی مزایا و معایب استفاده از TDE
  • ۶- بررسی تاثیر استفاده از TDE بر کارایی بانک اطلاعاتی
  • ۷- بررسی تاثیر استفاده از TDE بر روی بانک‌های اطلاعاتی سیستمی
  • ۸- بررسی تاثیر استفاده از TDE در Log File, Data File, Backup File
  • ۹- بازیابی بانک اطلاعاتی که با TDE رمزگذاری شده در یک سرور دیگر

 

یکی از شرکت‌های خصوصی که با آن کار می‌کردم به دنبال روشی برای جلوگیری از سرقت فایل‌های فیزیکی بانک اطلاعاتی بود. مسئاله از اینجا شروع شده بود که شرکت متوجه شده بود که نسخه‌ای از بانک اطلاعاتی مربوط به آن در سازمانی دیگر مورد استفاده قرار گرفته است. پس از بررسی مشخص شد که ادمین سیستم با Stop کردن سرویس SQL Server و کپی کردن Data File و Log File بانک اطلاعاتی آن را به سازمان دیگر منتقل کرده و مورد استفاده قرار داده است. ما برای اینکه این فرآیند را مشکل کنیم (جلوی آن را بگیریم) از TDE استفاده کردیم.

۳۲

بررسی امنیت نسخه‌های پشتیبان در SQL Server

  • ۱- بررسی تنظیمات اولیه لازم برای Encrypt کردن نسخه پشتیبان
  • ۲- بررسی الگوریتم‌های پشتیبانی شده برای Encryption نسخه پشتیبان
  • ۳- بررسی نحوه تهیه نسخه پشتیبان به روش Encrypt
  • ۴- بررسی نحوه Restore کردن نسخه پشتبیان Encrypt شده
  • ۵- بررسی نحوه استفاده از Maintenance Plan برای تهیه نسخه پشتیبان به صورت Encrypt

 

یکی از سوالاتی که از من زیاد پرسیده می‌شود این است آیا ما می‌‌توانیم در SQL Server نسخه پشتیبان خود را Encrypt کنیم به طوری که روی هر سرور به راحتی قابل بازیابی نباشد. پاسخ این سوال بلی است شما در SQL Server می‌توانید با استفاده از امکانات آن نسخه پشتیبان خود را Encrypt کنید.

 

۳۳

استفاده از Row Level Security

    • ۱- بررسی تاثیر استفاده از RLS برای پیاده‌سازی امنیت در SQL Server
    • ۲- بررسی نحوه اعمال RLS بر روی جداول
    • ۳- بررسی نحوه تنظیم Security Policy برای کار با RLS
    • ۴- بررسی Security Predicate
    • ۵- پیاده‌سازی Row Level Security با استفاده دات نت

     

    اهمیت داده‌های حساس در سازمان‌ها برای همه روشن است. مخصوصاً زمانی که در بانک اطلاعاتی شما رکوردهایی وجود داشته باشد که نمایش آنها برای همه ممکن نباشد. اگر بخواهیم چنین سناریوی را پیاده‌سازی کنیم قطعا مجبور هستیم همیشه دسترسی رکورد مورد نظر را برای همه کاربران (Business User) چک کنیم. با هر روشی که  فکر می‌کنید و این موضوع یعنی تغییرات گسترده سمت Application و Database اما  در SQL Server شما می‌توانید با استفاده از Row Level Security با انجام حداقل تغییرات سمت بانک Application و Database اینکار را انجام دهید.

۳۴

استفاده از Dynamic Data Masking

۱- بررسی تاثیر استفاده از Dynamic Data Masking برای پیاده‌سازی امنیت در SQL Server

۲- بررسی نحوه اعمال Dynamic Data Masking بر روی جداول

۳- بررسی انواع توابع مربوط به Mask کردن داده‌ها

۴- پیاده‌سازی Dynamic Data Masking با استفاده دات نت

۳۵

استفاده از Always Encrypt

۱- بررسی تاثیر استفاده از Always Encrypt برای پیاده‌سازی امنیت در SQL Server

۲- بررسی نحوه اعمال Always Encrypt بر روی فیلدهای جداول

۳- بررسی Column Master Key

۴- بررسی Column Encryption Key

۵- بررسی تغییر کلید در هنگام استفاده از Always Encrypt

۶- بررسی محدودیت‌های Always Encrypt

۷- پیاده‌سازی Always Encrypt با استفاده دات نت

۳۶

استفاده از Audit جهت پیاده‌سازی امنیت در SQL Server

  • ۱- بررسی مفهوم Audit
  • ۲- بررسی نحوه پیکربندی Audit‌ها در SQL Server
  • ۳- بررسی نحوه پیکربندی Server Audit Specification
  • ۴- بررسی نحوه پیکربندی Database Audit Specification
  • ۵- بررسی نحوه تعریف Auditهای سفارشی در SQL Server
  • ۶- معرفی DMVها و DMFها مربوط به کار با Auditها در SQL Server
  • ۷- بررسی نحوه خواندن محتوای Audit Fileها و انتقال آن به جداول
  • ۸- بررسی نحوه پیاده‌سازی Login Audit
  • ۹- بررسی نحوه پیاده‌سازی C2 Audit

 

ما می‌خواهیم کلیه دستوراتی که بر روی تعدادی از جدول خاص اجرا می‌شود را جمع آوری کنیم. این سوالی است که خیلی‌ها از من می‌پرسند، برای این موضوع می‌‌توانیم از ویژگی Audit در SQL Server استفاده نماییم.

۳۷

استفاده از Extended Eventsها جهت پیاده‌سازی امنیت در SQL Server

  • ۱- بررسی پیکربندی Extended Events
  • ۲- بررسی مفهوم Session در Extended Events
  • ۳- بررسی مفهوم Action در Extended Events
  • ۴- بررسی مفهوم Filter در Extended Events
  • ۵- بررسی مفهوم Target در Extended Events
  • ۶- پیاده‌سناریو جمع آوری کوئری‌های ارسالی به SQL Server
  • ۷- پیاده‌سازی سناریو نحوه کشف دستورات ارسالی توسط Business User به سمت SQL Server
  • ۸- بررسی نحوه خواندن محتوای فایل‌های Extended Events و انتقال آن به جداول

 

یکی دیگر از راهکارهای پیاده‌سازی Audit در SQL Server استفاده از Extended Event می‌باشد. ما در SQL Server می‌توانیم با انجام تنظیمات پیشرفته به ازای Extended Eventها می‌توانیم لاگ‌های مفیدی از عملکرد کاربران در سطح SQL Server جمع آوری کنیم.

۳۸

استفاده از SQL Server Profiler جهت پیاده‌سازی امنیت در SQL Server

    • ۱- معرفی برنامه SQL Server Profiler
    • ۲- بررسی مفاهیم Event، Filer، Template و…
    • ۳- بررسی Eventهای امنیتی در SQL Server Profiler
    • ۴- بررسی نحوه راه‌‌اندازی Traceها به صورت همیشگی
    • ۵- بررسی نحوه راه‌اندازی Traceهای Server Side برای جمع آوری لاگ‌های امنیتی
    • ۶- بررسی نحوه خواندن محتوای فایل‌های Trace و انتقال آن به جداول

     

  • شاید باورتان نشود در SQL Server یکی از روش‌های رایج راه‌اندازی Audit در SQL Server استفاده از Traceهای Server Side است. در SQL Server برای پیاده‌سازی این ویژگی می‌توانیم از SQL Server Profiler استفاده کنیم.

۳۹

استفاده از SQL Server Error Logs برای بررسی موارد امنیتی

    • ۱- بررسی نحوه کار با SQL Server Logs
    • ۲- بررسی نحوه استفاده از پروسیجرهای بررسی Log
    • ۳- بررسی نحوه پیکربندی اصولی SQL Server Error Logs
    • ۴- بررسی نحوه استخراج Logهای امنیتی ثبت شده در نرم‌افزار

     

  • یکی از بخش‌های که لاگ‌های امنیتی SQL Server در آن جمع می‌شود SQL Server Logs می‌باشد. تنظیمات مربوط به این بخش از اهمیت زیادی برخوردار است. ما همواره توصیه می‌کینم که محل قرارگیری لاگ‌ها را به صورت مناسب تنظیم نمایید.

۴۰

استفاده از Triggerها جهت پیاده‌سازی امنیت در SQL Server

  • ۱- بررسی تریگرها در SQL Server
  • ۲- بررسی After Triggerها و کاربرد آن در امنیت
  • ۳- بررسی Instead of Triggerها و کاربرد آن در امنیت
  • ۴- بررسی Logon Trigger و کاربرد آن در امنیت
  • ۵- بررسی DDL Triggerها و کاربرد آن در امنیت
  • ۶- پیاده‌سازی سناریو جمع آوری تغییرات مربوط به ساختار اشیاء در SQL Server
  • پیاده‌سازی سناریوهای ثبت تغییرات رکوردها با استفاده از تریگرها

 

 

این سوال شاید در ذهن شما باشد:

 

  • ۱‌. می‌خواهم هر تغییری که بر روی ساختار جداول، ایندکس‌ها،SPها و… رخ می‌دهد در جایی Log شود. در ضمن در این Log گفته شود که کدام کلاینت این کار را انجام داده است.

 

  • ۲. در بانک اطلاعاتی خودم جدولی دارم که لیستی از IPهایی که مجاز به دسترسی هستند را مشخص کرده‌ام می‌خواهم بدون داشتن فایروال کاری کنم که فقط این IPها قابلیت دسترسی به بانک اطلاعاتی را داشته باشند.

در پاسخ به این سوالات باید بگم که انجام تمام این کارها با استفاده از DDL Trigger و Logon Trigger انجام می‌باشد.

۴۱

بررسی Policy Base Management

  • ۱- PBM چیست؟
  • ۲- بررسی مفهوم Facet
  • ۳- بررسی نحوه نوشتن Expression و Condition برای Facet
  • ۴- بررسی مفهوم Policy و اهداف آن در SQL Server
  • ۵- بررسی نحوه ایجاد کردن Policy
  • ۶- بررسی Policy Category و نحوه ایجاد آن
  • ۷- بررسی نحوه Evaluate کردن یک Policy

 

می‌خواهم در SQL Server یک چک لیست امنیتی ایجاد کنم و تمامی اشیاء موجود در بانک اطلاعاتی را با استفاده از آن مورد ارزیابی قرار هم به طوری که هر کدام از آنها چنانچه با سیاست‌های تعریف شده مغایرت داشته باشد به من گزارش داده شود. انجام این در SQL Server با استفاده از PBM امکان پذیر می‌باشد

۴۲

استفاده از Change Tracking جهت پیاده‌سازی امنیت در SQL Server

    • ۱- آشنایی با Change Tracking و مزایای آن
    • ۲- بررسی نقش Change Tracking در امنیت بانک‌های اطلاعاتی
    • ۳- بررسی معماری Change Tracking
    • ۴- آشنایی با نحوه راه‌‌اندازی Change Tracking بر روی جداول
    • ۵- آشنایی با نحوه تاثیر دستورات DML بر روی جداولی که درای Change Tracking هستند.
    • ۶- آشنایی با نحوه استخراج نوع Action انجام شده بر روی جداول دارای Change Tracking
    • ۷- بررسی تنظیمات مربوط به Cleanup جداول Change Tracking
    •  
    • یکی از قابلیت‌های ساده در SQL Server در جهت کشف تغییرات مربوط به رکوردها استفاده از ویژگی Change Tracking می‌باشد، به وسیله این ویژگی می‌توان یک سناریو Auditing در سطح خیلی ساده بر روی جداول پیاده‌سازی نمود.

     

۴۳

استفاده از Change Data Capture جهت پیاده‌سازی امنیت در SQL Server

  • ۱- آشنایی با CDC و مزایای آن
  • ۲- بررسی نقش جداول CDC در امنیت بانک‌های اطلاعاتی
  • ۳- بررسی معماری CDC
  • ۴- بررسی نحوه ایجاد جداول با پشتیبانی از CDC
  • ۵- آشنایی با جداول سیستمی مربوط به CDC در SQL Server
  • ۶- بررسی نحوه تاثیر دستورات DML بر روی جداول CDC
  • ۷- بررسی نحوه استخراج داده از جداول سیستمی CDC
  • ۸- بررسی تنظیمات مربوط به Cleanup جداول CDC
  • ۹- بررسی یک سناریو کاربردی برای استفاده از CDC جهت ذخیره سوابق تغییرات رکوردها

 

CDC یک ویژگی جالب در SQL Server در جهت ذخیره سوابق تغییرات رکوردها از روی Log File می‌باشد. زمانی که این ویژگی را بر روی جداول خود تنظیم نمایید یک پروسه به صورت Asynchronously تغییرات رکوردهای جداول را استخراج و در جداولی سیستمی به همراه نوع Action ذخیره می‌نماید تا بعداً بتوان از آن استفاده نمود.

۴۴

استفاده از Temporal Table جهت پیاده‌سازی امنیت در SQL Server

    • ۱- آشنایی با Temporal Table و مزایای استفاده از آن
    • ۲- بررسی نقش جداول Temporal در امنیت بانک‌های اطلاعاتی
    • ۳- بررسی معماری Temporal Table
    • ۴- بررسی نحوه ایجاد جداول با پشتیبانی از Table Temporal
    • ۵- بررسی نحوه تاثیر دستورات DML بر روی جداول Temporal
    • ۶- بررسی نحوه نوشتن Temporal Query
    • ۷- بررسی نحوه اعمال تنظیمات مناسب بر روی جداول Temporal در جهت افزایش کارایی
    • ۸- بررسی یک سناریو کاربردی برای استفاده از Temporal Table جهت ذخیره سوابق تغییرات رکوردها
    •  

    یکی از قابلیت‌هایی که در SQL Server برای ذخیره سوابق تغییرات رکوردها وجود دارد استفاده از Temporal Table می‌باشد. راه‌اندازی این ویژگی سریع و ساده می‌باشد. برای مثال این اواخر نیک آموز در یکی از پروژه‌های بزرگ خود این ویژگی را بر روی یک بانک اطلاعاتی بزرگ در یک سیستم کشوری راه‌اندازی کرد که بیش از ۸۰۰ میلیون رکورد تغییرات به وسیله این تکنولوژی جمع آوری شد.

۴۵

استفاده از Database Ledger در SQL Server

    • ۱- بررسی Database Ledger
    • ۲- بررسی Append only Ledger Tables
    • ۳- بررسی Updatable Ledger Tables
    • ۴- بررسی سناریوهای کاربردی برای کار با Database Ledger و Ledger Tableها
    • ۵- بررسی محدودیت Ledger Tableها در SQL Server
    • ۶- مقایسه Ledger Tableها با Temporal Table در SQL Server
    • ۸- بررسی DMVهای پر کاربرد در حوزه Database Ledger در SQL Server
    •  
    • Ledger Tableها نوع خاصی از جداول هستند که وظیفه آنها محافظت از داده‌ها در برابر کاربران با دسترسی بالا می‌باشد، به طوری که هر نوع عملیاتی بر روی این نوع جداول انجام شود سوابق تغییرات به صورت خودکار بر روی جدول ذخیره شده و قابل از بین رفتن نمی‌باشد. این نوع جداول در قالب‌های مختلف در SQL Server ارائه شده و می‌توان سناریوهای مهم امنیتی را با آن جلو برد.

     

۴۶

استفاده از Database Mail در SQL Server

      • ۱- معرفی ویژگی Database Mail
      • ۲- بررسی معماری Database Mail
      • ۳- نحوه پیکربندی Database Mail
      • ۴- بررسی تنظیمات امنیتی برای دسترسی به Database Mail
      • ۵- بررسی پروسیجر sp_send_dbmail
      • ۶- بررسی سناریوهای امنیتی برای ارسال ایمیل در SQL Server

       

    • یکی از کارهای که در SQL Server برای اطلاع رسانی می‌توان انجام داد راه‌اندازی Database Mail در جهت اطلاع رسانی رخ داده‌های مختلف می‌باشد. برای مثال با استفاده از این ویژگی می‌توان Error Log مربوط به SQL Server را بررسی و لیست Login Fail را استخراج و در قالب ایمیل اطلاع رسانی ارسال کرد.

۴۷

بررسی Resource Governor

      • Resource Governor چیست؟
      • معرفی DOS Attack و روش جلوگیری آن در SQL Server
      • بررسی نحوه استفاده از Resource Governor برای امن سازی SQL Server
      • بررسی نحوه محدود کردن استفاده از Processor برای کاربران
      • بررسی نحوه محدود کردن استفاده از Memory برای کاربران
      • بررسی نحوه محدود کردن استفاده از IO برای کاربران
      • بررسی تنظیمات مربوط به Query Governor در SQL Server
      • بررسی DMV و DMFهای مربوط به Resource Governor در SQL Server
      • بررسی مفهوم Rate Limiter در API‌ها و تاثیر استفاده از آن در Databaseها

       

      در یکی از سازمان‌های دولتی که مشغول به کار بودم مشکلی وجود داشت یک کوئری در طی چند ساعت بیش از ۵ میلیون بار اجرا شده بود با بررسی که انجام شد متوجه شدم که کوئری مورد نظر توسط یک وب سرویس که برای Appهای بیرون از سازمان بود نوشته شده است. این کوئری به ظاهر یک کوئری ساده بود که با حداقل IO دیتا را در دسترس کاربران قرار می‌داد اما فراخوانی بیش از حد آن باعث مشغول بودن CPU شده به طوریکه که خیلی‌ها فکر می‌کردند سرور مورد Attack قرار گرفته است. برای اینکه بتوانیم کنترلی بر روی دسترسی منابع به سرور داشته باشیم با استفاده از Resource Governor این محدودیت را به وجود آوردیم.

۴۸

بررسی سرویس Agent و نکات امنیتی مربوط به آن

          • بررسی نحوه ایجاد JOB
          • بررسی نحوه ایجاد Schedule برای Jobها
          • بررسی تنظیمات امنیتی Jobها
          • بررسی استفاده از Proxyها در Job
          • بررسی User برای اجرای JOBها
          • بررسی نحوه ایجاد Alert برای رخدادهای امنیتی با استفاده از Job
          • بررسی بانک اطلاعاتی سیستمی MSDB و تنظیمات امنیتی مربوط به آن

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

۴۹

بررسی سرویس SSIS و ارائه نکات امنیتی مربوط به آن

      • معرفی مفهوم ETL
      • بررسی سرویس SSIS
      • بررسی Integration Catalog
      • بررسی نحوه راه‌اندازی Integration Catalog
      • بررسی بانک اطلاعاتی SSISDB و نقش‌های موجود در آن
      • بررسی نکات امنیتی هنگام Deploy پکیج‌های SSIS

       

    • سرویس SSIS یکی از سرویس‌های کاربردی SQL Server در جهت پیاده‌سازی روال‌های ETL می‌باشد. برای پیاده‌سازی روال‌های امنیتی در این سرویس باید تنظیمات اصولی مربوط به آن آشنا باشید ما در طی این دوره در خصوص تنظیمات امنیتی مربوط به این سرویس نکات کاریردی را ارائه خواهیم داد.

۵۰

بررسی سرویس SSAS و ارائه نکات مربوط به آن

  • ۱- معرفی بانک‌های اطلاعاتی OLAP
  • ۲- بررسی سرویس SSAS
  • ۳- بررسی انواع مدل‌های OLAP
  • ۴- بررسی سیستم امنیت OLAP
  • ۵- بررسی تنظیمات امنیتی SSAS
  • ۶- بررسی نحوه Deploy کردن یک بانک اطلاعاتی OLAP بر روی سرور SSAS
  • ۷- بررسی مفهموم Role و نحوه استفاده از آن در پروژه‌های OLAP

 

بانک‌های اطلاعاتی OLAP نوع خاصی از Databaseها هستند که از آنها برای تحلیل استفاده می‌شود. معماری امنیت این بانک‌ها با معماری بانک‌های اطلاعاتی عملیاتی متفاوت می‌باشد. ما در طی این دوره شما را با مباحث امنیتی مربوط به این نوع بانک‌های اطلاعاتی آشنا خواهیم کرد.

۵۱

معرفی ابزارهای کاربردی در حوزه امنیت SQL Server

        • ۱- ارائه اسکریپت‌های پر کاربرد در حوزه امنیت متناسب با درس هر حوزه
        • ۲- معرفی ابزار Wireshark برای مانیتور کردن ترافیک SQL Server
        • ۳- آموزش ابزار تخصصی برای Block کردن حملات Brute-Force در SQL Server
        • ۴- معرفی ابزار SQL Password Recovery
        • ۵- معرفی ابزار Reflector و نحوه استفاده از آن در SQL Server
        • ۶- معرفی ابزار SQL Decryptor و نحوه کار با آن در SQL Server

         

        در طی دوره با توجه به سناریوهای آموزشی ارائه شده تعدادی ابزار مفید انتخاب شده که کار کردن با هر کدام از آنها را در طی جلسات مختلف خواهیم داشت.

         

استاد این دوره

مسعود طاهری

دانشجویان چه می‌گویند ...

نمونه مدرک این دوره

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

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

کلیه حقوق این وب‌سایت متعلق به مجموعه نیک‌آموز می‌باشد.

close-image