وبگارد / نسخه ۲۰۲۰
این راهنمای امنیت WordPress به طور کامل در مورد نحوه تامین امنیت کاربران ، کاهش تهدیدات و ایجاد یک وب سایت امن WordPress می باشد. سیستم مدیریت محتوای WordPress یک نرم افزار منبع باز یا همان اوپن سورس است که برای ایجاد وبسایت یا فروشگاه اینترنتی از آن استفاده می شود و بیش از ۳۵ درصد از کل وبسایتها در جهان با استفاده از وردپرس ساختهشدهاند.
هر نسخه جدیدی از وردپرس ویژگی های جدید ، رفع اشکالات مختلف و بهبود عملکرد را به همراه دارد و امنیت وب سایت شما را بهبود می بخشد. بسیاری از تازه کاران و مبتدیان وردپرس از بروز رسانی هسته وردپرس به دلیل اینکه نکند سایت شان خراب شود یا بهم بریزد ترس دارند و معمولا نسخه های جدید و بروز رسانی های وردپرس را انجام نمی دهند و امنیت سایت وردپرس شان را در معرض تهدیدات امنیتی قرار می دهند. همیشه و در همه حال مطمعن شوید که در حال استفاده از آخرین نسخه وردپرس هستید این برای امنیت سایت تان بسیار اهمیت دارد. شما می توانید لیست آسیب پذیری های منتشر شده بر روی هسته وردپرس را از سایت wpvulndb.com مشاهده کنید
دقت کنید که قبل از اجرای هر کار یک بک آپ کامل از بانک اطلاعاتی و دایرکتوری روت سایت تهیه کنید که در صورت هر گونه خطا مجدد بازگرداندن سایت را انجام دهید
هر نسخه جدیدی از وردپرس ویژگی های جدید ، رفع اشکالات مختلف و بهبود عملکرد را به همراه دارد و امنیت وب سایت شما را بهبود می بخشد. بسیاری از تازه کاران و مبتدیان وردپرس از بروز رسانی هسته وردپرس به دلیل اینکه نکند سایت شان خراب شود یا بهم بریزد ترس دارند و معمولا نسخه های جدید و بروز رسانی های وردپرس را انجام نمی دهند و امنیت سایت وردپرس شان را در معرض تهدیدات امنیتی قرار می دهند. همیشه و در همه حال مطمعن شوید که در حال استفاده از آخرین نسخه وردپرس هستید این برای امنیت سایت تان بسیار اهمیت دارد. اگر از نسخه های قدیمی استفاده کنید مطمعن باشید سایت شما آسیب پذیر می باشد و روش این حملات به صورت عمومی در اختیار هکر ها می باشد و به راحتی می توانند با استفاده از کد های مخربی که در اینترنت وجود دارد به وب سایت شما حمله کنند.
define('WP_AUTO_UPDATE_CORE', true );
اگر شما پلاگین های خود را به روز رسانی نکنید و یا از پلاگین هایی که به روز رسانی نمی شوند یا تیم پشتیبانی ندارد استفاده کنید به زودی وب سایت شما هک خواهد شد این افزونه های درهای نفوذ به وب سایت شما هستند و تنها کافیه یکی از این افزونه ها به روز رسانی نشده باشد و یا آسیب پذیری روی آنها کشف شود. مهاجم می تواند به راحتی به سایت شما نفوذ کند وردپرس دارای ساختار مشخصی می باشد و پلاگین ها در مسیر :/wp-content/plugins/ بارگذاری می شود . این یعنی اگر پلاگین نصب کنید داخل پوشه plugins یک دایرکتوری به نام پلاگین ایجاد می شود. لیست این پلاگین ها به صورت عمومی می باشد و مهاجم می تواند اسم تمام پلاگین های را در این دایرکتوری جستجو کند و لیست پلاگین های شما را کشف کند .
در مثال زیر نمونه ای از نتیجه اسکن امنیت وردپرس با استفاده از اسکنر سایت وبگارد به صورت رایگان را مشاهده می کنید.
در این وبسایت از پلاگین WP-Statistics که یکی از پر طرفدار ترین پلاگین های مربوط به وردپرس می باشد استفاده می کند که این پلاگین به شما کمک می کند وبسایت و کاربران خود را رسد کنید وب سایت هدف از WP-Statistics ورژن 12.0.7 استفاده کرده که این نسخه یک نسخه قبل از اخرین نسخه می باشد . در این نسخه یک آسیب پذیری از نوع sql Injection وجود دارد که مهاجم با سو استفاده از این آسیب پذیری می تواند به بانک اطلاعاتی وب سایت دسترسی پیدا کند و وب سایت شما را هک کند اطلاعات فنی این آسیب پذیری و نحوه سو استفاده از این آسیب پذیری به صورت عمومی منتشر شده است جزئیات فنی این آسیب پذیری در سایت Sucuri منتشر شده است
Uptime Robot هر 5 دقیقه 1 بار سایت شما را مانیتور می کند و اگه سایت در دسترس نباشد و یا با خطایی مواجه شده باشد شما رو از طریق ایمیل مطلع میکنه. سرویس Uptime Robot رایگان بوده و اجازه میدهد تا ۵۰ سایت برای هر نام کاربری رایگان می باشد در ویدیو زیر نحوه ثبت نام و مانیتورینگ سایت توسط سرویس آپ تایم ربات ارائه شده است
فایروال وبگارد به صورت لحظه ای سایت را مانیتور میکند و اگر منابع سرور به صورت ناگهانی بالا رود ، یا حمله ای روی سیستم شما رخ دهد ، همان لحظه به صورت پیامک و ایمیل به شما هشدار داده می شود.
تهیه نسخه پشتیبان از پایگاه داده وردپرس یکی از مهمترین و حیاتیترین کارهایی است که باید به صورت مداوم آن را انجام دهید. به یاد داشته باشید ، هیچ چیز 100٪ امن نیست. و شما باید به صورت مداوم از بانک اطلاعاتی و تمام فایل ها و دایرکتوری ها نسخه پشتیبانی تهیه کنید پیشنهاد میشود که فایل های پشتیبانی داخل سرور نگه داری نشده و در سیستم های ابری مانند Dropbox , ابرآروان نگه داری شود
افزونه VaultPress با چند کلیک به صورت خودکار و لحظه ای میتوانید پشتیبان گیری در فضای ابر را انجام دهید. این افزونه تجاری می باشد
یک افزونه رایگان است که به شما امکان می دهد پشتیبان گیری کامل وردپرس را به صورت رایگان ایجاد کنید و آن را در ابر (Dropbox ، Amazon S3 ، Rackspace و غیره) ، FTP ، ایمیل یا رایانه خود ذخیره کنید.
محبوب ترین افزونه رایگان برای گرفتن فایل پشتیبانی برای WordPress است می باشد که بیش از 2 میلیون بار نصب شده است.
تیم وبگارد می تواند برای شما خدمات راه کارهای پشتیبان گیری بر روی ابر آمازون و ابر آروان ارائه دهد که به صورت لحظه ای از بانک اطلاعاتی و تمامی فایل های شما بک آپ تهیه شود.
امروزه استفاده از گواهینامه SSL در وب سایتها جهت رمزنگاری داده های بین کاربر و سرویس دهنده استفاده میگردد. رمز نگاری داده ها میتواند امنیت حریم خصوصی کاربر را افزایش داده و از دستکاری، سرقت و استراق سمع اطلاعات در مسیر ارتباط کاربر تا سرویس دهنده جلوگیری نماید.
مرکز ماهر به منظور تسهیل فرایند درخواست و دریافت گواهینامه SSL از LetsEncrypt CA ایجاد شده است. در این سامانه شما میتوانید برای وبسایت یا سامانههای خود گواهینامه SSL معتبر بصورت رایگان دریافت نمایید. این گواهینامهها توسط موسسهی LetsEncrypt CA* صادر میگردد. برای این منظور مجموعه ابزاری تهیه گردیده است که بر حسب نیاز، کاربر میتواند با استفاده از آن تمامی مراحل دریافت، نصب، پیکربندی و صدور مجدد گواهینامهی SSL را به صورت خودکار انجام دهد. با استفاده از ابزار تحت وب (آنلاین) سامانه نیز کاربر میتواند تنها با چند کلیک و بعد از احراز مالکیت دامنه، گواهینامه SSL را دریافت نماید.
مکانیزم ورود دو مرحله ای به گونه ای است که شما برای ورود به بخش مدیریت ، نام کاربری و رمز عبورد و یک رمز یک با مصرف وارد می کنید . این رمز یکبار مصرف توسط ابزار Google Authenticator App یا به موبایل شما پیامک زده می شود. برای ایجاد رمز دو مرحله ای وردپرس ما افزونه Two Factor Authentication را به شما معرفی می کنیم
فایروال وبگارد به صورت یک لایه دفاعی در مسیر ترافیک های ورودی و خروجی وب سایت قرار می گیرد تا بصورت یک حایل امنیتی عمل کند. بدین شکل که حملات را پیش از آنکه به سایت برسند دفع می کند.
به طور پیش فرض ، وردپرس به کاربران اجازه می دهد تا هر تعداد که بخواهند پسورد مدیر را امتحان کند. اما این کار به هکر ها اجازه می دهد تا پسورد های مختلف را برای ورود به بخش مدیریت تست کنند ،و در برابر حملات bruteforce آسیب پذیر باشد. با محدود کردن تلاشهای ناموفق برای ورود کاربر می توانید این مشکل را به راحتی برطرف کنید. اگر از فایروال وب که قبلاً ذکر شد استفاده می کنید ، جلوی این حملات گرفته می شود. اما اگر فایروال ندارید می توانید افزونه Login LockDown را نصب و فعال کنید.
صفحه ورود مدیریت وردپرس به صورت پیش فرض در مسیر wp-admin می باشد
شما با استفاده از افزونه
HC Custom WP-Admin URL قادر به تغییر آدرس ورود به مدیریت وردپرس یعنی wp admin و wp-login.php هستید
WordPress از یک ویرایشگر کد استفاده می کند که به شما امکان می دهد سورس قالب ها و پلاگین های خود را درست از پنل مدیریت وردپرس ویرایش کنید. این ویژگی می تواند خطر ناک باشد و هکر های از این قابلیت وردپرس برای نصب شلر ها و Backdoor خود استفاده می کنند، پیشنهاد می شود که این قابلیت را غیر فعال کنید
// Disallow file edit define('DISALLOW_FILE_EDIT', true );
همین حالا مسیر زیر را در سایت وردپرس خود باز کنید :http://YourSite.ir/wp-content/uploads/
اگر با جوابی همانند این عکس دریافت کردید هکر ها می توانند داخل دایرکتوری های سایت شما را جستجو کنند و اطلاعات مهمی از سایت شما به دست بیاورند برای حل این مشکل باید در روت اصلی سایت فایل .htaccess را باز کنید و اطلاعات زیر را به آن اضافه کنید :
Options -Indexes
هکرها همیشه راهی برای دسترسی مجدد به سایت شما ایجاد می کنند. خیلی وقت ها هکر ها شما را هک می کنند و کدهای Backdoor و شلر ها را درون سایت و بین کد های شما قرار می دهند که هر زمان اراده کنند به تمام بانک اطلاعاتی و سوری کد شما دسترسی پیدا کنند. خیلی وقت ها شما هک می شوید ، اما هدف اطلاعات شما نیست و از سرور های شما برای مقصود دیگه مانند حملات DDOS به سایت های دیگر ، Crypto mining و …. استفاده می شود. به شما پیشنهاد می کنم که حتما سایت وردپرس را اسکن کنید و اگر سایت شما به کد های مخرب آلوده شده است شناسایی و حذف نمایید.
فایروال وبگارد: اگر شما از فایروال وبگارد استفاده می کنید می توانید از بخش نظارت > اسکن فایل ها استفاده کنید. فایروال وبگارد هر فایلی هنگام آپلود کردن را اسکن می کند و با استفاده از شناسایی امضای شلر ها و کشف فانکشن های خطر ناک آنها را شناسایی و جلوی آپلود این فایل های مخرب بر روی سرور گرفته می شود . در واقع همانند یک آنتی ویروس و آنتی شلر عمل می کند
ما اگر از فایروال سایت استفاده نمی کنید می توانید با استفاده از راهکار زیر آنها را شناسایی کنید داخل پوشه /wp-content/uploads اگر فایل php شناسایی کردید ، امکان اینکه این فایل یک درب پشتی باشد بسیار بالا است. چون به صورت پیش فرض امکان آپلود این فایل ها از طریق وردپرس وجود ندارد . شما می توانید از دستور زیر برای اسکن و شناسایی تمام دایرکتوری های داخل uploads استفاده کنید
find /Your-Web-Directory/wp-content/uploads/ -type f -mtime -n -name '*.php'
به یاد داشته باشید این توابع در پلاگین ها به صورت ایزوله استفاده می شود ، برای بررسی و اطمینان از سلامت کد ها حتما باید توسط متخصص بررسی شود . اگر برای اسکن کد های وردپرس نیاز به اطلاعات بیشتر دارید با تیم امنیت وبگارد تماس حاصل کنید.
وبگارد خاطر نشان می کنه که Rest API در وردپرس به صورت پیش فرض فعال می باشد و با استفاده از این قابلیت می توان به لیست یوسر های وردپرس دسترسی پیدا کرد. همین حالا لیست یوسر های مدیریت سایت وردپرس را از لینک زیر دریافت کنید :
https://YourSite.ir/wp-json/wp/v2/users <این یک آسیب پذیری نیست ، اما به دست آمدن لیست نام کاربری مدیر های سیستم به این سادگی ، می تواند به هکر و ربات ها امکان حملات BruteForce را راحت تر کند این حمله به صورت پیش فرض در فایروال وبگارد گرفته شده است بهترین راه برای جلوگیری از این مشکل فیلتر کردن خروجی درخواست می باشد
add_filter( 'rest_endpoints', function( $endpoints ){ if ( isset( $endpoints['/wp/v2/users'] ) ) { unset( $endpoints['/wp/v2/users'] ); } if ( isset( $endpoints['/wp/v2/users/(?P<\id>[\d]+)'] ) ) { unset( $endpoints['/wp/v2/users/(?P<\id>[\d]+)'] ); } return $endpoints; });
اگر از قابلیت Rest Api وردپرس استفاده نمی کنید پیشنهاد می شود به صورت کامل غیر فعال شود. برای این کار در فایل functions.php در پوشه پوسته وردپرس سایت کد زیر را اضافه کنید :
add_filter('rest_enabled', '_return_false'); add_filter('rest_jsonp_enabled', '_return_false');
این جمله رو همیشه به یاد داشته باشید ؛
“ابزار های تجاری کرک شده که به صورت رایگان در اختیار شما قرار گرفته ، عموما هدفشان هک کردن شما هستش که شما این اجازه را با دست های خود به آنها می دهید .”
همین حالا اگر از افزونه یا قالب های کرک شده استفاده می کنید ، کد های وب سایت خود را برررسی کنید و اگر با کد هایی مانند زیر مواجه شدید ، متاسفم شما هم جزو قربانیان هستید و شخصی به تمام اطلاعات سایت شما دسترسی دارد .
به این فایل ها درب پشتی یا Backdoor گفته می شود که برای دسترسی به وب سایت شما ایجاد شده اند . یعنی اگر شما یک افزونه دانلود کنید و فایل های ان را بدون بررسی روی سایت خود قرار دهید . عملا یک دسترسی به وب سایت خود برای دیگران قرار داده اید .
من در ویدیویی از نحوه عملکرد فایل های مخرب و شلرها در ویدیو قرار داده ام که نشان می دهد تنها با اضافه کردن یک خط کد در سایت می توان به تمام اطلاعات وب سایت دسترسی داشت به شما پیشنهاد می کنم برای اطلاعات بیشتر از عملکرد backdoor ها ویدیو زیر را مشاهده کنید .
اگر وب سایت خود را بررسی کردید و کد های مخرب در سایت شناسایی کردید از کارشناسان ما مشاوره رایگان دریافت کنید !
مهم ترین هدف مهاجمین دسترسی به پنل مدیریت سایت می باشد. اگر تنها ۵ دقیقه زمان بگذارید و یک نگاهی به لاگ های سرور خود بیندازید. متوجه می شوید که شما تقریبا هر روز توسط تعدادی آی روی سرور حملات Brute Force انجام داده اند. این آی پی ها اکثرا بات هستند که در اینترنت سایت های وردپرس را شناسایی می کنند و نام کاربری و رمزعبور های پیش فرض را تست می کنند . و جالب است که همچنان مدیر های برخی سایت ها از نام کاربری و رمز عبور ساده استفاده می کنند.