امنیت پایگاه داده شامل انواع اقدامات لازم برای ایمنسازی سیستمهای مدیریت پایگاه داده در برابر حملات مخرب سایبری و استفاده نامشروع است. برنامههای امنیتی پایگاه داده باید در برابر سوء استفاده، آسیب و نفوذ نه تنها از دادههای داخلی خود، بلکه از خود سیستم مدیریت داده و هر برنامهای که به آن دسترسی دارد محافظت کند.
امنیت پایگاه داده شامل ابزارها، فرآیندها و متدولوژیهایی است که امنیت را در محیط پایگاه داده برقرار میکند.
تهدیدات امنیتی پایگاه داده
بسیاری از آسیبپذیریهای نرمافزار، پیکربندیهای نادرست، الگوهای اشتباه و یا بیاحتیاطیها میتوانند منجر به نقض امنیت شوند. در ادامه تعدادی از شناخته شدهترین علل و انواع تهدیدات سایبری امنیت پایگاه داده بیان خواهد شد.
- تهدیدات داخلی
تهدید داخلی یک خطر امنیتی از یکی از سه کانون زیر است که هر یک دارای روشهای خاصی برای ورود به پایگاه داده هستند:
-
- یک دشمن خودی (داخلی) با نیت بد
- یک فرد بیدقت در سازمان که با اقدامات سهل انگارانه پایگاه داده را در معرض حمله قرار میدهد.
- یک فرد خارجی (بیرونی) که اعتبار لازم را از طریق مهندسی اجتماعی یا روشهای دیگر به دست میآورد یا به اعتبار پایگاه داده دسترسی پیدا میکند.
تهدید داخلی یکی از رایجترین علل نقض امنیت پایگاه داده است و اغلب به دلیل اعطای دسترسی کاربر ویژه به بسیاری از کارمندان رخ میدهد.
- خطای انسانی
گذرواژههای ضعیف، اشتراکگذاری رمز عبور، حذف یا خراب شدن تصادفی دادهها و سایر رفتارهای ناخواسته کاربر همچنان تقریباً نیمی از علت نقضهای داده گزارششده هستند.
- سوءاستفاده از آسیبپذیریهای نرم افزار پایگاه داده
مهاجمان دائماً در تلاشند تا آسیبپذیریهای موجود در نرمافزار را ایزوله کرده و مورد هدف قرار دهند و نرمافزار مدیریت پایگاه داده هدف بسیار ارزشمندی است!
روزانه آسیبپذیریهای جدیدی کشف میشوند و همه پلتفرمهای مدیریت پایگاه داده منبع باز و فروشندگان نرمافزار پایگاه داده تجاری مرتبا patch های امنیتی را منتشر میکنند. بنابراین اگر به سرعت از این patch ها استفاده نکنید، ممکن است پایگاه داده شما در معرض حمله قرار گیرد.
حتی اگر patch ها را به موقع اعمال کنید، در زمانی که مهاجمان آسیبپذیری را کشف میکنند، اما هنوز توسط ارائه دهنده پایگاه داده شناسایی و patch نشده است، همچنان خطر حملات zero-day وجود دارد.
- حملات تزریق SQL/NoSQL
یکی از تهدیدات خاص پایگاه داده استفاده از رشته های حمله SQL و بدون SQL تصادفی در پرسوجوهای پایگاه داده است که معمولا پرسوجوهایی هستند که به عنوان پسوند فرمهای برنامه وب ایجاد یا از طریق درخواستهای HTTP دریافت میشوند. اگر توسعه دهندگان از شیوههای کدگذاری ایمن پیروی نکنند، و اگر سازمان به طور منظم تستهای آسیبپذیری را انجام ندهد، هر سیستم پایگاه داده در برابر این حملات آسیب پذیر خواهد بود.
- حملات سرریز بافر
سرریز بافر زمانی اتفاق میافتد که یک فرآیند سعی میکند حجم غیر مجازی از داده را در یک بلوک حافظه با طول ثابت بنویسد. مهاجمان ممکن است از دادههای اضافی که در آدرسهای حافظه مجاور نگهداری میشوند، بهعنوان نقطه شروعی برای شروع حملات استفاده کنند.
- حملات انکار سرویس (DoS/DDoS)
در حمله انکار سرویس (DoS)، مجرم سایبری با استفاده از تعداد زیادی درخواست جعلی، سرویس مورد نظر (در این مثال سرور پایگاه داده) را تحت تأثیر قرار میدهد. در نتیجه سرور نمیتواند درخواستهای واقعی کاربران واقعی را انجام دهد و اغلب از کار میافتد یا ناپایدار میشود.
در یک حمله انکار سرویس توزیع شده (DDoS)، ترافیک جعلی توسط تعداد زیادی کامپیوتر موجود در یک botnet که تحت کنترل مهاجم است، تولید میشود. این حجم ترافیک بسیار زیادی را ایجاد میکند که توقف آن بدون دارا بودن یک معماری دفاعی بسیار مقیاسپذیر، دشوار است. سرویسهای حفاظتی DDoS مبتنی بر ابر میتوانند به صورت پویا برای مقابله با حملات DDoS بسیار بزرگ، مقیاس یابند.
- بد افزار (malware)
بدافزار نرم افزاری است که برای سوءاستفاده از آسیبپذیریها یا آسیب رساندن به پایگاه داده نوشته شده است. بدافزار میتواند از طریق هر دستگاه نقطه پایانی متصل به شبکه پایگاه داده وارد شود. حفاظت از بدافزار در هر نقطه پایانی، به ویژه در سرورهای پایگاه داده به دلیل ارزش و حساسیت بالای آنها، مهم است.
یک محیط در حال تحول IT
محیط در حال تحول IT پایگاههای داده را در برابر تهدیدات مستعدتر میکند. در ادامه ترندهایی که میتواند منجر به انواع جدیدی از حملات به پایگاههای داده شود یا ممکن است به اقدامات دفاعی جدیدی نیاز داشته باشد بیان میشود:
- افزایش حجم دادهها: ذخیرهسازی، جمع آوری دادهها و پردازش تقریباً در تمام سازمانها به طور تصاعدی در حال رشد است. هر روش یا ابزار امنیت داده باید بسیار مقیاسپذیر باشد تا بتواند نیازهای دور و نزدیک سازمان را برآورده کند.
- زیرساختهای توزیع شده: محیطهای شبکه در حال پیچیدهتر شدن هستند، به ویژه هنگامی که مشاغل، بارکاری را به معماریهای ابری ترکیبی یا چند ابری منتقل میکنند که استقرار، مدیریت و انتخاب راه حلهای امنیتی را دشوارتر میکند.
- افزایش الزامات نظارتی سختگیرانه: چشم انداز انطباق مقررات در سراسر جهان در حال پیچیده شدن است، بنابراین پیروی از همه دستورات چالش برانگیزتر می شود.
- کمبود مهارتهای امنیت سایبری: کمبود جهانی متخصصان ماهر در امنیت سایبری همواره وجود دارد و سازمانها برای ایفای نقشهای امنیتی با مشکل مواجه هستند. این مساله میتواند دفاع از زیرساختهای حیاتی از جمله پایگاههای داده را دشوارتر کند.
چگونه میتوانید سرور پایگاه داده خود را ایمن کنید؟
سرور پایگاه داده یک ماشین فیزیکی یا مجازی است که پایگاه داده را اجرا میکند. ایمنسازی سرور پایگاه داده، که به عنوان ” hardening” نیز شناخته میشود، فرآیندی است که شامل امنیت فیزیکی، امنیت شبکه و پیکربندی امن سیستم عامل است.
- اطمینان از امنیت پایگاه داده فیزیکی
اگر پایگاه داده شما حاوی دادههای حساس است، از اشتراک گذاری سرور برای برنامههای کاربردی وب و برنامههای پایگاه داده خودداری کنید. اگرچه میزبانی سایت و پایگاه داده روی یک ارائه دهنده میزبان میتواند ارزانتر و آسانتر باشد، اما با این کار امنیت دادههای خود را در دستان دیگران قرار میدهید.
اگر برای مدیریت پایگاه داده خود به یک سرویس میزبانی وب متکی هستید، باید اطمینان حاصل کنید که آن شرکت سابقه امنیتی قوی دارد. به دلیل عدم امنیت احتمالی بهتر است از خدمات میزبان رایگان اجتناب کنید.
اگر پایگاه داده خود را در یک مرکز داده داخلی مدیریت میکنید، به خاطر داشته باشید که مرکز داده شما نیز مستعد حملات خارجی یا تهدیدات داخلی است. اطمینان حاصل کنید که اقدامات امنیتی فیزیکی، از جمله قفل، دوربین، و پرسنل امنیتی را در تاسیسات فیزیکی خود بکار گرفتهاید. هرگونه دسترسی به سرورهای فیزیکی باید ثبت شود و فقط به افراد مجاز اعطا شود.
علاوه بر این، backup های پایگاه داده را در مکانهایی که برای عموم قابل دسترسی هستند، مانند پارتیشنهای موقت، پوشههای وب، یا منابع ذخیرهسازی ابری نا ایمن، به حال خود رها نکنید.
- Lock Down حسابها و امتیازات
سرور پایگاه داده اوراکل را در نظر بگیرید. پس از نصب پایگاه داده، دستیار پیکربندی پایگاه داده Oracle (DBCA) به طور خودکار منقضی میشود و اکثر حسابهای کاربر پایگاه داده پیش فرض را قفل میکند.
اگر پایگاه داده Oracle را به صورت دستی نصب کنید، این اتفاق نمیافتد و حسابهای دارای امتیاز پیش فرض منقضی یا قفل نمیشوند. رمز عبور آنها به طور پیش فرض مانند نام کاربری آنها باقی میماند. یک مهاجم سعی میکند در ابتدا از این اعتبارنامهها برای اتصال به پایگاه داده استفاده کند.
بسیار مهم است که اطمینان حاصل شود هر حساب ویژه در یک سرور پایگاه داده با یک رمز عبور قوی و منحصر به فرد پیکربندی شده است. اگر به حسابها نیاز نیست، باید منقضی و قفل شوند.
برای حسابهای باقیمانده، دسترسی باید به حداقل مورد نیاز محدود شود. هر حساب فقط باید به جداول و عملیات (مثلاً SELECT یا INSERT) مورد نیاز کاربر دسترسی داشته باشد. از ایجاد حسابهای کاربری با دسترسی به هر جدول در پایگاه داده خودداری کنید.
- patch منظم سرورهای پایگاه داده
اطمینان حاصل کنید که patch ها اعمال شدهاند. مدیریت patch پایگاه داده یک اقدام امنیتی بسیار مهم است زیرا مهاجمان به طور فعال به دنبال نقصهای امنیتی جدید در پایگاه داده هستند و ویروسها و بدافزارهای جدید به صورت روزانه ظاهر میشوند.
استقرار بهموقع نسخههای بهروز patch های سرویسهای پایگاه داده، رفعهای فوری امنیتی حیاتی و بهروزرسانیهای تجمعی، پایداری عملکرد پایگاه داده را بهبود میبخشد.
- غیرفعال کردن دسترسی به شبکه عمومی
سازمانها برنامههای خود را در پایگاههای داده ذخیره میکنند. در اکثر موارد، کاربر نهایی نیازی به دسترسی مستقیم به پایگاه داده ندارد. بنابراین، باید تمام دسترسی شبکه عمومی به سرورهای پایگاه داده را مسدود کنید، مگر اینکه یک ارائه دهنده میزبان وب باشید. در حالت ایده آل، سازمان باید سرورهای دروازه (تونلهای VPN یا SSH) را برای مدیران راه دور راهاندازی کند.
- رمزگذاری همه فایلها و نسخههای پشتیبان
صرف نظر از اینکه حفاظت شما چقدر قوی است، همیشه این احتمال وجود دارد که یک هکر به سیستم شما نفوذ کند. با این حال، مهاجمان تنها تهدیدی برای امنیت پایگاه داده شما نیستند. کارمندان شما نیز ممکن است برای کسب و کار شما خطر ایجاد کنند. همیشه این احتمال وجود دارد که یک خودی مخرب یا بیدقت به فایلی که اجازه دسترسی به آن را ندارد دسترسی پیدا کند.
رمزگذاری دادهها باعث میشود که آنها هم برای مهاجمان و هم برای کارمندان غیرقابل خواندن باشد. بدون کلید رمزگذاری، آنها نمیتوانند به فایل دسترسی داشته باشند، این آخرین سد دفاعی را در برابر نفوذهای ناخواسته فراهم میکند. فایلهای برنامه، فایلهای داده و نسخههای پشتیبان بسیار مهم را رمزگذاری کنید تا کاربران غیرمجاز نتوانند دادههای مهم شما را بخوانند.
بهترین روشهای امنیت پایگاه داده
در ادامه بهترین روشهای موجود که میتوانید برای بهبود امنیت پایگاههای داده حساس استفاده کنید آمده است.
1. مرتبا رمز عبور و دسترسی کاربر را مدیریت کنید.
اگر سازمان بزرگی دارید، باید به فکر مدیریت خودکار دسترسی از طریق مدیریت رمز عبور یا نرم افزار مدیریت دسترسی باشید. این کار به کاربران مجاز یک رمز عبور کوتاه مدت با سطوحی که در زمان دسترسی به پایگاه داده نیاز دارند، ارائه میدهد.
همچنین فعالیتهای انجامشده در آن بازه زمانی را ردیابی میکند و مدیران را از اشتراکگذاری رمزهای عبور باز میدارد. اگرچه ممکن است مدیران تصور کنند اشتراکگذاری رمزهای عبور راحت است، اما انجام این کار مسئولیتپذیری و امنیت پایگاه داده موثر را تقریبا غیرممکن میکند.
علاوه بر این، اقدامات امنیتی زیر توصیه میشود:
- رمزهای عبور قوی باید به کار گرفته شوند.
- hash های رمز عبور باید پرورانده شده و به صورت رمزگذاری شده ذخیره شوند.
- پس از تلاشهای متعدد برای ورود به سیستم، حسابها باید قفل شوند.
- اگر کارکنان سِمتهای دیگری میگیرند، شرکت را ترک میکنند و یا دیگر به همان سطح دسترسی قبل نیاز ندارند، حسابها باید مرتباً بازبینی و غیرفعال شوند.
2. امنیت پایگاه داده خود را تست کنید.
هنگامی که زیرساخت امنیتی پایگاه داده خود را ایجاد کردید، باید آن را در برابر یک تهدید واقعی آزمایش کنید. ارزیابی یا انجام تستهای نفوذ در پایگاه داده به شما کمک میکند تا در شرایط یک مجرم سایبری قرار بگیرید و هر آسیبپذیری را که ممکن است نادیده گرفته باشید، را شناسایی کنید.
برای اطمینان از جامع بودن آزمون، هکرهای کلاه سفید یا سرویسهای تست نفوذ شناخته شده را در تستهای امنیتی خود مشارکت دهید. تسترهای نفوذ گزارشهای گستردهای را ارائه میکنند که آسیبپذیریهای پایگاه داده را لیست میکند و بررسی سریع و اصلاح این آسیبپذیریها از اهمیت ویژهای برخوردار است. حداقل سالی یک بار تست نفوذ را روی سیستم پایگاه داده حیاتی اجرا کنید.
3. نظارت بر پایگاه داده به صورت real time
بررسی مداوم پایگاه داده برای شناسایی نقاط ضعف، امنیت را افزایش داده و به شما امکان میدهد به سرعت نسبت به حملات احتمالی واکنش نشان دهید. مخصوصا مانیتورینگ یکپارچه فایل (FIM) کمک میکند تمام اقدامات انجام شده در سرور پایگاه داده را ثبت کنید و در مورد نقضهای احتمالی به شما هشدار میدهد. هنگامی که FIM تغییری را در فایلهای پایگاه داده مهم تشخیص داد، مطمئن شوید که تیمهای امنیتی آگاه شده و قادر به بررسی و پاسخ به تهدید هستند.
4. از فایروالهای برنامه وب و پایگاه داده استفاده کنید.
برای محافظت از سرور پایگاه داده در برابر تهدیدات امنیتی باید از فایروال استفاده کنید. به طور پیش فرض، فایروال اجازه دسترسی به ترافیک را نمیدهد. همچنین باید پایگاه داده را از شروع اتصالات خروجی متوقف کند، مگر اینکه دلیل خاصی برای انجام این کار وجود داشته باشد.
علاوه بر محافظت از پایگاه داده با فایروال، باید یک فایروال برنامه کاربردی وب (WAF) نیز مستقر کنید. زیرا حملاتی که به برنامههای کاربردی وب، از جمله تزریق SQL، میتوانند برای دسترسی غیرقانونی به پایگاه داده شما استفاده شوند.
فایروالهای معمولی نمیتوانند اکثر حملات برنامههای وب را متوقف کنند، زیرا فایروالهای معمول در لایه شبکه عمل میکنند، درحالیکه WAF ها در لایه برنامه (لایه 7 مدل OSI) عمل میکنند و میتوانند ترافیک برنامههای وب مخرب مانند حملات تزریق SQL را شناسایی کرده و قبل از آسیب رساندن به پایگاه داده، آنها را مسدود کنند.