امنیت وردپرس موضوعی بسیار مهم برای هر وبسایتی است. گوگل هر روز بیش از 10000 وبسایت را برای وجود بدافزار و حدود 50000 وبسایت را برای فیشینگ در لیست سیاه قرار میدهد. اگر در مورد وبسایت خود جدی هستید و حفظ امنیت وردپرس برایتان موضوع مهمی است، پس باید به بهترین شیوههای امنیتی وردپرس توجه کنید. در این راهنما، ما تمام نکات امنیتی برتر وردپرس را برای کمک به محافظت از وبسایت شما در برابر هکرها و بدافزارها مورد بررسی قرار میدهیم.
حفظ امنیت وردپرس
با وجود اینکه هسته اصلی وردپرس بسیار ایمن است و به طور منظم توسط صدها توسعه دهنده بررسی میشود، باز هم کارهای زیادی برای حفظ امنیت وردپرس میتوان انجام داد. ما معتقدیم که امنیت فقط حذف ریسک نیست بلکه در مورد کاهش ریسک است. به عنوان یک وبمستر، کارهای زیادی میتوانید برای بهبود و حفظ امنیت وردپرس خود انجام دهید (حتی اگر در زمینه فناوری اطلاعات کافی ندارید).
ما تعدادی گام عملی داریم که میتوانید برای محافظت از وبسایت خود در برابر آسیبهای امنیتی انجام دهید.
آنچه در این مقاله خواهید خواند:
-
- چرا امنیت وردپرس مهم است؟
- بروز نگه داشتن وردپرس
- رمز عبور و سطوح دسترسی کاربران
- نقش میزبانی وب
- تهیه نسخه پشتیبان از وردپرس
- بهترین افزونههای امنیتی وردپرس
- فعالسازی فایروال در وب
- استفاده از گواهینامه SSL
- تغییر نام کاربری پیشفرض admin
- غیرفعال کردن امکان ویرایش فایل ها
- غیرفعال کردن اجرای فایل PHP
- ایجاد محدودیت در تلاش مکرر برای ورود کاربر
- افزون احراز هویت دو عاملی
- تغییر پیشوند نام جداول پایگاه داده
- پسورد محافظت شده در wp-admin
- غیرفعال کردن ایندکس دایرکتورها و مرورگرها
- غیرفعال کردن XML-RPC در وردپرس
- خروج اتوماتیک کاربران
- ایجاد سوال امنیتی در هنگام ورود به وردپرس
- اسکن وردپرس در مقابل بدافزارها
- نجات سایت وردپرسی در برابر هک
آمادهاید؟ پس شروع میکنیم…
چرا امنیت وردپرس مهم است؟
یک سایت وردپرسی هک شده میتواند آسیب جدی به درآمد و اعتبار کسب و کار شما وارد کند. هکرها میتوانند اطلاعات کاربر، رمزهای عبور را بدزدند، نرم افزارهای مخرب نصب کنند و حتی میتوانند بدافزار را بین کاربران شما توزیع کنند. بدتر از همه، ممکن است متوجه شوید که فقط برای دسترسی مجدد به وبسایت خود، به هکرها باید باج دهید! فاجعه است.
در مارس 2016، گوگل گزارش داد که بیش از 50 میلیون کاربر در مورد وبسایتی که در حال بازدید آن بودند، هشدار داده شده است که ممکن است بدافزارهایی دریافت کنند یا اطلاعات آنها سرقت شود. علاوه بر این، Google حدود 20000 وبسایت را برای بدافزار و حدود 50000 وبسایت را برای فیشینگ در هر هفته در لیست سیاه قرار میدهد. اگر وبسایت شما تجاری است، پس باید به امنیت وردپرس خود توجه بیشتری داشته باشید. مانند اینکه مالکان کسبوکار مسئولیت محافظت از ساختمان شرکت یا فروشگاه خود را دارند، به عنوان مالک کسبوکار آنلاین، مسئولیت محافظت از وبسایت بر عهده شماست.
بروز نگه داشتن وردپرس
وردپرس یک سیستم مدیریت محتوای متن باز یا open source است که به طور مرتب نگهداری و به روز میشود. به طور پیش فرض، وردپرس به طور خودکار بروزرسانیهای جزئی را نصب میکند. برای نسخههای اصلی، باید بهروزرسانی را بهصورت دستی انجام دهید.
وردپرس همچنین دارای هزاران افزونه و تم است که میتوانید در وبسایت خود نصب کنید. این پلاگینها و تمها توسط توسعه دهندگان شخص ثالث نگهداری میشوند که به طور منظم بروزرسانی خود را منتشر میکنند.
این بروزرسانیهای وردپرس برای امنیت و ثبات سایت وردپرسی بسیار مهم هستند. شما باید مطمئن شوید که هسته وردپرس، افزونهها و پوسته شما به روز بمانند.
رمز عبور و سطوح دسترسی کاربران
رایجترین تلاشها برای هک وردپرس از رمزهای عبور سرقت شده نشات میگیرد. شما میتوانید با استفاده از رمزهای عبور قویتر که برای وبسایت شما منحصر به فرد هستند، این کار را دشوار کنید. نه فقط برای ناحیه مدیریت وردپرس، بلکه برای حسابهای FTP، پایگاه داده، حساب میزبانی وردپرس و آدرسهای ایمیل سفارشی شما که از نام دامنه سایت استفاده میکنند.
بسیاری از مبتدیان استفاده از رمزهای عبور قوی را دوست ندارند زیرا به خاطر سپردن آنها سخت است. نکته جالب این است که دیگر نیازی به یادآوری رمزهای عبور ندارید. میتوانید از یک پسورد منیجر استفاده کنید.
راه دیگر برای کاهش خطر این است که به کسی اجازه دسترسی به حساب مدیریت وردپرس خود را ندهید، مگر اینکه مجبور باشید. اگر یک تیم بزرگ یا نویسندگان مهمان دارید، قبل از اینکه حسابهای کاربری و نویسندگان جدیدی را به سایت وردپرس خود اضافه کنید، مطمئن شوید که قابلیتها و نقش های کاربر در وردپرس را درست مشخص کردهاید.
نقش میزبانی وب
سرویس میزبانی وردپرس شما مهمترین نقش را در امنیت سایت وردپرس ایفا میکند. یک ارائه دهنده میزبانی مشترک خوب اقدامات اضافی را برای محافظت از سرورهای خود در برابر تهدیدات رایج انجام میدهد. آنها به طور مداوم شبکه خود را برای فعالیت مشکوک زیر نظر دارند.
همه شرکتهای هاستینگ خوب ابزارهایی برای جلوگیری از حملات DDOS در مقیاس بزرگ دارند.
آنها نرم افزار سرور، نسخههای php و سخت افزار خود را به روز نگه میدارند تا از سوء استفاده هکرها در برابر آسیب پذیری امنیتی شناخته شده در نسخه قدیمی جلوگیری کنند.
همچنین آماده به کارگیری برنامههای بازیابی فاجعه و حوادث هستند که به آنها امکان میدهد در صورت بروز حادثه بزرگ از دادههای شما محافظت کنند.
در یک برنامه میزبانی مشترک، شما منابع سرور را با بسیاری از مشتریان دیگر به اشتراک میگذارید. این خطر آلودگی بین سایتی را باز میکند که در آن هکر میتواند از یک سایت همسایه برای حمله به وبسایت شما استفاده کند.
استفاده از سرویس میزبانی مدیریت شده وردپرس، بستر امنتری را برای وبسایت شما فراهم میکند. شرکتهای میزبان وردپرس مدیریت شده، پشتیبانگیری خودکار، بروزرسانی خودکار وردپرس و تنظیمات امنیتی پیشرفتهتر را برای محافظت از وبسایت شما ارائه میدهند.
تهیه نسخه پشتیبان از وردپرس
پشتیبانگیری اولین دفاع شما در برابر هرگونه حمله به وردپرس است. به یاد داشته باشید، هیچ چیز 100٪ امن نیست. اگر وبسایتهای دولتی را میتوان هک کرد، پس سایت شما نیز میتواند هک شود. پشتیبانگیری به شما این امکان را میدهد تا در صورت وقوع اتفاق بدی، به سرعت سایت وردپرس خود را بازیابی کنید.
تعداد زیادی افزونه پشتیبان وردپرس رایگان و پولی وجود دارد که میتوانید از آنها استفاده کنید. مهمترین چیزی که باید در مورد پشتیبانگیری بدانید این است که باید به طور منظم نسخههای پشتیبان کامل سایت را در یک مکان مطمئن دیگر (نه حساب میزبانی سایت) ذخیره کنید.
توصیه می کنیم آن را در یک سرویس ابری مانند Dropbox ذخیره کنید.
براساس تعداد دفعاتی که وبسایت خود را بروز میکنید، تنظیم ایده آل ممکن است یک بار در روز یا تهیه نسخه پشتیبان در زمان واقعی باشد. خوشبختانه این کار را میتوان به راحتی با استفاده از افزونههایی مانند Duplicator یا UpdraftPlus انجام داد. هر دو قابل اعتماد بوده و از همه مهمتر استفاده از آنها آسان است.
بهترین افزونههای امنیتی وردپرس
پس از پشتیبانگیری، کاری که باید انجام دهیم این است که یک سیستم ممیزی و نظارت را راهاندازی کنیم که تمام اتفاقات وبسایت را ردیابی کند. این امر شامل نظارت بر یکپارچگی فایل، تلاشهای ناموفق برای ورود به سیستم، اسکن بدافزار و غیره است. خوشبختانه، همه این موارد قابل انجام هستند. باید افزونه رایگان Sucuri Security را نصب و فعال کنید. این افزونه امنیتی وردپرس بسیار قدرتمند است، بنابراین تمام تبها و تنظیمات را انجام دهید تا تمام کارهایی که انجام میدهد مانند اسکن بدافزار، گزارشهای متعدد، ردیابی تلاش برای ورود ناموفق و غیره را به شما نشان دهد.
فعالسازی فایروال در وب
سادهترین راه برای حفظ امنیت وردپرس استفاده از فایروال Sucuri برنامه وب (WAF) است. فایروال وبسایت تمام ترافیک مخرب را حتی قبل از رسیدن به وبسایت شما مسدود میکند. فایروال وبسایت سطح DNS – از طریق سرورهای پروکسی ابری آنها ترافیک وبسایت شما را هدایت میکنند. این امر به آنها اجازه میدهد فقط ترافیک واقعی را به سرور وب شما ارسال کنند. فایروال سطح برنامه – این افزونههای فایروال ترافیک را زمانی که به سرور شما میرسد، اما قبل از بارگیری بیشتر اسکریپتهای وردپرس بررسی میکنند. این روش به اندازه فایروال سطح DNS در کاهش بار سرور کارآمد نیست.
استفاده از گواهینامه SSL
SSL پروتکلی است که انتقال دادهها را بین وبسایت و مرورگر کاربران رمزگذاری میکند. این رمزگذاری باعث میشود کسی نتواند اطراف خود را بو بکشد و اطلاعات را بدزدد. هنگامی که گواهینامه SSL را فعال کردید، وبسایت به جای HTTP از HTTPS استفاده میکند، همچنین علامت قفل را در کنار آدرس وبسایت در مرورگر خواهید دید.
تغییر نام کاربری پیشفرض admin
در گذشته نام کاربری پیش فرض ادمین وردپرس “admin” بود. از آنجایی که نامهای کاربری نیمی از اعتبار ورود به سیستم را تشکیل میدهند، این امر هکرها را برای انجام حملات brute-force آسانتر میکند. خوشبختانه، وردپرس این مورد را تغییر داده و اکنون از شما میخواهد که یک نام کاربری سفارشی را در زمان نصب وردپرس انتخاب کنید. با این حال، برخی از کاربران وردپرسی همچنان نام کاربری پیشفرض مدیر را روی «admin» تنظیم کنید.
از آنجایی که وردپرس پس از ثبت نام به طور پیش فرض به شما اجازه نمیدهد نام کاربری را تغییر دهید، از سه روش میتوانید برای تغییر نام کاربری استفاده کنید.
- یک ادمین جدید ایجاد کنید و نام کاربری قدیمی را حذف کنید.
- از افزونه تغییر نام کاربری استفاده کنید.
- نام کاربری را در phpMyAdmin بروز کنید.
غیرفعال کردن امکان ویرایش فایل ها
وردپرس دارای یک ویرایشگر کد داخلی است که به شما امکان میدهد تم و فایلهای افزونه خود را مستقیماً از ناحیه مدیریت وردپرس ویرایش کنید. این ویژگی میتواند یک خطر امنیتی باشد، به همین دلیل توصیه میکنیم آن را غیرفعال کنید. با افزودن کد زیر در فایل
wp-config.php به راحتی میتوانید این کار را انجام دهید:
// Disallow file edit define( 'DISALLOW_FILE_EDIT', true );
همچنین، میتوانید این کار را تنها با یک کلیک با استفاده از ویژگی Hardening در افزونه Sucuri که در بالا ذکر کردیم، انجام دهید.
غیرفعال کردن اجرای فایل PHP
یکی دیگر از راههای حفظ امنیت وردپرس، غیرفعال کردن اجرای فایل PHP در دایرکتوریهایی است که به آن نیازی نیست، مانند
/wp-content/uploads/. شما میتوانید این کار را با باز کردن یک ویرایشگر متن مانند Notepad و وارد کردن این کد انجام دهید:
<Files *.php> deny from all </Files>
در مرحله بعد، باید این فایل را به صورت htaccess ذخیره کنید و در پوشه /wp-content/uploads/ سایت خود آپلود کنید.
ایجاد محدودیت در تلاش مکرر برای ورود کاربر
به طور پیش فرض، وردپرس به کاربران این امکان را دارد که هر چند بار که میخواهند نام کاربری و رمز عبور را بزنند تا وارد سیستم شوند. این باعث میشود سایت وردپرسی شما در برابر حملات بی رحمانه آسیبپذیر شود. هکرها سعی میکنند رمزهای عبور را با تلاش برای ورود با ترکیبهای مختلف بشکنند. اگر از فایروال برنامه وب که قبلاً ذکر شد استفاده میکنید، به طور خودکار به آن رسیدگی میشود.
افزودن احراز هویت دو عاملی
تکنیک احراز هویت دو مرحلهای از کاربران میخواهد که با استفاده از روش احراز هویت دو عاملی وارد سیستم شوند. اولین مورد، نام کاربری و رمز عبور است و در مرحله دوم باید با استفاده از یک دستگاه یا برنامه جداگانه احراز هویت شوید. اکثر وبسایتهای برتر آنلاین مانند Google، Facebook، Twitter به شما اجازه میدهند این امکا را برای حسابهای خود فعال کنید. همچنین میتوانید همین عملکرد را به سایت وردپرسی خود اضافه کنید. برای این منظور قبلا افزونههای احراز هویت دو عاملی در وردپرس برایتان معرفی کردیم و پیشنهاد میشود حتما آنها را ببینید.
تغییر پیشوند نام جداول پایگاه داده
به طور پیش فرض، وردپرس از wp_ به عنوان پیشوند تمام جداول در پایگاه داده استفاده میکند. اگر سایت وردپرسی شما از پیشوند پایگاه داده پیش فرض استفاده میکند، حدس زدن نام جدول برای هکرها آسانتر میشود. به همین دلیل است که توصیه میکنیم پیشوند پایگاه داده تغییر دهید.
پسورد محافظت شده در wp-admin
به طور معمول، هکرها میتوانند پوشه wp-admin و صفحه لاگین شما را بدون هیچ محدودیتی تهدید کنند. این موضوع به آنها اجازه میدهد تا ترفندهای هک خود را امتحان کنند یا حملات DDoS را امتحان کنند. شما میتوانید حفاظت رمز عبور را در سمت سرور اضافه کنید، که به طور موثر این درخواست ها را مسدود میکند.
غیرفعال کردن ایندکس دایرکتورها
هکرها میتوانند از جستجویی دایرکتوری استفاده کنند تا بفهمند آیا فایلی با آسیب پذیریهای شناخته شده دارید یا نه. سایر افراد میتوانند از بررسی دایرکتوری برای جستجوی فایلهای شما، کپی کردن تصاویر و یافتن آنها استفاده کنند. ساختار دایرکتوری خود و سایر اطلاعات را مشخص کنید. به همین دلیل است که به شدت توصیه میشود فهرستسازی و بررسی دایرکتوری را غیرفعال کنید. باید با استفاده از FTP یا مدیریت فایل cPanel به وبسایت خود متصل شوید. سپس، فایل htaccess. را در دایرکتوری روت وبسایت پیدا کنید. پس از آن، باید خط زیر را در انتهای فایل htaccess. اضافه کنید:
Options -Indexes
غیرفعال کردن XML-RPC در وردپرس
XML-RPC به طور پیش فرض در وردپرس 3.5 فعال شده زیرا به اتصال سایت وردپرس با وب و برنامههای تلفن همراه کمک میکند. به دلیل ماهیت قدرتمند خود، XML-RPC میتواند به طور قابل توجهی حملات brute-force را تقویت کند. برای مثال، به طور سنتی اگر یک هکر بخواهد 500 رمز عبور مختلف را در وبسایت امتحان کند، باید 500 تلاش جداگانه برای ورود به سیستم انجام دهند که توسط افزونه قفل ورود مسدود میشود. اما با XML-RPC، یک هکر میتواند از عملکرد system.multicall برای آزمایش هزاران رمز عبور استفاده کند. مثلا 20 یا 50 درخواست. به همین دلیل است که اگر از XML-RPC استفاده نمیکنید، توصیه میکنیم آن را غیرفعال کنید.
خروج اتوماتیک کاربران
کاربرانی که وارد سیستم شدهاند گاهی اوقات از صفحه خارج میشوند اما دکمه خروج از سایت را نمیزنند و این یک خطر امنیتی است. شخصی میتواند اطلاعات را ربوده، رمز عبور را تغییر دهد یا در حساب کاربری تغییراتی ایجاد کند. به همین دلیل است که بسیاری از سایتهای بانکی و مالی به طور خودکار یک کاربر غیرفعال را از سیستم خارج میکنند. شما میتوانید عملکرد مشابهی را در سایت وردپرس خود نیز پیاده سازی کنید. برای این منظور میتوان از افزونه Inactive Logout استفاه کنید.
ایجاد سوال امنیتی در هنگام ورود به وردپرس
افزودن یک سوال امنیتی به صفحه ورود سیستم وردپرس دسترسی غیرمجاز را برای کسی سختتر میکند. با نصب افزونه WP Security Questions میتوانید سوالات امنیتی اضافه کنید. پس از فعالسازی، برای پیکربندی تنظیمات افزونه باید به تنظیمات » صفحه سؤالات امنیتی مراجعه کنید.
اسکن وردپرس در مقابل بدافزارها
اگر یک افزونه امنیتی وردپرس نصب کردهاید، به طور معمول بدافزار و نشانههای نقض امنیتی را بررسی میکنند. با این حال، اگر افت ناگهانی در ترافیک وبسایت یا رتبه بندی جستجو مشاهده کردید، ممکن است بخواهید به صورت دستی یک اسکن را انجام دهید. میتوانید از افزونه امنیتی وردپرس خود استفاده کنید.
اجرای این اسکنهای آنلاین کاملاً ساده است، شما فقط URLهای وبسایت خود را وارد میکنید و خزندههای آنها از طریق وبسایت شما میروند تا به دنبال بدافزارها و کدهای مخرب شناخته شده بگردند.
اکنون به خاطر داشته باشید که اکثر اسکنرهای امنیتی وردپرس فقط میتوانند وبسایت شما را اسکن کنند. آنها نمیتوانند بدافزار را حذف کنند یا یک سایت وردپرسی هک شده را پاکسازی نمایند.
نجات سایت وردپرسی در برابر هک
تمام فعالیتهای بالا در راستای حفظ امنیت وردپرس است اما گاهی به دلیل احمال کاری یا مشکلی، چار مشکلات امنیتی خواهیم شد. اینجاست که باید به دنبال نجات سایت خود باشیم.
بسیاری از کاربران وردپرس تا زمانی که وبسایت آنها هک نشود، اهمیت پشتیبان گیری و امنیت وبسایت را درک نمیکنند. پاکسازی سایت وردپرس میتواند بسیار سخت و زمان بر باشد. اولین توصیه ما این است که اجازه دهید یک متخصص آن را تحت نظر بگیرد.
هکرها درهای پشتی را روی سایتهای آسیب دیده نصب میکنند و اگر این درهای پشتی به درستی غیرفعال نشوند، احتمالاً وبسایت شما دوباره هک میشود. پس در این مرحله تنها چاره کار مراجعه به افراد متخصص در حوزه امنیت است.
سرقت هویت و حفاظت از شبکه
به عنوان صاحب کسب و کار، بسیار مهم است که از هویت دیجیتال و مالی خود محافظت کنیم زیرا عدم انجام این کار میتواند منجر به زیانهای قابل توجهی شود. هکرها و مجرمان میتوانند از هویت شما برای سرقت نام دامنه وبسایت، هک کردن حسابهای بانکی شما و حتی ارتکاب جرمی استفاده کنند که ممکن است شما مسئول آن باشید. بنابراین برای حفظ امنیت وردپرس حتما راهکارهای موجود در این مقاله را به کار ببندید.
افزونه وردفنس