راه های افزایش امنیت پایگاه داده وردپرس
بزرگترین دارایی یک سایت پایگاه داده آن است. پایگاه داده تمام اطلاعات مهم یک وب سایت مانند کاربران، آدرس ها، پست ها، صفحات، نظرات و غیره را درون خود ذخیره می کند. به همین دلیل مورد هدف هکر ها و اسپمرها قرار می گیرد. اگر پایگاه داده شما ایمن نباشد به راحتی راهی برای نفوذ هکرها ایجاد می کند. حفظ امنیت پایگاه داده برای هر شرکت و سازمانی ضروری است. در این مقاله روش هایی را توضیح می دهیم که به شما برای افزایش امنیت پایگاه داده وردپرس کمک می کند.
نحوه ارتباط وردپرس با دیتابیس
در ابتدا به بررسی نحوه استفاده وردپرس از دیتابیس و ساز و کار هر دو می پردازیم. PHP و SQL با یکدیگر کار می کنند. زبان برنامه نویسی وردپرس PHP است که برای ذخیره و بازیابی اطلاعات از دیتابیس استفاده می شود. MYSQL برای مدیریت پایگاه داده شما استفاده می شود. در هنگام ورود به یک وب سایت وردپرس SQL باعث ورود شما می شود و شناسه کاربری شما را استخراج کرده و آن را تایید می کند.
افزونه ها و قالب ها نیز پایگاه داده را برای ذخیره داده ها به کار می برند. آنها از SQL به همره PHP برای ایجاد پرس وجو از پایگاه داده و نمایش محتوا استفاده می کنند. پایگاه داده شما احتیاج به مدیریت دارد. افزونه ای مثل Ultimate WP DB Manager برای مدیریت دیتابیس استفاده می شود. علاوه بر بهینه سازی دیتابیس وردپرس حفظ امنیت اطلاعات آن بسیار حیاتی است. در ادامه به آموزش افزایش امنیت وردپرس به سراغ روش های افرایش امنیت پایگاه داده می پردازیم.
نکته: توجه کنید که قبل از هر اقدامی از سایتتان بک آپ بگیرید.
تغییر نام کاربری Admin
در گذشته حملات بروت فورس هکرها به سایت هایی اتفاق افتاد که از نام کاربری Admin و پسورد های ساده استفاده کرده بودند. در نسخه وردپرس 3.0 با نصب وردپرس به صورت خودکار، نام کاربری Admin را به آن اختصاص می داد. ولی از آن نسخه به بعد دیگر خود شما می توانید نام کاربری را تعیین کنید. از طریق دیتابیس نیز می توانید به راحتی آن را تغییر دهید. همانطور که تاکید شد حتما قبل از هر گونه تغییر و اجرای کوئری از سایت خود بک آپ بگیرید.
1- به phpMyAdmin بروید.
2-دیتابیس موردنظرتان را انتخاب کنید.
3-مطابق تصویر زیر کد زیر را برای تغییر نام کاربری از Admin به هر چیز دلخواه بزنید. به جای کلمه anything می توانید نام کاربری خود را بگذارید.
UPDATE wp_users SET user_login=’anything’ WHERE user_login=’admin’;
اگر چند سایت و دیتابیس دارید از تایع زیر برای دسترسی مدیر و امتیازات مدیر استفاده کنید.
grant_super_admin()
تصویر زیر نحوه زدن کوئری که در مراحل بالا توضیح داده شد را نشان می دهد.
یکی از اقدامات امنیتی در هنگام نصب وردپرس تغییر نام کاربری ادمین است. برای اینکه با سایر اقدامات امنیتی آشنا شوید دوره امنیت وردپرس به شما کمک میکند تا مجوزهای مهم امنیتی یوزر دیتابیس را نیز رعایت کنید.
تغییر ID یا شناسه مدیر
یکی دیگر از راه های حفظ امنیت پایگاه داده تغییر ID اکانت مدیر است. توجه کنید همانطور که Admin نام کاربری پیش فرض است، ID و شناسه آن نیز 1 است. این مقادیر پیش فرض، بستری را برای حملات هکرها فراهم می کنند. برای تغییر این شناسه مراحل زیر را انجام دهید.
1- به phpmyadmin بروید.
2- کوئری های زیر را اجرا کنید:
UPDATE wp_users SET ID = 2807 WHERE ID = 1;
UPDATE wp_posts SET post_author = 2807 WHERE post_author = 1;
UPDATE wp_comments SET user_id = 2807 WHERE user_id = 1;
UPDATE wp_usermeta SET user_id = 2807 WHERE user_id = 1;
ALTER TABLE wp_users AUTO_INCREMENT = 2808;
اگر چندسایت دارید باید برای هر سایت خطوط بالا را تکرار کنید.
نکته بسیار مهم: به شدت تاکید می شود که قبل از هرگونه تغییر، از سایت خود بک آپ بگیرید و بعد از هر کوئری، تغییرات را داخل سایت مشاهده کنید که با بخش های دیگر سایت از نظر عملکرد تداخل نداشته باشد.
تغییر پیشوند دیتابیس
همانطور که میدانید پیشوند پیش فرض جداول دیتابیس _wp است. برای افزایش امنیت پایگاه داده وردپرس بهتر است هنگام ساخت دیتابیس مطابق تصویر زیر در طول مراحل نصب پیشوند پایگاه داده را تغییر دهید.
چنانچه بعد از نصب وردپرس قصد تغییر پیشوند دیتابیس را داشتید می توانید از افزونه امنیت وردپرس مانند Change Table Prefix یا افزونه iTheme Security پیشوند جداول پایگاه داده را به راحتی تغییر دهید.
تغییر پیشوند پایگاه داده در افزونه iTheme Security
بعد از نصب افزونه، در پیشخوان وردپرس وارد بخش تنظیمات > پیکربندی > تنظیمات جهانی را شوید. در تنظیمات باز شده باید تیک نوشتن بر روی فایل ها را بزنید. این گزینه به شما امکان تغییر در دو فایل htaccess و wp-config.php را می دهد. تصویر زیر این تنظیمات را به شما نشان می دهد.
بعد از آن طبق تصویر زیر وارد بخش ابزارها شده و از قسمت پیشوند جدول پایگاه داده را تغییر دهید “اجرا کن” را بزنید تا یک پیشوند تصادفی برای دیتابیس شما ایجاد شود.
محدود کردن امتیازات کاربر دیتابیس
همه کاربران MYSQL نیازی نیست تمام امتیازات را در wp-config.php داشته باشند و بعد از مدت مشخصی می توان امتیازات آنها را محدود کرد. این امتیازات هنگام اتصال کاربر به پایگاه داذه قابل تعیین هستند. کاربر نیازی به اینکه تمام امتیازات را داشته باشد ندارد و فقط امتیازاتی مانند Data Read و Data Write را نیاز دارد. کاربری که می خواهد فایل بارگذاری کند، پست جدید ایجاد کند و غیره احتیاجی به امتیاز تغییر پایگاه داده ندارد.
بعد از اینکه کاربر دیتابیس را ایجاد کردید اگر بخواهید امیتازات او را محدود کنید، باید همانطور که در دو تصویر مشاهده می کنید، به شکل زیر عمل کنید.
1- cpanel خود را باز کنید و به بخش mySQL Databases بروید.
2- در بخش Current Databases برای دیتابیس موردنظر بر روی کاربردر بخش Privileged Users کلیک کنید و تیک امتیازاتی که نیاز نیست کاربر داشته باشد را بر دارید.
مطابق با تصویر زیر، در این بخش امتیازات هر کاربر را تعیین می کنید.
حذف جداول سفارشی از دیتابیس
برای حفظ امنیت پایگاه داده زمانی که یک پلاگین را از سایت خود حذف می کنید، باید جداول و رکوردهای آن را از دیتابیس تان نیز حذف کنید. جداول سفارشی را باید برای افزونه هایی حذف کنید که دیگر قصد نصب آنها را ندارید زیرا در صورت حذف قابل برگشت نیستند. با ریست کردن وردپرس با استفاده از افزونه ها می توانید جداول باقی مانده و غیر ضروری را حذف کنید.
بعضی از افزونه ها هنگام حذف، امکان حذف خودکار جداول خود از دیتابیس را دارند.
ایجاد بک آپ برای حفظ امنیت پایگاه داده
همانطور که گفته شد پایگاه داده شما بسیار مهم است و برای محافظت از آن باید یک برنامه بک آپ گیری منظم داشته باشید. تا در صورت هر گونه تغییر اشتباه، امکان بازگشت را داشته باشید. کنید.
اگر بخواهید از داخل phpmyAdmin بک آپ بگیرید مراحل زیر را انجام دهید.
1- به phpmyAdmin بروید.
2- بر روی پایگاه داده موردنظر کلیک کنید.
3- سربرگ export را بزنید.
4-مطابق تصویر Export method را custom بگذارید. سپس در قسمت Object creation options، گزینه Add DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER statement را بزنید.
4- در پایان بر روی دکمه go در انتهای صفحه کلیک کنید.
علاوه بر روش گفته شده برای بک آپ گیری می توانید از افزونه های بک آپ مانند افزونه داپلیکیتور استفاده کنید.
پنهان کردن دیتابیس
شما باید یک رمز عبور مشکل برای دیتابیس خود ایجاد کنید. به علاوه می توانید با استفاده از فایل robots.txt دیتابیس خود را از موتورهای جست و جو پنهان کنید.
تغییر رمز عبور و امنیت دسترسی کاربر
نکات زیر را دسترسی کاربران و پسوردهای تعیین شده به کار ببرید:
- رمز عبور شما باید منحصر به فرد باشد.
- از کاربران دیتابیس خود بخواهید که هر 90 روز یک بار رمز خود را تغییر دهند.
- از عبارات رایج برای پسورد استفاده نکنید.
- از رمز عبور یکسان در بیش از یک حساب استفاده نکنید.
- دسترسی کاربرانی که شرکت شما را ترک کرده اند را تغییر دهید.
بعضی از سایت ها یا کسب و کارها نیاز است که اقدامات در سطح بزرگتر و حرفه ای تر را انجام دهند. در ادامه مواردی را بیان می کنیم که می توانید انجام آنها را به یک متخصص بسپارید.
تفکیک سرورهای پایگاه داده و سرورهای وب
برای افزایش امنیت پایگاه داده و حفظ محرماگی آنها، باید دیتایبیس خود را در محیطی امن با کنترل دسترسی و جلوگیری از ورود افراد غیرمجاز قرار دهید. بهتر است سروری که برنامه یا وب شما را اجرا می کند جدا از محل نگهداری اطلاعات دیتابیس تان باشد.
امنیت دیتابیس تان را مدام تست کنید
می توانید بارها دیتابیس خود را مورد آزمایش و در معرض حمله واقعی قرار دهید. این کار به شما کمک میکند تا آسیب پذیری های خود را شناسایی کنید. برای این کار از افراد متخصص در این زمینه کمک بگیرید.
استفاده از فایروال های وب اپلیکیشن ها و فایروال های پایگاه داده
شما باید سرور پایگاه داده خود را در برابر تهدیدات امنیتی از طریق فایروال محافظت کنید. این فایروال به صورت پیش فرض از ترافیک دسترسی جلوگیری می کند و تنها دسترسی از طریق سرورهای وب یا برنامه های کاربردی خاص را امکان پذیر می کند. شما علاوه بر محافظت پایگاه داده از طریق فایروال، می توانید از یک وب اپلیکیشن فایروال استفاده کنید. زیرا حملاتی مانند SQL injection که به یک وب اپلیکیشن متصل می شوند برای حذف داده از دیتابیس به کار برده می شوند. اگر SQL injection attacks از برنامه ای که منبع مجاز ترافیک است استفاده کند، فایروال پایگاه داده نمی تواند به تنهایی از این امر جلوگیری کند و نیاز به یک فایروال وب اپلیکیشن است. با نصب WAF روی سرور یک شیلد بین وب اپلیکیشن و اینترنت ایجاد می شود.
اگر سایت وردپرسی دارید استفاده از افزونههای امنیتی و یک فایروال، امنیت سایت شما تضمین میکند. افزونه وردفنس به عنوان یک اسکنر و فایروال امنیتی همه نیاز سایت شما را برآورده میکند.
نظارت مداوم بر فعالیت پایگاه داده
نظارت و مانیتورینگ مداوم دیتابیس با استفاده از نرم افزارهایی مانند DAM قابل انجام است. این نرم افزارها می توانند فعالیت های مشکوک را روی پایگاه داده شما تشخیص دهند. به علاوه در صورت شناسایی فعالیت های مخرب به اعضای مربوطه اطلاع رسانی می شود.
در این مقاله به آموزش افزایش امنیت پایگاه داده پرداختیم و در انتها روش های تخصصی تر برای حفاظت از دیتابیس را بیان کردیم. سعی کردیم که تمامی روش های افزایش امنیت پایگاه داده را در این آموزش بگنجانیم. امیدوارم بتوانید با به کارگیری این روش ها به درستی به حفظ محرمانگی از اطلاعات خود بپردازید.