مقدمه
بهترین روش برای حفاظت از دادهها در دیتابیس Sql server چیست؟ این یعنی حتی اگر یک هکر به سرور حمله کرد، نتواند به دیتابیس دسترسی پیدا کند.
- چه قدر از امنیت پایگاه داده خود مطمئن هستید؟!
- آیا تا به حال خطر نفوذ هکرها و باج افزارها را جدی گرفتهاید؟!
متخصصین پایگاه داده SQL Server هیچ گاه نمیگذارند راه حلها را بعد از نفوذ به دیتابیس پیدا کنند، بلکه از قبل اطلاعات خود را افزایش داده و همه چیز را ایمن نگه میدارند.
ما در مقالههای قبلی در مورد نفوذ باج افزارها به سیستم و اطلاعات کاربران اشاره کردهایم و همیشه تذکر دادهایم که پیشگیری بهتر از درمان است.
ویژگیهای امنیتی و ارزش پایگاه داده SQL Server
موضوع جالب این است که این پایگاه داده از امنترین و مشهورترین پایگاههای داده در سراسر جهان میباشد. آیا میدانید دلیل این موضوع چیست؟!
این پایگاه داده با به روز رسانی مدوام خود ریسکهای امنیتی را فوق العاده کاهش داده است. از یک سایت ساده گرفته تا پیچیده ترین سرورهای فعال در جهان، اکثریت از پایگاه داده Sql server و برخی از پایگاه داده اوراکل، NO SQL و MYSQL استفاده میکنند. اما چون اکثریت از SQL استفاده میکنند این مقاله پیرامون این پایگاه داده میباشد.
سه موضوع در SQL Server وجود دارد که هر کدام به نحوی امنیت پایگاه داده را فراهم میکنند:
- کنترل دسترسی
- رمزگذاری دادهها
- نظرات پیشگیرانه.
حفاظت از برنامههای کاربردی
یکی از موارد بسیار مهم، حفاظت از برنامههای کاربردی میباشد. یعنی به خوبی باید روی Permission یا دسترسیها تمرکز داشت. این به این معنی است که باید بررسی کنیم دسترسی برای کدام کاربران فعال و غیرفعال است.این کار بسیار سخت است چرا که پایگاه داده طوری نوشته شده که اطلاعات حساس در لایه Application به راحتی میتواند دچار نقض امنیتی گردد.
البته برای این موضوع چند راه حل وجود دارد: اول اینکه در تمام ماژولها و برنامههای کاربردی باید امنیت پیاده سازی شود. دوم اینکه ازview ها که حاوی اطلاعات حساس هستند استفاده شود تا دادهها حفاظت شوند.
این امکان در پایگاه داده وجود دارد که دسترسی به فیلدهای حاوی دادههای حساس محدود شود. یک راهکار خوب این است که از دسترسی کاربران به جداول داده جلوگیری شود و همه عملکردها مبتنی بر نقش یعنیTask ها و View ها باشد.
وجود لایههای امنیتی
امنیت در پایگاه داده SQL Server در چند لایه طبقه بندی و تعریف میشود. هر لایه شامل یک منطق از چشم انداز امنیتی کل سیستم میباشد که راهکارهای امنیتی گروه بندی میشوند.
رمزنگاری
در پایگاه داده دو نوع رمزگذاری داریم: رمزگذاری شفاف و رمزگذاری کاربر.
در رمزگذاری شفاف، همه پایگاه داده پوشش داده میشود و برای حفاظت از دادهها در رسانه، از حملات بیرون پایگاه داده است و رمزگذاری کاربر، فقط برای انتخاب اشیاء میباشد.
حفاظت از سرورهای دیتابیس
حفاظت از دیتابیس وابسته به رمزگذاری و تفکیک نقشها میباشد و در مقابل کسانی که به سخت افزار، سیستم عامل و یا ماشین میزبان دسترسی دارند تعیین میشود.
نقشها و سطح دسترسی تعیین میکنند چه دادهای قابل دسترس است و اینکه کدام کاربر به کدام قسمت از دادهها دسترسی دارد. حتی میتوان تعیین کرد یک کاربر به دادههای حساس رمزنگاری شده دسترسی داشته باشد یا خیر.
در دیتابیس حالتی به نام Always Encrypted وجود دارد که دادهها را در حالت رمزگذاری شده ذخیره میکند. این کار سبب میشود دادهها در دو حالت In-Motion و هم At-Rest از هر عمل مخربی از طرف مدیران مصون باشند.
در این حالت فرآیند رمزگشایی به عهده برنامههای کاربردی Client است. همچنین حالت Always Encrypted برای رمزگذاری دادههای End-to-End، پشتیبان گیری از TDE و محافظت از دادههای On-Disk نیز مناسب میباشد.
Just Enough Administration در مایکروسافت
جالب است بدانید که در ویندوز سرور برای کاهش ریسکهای امنیتی مفهومی به نام JEAخلق شده تا مدیران بدون اجازه سطوح بالاتر بیشتر وقت را درLogon های استاندارد طی میکنند.این یعنی برای اجرای بعضیTask ها به طور موقت به کاربر اجازههای سطح بالاتر داده میشود. JEA یک ابزار تولیدی از Windows PowerShell است که برای اعمال مجوزهای موقت در سطوح بالاتر استفاده میشود.
حفاظت از دادهها با کنترل دسترسی و مجوزها
چند مورد را حین استفاده از پایگاه داده باید رعایت کنید:
- اولین کاری که باید انجام دهید این است که بعد از اینکه پایگاه داده نصب شد، حتما نام کاربری و رمز عبوری پیش فرض را باید تغییر دهید.
- از کلمات عبور بسیار قوی استفاده کنید. رمز عبور تصادفی که مدام تغییر میکند، بهترین گزینه برای حفاظت از دادهها میباشد.
- لزومی ندارد عموم مردم به پایگاه داده دسترسی داشته باشند و به همه رمز عبور دهید. البته برای سایتهایی که محتوای خود را به اشتراک میگذارند، امکان پذیر نیست. اما تا حد امکان از دادن دسترسی عمومی برای ورود به پایگاه داده خودداری نمائید.
- نقش هر کاربر باید در سیستم به درستی تعریف شوداین به این معنی است که به هر کاربر بسته به نیاز او دسترسی دهید.
- اگر اکانت دمو ساختهاید ویا اکانتهایی دارید که دیگر استفاده نمیشوند، حتما آنها را حذف ویا قفل کنید.
- مدیر پایگاه داده لزوما نباید یک نفر باشد. بلکه میتوانید این نقش را بین چند نفر تقسیم نمائید. تقسیم کردن کار میتواند امنیت پایگاه داده را بیشتر کند.
- سرویسها و ماژولهایی که استفاده نمیشود را حذف کنید. این ماژولها ممکن است محلی برای نفوذ هکرها باشند، پس بهتر است حذف گردند.
- از طریق فایلهای پیکربندی و ابزارهای رایگان ارزیابی، باید پیکربندی پایگاه داده را تحلیل کنید. سپس از آن سند تهیه کنید.
- نشستها (Session) را رمزگذاری کنید.مخصوصا نشستهای بین برنامههای کاربردی و پایگاه داده تحت وب اهمیت بالایی دارند.
- شماره پورتهای پیش فرض پایگاه داده را تغییر دهید تا از حملات هکرها مصون باشید.
- مجوزهای دسترسی به پایگاه داده باید بین کاربران و مدیر کل تقسیم شود.
- اتصالات اشتراکی به شبکه را محدود کنید. بلکه این عملیات را باید تحت گروه بندیهای مختلف انجام دهید.
- برای آسان شدن تجزیه و تحلیل کوئریهای پایگاه داده، اتصال نرم افزار به پایگاه داده را تغییر دهید.
- شما باید دورهای و مداوم سیستم را لاک گیری کنید. سپس با ایجاد سیاست حفظ لاگ، خرابی عملکرد سیستم را میتوانید تشخیص دهید.
- هر چه قدر هم قوی باشید، اما هیچ گاه 100% مطمئن نباشید. لازم است دورهای امنیت پایگاه داده را بررسی کرده و از دیتابیس پشتیبان تهیه کنید.
Leave A Comment