15 نکته طلایی برای ایمن سازی وردپرس
وردپرس محبوب ترین پلتفرم مدیریت محتواست که نه تنها مورد توجه بسیاری از کاربران و مدیران وبسایت هاست بلکه به همین میزان مورد توجه افراد سودجو و هکرهاست. بنابراین امنیت وردپرس همواره مورد توجه مدیران وبسایت ها و توسعه دهنده آن بوده و هست.
دلایل زیادی وجود داره که وبسایت شما مورد نفوذ و هک قرار میگیره. هکرها همواره به دنبال راهی برای نفوذ به وبسایت شما و سوء استفاده از منابع و اطلاعات آن هستند. مثلا به وبسایت شما نفوذ می کنند چون میخوان اطلاعات شما رو به سرقت ببرند یا اینکه از منابع وبسایت برای ارسال ایمیل های انبوه و اسپم استفاده کنند. یا حتی وبسایت شما رو به عنوان یک واسط (زامبی) مورد استفاده قرار میدهند تا پوششی باشد برای اقدامات خرابکارانه آن ها!
ما در این پست به شما کمک می کنیم تا وردپرس رو تنها با 15 مرحله ایمن کنید و ضریب امنیتی وبسایتتون رو در برابر حملات بالا ببرید. پس در ادامه با ما همراه باشید…
0- هاستینگ
حدود 41% از نفوذهای انجام شده به وردپرس از طریق آسیب پذیری های موجود در سرورهای میزبان، بوده است. آمار نسبتا قابل توجهی است اما حقیقت دارد! بنابراین در ابتدای کار لازم است خوب در مورد شرکت ارائه دهنده خدمات هاستینگ تحقیق کنید چراکه این شرکت های هاستینگ هستند که موظف به تامین امنیت سرورها در بالاترین سطح ممکن، هستند.
کارشناسان ما در های ساپورت، به پشتوانه بیش از 10 سال تجربه، نه تنها کلیه زیر ساختهای فنی و امنیتی را در سرورهای هاستینگ پیاده سازی کرده اند بلکه با ساخت و به کارگیری سیستم های هوشمند و برنامه ریزی شده همواره ضمن مانیتور وبسایت های شما، عوامل مخرب را به سرعت یافته و واکنش نشان می دهند.
1-سطح دسترسی فایل ها و پوشه ها
سطح دسترسی استاندارد برای فایل ها 644 و پوشه ها 755 است. بنابراین چنانچه دسترسی فایل یا پوشه از مسیر نصب وردپرس، بیش از این مقادیر بود حتما آن ها را تغییر دهید.
های ساپورت با پیاده سازی رول های امنیتی این کار را به صورت خودکار انجام می دهد اما بهتر است شما نیز همواره این نکته را مد نظر قرار دهید.
2-تغییر آدرس لاگین، نام کاربری و رمز عبور Admin
تلاش کنید یک نام کاربری غیر قابل حدس برای ورود به پنل ادمین وردپرس، انتخاب کنید. کلماتی چون admin، master و مانند اینها اولین عامل در نفوذ به وبسایت شما هستند. اگر هنوز از نام کاربری و رمز عبور ساده استفاده می کنید توصیه می کنیم با استفاده از 2 راهنمای زیر، نام کاربری و رمز عبور ادمین را تغییر دهید.
نحوه تغییر نام کاربری وردپرس
نحوه تغییر رمز عبور وردپرس
پس از تغییر نام کاربری و رمز عبور، لازم است آدرس صفحه لاگین را از wp-admin یا wp-login.php به آدرس دیگری تغییر دهید.
نحوه تغییر آدرس لاگین وردپرس
نحوه ایجاد محدودیت در بخش لاگین وردپرس
3- فعال سازی ورود 2 مرحله ای
از پارامترهای مهم احراز هویت، چند مرحله بودن آن است. با فعال سازی ورود 2 مرحله ای، دسترسی به پنل ادمین سخت تر و پیچیده تر می شود. بنابراین هکر ها و ربات ها دیگر نمیتوانند براحتی به پنل ادمین وردپرس دسترسی داشته باشند.
روش های زیادی برای فعال سازی ورود دو مرحله ای یا حتی چند مرحله ای وجود دارد که در زیر به مهمترین آن اشاره می کنیم:
استفاده از پلاگین Google Authenticator
زمانی که از پلاگین Google Authenticator استفاده می کنید، هنگام ورود به وردپرس، علاوه بر نام کاربری و رمز عبور، یک کد امنیتی درخواست می شود که به صورت تصادفی ایجاد میشود و غیر قابل شناسایی توسط ربات هاست. این کد با استفاده از یک اپلیکیشن موبایلی مبتنی بر آندروید و آیفون تولید میشه و بعد از 1 دقیقه منقضی میشه.
نحوه نصب پلاگین Google Authenticator
دانلود اپلیکیشن آندروید Google Authenticator
دانلود اپلیکیشن آیفون Google Authenticator
4- تغییر پیشوند جداول دیتابیس (table_prefix)
مدتیست که تغییر پیشوند جداول دیتابیس به عنوان راهی برای جلوگیری از حملات SQL Injection مطرح شده است. اما هر چند تغییر پیشوند کمی کار هکر را دچار مشکل می کند، اما هکر براحتی می تواند با اجرای یک کوئری ساده به شرح زیر، پیشوند جداول دیتابیس وردپرس را پیدا کند!
SELECT DISTINCT SUBSTRING(`TABLE_NAME` FROM 1 FOR ( LENGTH(`TABLE_NAME`)-8 ) ) FROM information_schema.TABLES WHERE `TABLE_NAME` LIKE '%postmeta';
بنابراین لزوما تغییر پیشوند، از وقوع حمله SQL Injection جلوگیری نمی کند بلکه تنها یک مرحله کار را به تاخیر می اندازد. با این حال در صورت تمایل می توانید پیشوند جداول دیتابیس را در هنگام نصب وردپرس یا حتی پس از آن با استفاده از افزونه Change DB Prefix از wp به عبارت دیگر تغییر دهید.
5- ایمن سازی پوشه wp-admin
با اجرای این دستورالعمل، یک نام کاربری و رمز عبور از طریق سرور برای صفحه لاگین در نظر گرفته می شود. این رمز یک سد محکم در برابر نفوذ می باشد که توصیه می کنیم حتما استفاده کنید.
نحوه رمزگذاری وردپرس از طریق هاست
6- ایمن سازی wp-config.php
با اضافه کردن کد زیر به فایل htaccess.، دسترسی به فایل مهم wp-config.php غیر فعال می شود:
<Files wp-config.php> order allow,deny deny from all </Files>
7- ایمن سازی wp-includes
ایمن کردن پوشه wp-includes به دلیل دسترسی به اسکریپت ها از اهمیت بالایی برخوردار است. بنابراین لازم است کد زیر را به آخر فایل htaccess. مسیر نصب وردپرس اضافه کنید.
# Block the include-only files <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^wp-admin/includes/ - [F,L] RewriteRule !^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+\.php$ - [F,L] RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L] RewriteRule ^wp-includes/theme-compat/ - [F,L] </IfModule>
جهت اطمینان از اینکه وردپرس کدها را جایگزین کدهای قبلی نکند مطمئن شوید کدهای بالا را در انتهای فایل بعد از End WordPress# وارد می کنید.
8- ایمن سازی مسیر wp-content/uploads
از دیگر مسیرهای آسیب پذیر وردپرس پوشه uploads است. در این پوشه فایل های وبسایت علی الخصوص فایل های مدیا نگهداری می شوند. بنابراین نیازی نیست فایل PHP در این مسیر اجرایی شود. برای جلوگیری از اجرای فایل های PHP در این مسیر یک فایل htaccess. در پوشه uploads ایجاد و کد زیر را در آن قرار دهید:
# Kill PHP Execution <Files *.php> deny from all </Files>
ممکن است قالب مورد استفاده شما، با استفاده از اجرای کد PHP پوشه upload را مدیریت می کند. بنابراین چنانچه پس از اعمال کد بالا وبسایت شما دچار مشکل شد ناچار به حذف کد بالا از فایل htaccess. هستید.
9- غیر فعال کردن قابلیت ویرایش فایل از طریق وردپرس
هر کسی که به پنل ادمین وردپرس دسترسی داشته باشد براحتی می تواند بسیاری از فایل های قالب و پلاگین های وردپرس را تغییر داده، حذف کند یا حتی اطلاعات مخرب به آن ها تزریق کند.
بنابراین توصیه می کنیم کد زیر را به آخر فایل wp-config.php اضافه کنید تا این امکان غیر فعال شود. در این صورت تنها راه ویرایش فایل، دسترسی به پنل هاست و FTP خواهد بود.
define('DISALLOW_FILE_EDIT', true);
10- غیر فعال کردن بخش Debug وردپرس
گاها اتفاق میفته که بخشی از وبسایت شما دچار مشکل میشه اما نمیدونید دلیل مشکل چیه. بنابراین بخش debug وردپرس رو فعال می کنید تا خطاها نمایان بشه و مشکل رو رفع کنید. اما خیلی مهم هست که بعد از رفع مشکل مجدد بخش debug یا در واقع خطایابی رو غیر فعال کنید.
بنابراین مطمئن بشید که دو کد زیر در فایل wp-config.php وجود داشته باشند:
define('WP_DEBUG', false); define( 'WP_DEBUG_DISPLAY', false);
11- XML-RPC را غیر فعال کنید
با استفاده از XML-RPC امکان انتقال اطلاعات از راه دور فراهم می شود. فرض کنید یک اپلیکیشن یا نرم افزار تهیه کردید که به وردپرس متصل شده و از طریق آن اقدام به بارگذاری مطلب در بلاگ و … می کنید. خوب شاید این ویژگی یک قابلیت خوب به نظر برسه که البته همینطور هم هست. اما از طریق این تکنولوژی خیلی راحت به وبسایت حمله میشه به خصوص حملات DDOS. بنابراین از اونجایی که زیاد از این قابلیت استفاده نمیشه بهتره که از همین اول کار غیر فعالش کنیم.
برای غیر فعال کردن XML-RPC، کافیه کد زیر رو به آخر فایل htaccess اضافه کنید:
<Files xmlrpc.php> Order Deny,Allow Deny from all </Files>
از آنجاییکه اغلب کدها تا این مرحله در فایل htaccess. ذخیره میشوند بنابراین لازم است خود فایل htaccess. را از امکان ویرایش محافظت کنیم. به این منظور کد زیر را به این فایل اضافه کنید:
# Securing .htaccess file <files ~ "^.*\.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </files>
12- تغییر Security Key و Salt
اگر به محتویات فایل wp-config.php توجه کرده باشید، در انتهای فایل بعد از اطلاعات دیتابیس، 6 تا 8 خط کد می بینید که با کلمه define شروع شدند. این کدها که معمولا طولانی و غیر قابل فهم هستند یک الگوریتم برای ارتباطات وردپرس و عملکرد آن در بخش های مختلف ایجاد می کنند. اما توصیه می کنیم هر چند وقت یک بار (ماهیانه) این الگوریتم ها را تغییر بدید مخصوصا اگر قبلا وبسایت شما مورد نفوذ قرار گرفته باشه.
برای این کار به صفحه تولید الگوریتم های وردپرس مراجعه کنید. به محض مراجعه به صفحه مذکور، کدها به صورت تصادفی ایجاد میشن. کافیه اون ها رو جایگزین کدهای موجود در فایل wp-config.php کنید.
https://api.wordpress.org/secret-key/1.1/salt/
13- فایروال و پلاگین امنیتی
با اجرای مراحل قبل، تا حد زیادی سیستم وردپرس شما ایمن میشود اما پلاگین های امنیتی هم می توانند راهگشا باشند. پلاگین های امنیتی با مانیتور مداوم وردپرس، فایل های مخرب را پیدا می کنند و به شما کمک می کنند تا وبسایت خود را در برابر حملات Brute-Force، ارسال اسپم، لاگین های مشکوک، SQL Injection و … محافظت کنید.
البته خیلی مهمه که همواره از نسخه های اصلی و بروز این پلاگین ها استفاده کنید و تنظیمات درون آن ها را بدرستی انجام بدید.
از جمله پلاگین های امنیتی ورپرس موارد زیر هستند:
Wordfence Security
BulletProof Security
iThemes Security
علاوه بر اینها در تمامی سرورهای HiSupport، فایروال تحت وب Mod_Security به صورت مدیریت شده در دسترس شماست، ضمن اینکه با پیاده سازی سیستم های هوشمند و برنامه ریزی شده، همواره در حال مانیتور وبسایت های شما هستیم.
14- بکاپ (نسخه پشتیبان)
مهم نیست به خاطر امنیت یا چیز دیگر. بکاپ یک امر مهم در مدیریت وبسایت شماست. بکاپ در مواقع بحرانی به داد شما می رسد بنابراین چه مشکل ایجاد شده باشد چه نه، لزوم وجود بکاپ امری اجتناب ناپذیر است، چراکه با داشتن بکاپ هر گاه دچار مشکل شوید بدون نگرانی می توانید به سرعت مشکل را رفع کنید.
بنابراین توصیه می کنیم یک برنامه قوی برای ایجاد بکاپ از اطلاعات وبسایت طراحی کنید.
ایجاد بکاپ به دو روش قابل انجام است:
ایجاد فول بکاپ از کلیه اطلاعات وبسایت و هاست شما
در این روش، علاوه بر وردپرس، از سایر قسمت های هاست شما چون ایمیل، تنظیمات و … نیز بکاپ تهیه می شود.
سرورهای HiSupport به گونه ای طراحی و پیکربندی شده اند که از تمامی اطلاعات وبسایت شما در 3 سیکل روزانه، هفتگی و ماهانه به صورت Local و Remote، بکاپ تهیه می کنند. مجموع این بکاپ ها به عدد 850 مرتبه در سال می رسد.
استفاده از پلاگین های زیر:
VaultPress
پلاگین VaultPress بسیار قدرتمند و حرفه ای است به گونه ای که نه تنها به دو صورت دستی و اتوماتیک از اطلاعات وردپرس بکاپ تهیه می کند بلکه در نگهداری از آن ها به صورت ویژه عمل می کند.برای استفاده از این پلاگین لازم است در وبسایت wordpress.com عضو شوید.
BackWP up
پلاگین BackWP up نیز از جمله موارد حرفه ای در ایجاد اتوماتیک بکاپ وردپرس و ذخیره آن در محل مورد نظر شما نظیر: هاست، دراپ باکس، ایمیل و … است.
Backup WordPress
قابلیت ایجاد بکاپ حرفه ای و Export/Import آسان از ویژگی های این پلاگین است.
Updraftplus
این افزونه از تنظیمات بسیار ساده ای برخوردار است بنابراین کار با آن بسیار ساده است.
WP-DB-Backup
همانطور که از اسم این افزونه بر می آید، WP-DB-Backup تنها از دیتابیس و جداول درون آن بکاپ تهیه می کند.
15- بروز رسانی، بروزرسانی و باز هم بروز رسانی!
همیشه وبسایت خود را بروز نگهدارید. پلاگین، قالب، وردپرس، همواره باید معتبر و بروز باشند. اکیدا توصیه می شود از نرم افزارهای نال/کرک شده استفاده نکنید و همواره با انتشار نسخه جدید بلافاصله فرایند بروز رسانی را اجرا کنید.
با اجرا فرایند بروزرسانی نه تنها عملکرد وبسایت شما بهبود می یابد بلکه مشکلات و حفره های امنیتی وردپرس و سایر اجزای آن رفع می شوند.
نحوه بروز رسانی وردپرس
آموزش خیلی عالی و مفیدی بود.
خیلی خوشحالیم که این مطلب مورد توجه شما قرار گرفته.
عالی بود
ضمن تشکر از مشارکت شما، خوشحالیم که این مطلب موثر واقع شده است.
مطلب خیلی مفیدی بود. مخصوصا برای من که تازه کارم.
دو تا سوال داشتم:
1- فونت سایت شما چیه؟
2-خیلی خطرناکه اگر از قالب رایگان استفاده کمک برای سایتم؟
ممنون میشم پاسخ بدین
خوشحالیم که این مطلب مفید واقع شده. در پاسخ به سوالات شما:
1- فونت BYekan می باشد.
2- قالب های اصلی و برخوردار از لایسنس همواره بروز میشن و در صورت وجود حفره امنیتی یا مشکل فنی توسط توسعه دهنده تصحیح میشن. همچنین در قالب های اصلی تا حد زیادی اطمینان وجود داره که فایل های حاوی کد مخرب وجود نداشته باشه. در برخی مواقع همچنین کاربران از افزونه هایی نظیر Duplicator برای نصب قالب رایگان یا غیر اصل استفاده می کنن توصیه میشه در این خصوص مقاله زیر را نیز مطالعه بفرمایید:
آسیب پذیری افزونه Duplicator
موفق باشید.