سید حسین حسینی
سید حسین حسینی
خواندن ۴ دقیقه·۳ سال پیش

فایروال های پایگاه داده چیست، چرا آنها مورد نیاز هستند و چگونه از پایگاه داده محافظت می کنند؟

Database Firewall
Database Firewall


بسیاری از برنامه های کاربردی فرانت اند به یک پایگاه داده پشتیبان (مانند MySQL، PostgreSQL و غیره) برای دریافت داده های مورد نیاز در حین انجام وظایف خود متکی هستند. پایگاه‌های داده دیگر محدود به برنامه‌های داخلی در یک شبکه محلی نیستند، زیرا بسیاری از برنامه‌های مبتنی بر وب به آنها متکی هستند. در این مقاله، اجازه دهید ببینیم فایروال‌های پایگاه داده چه می‌کنند، کجا مستقر می‌شوند، چگونه از حملات خاص پایگاه داده محافظت می‌کنند و برخی بهترین روش‌ها برای ایمن‌سازی سرورهای پایگاه داده.

فایروال های پایگاه داده چیست؟

فایروال های پایگاه داده نوعی از فایروال های کاربردی وب هستند که پایگاه های داده را برای شناسایی و محافظت در برابر حملات خاص پایگاه داده که عمدتاً به دنبال دسترسی به اطلاعات حساس ذخیره شده در پایگاه داده هستند، نظارت می کنند. فایروال های پایگاه داده همچنین امکان نظارت و بازرسی کلیه دسترسی ها به پایگاه های داده را از طریق گزارش های نگهداری شده توسط آنها فراهم می کنند. فایروال پایگاه داده می تواند گزارش های انطباق خاصی را برای مقرراتی مانند PCI، SOX و غیره ایجاد کند.

به طور کلی فایروال های پایگاه داده ابزارها/نرم افزارهای سخت شده امنیتی هستند که به صورت خطی با سرور پایگاه داده (درست قبل از سرور پایگاه داده) (یا) در نزدیکی دروازه شبکه (زمانی که از چندین پایگاه داده در چندین سرور محافظت می کند) مستقر می شوند. برخی از سرورهای پایگاه داده از عوامل مبتنی بر میزبان پشتیبانی می کنند که می توانند در خود سرور پایگاه داده برای نظارت بر رویدادهای پایگاه داده محلی نصب شوند. اما فایروال های مبتنی بر سخت افزار از مانیتورینگ میزبان/شبکه بدون هیچ بار اضافی بر روی سرورهای پایگاه داده پشتیبانی می کنند. هر دو عامل سخت افزاری و نرم افزاری می توانند برای کار به طور همزمان مستقر شوند.

فایروال های پایگاه داده چگونه از پایگاه داده محافظت می کنند؟

فایروال‌های پایگاه داده شامل مجموعه‌ای از سیاست‌های ممیزی امنیتی از پیش تعریف‌شده و قابل تنظیم هستند و می‌توانند حملات پایگاه‌داده را بر اساس رویدادهای گذشته/الگوهای تهدید به نام «امضا» شناسایی کنند. بنابراین، عبارات/پرس و جوهای ورودی SQL با این امضاها مقایسه می‌شوند، که اغلب توسط فروشندگان به‌روزرسانی می‌شوند تا حملات شناخته شده بر روی پایگاه داده را شناسایی کنند (بسیاری از وظایف داخل پایگاه داده به‌عنوان مجموعه‌ای از دستورات SQL اجرایی اجرا می‌شوند).

اما همه حملات به پایگاه داده ممکن است آشنا نباشند. بنابراین، فایروال های پایگاه داده لیست سفید دستورات/ عبارات SQL تایید شده را ایجاد می کنند (یا همراه با آن) ایمن هستند. تمام دستورات ورودی با این لیست سفید مقایسه می شوند و فقط آنهایی که از قبل در لیست سفید وجود دارند به پایگاه داده ارسال می شوند. فایروال های پایگاه داده همچنین می توانند لیست سیاهی از دستورات / دستورات SQL خاص و بالقوه مضر را حفظ کنند و اجازه این نوع ورودی ها را نمی دهند.

