برای اینکه مطمئن شوید از اصول اولیه برای سیستم های امنیتی پایگاه داده پیروی می کنید از چک لیست زیر استفاده کنید.
تزریق به پایگاه داده یا دیتابیس (SQL Injection) و سرریز بافر (buffer overflows) از نقاط آسیب پذیر پایگاه داده هستند که بیش از یک دهه مورد سوء استفاده قرار گرفته اند …
سیستم های پایگاه داده حتی با وجود بسته ها و راه حل های امنیتی، همچنان در خطر حملات هستند. هکرها راه خود را از طریق استفاده از نام های کاربری و کلمات عبور اکانت پیش فرض، باز می کنند، در عین حال، مدیران پایگاه داده و متخصصین IT از هزینه های تامین امنیت اکانت های کاربری شکایت دارند. و در نهایت، با شکایت هایی که به خاطر نقص داده ها دریافت خواهیم کرد، متوجه می شویم که داده های رمزگذاری نشده از بین رفته اند یا اطلاعات حساس به طور منظم به سیستم های ناایمن منتقل می شوند.
بدیهی است که هنوز مراحل اولیه ی ایجاد امنیت، سیستم های پایگاه داده را انجام نداده ایم.
بنابراین، فنون رمزگذاری پیشرفته، ارتباط وقایع و تجزیه و تحلیل قانونی را فراموش کنید. به جای آن ، سازمان ها به خصوص در موقعیت اقتصادی دشوار کنونی، به یک راهکار برنامه ریزی شده و واضح برای امنیت پایگاه داده خود نیاز دارند.
متاسفانه، همیشه در سازمان های بزرگ، ضروریات اولیه نادیده گرفته می شود ،در واقع این اقدامات برای متخصصین پایگاه داده که نمی دانند باید از کجا شروع کنند غافلگیر کننده است.
ما قصد داریم کار شما را ساده کنیم، در این مقاله ما چک لیستی از پیکربندی، حفاظت از داده ها، تهیه اکانت، تعامل سیستم عامل و پایگاه داده و ملاحظاتی برای برنامه های پیش زمینه و پس زمینه ای که از پایگاه داده استفاده می کنند، در اختیار شما قرار می دهیم. بدون انجام این لیست اولیه و عقلانی، بسیاری از اقدامات امنیتی پیشرفته، اتلاف وقت خواهد بود.
در اینجا، اقدامات امنیتی اولیه ای که شما باید برای محافظت پایگاه داده خود در مقابل تهدید ها به کار ببرید آورده شده است. یاوجود اینکه بررسی های اولیه برای اجرای این اقدامات زمان می برد اما آسان و موثر هستند.
مراحل کنترل دسترسی و مجوزدهی
شاید وسوسه شوید که از انجام این مراحل بگذرید، چون فکر می کنید در حال حاضر، کنترل دسترسی در محل را دارید و سپس به سرعت یک بررسی امنیتی را نیز انجام می دهید. اما تنها داشتن سیستم کنترل دسترسی به معنای برخورداری از یک سیستم ایمن نیست. احراز هویت پایگاه داده، و احراز هویت دامنه با هم متفاوت است و باید توجه زیادی اعمال شود. بنابراین این دو سیستم دسترسی را هماهنگ می کنند و به کاربران اجازه نمی دهند بطور کامل از احراز هویت پایگاه داده عبور کنند.
این اولین خط دفاع شما برای پایگاه داده و امنیت اطلاعات است که بازرسی دقیقی را برای حصول اطمینان از پیکربندی مناسب اکانت ها و همچنین استقرار مناسب دو سیستم تضمین می کند. حتما در نظر داشته باشید ، هرچقدر طول مدت عملیات یک پایگاه داده طولانی تر باشد، امکان اینکه مجوز های دسترسی از خطوط امنیتی فاصله بگیرد بیشتر است.
- نام کاربری و کلمه عبور پیش فرض را بلافاصله بعد از نصب پایگاه داده تغییر دهید. علاوه بر انجام این کار به صورت دوره ای نیز چک کنید که این اطلاعات پیش فرض به علت نصب مجدد پایگاه داده یا ریست کردن اکانت بازگردانی نشده باشد.
- اکانت هایی که در حال استفاده نیستند را قفل کنید. اگر مطمئن هستید که هرگز از آنها استفاده نخواهد شد حذفشان کنید. این کار به خصوص در مورد پایگاه داده هایی که برای تست ، آموزش و یا اکانت های دمو استفاده می شود بسیار مهم و ضروری است. این اکانت های شناخته شده با پایگاه داده بسته بندی شده و برای دسترسی به داده ها و توابع پایگاه داده قابل بهره برداری هستند.
- اعمال کلمات عبور قویتر. اگر از مجوزهای سطح دامنه برای دسترسی به پایگاه داده استفاده می کنید، می توانید سیاست هایی برای کلمات عبور قوی تر تنظیم کنید. توصیه ما این است که کلمات عبور را تغییر دهید و از کلمات عبور استاتیک دور شوید.
- حذف اکانت های عمومی، و همچنین حذف دسترسی عمومی از همه اکانت ها. هیچ نیازی وجود ندارد که شما به عموم مردم دسترسی به پایگاه داده خود را بدهید.
- احراز هویت دامنه یا احراز هویت پایگاه داده را برای کاربران پایگاه داده خود انتخاب کنید و با آن کنار بیایید. این دو را مخلوط نکنید. تلفیق مسئولیت شکاف امنیتی ایجاد می کند.
- با دقت نقش ها و گروه ها را بررسی کنید. لیست مجوزهای کاربر، نقش ها و عضویت گروه ها را لیست کنیدو آنها را بررسی کنید تا مطمئن شوید که کاربران مجوز کافی برای انجام کار خود را دارند. متاسفانه، این کار بسته به تعداد کاربران موجود در پایگاه داده شما، ممکن است وقت گیر باشد. حتی زمانی که ابزارهای اتوماسیون اجازه دسترسی به هر کاربری را اختصاص می دهند، بازبینی دستی تنظیمات هنوز برای شناسایی مشکلات لازم است. خبر بد این است که این کار سرگرم کننده نیست، و برای پایگاه داده های بزرگ، شما باید یک روز کامل را برای تهیه درست لیست مجوز ها صرف کنید. خبر خوب این است که اگر یکبار این تنظیم انجام شود، تشخیص تغییرات ناخواسته را بسیار آسان تر می کند و مجوز های افزایش یافته را متوقف می کند.
- از تخصیص توابع مدیریتی به کاربران اجتناب کنید. فروشندگان پایگاه داده ، توابع، نقش ها و روال های ذخیره شده و ابزارهای کمکی اختصاص داده شده را لیست می کنند. این توابع را به کاربران تحویل ندهید.
- وظایف مدیر پایگاه داده را تقسیم کنید. برای شرکت هایی که دارای بیش از یک مدیر پایگاه داده هستند، وظایف اداری را بین مدیران مختلف تقسیم می کنند، که تحت اکانت های مدیریتی مختلف کار می کنند. پلت فرم های پایگاه داده ارتباطی، مقررات کنترل دسترسی پیشرفته را برای انجام این کار فراهم می کند، که هم برای جداسازی وظایف و هم برای قفل کردن اکانت اصلی DBA قابل اجراست.
تنظیمات دسترسی به پایگاه داده
این موضوع در تامین امنیت و یکپارچگی عملیاتی بسیار پر اهمیت است .
- حتما دریابید که پایگاه های داده شما چگونه پیکر بندی شده است، چه از طریق کوئری های پایگاه داده و تحلیل فایل های پیکربندی، چه از طریق ابزار های ارزیابی رایگانی که در دسترس است. تمام فروشندگان پایگاه داده پیکربندی و تنظیمات امنیتی را توصیه می کنند، و مقایسه پیکربندی که انجام دادید با پیکربندی استاندارد زمان زیادی نخواهد برد .
- ماژول ها و سرویس هایی که بدان نیاز ندارید را حذف کنید. مثلا از replication استفاده نمی کنید؟ پس بسته های آن را حذف کنید. این سرویس ها می تواند ایمن باشد یا نباشد. اما نبودشان به شما این اطمینان را می دهد که راهی را برای هکر ها باز نگذاشته اید.
- از اصول اولیه پیکر بندی مورد تایید برای پایگاه های داده، سند تهیه کنید. این اسناد، هنگام تشخیص سیستم هایی که بد پیکربندی شده اند به عنوان مرجع و راهنما به کمک تمام مدیران سیستم خواهد آمد.
- از ابزار اسکن برای کشف پایگاه های داده ای که دارید استفاده کنید و به انجام تنظیمات پیکربندی تاکید داشته باشید.
دسترسی به پایگاه داده / تعامل پلت فرم ها
تمام پایگاه های داده این امکان را فراهم می کنند، بدین معنا که به طور مستقیم فرمان های سیستم عامل را برای وظایف مدیریتی فراخوانی می کنند. این توابع همراه با سیستم عامل و کد پایگاه داده هستند و تحت مجوز های مدیریتی اجرا می شوند و یک پورتال دو طرفه به پایگاه داده ارائه می دهند. این پیشنهادات حفره های امنیتی در این بازه را می پوشانند.
- stored procedure های پیشرفته یا خارجی را غیرفعال کنید
- اطمینان حاصل کنید که توابع مدیر دامنه به اکانت کاربری مالک دیتابیس در پایگاه داده نصب شده اختصاص داده نشده باشد.
- اطمینان حاصل کنید که مدیران دامنه، مدیران پایگاه داده نباشند.
- ابزارهای کمکی ایمپورت/اکسپورت، اسکریپت های شروع، ورودی های رجیستری یا فایل های خصوصیات را به اعتبارات مالک پایگاه داده محلی ارتباط دهید.
ارتباطات ایمن
باید اطمینان حاصل کنید، که ارتباطات پایگاه داده، خصوصی و ایمن باشد.
- session های بین برنامه های کاربردی و پایگاه داده را به خصوص در مورد برنامه های تحت وب رمزگذاری کنید.
- شماره پورت های پایگاه داده را به مقادیر غیر پیش فرض تغییر دهید. به عنوان مثال، پورت پیش فرض اوراکل را از 1521به یک پورت تصادفی تغییر دهید، اینکار حملات خودکار را خنثی می کند و کار مهاجم را در جمع آوری اطلاعات دشوارتر می کند.
- اتصالات ad-hoc را مسدود کنید. اتصالات ad-hoc از مکان های ناخواسته، در طول روز یا برنامه های کاربردی تایید نشده، می تواند توسط تریگر های لاگین ساده ، فایروال های پایگاه داده و برخی سیستم های کنترل دسترسی ، تشخیص و رد می شود.
بسته های پایگاه داده را نصب کنید
هدف شما، به حداکثر رساندن، دانش امنیت و خبرگی فروشنگان پایگاه داده است، بدین وسیله به آنها اجازه می دهید مشکلات امنیتی را بیابند و آنها را مدیریت کنند. لازمه این کار تهیه و نصب بسته های پایگاه داده به طور منظم است.
یک محیط و فرآیند برای اجرای توابعی که بسته های پایگاه داده را قبل از تولید آنها چک می کنند، ایجاد کنید.
- اجازه ندهید بسته توسط مدیران مختلف پایگاه داده دانلود شود، بلکه نسخه های متمرکز، مورد قبول و تأیید شده در دسترس داشته باشید.
- نسخه های بسته داخلی را با بسته های منتشر شده ی فروشنده هماهنگ کنید.
- در مواردی که بسته یا تغییر توابع غیر قابل قبول باشد، دوباره آن را تنظیم کنید. اگر از فایروال پایگاه داده یا فایروال برنامه های کاربردی استفاده می کنید، حملات ها را تا زمانی که یک بسته مناسب در دسترس قرار گیرد، مسدود کنید.
استفاده برنامه های کاربردی از پایگاه داده
برنامه های کاربردی سازمانی و وبی، بیشتر از حافظه های اولیه ، از سرویس اکانت ها که همراه با طیف وسیعی از قابلیت ها ارائه شده است، استفاده می کنند.
- مجوز را بین کاربران معمولی و اکانت های مدیر برنامه تقسیم کنید.
- اتصالات اشتراکی به شبکه، که در آن یک حساب پایگاه داده تنها توسط تمام کاربران پایگاه داده استفاده می شود را محدود کنید. در صورت امکان، فرآیند برنامه را به گروه بندی های مختلف تقسیم کنید و این عملیات را تحت اکانت های مختلف کاربر پایگاه داده انجام دهید. علاوه بر این، مجوزهای دسترسی را می توان با توجه به نقش به حداقل رسانده، زیرا این امر تقسیم وظایف را فراهم می کند و تجزیه و تحلیل فایل ها را آسان تر می کند.
- اتصال نرم افزار به پایگاه داده را تغییر دهید تا به کوئری های پایگاه داده اجازه دهید با کاربر نهایی در ارتباط باشند. این کار باعث می شود تجزیه و تحلیل ، بازرسی و اجرای سیاست ها آسان تر شود.
محافظت از رسانه
محافظت از فضای پشتیبان گیری اختیاری نیست، زیرا همین فضاهای از دست رفته دلیل اصلی نفوذ در اطلاعات هستند. روش های متعددی وجود دارد که به تغییرات فرآیندها و برنامه ها نیازی ندارد، از جمله رمزگذاری شفاف پایگاه داده، که نیازی به تغییر در کد برنامه ندارد و اغلب از جانب فروشنده پایگاه داده در اختیار گذاشته می شود.
لاگ و بررسی رویداد ها
- اگر می توانید از سیستم لاگ گیری استفاده کنید.
- یک سیاست حفظ لاگ ایجاد کنید، رویدادهایی را که لازم ندارید تعیین کنید و آنها را فیلتر کنید.
- به صورت دوره ای گزارش ها را بازبینی کنید، بر روی خرابی عملکرد سیستم و لاگ هایی که نشان دهنده تفحص کردن در سیستم هستند تمرکز کنید.
- تنظیمات لاگ گیری را به صورت دوره ای مرور کنید.
بی ثباتی را بپزیرید
مهم نیست که چه کاری انجام دهید، هرگز 100 درصد ایمن نخواهید بود. این واقعیت را در نظر بگیرید و راه حلی برای وقایع امنیتی طراحی کنید.
- فهرستی از پایگاه های داده خود را جمع آوری کنید.
- اطلاعات حساس خود را کشف و فهرست کنید.
- حتما برای مواقعی که اطلاعاتی را از دست می دهید یا اطلاعات به سرقت می روند، برنامه ای برای برگرداندن اطلاعات در نظر بگیرید.
- حتما برای مدیریت کردن حوادث امنیتی که اتفاق می افتد برنامه ی قوی ای برای بازیابی اطلاعات داشته باشید.
- روحیه همکاری ایجاد کنید تا بتوانید برنامه نویسان و مدیران برنامه ها را بهتر درک کنید و مطمئن شوید که آنها نیاز به کار با دیگران را می فهمند. اگر با یک گروه تعامل دارید، سعی کنید آنها را بهتر بشناسید و مشاوره و نظرات آنها را بپرسید.
انطباق نیروهای رمزگذاری و بازرسی
اگر داده های ارزشمندی داشته باشید، احتمالا صاحب یک صنعت یا سمت دولتی هستید و باید توصیه های زیر را به اجرا در آورید. این توصیه ها شیوه های امنیتی خوبی برای همه به حساب می آیند، اما به دلیل زمان و هزینه اضافه که برای پیاده سازی نیاز دارد، در بسیاری از مواقع تا قبل از اعمال فشار قانونی ، نادیده گرفته می شوند. دو مورد از معمولی ترین مقررات قانونی مورد نیاز بازرسی و رمزگذاری است. این توابع می تواند همراه با ابزارهایی که توسط فروشنده پایگاه داده تهیه می شود ارائه شود، اما با توجه به مشکلات اجرا، پیاده سازی و مدیریت این سیستم ها، شما باید ابزار و زیرساخت های اضافی برای رفع مسائل مدیریتی و اجرایی خریداری کنید.
اعتبارسنجی: حسابرسی بانک اطلاعاتی برای ثبت سابقه تراکنش های پایگاه داده استفاده می شود که آن را برای تشخیص فعالیت های مشکوک و انجام بازرسی های قانونی بکار می برند. همه پلت فرمهای پایگاه داده ارتباطی دارای امکانات بازرسی هستند که تراکنش داده ها و عملیات مدیریتی که علیه سیستم پایگاه داده انجام می شود را ثبت می کنند. بسته به فروشنده پایگاه داده و نحوه طراحی و پیاده سازی این امکانات، شما می توانید اطلاعات دقیقی از تراکنش ها جمع آوری کنید، تراکنش هایی که نیاز ندارید را فیلتر کنید تا نمایش داده نشود و بدون تاثیر منفی بر عملکرد، یک نمای مختصر و مفید از فعالیت های پایگاه داده داشته باشید.
با استفاده از نرم افزار استاندارد عرضه شده توسط فروشندگان پایگاه داده، امکانات مورد نیاز برای جمع آوری اطلاعات فراهم است، با این وجود باید باید یک فرایند بازبینی و گزارش دهی برای نمایش انطباق اطلاعات ایجاد کنید. برای انجام خودکار این فرآیند، ابزارهای مدیریت لاگ و نظارت بازرسی پایگاه داده در دسترس هستند. علارقم اینکه دامنه مورد نیاز به سرمایه گذاری بیشتر دارد، این ابزار ها عملکرد بهتری را ارائه می دهند، استفاده از آن ها آسان تر است و از سیاست های پیش ساخته و گزارش هایی که به طور خاص برای قوانین طراحی شده اند، برخوردار هستند.
رمزگذاری. اشکال مختلفی از رمزگذاری پایگاه داده در دسترس است، اما معمولا به دو خانواده تقسیم می شود: اول رمزگذاری شفاف که تمام پایگاه داده را پوشش می دهد و نیاز به هیچ تغییری در فرآیندها ندارد و دوم رمزگذاری کاربر فقط برای انتخاب اشیاء در پایگاه داده است که نیاز به تغییر در کد برنامه دارد. رمزگذاری شفاف واقعا برای حفاظت از داده در رسانه ها در مقابل دسترسی از خارج از پایگاه داده، طراحی شده است، از جمله درایو های دیسک و نوار پشتیبان. رمزگذاری کاربر را می توان برای هر دو حفاظت از رسانه ها و حفاظت داده ها از سوء استفاده بکار برد.
هنگامی که در مورد رمزگذاری برای پاسخگویی به دستورالعمل ها صحبت می کنیم، امکانات رمزنگاری شفاف گزینه مناسبی برای برآورده کردن الزاماتی مانند استانداردهای امنیت داده ها در صنعت پرداخت با کارت (PCI DSS) نیست، اما بیشترین نیازمندی های قانونی اطلاع رسانی مربوط به نقض قوانین دولتی را در اختیار می گذارد. به علت اینکه هزینه و پیچیدگی بین این دو گزینه کاملا متفاوت است، حتما باید قبل از تصمیم گیری در مورد اینکه کدامیک برای برآوردن نیاز های بازرسی شما مناسب تر است بحث کنید. قبل از تصمیم گیری در مورد نحوه پیاده سازی پایگاه داده اطمینان حاصل کنید که تهدید مناسبی را مورد هدف قرار دادید.
امروز می توانید هر یک از این اقدامات را شروع کنید، انجام آنها در جلوگیری از رایج ترین حملات پایگاه داده موثر است. خوشبختانه هنوز انجام مراحل ابتدایی رایگان است و شما با کمترین وقت و انرژی بدون نیاز به خرید محصولات یا خدمات خاص، می توانید آنها را انجام دهید. از طرفی شما می توانید محصولات پس از فروش را برای انجام دادن این وظایف خریداری کنید ، با این روش، کار را بهتر، سریع تر و با تلاش کمتری انجام می دهید.
نباید اجازه دهید، هزینه ها شما را نسبت به انجام این اقدامات امنیتی دلسرد کند، در این شرایط اقتصادی که در آن همه ما انتظار داریم با کار کم نتیجه زیاد بگیریم این روش روش خوبیست.