• امنیت در دیتابیس های NoSQL

    سیستم های پایگاه داده NoSQL طوری طراحی شده است که بازدهی در لحظه داشته باشد و بتواند با حجم عظیمی از داده کار کند

    سیستم‌های پایگاه داده NoSQL طوری طراحی شده‌است که بازدهی در لحظه داشته باشد و بتواند با حجم عظیمی از داده کار کند. این بازدهی که در اصل پیاده‌سازی فلسفه بی‌هزینگی در بیشتر محصولات NoSQL‌بوده است، یکی از عوامل مهم جلب توجه شرکت‌ها به آن به‌شمار می‌رود. هر چند شرکت‌ها نباید پیاده‌سازی NoSQL را بدون در نظر گرفتن دغدغه‌های امنیتی آن انجام دهند.

    این دیتابیس‌های NoSQL تفاوت‌هایی اساسی با دیتابیس‌های رابطه‌ای (RDBMS) دارند.

    ● چه‌کسی از NoSQL استفاده می‌کند؟

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

    NoSQL مجموعه‌ای بزرگ‌تر از سیستم‌های مدیریت دیتابیس است و مانند دیگر دیتابیس‌های سنتی رابطه‌ای نیست. این دیتابیس‌ها از SQL به‌عنوان زبان اصلی query استفاده نمی‌کند و نیازی به اسکیماهای ثابت هر جدول داده ندارد. NoSQL توسط یک شرکت تغذیه نمی‌شود و بسیاری از آنها منبع‌باز است ؛ در حقیقت NoSQL‌یک واژه کلی است که به تمام سیستم‌های آلترناتیو غیر رابطه‌ای اطلاق می‌شود.

    در حال حاضر، دیتابیس‌های NoSQL در مرحله تکامل است. برخلاف رقبای RDBMS خود مثل DB۲ یا MySQL، اوراکل و SQL‌سرور، میزان حملات به این نوع سرورها هنوز مشخص نشده است و انتظار می‌رود حملات به این نوع دیتابیس‌ها ساختار و شکل متفاوتی داشته باشد.

    ورود به دیتابیس از طریق تزریق NoSQL نباید خیلی دور از انتظار باشد. بخش عمده‌ای از پیاده‌سازی‌های NoSQL بدون احراز هویت و از طریق موتورهای پردازشی جاوااسکریپت است.

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

    ● آیا NoSQL ناامن است؟

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

    طی یکی دو سال گذشته، بسیاری از مشاغل کوچک وارد قلمرو داده‌های بزرگ شده‌اند و به‌دنبال مدیریت داده‌ها همیشه در حال افزایش شغلی بوده‌اند؛ بنابراین طبیعی است که روزانه هدف حملات بیشتر امنیتی قرار بگیرند. آمارهای شرکت‌های امنیتی هم همین موضوع را ثابت می‌کند و هر روز به تعداد این حملات افزوده می‌شود.

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

    برای مثال، بیشتر محصولات NoSQL، اجازه می‌دهد دستورها در محیط معتمد (Trusted Environment) بدون در نظر گرفتن امنیت و هویت فرد اجرا شود و بعضا حتی این اقدام را توصیه و تشویق نیز می‌کند.

    در این حالت‌ها، تنها ماشین‌هایی خاص می‌تواند به پورت TCP دیتابیس دسترسی پیدا کند. اما این که اجازه بدهیم شبکه‌مان بخش امنیتی را کنترل کند ـ آن هم در جایی که تقریبا رایانه‌ای را نمی‌توان پیدا کرد که تا به‌حال به اینترنت وصل نشده باشد ـ یعنی دعوت کردن از تهدیدهای امنیتی برای دزدیدن اطلاعات اساسی.

    ماژول‌های امنیتی Kerberos هم‌اکنون توسعه یافته ‌است و می‌تواند رفتاری شبیه NTLM در تشخیص کاربر داشته باشد.

    ● امن‌سازی دیتابیس‌هایNoSQL

    به‌دلیل آن که اغلب دیتابیس‌های NoSQL منبع‌باز است، کمک به این جوامع و پیاده‌سازی روش‌های بهتر امنیتی از سوی شرکت‌هایی که این سیستم‌ها را پیاده می‌کنند، گزینه بهتری خواهد بود؛ چرا که در نهایت ایرادهای آن روش امنیتی مشخص شده وNoSQL ها به مراتب بهتر از گذشته خواهد بود.

    دیتابیس‌های NoSQL همانند دیتابیس‌های رابطه‌ای سنتی با دغدغه‌های امنیتی مشابهی مواجهند و بهتر است دغدغه‌های زیر هنگام نصب این دیتابیس‌ها بررسی شود:

    ـ رمزگذاری فیلدهای حساس دیتابیس

    ـ نگهداشتن داده‌های بدون رمزگذاری در محیط Sandbox و ایزوله

    ـ استفاده مناسب از فیلدهای ورودی

    ـ اجرای سیاست‌های قوی احراز هویت

    البته، حالت ایده‌آل آن موقع خواهد بود که استانداردی قابل قبول برای ورود به این گونه سیستم‌ها ایجاد شود و رمزگذاری در این نوع دیتابیس‌ها، شکل واقعی به‌خود بگیرد. تا رسیدن به مرحله استانداردسازی، بهترین روش برای جلوگیری از مشکلات امنیتی، اعمال کنترل در میان‌افزار و نه سطح بیرونی است. بیشتر نرم‌افزارهای میان‌افزاری در حال حاضر از سیستم‌های احراز هویت پشتیبانی می‌کنند. برای مثال اگر جاوا در حال استفاده است، JAAS ، گزینه خوبی است J۲EE ‌یا SpringSource نیز قابل دسترسی است.

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

    منبع : computerweekly

    نظرات ارسال شده ارسال نظر جدید
    برای تبادل نظر، می بایست در سایت وارد شوید

    ورود به سایت
تماس سبد خرید بالا