بسیاری از برنامه های کاربردی فرانت اند به یک پایگاه داده پشتیبان (مانند MySQL، PostgreSQL و غیره) برای دریافت داده های مورد نیاز در حین انجام وظایف خود متکی هستند. پایگاههای داده دیگر محدود به برنامههای داخلی در یک شبکه محلی نیستند، زیرا بسیاری از برنامههای مبتنی بر وب به آنها متکی هستند. در این مقاله، اجازه دهید ببینیم فایروالهای پایگاه داده چه میکنند، کجا مستقر میشوند، چگونه از حملات خاص پایگاه داده محافظت میکنند و برخی بهترین روشها برای ایمنسازی سرورهای پایگاه داده.
فایروال های پایگاه داده نوعی از فایروال های کاربردی وب هستند که پایگاه های داده را برای شناسایی و محافظت در برابر حملات خاص پایگاه داده که عمدتاً به دنبال دسترسی به اطلاعات حساس ذخیره شده در پایگاه داده هستند، نظارت می کنند. فایروال های پایگاه داده همچنین امکان نظارت و بازرسی کلیه دسترسی ها به پایگاه های داده را از طریق گزارش های نگهداری شده توسط آنها فراهم می کنند. فایروال پایگاه داده می تواند گزارش های انطباق خاصی را برای مقرراتی مانند PCI، SOX و غیره ایجاد کند.
به طور کلی فایروال های پایگاه داده ابزارها/نرم افزارهای سخت شده امنیتی هستند که به صورت خطی با سرور پایگاه داده (درست قبل از سرور پایگاه داده) (یا) در نزدیکی دروازه شبکه (زمانی که از چندین پایگاه داده در چندین سرور محافظت می کند) مستقر می شوند. برخی از سرورهای پایگاه داده از عوامل مبتنی بر میزبان پشتیبانی می کنند که می توانند در خود سرور پایگاه داده برای نظارت بر رویدادهای پایگاه داده محلی نصب شوند. اما فایروال های مبتنی بر سخت افزار از مانیتورینگ میزبان/شبکه بدون هیچ بار اضافی بر روی سرورهای پایگاه داده پشتیبانی می کنند. هر دو عامل سخت افزاری و نرم افزاری می توانند برای کار به طور همزمان مستقر شوند.
فایروالهای پایگاه داده شامل مجموعهای از سیاستهای ممیزی امنیتی از پیش تعریفشده و قابل تنظیم هستند و میتوانند حملات پایگاهداده را بر اساس رویدادهای گذشته/الگوهای تهدید به نام «امضا» شناسایی کنند. بنابراین، عبارات/پرس و جوهای ورودی SQL با این امضاها مقایسه میشوند، که اغلب توسط فروشندگان بهروزرسانی میشوند تا حملات شناخته شده بر روی پایگاه داده را شناسایی کنند (بسیاری از وظایف داخل پایگاه داده بهعنوان مجموعهای از دستورات SQL اجرایی اجرا میشوند).
اما همه حملات به پایگاه داده ممکن است آشنا نباشند. بنابراین، فایروال های پایگاه داده لیست سفید دستورات/ عبارات SQL تایید شده را ایجاد می کنند (یا همراه با آن) ایمن هستند. تمام دستورات ورودی با این لیست سفید مقایسه می شوند و فقط آنهایی که از قبل در لیست سفید وجود دارند به پایگاه داده ارسال می شوند. فایروال های پایگاه داده همچنین می توانند لیست سیاهی از دستورات / دستورات SQL خاص و بالقوه مضر را حفظ کنند و اجازه این نوع ورودی ها را نمی دهند.
برخی از فایروالهای پایگاه داده همچنین میتوانند آسیبپذیریهای پایگاه داده، سیستم عامل و پروتکل را در پایگاههای داده شناسایی کرده و مدیر را که میتواند اقداماتی را برای اصلاح آنها انجام دهد، نزدیک کند. برخی از فایروال های پایگاه داده همچنین می توانند پاسخ های پایگاه داده (از سرور DB) را برای جلوگیری از نشت احتمالی داده ها نظارت کنند. فایروال های پایگاه داده همچنین می توانند فعالیت های مشکوک را به جای مسدود کردن فوراً مطلع کنند.
دو نوع رایج ترین حملات پایگاه داده SQL Injection و Buffer Overflow هستند و فایروال های پایگاه داده می توانند چنین حملاتی را مسدود کنند. گاهی اوقات، اعتبار سرقت شده ممکن است منجر به تلاش برای هک پایگاه داده شود، اما از آنجایی که فایروال های پایگاه داده به طور مداوم فعالیت های نامنظم پایگاه داده را نظارت می کنند، چنین تلاش هایی قابل شناسایی هستند.
برخی از فایروال های پایگاه داده می توانند عواملی مانند آدرس IP، زمان، مکان، نوع برنامه ها (منبع) و غیره را که درخواست های دسترسی غیرعادی به پایگاه داده از آنها سرچشمه می گیرند، ارزیابی کنند و سپس تصمیم بگیرند که آیا آنها را مسدود کنند یا خیر، بر اساس این عوامل طبق سیاست های تنظیم شده. توسط مدیر اما احتمال وجود موارد مثبت کاذب و منفی های کاذب در فایروال های پایگاه داده یک مسئله است.
فایروال پایگاه داده منبع باز:Green-SQL یک فایروال مبتنی بر منبع باز برای دانلود رایگان پایگاه داده است که می تواند برای محافظت از پایگاه داده های MySQL و PostgreSQL استفاده شود. اساساً این نرم افزار به عنوان یک پروکسی معکوس برای اتصالات SQL عمل می کند و تمام اتصالات به سرور پایگاه داده را نظارت می کند. این می تواند در همان سرور پایگاه داده یا در یک سرور جداگانه در خط اتصال به پایگاه داده مستقر شود.
نویسنده: سیدحسین حسینی دانشجوی رشته علوم کامپیوتر
نام استاد: مریم حاجی اسمعیلی دکترای علوم کامپیوتر از دانشگاه کینگستون لندن