برخی از فایروال‌های پایگاه داده همچنین می‌توانند آسیب‌پذیری‌های پایگاه داده، سیستم عامل و پروتکل را در پایگاه‌های داده شناسایی کرده و مدیر را که می‌تواند اقداماتی را برای اصلاح آنها انجام دهد، نزدیک کند. برخی از فایروال های پایگاه داده همچنین می توانند پاسخ های پایگاه داده (از سرور DB) را برای جلوگیری از نشت احتمالی داده ها نظارت کنند. فایروال های پایگاه داده همچنین می توانند فعالیت های مشکوک را به جای مسدود کردن فوراً مطلع کنند.

دو نوع رایج ترین حملات پایگاه داده SQL Injection و Buffer Overflow هستند و فایروال های پایگاه داده می توانند چنین حملاتی را مسدود کنند. گاهی اوقات، اعتبار سرقت شده ممکن است منجر به تلاش برای هک پایگاه داده شود، اما از آنجایی که فایروال های پایگاه داده به طور مداوم فعالیت های نامنظم پایگاه داده را نظارت می کنند، چنین تلاش هایی قابل شناسایی هستند.

برخی از فایروال های پایگاه داده می توانند عواملی مانند آدرس IP، زمان، مکان، نوع برنامه ها (منبع) و غیره را که درخواست های دسترسی غیرعادی به پایگاه داده از آنها سرچشمه می گیرند، ارزیابی کنند و سپس تصمیم بگیرند که آیا آنها را مسدود کنند یا خیر، بر اساس این عوامل طبق سیاست های تنظیم شده. توسط مدیر اما احتمال وجود موارد مثبت کاذب و منفی های کاذب در فایروال های پایگاه داده یک مسئله است.

برخی از بهترین روش ها برای امنیت پایگاه داده:

  • حساب‌های استفاده نشده را می‌توان حذف کرد و از حساب‌های اشتراک‌گذاری شده (برای دسترسی به پایگاه داده)، تا آنجا که ممکن است جلوگیری کرد.
  • رمزگذاری محتویات پایگاه داده - به ویژه محتویات حساس - یک تمرین خوب است.
  • برای دسترسی به پایگاه داده می توان به کارمندان و کاربران امتیازات متفاوتی داد (مثلاً Read‌Only در مقابل Insert/Delete Records).
  • دسترسی کاربر ممتاز می تواند به بخش های خاصی از پایگاه داده کنترل یا محدود شود.
  • در برخی شرایط، بهتر است به کاربران اجازه داده شود تا پایگاه داده را از طریق برنامه های کاربردی مجاز به روز کنند، به جای اینکه به کاربران اجازه دهیم مستقیماً پایگاه داده را به روز کنند.
  • کاربران می توانند با استفاده از سرورهای LDAP / RADIUS / Active Directory و غیره احراز هویت شوند و مجوز بگیرند، و سیاست های دسترسی فردی آنها را می توان بر اساس نقش تعریف شده در این فهرست ها محدود کرد.

فایروال پایگاه داده منبع باز:Green-SQL یک فایروال مبتنی بر منبع باز برای دانلود رایگان پایگاه داده است که می تواند برای محافظت از پایگاه داده های MySQL و PostgreSQL استفاده شود. اساساً این نرم افزار به عنوان یک پروکسی معکوس برای اتصالات SQL عمل می کند و تمام اتصالات به سرور پایگاه داده را نظارت می کند. این می تواند در همان سرور پایگاه داده یا در یک سرور جداگانه در خط اتصال به پایگاه داده مستقر شود.




نویسنده: سیدحسین حسینی دانشجوی رشته علوم کامپیوتر
نام استاد: مریم حاجی اسمعیلی دکترای علوم کامپیوتر از دانشگاه کینگستون لندن
فایروالدیتابیسdatabasefirewall
دانشجوی رشته علوم کامپیوتر - برنامه نویس ارشد فرانت اند شرکت داده ورزی سداد - مدیر و مدیر فنی استارتاپ های روبیکس ، زینون و SRM
شاید از این پست‌ها خوشتان بیاید