نکات امنیتی وردپرس که باید رعایت شوند

آیا تابه‌حال شده از خودتان بپرسید که آیا وردپرس از امنیت کافی برخوردارهست؟ پاسخ مثبت است. وردپرس با جدیدترین تکنولوژی‌های مربوط به امنیت ساخته‌شده و هرروز پچ هایی را در جهت از بین بردن نقاط ضعف خود در اختیار کاربران خود قرار می‌دهد. همچنین این پلتفرم به‌وسیله‌ی متخصصان امنیت اداره می‌شود.

پس اگر وردپرس امن است، پس دیگر چه نیازی به حفظ امنیت دوباره است؟ حقیقت این است که حفظ امنیت یک وب‌سایت، یک فرایند است، نه هدف. در این فرایند، شما باید موانعی را در مقابل حمله‌های سایبری قرار دهید، از ایجاد درز برای هکرها خودداری کنید، تغییرات ریزودرشت سایت را ردیابی کنید، دسترسی‌های مشکوک را قطع کنید، اطلاعات محرمانه را مخفی کنید و غیره.

وردپرس، در حال حاضر در بیش از 30% وب‌سایت‌ها مورداستفاده قرار می‌گیرد و همین محبوبیت باعث می‌شود که مورد هدف برخی از مجرمان اینترنتی قرار بگیرد. وردپرس، پلتفرمی است که مدام در حال پیشرفت و بهبود است و برای تغییر و همکاری با اشخاص و شرکت‌های ثالث، هیچ مشکلی ندارد.

و اما وب‌سایت طراح وردپرس نگران حفظ امنیت شما در برابر مجرمان اینترنتی است؛ ما تصمیم گرفته‌ایم تا به شما کمک کنیم تا راه‌هایی را برای افزایش امنیت وردپرستان امتحان کنید و اجازه ندهید هیچ هکری به اطلاعات محرمانه‌ی شما دسترسی پیدا کند و دست‌رنج‌تان را نابود کند.

بخش اول-از فایل‌ها و پایگاه داده‌تان مراقبت کنید.

از فایل‌ها و پایگاه داده‌تان مراقبت کنید

1-قبل از نصب وردپرس

هنگامی‌که می‌خواهید وردپرس را نصب کنید، حتماً باید از جدیدترین نسخه‌ی این برنامه استفاده کنید. اما قبل از نصب این برنامه، این دو کار بسیار ساده را در فایل wp-config.php انجام دهید:

  • پیشوندهای پایگاه داده را تغییر دهید
  • از کلیدهای تصدیقی استفاده کنید

به‌طور پیش‌فرض، در هنگام نصب وردپرس تمام فایل‌ها با پیشوند wp_ آغاز می‌شوند. این مورد در تمامی وردپرس متعارف و یکسان است، پس بهتر است هر وب‌سایتی، پیشوند مخصوص به خودش را داشته باشد. این کار می‌تواند امنیت را بالاتر ببرد و از حمله به پایگاه داده‌ی هر سایت جلوگیری کند، یا از احتمال و سهولتِ آن به‌شدت بکاهد.

برای اینکه آسیبی به پایگاه داده نرسد، خط مربوط به شکل‌دهی فایل‌ها را در وردپرس، پیداکرده و سپس با پیشوند موردنظرتان عوض کنید:

$table_prefix = 'wp_';

به‌طور مثال:

$table_prefix = 'yoursite_wp_';

این تغییر یک فایده‌ی دیگر هم دارد. با اعمال این تغییر، شما می‌توانید وردپرس های دیگری نیز بر روی همین پایگاه داده نصب کنید، اما تا زمانی که پیشوند موردنظر خودتان را تکرار نکنید.

اگر سایت شما راه‌اندازی شده و از این مرحله گذر کرده‌اید و در حین نصب پیشوندهای خود را تغییر نداده‌اید، باید بگویم که هنوز هم خیلی دیر نشده است، می‌توانید از یک افزونه برای تغییر پیشوندهایتان کمک بگیرید. همچنین شما می‌توانید این کار را به‌صورت دستی نیز انجام دهید اما اگر با تغییرات فایل‌های پایگاه داده آشنایی ندارد اصلاً چنین کاری را انجام ندهید!

وردپرس کلیدهای امنیتی دارد که به آن Secret Key و یا Salt گفته می‌شود و در فایل wp-config.php قرار دارد. وردپرس از این کلیدهای رمز هش شده با الگوریتم Salt به همراه رمز عبور شما استفاده می‌کند، تا آن را قوی و ایمن‌تر گرداند. قبل از آغاز فرایند نصب، شما باید این کلیدهای امنیتی را تولید کنید.

این بخش هم شبیه به همان پیشوندهای پایگاه داده است. شما می‌توانید کلیدهای امنیتی یک سایت در حال کار را در هرزمانی تغییر دهید؛ این همان کاری است که پیشنهاد می‌کنیم به‌صورت دوره‌ای مثلاً روزانه انجام دهید تا تمام نشست‌های (sessions) فعال مجبور شوند برای ورود به سایت دوباره وارد شوند.

شما می‌توانید کلیدهای خود را به‌صورت دستی تولید کنید که برای این کار، پیشنهاد می‌کنیم از سرویس پیش فرض وردپرس استفاده کنید، و این کلیدها را با کلیدهای درون فایل wp-config.php جابه‌جا نمایید. از اینجا می‌توانید وارد سرویس تولید کلیدهای امنیتی شوید.

قبل از اینکه به نکته‌ی بعدی برسیم، یک نصیحت دیگر نیز برای کسانی که از وردپرس برای سایت‌های پویای خودشان استفاده می‌کنند داریم؛ در یک سناریوی تقریباً غیرممکن که در آن شما می‌خواهید هر نوع دسترسی به پنل ادمین را قطع کنید و به هیچ‌کس اجازه‌ی وارد شدن را ندهید، می‌توانید کلیدهایی را شکل دهید که در هر ثانیه با کلیدهای درون فایل wp-config.php جا به‌جا شوند و هر ورودی را غیرفعال کنند:

define('AUTH_KEY',      microtime());Lorem 
define('AUTH_KEY',     microtime());Lorem
define('AUTH_KEY',     microtime());Lorem 
define('AUTH_KEY',      microtime());Lorem
define('AUTH_KEY',     microtime());Lorem 
define('AUTH_KEY',      microtime());Lorem 
define('AUTH_KEY',      microtime());Lorem 
define('AUTH_KEY',      microtime());Lorem

یادتان باشد که به‌صورت دوره‌ای این کلیدها را به‌روزرسانی کنید تا یک مرز و مانع در برابر هر نشستِ فعالی باشد.

2-پس از نصب وردپرس

وقتی نصب وردپرس شما به اتمام رسید، می‌بایستی پروفایل ادمینی را که در حین نصب ساخته بودید، پاک‌کنید و یک پروفایل جدید با دسترسی‌های خاص خودتان ایجاد نمایید. این فرایند باید برای هر اکانت تازه‌ای نیز تکرار شود.

استفاده از اسامی کاربری ضعیف مثل “admin” یا “administrator” خودداری کنید چراکه این اسامی در تمامی فرایند نصب وردپرس مورداستفاده قرار می‌گیرند و همچنین از به‌کار گیری یک پسورد قدرتمند نیز غافل نباشید!

اعلان‌های پینگ بک و یا پیگیری‌های بازگشتی را از پنل ادمین غیرفعال کنید (تنظیمات => نظرات) چراکه می‌توانند راهی برای (توزیع خطاهای غیرفعال کننده‌ی خدمات) که حمله‌ای سایبری به‌حساب می‌آید، باشند.

با اضافه کردن این کدها به فایل htaccess می‌توانید فایل‌هایتان را در برابر حملات سایبری محافظت کنید. بهتر است، این کدها در ابتدای فایل htaccess و در پوشه اصلی سایت یا همان the root directory قرار بگیرند:

#Deny Directory Listing
 Options - Indexes 
 #Block sensitive files 
 Order allow,deny 
 Deny from all
 </files>
 <files wp-config.php>
 Order allow,deny
 Deny from all
 </files>

شما باید هر نوع دسترسی غیرضروری به فایل‌های تان را با اضافه کردن یک کد به فایل htaccess. جدید شامل کدهای زیر در پوشه wp-admin مسدود کنید:

#Block installation files
<files install.php>
Order allow,deny 
Deny from all 
</files>
<files setup-config.php>
Order allow,deny
Deny from all
</files>

همچنین به شما پیشنهاد می‌کنیم که حتماً فایل robots.txt را بررسی کنید. این فایل نیز در محل root وب‌سایت شما قرار دارد. این فایل به ربات جستجوگر تمام دستورهای لازم را ارسال می‌کند و به او می‌گوید که چه چیزهایی را در سایت شما آنالیز کند و چه چیزهایی را نادیده بگیرد. با بررسی این فایل، می‌توانید از فاش شدنِ ناخواسته‌ی اطلاعات وردپرس‌تان مثل پوشه wp-admin جلوگیری نمایید و در بهود امنیت نقش مهمی دارد.

3-دسترسی به فایل و مدیریت سایت را تغییر دهید.

دسترسی به فایل و مدیریت سایت را تغییر دهید

حتماً حواستان باشد که در زمان نصب وردپرس دسترسی‌های مناسب را برای سایت خودتان قرار داده‌اید تا بتوانید از هر حمله‌ی سایبری‌ای در امان بمانید و اجازه ندهید که شخص دیگری قادر به مدیریت سایت شما باشد.

شما می‌توانید از طریق یک پردازشگر FTP یا از طریق هر پنل ادمینی که هاستینگ وب‌سایت‌تان برایتان تعبیه کرده این کار را انجام دهید.

  • دسترسی به مدیریت سایت باید بر روی عدد 755 تنظیم شود.
  • دسترسی به فایل‌ها باید بر روی عدد 644 تنظیم شود.

برای آن‌که دسترسی به این دو حتی محدودتر از این باشد، باید از این دو فایل طبق تنظیمات زیر محافظت کنید:

  • فایل wp-config.php بر روی 600 تنظیم شود.
  • فایل .htaccess را بر روی 604 تنظیم کنید.

این تنظیمات می‌توانند دسترسی به بازدید، نوشتن و یا اجرا کردن هر یک از دستورات را در این فایل‌ها محدود کنند.

4-مسدود کردن PHP در قسمت مدیریت.

مسدود کردن PHP در قسمت مدیریت

وردپرس در هنگام نصب به‌طور خودکار فایل‌های PHP را در پنل ادمین مسدود می‌کند، درنتیجه شما باید این دستور را در پوشه مخصوص به خودش مسدود کنید. همچنین شما باید اجرای دستورهای غیرضروری کد PHP را نیز محدود کنید تا این دستورات به‌طور خودکار و خارج از کنترل اجرا نشوند.

برای این کار یک فایل جدید htaccess درون هر یک از این پوشه ها بسازید:

“/wp-content/uploads”
“/wp-content/ plugins”
“/wp-content/themes”

و این خط‌ را برای مسدود کرن اجرای PHP به آن اضافه کنید:

<Files*.php>
deny from all
</Files>

نکته! یادتان باشد که هر بار که تغییری در فایل htaccess به وجود میاورید، باید این تغییر را در قسمت نصب کردن چک کنید. حافظه‌ی کش را پاک‌کنید تا این تغییر در سیستم وردپرس‌تان تأیید شده و به اجرا دربیاید.

5-ویرایش فایل در وردپرس را غیرفعال کنید.

ویرایش فایل در وردپرس را غیرفعال کنید

این مرحله بر روی اضافه کردن لایه‌ای دیگر از امنیت در پنل ادمین متمرکز است؛ البته می‌تواند به‌عنوان راهی برای جلوگیری از خطاهای ناخواسته نیز استفاده شود.

برای اینکه بتوانید ویرایش فایل را در پنل ادمین وردپرس غیر فعال کنید، از این خط در فایل  wp-config.php استفاده کنید:

define( 'DISALLOW_FILE_MODS', true );

این کد دقیقاً برابر با از بین بردن دسترسی‌های ‘edit_themes’ و ‘edit_plugins’ و ‘edit_files’ است و هیچ‌یک از کاربران سایت اعم از مدیر یا کاربر عادی نمی‌تواند چنین فعالیت‌هایی را در سایت شما انجام دهد.

همچنین شما می توانید یک لایه ی دیگر برای افزایش کنترل تان بر روی سایت اضافه کنید. با اضافه کردن این لایه، هیچ کاربری نمی تواند تم یا پلاگین های سایت شما را تغییر دهد. برای اضافه کردن این لایه، این خط کد را به فایل wp-config.php اضافه کنید:

define( 'DISALLOW_FILE_MODS', true );

اگر می‌خواهید به‌منظور ایجاد یک تغییر در سایت، این دستور را غیرفعال کنید، فقط کافی است در کد بالا، کلمه‌ی True را به false تغییر دهید.

نکته! تمام این کدها در فایل wp-config.php باید بالاتر از این کد قرار بگیرند:

/* That's all, stop editing! Happy blogging. */

6-از یک CDN به‌عنوان DNS استفاده کنید.

شما می‌توانید از یک CDN (شبکه‌ی ارائه‌ی محتوا) به‌عنوان DNS استفاده کنید تا سطح کیفیت و عملکرد وب‌سایت‌تان بالاتر برود و به سه طریق امنیت وردپرس‌تان بیشتر می‌کند.

  • CDN فایروالی را به‌طور خودکار راه‌اندازی کرده و مدام به‌روزرسانی می‌کند تا فعالیت‌های مشکوک مثل اتصال بیش‌ازحد یا ردیابی پورت‌ها را از بین ببرد.
  • CDN از حمله‌های سنگین سایبری با توزیع کردن سرور و گستردنِ شبکه به تکه‌های کوچک‌تر می‌تواند تأثیر حمله را کاهش دهد و قوانین مسدودکننده برای این حمله‌ها پایه‌گذاری کند.
  • CDN می‌تواند IP واقعی شمارا برای جلوگیری از بسیاری از حمله‌ها مخفی کند. درنتیجه IP واقعی شما، یعنی مکان‌هاست شما از دشمن مخفی باقی می‌ماند.

استفاده از CDN Cloudflare را به شما پیشنهاد می‌کنیم تا امنیت سایتتان کاملاً تأمین شود.

7-از سایت تان بکاپ داشته باشید

از سایت تان بکاپ داشته باشید

البته امیدواریم که ابداً مجبور به استفاده از فایل‌های پشتیبانِ نباشید، چراکه این حرکت به‌منزله‌ی نابود شدن وب‌سایت شماست.

اگرچه بسیارکم پیش می‌آید که کسی بخواهد از فایل پشتیبان استفاده کند، اما ابزارهای فوق‌العاده‌ای برای ایجاد فایل‌های پشتیبان و اعمال آنها، در زمان مشکل وجود دارد.

به شما پیشنهاد می‌کنیم که این 3 قانون را حتماً در مورد فایل‌های پشتیبانی‌تان انجام دهید:

  • 3 فایل پشتیبان از سایت‌تان نگه‌دارید
  • 2 فایل در فرمت‌های مختلف
  • 1 فایل پشتیبان در یک مکان فیزیکی جداگانه

اگر مشکل پیش بیاید و شما فقط یک فایل پشتیبان داشته باشید و یا هر سه فایل خود را در یک مکان و در یک فرمت ایجاد کرده باشید، تمام دست رنجتان همراه با فایل‌های پشتیبانتان از بین خواهند رفت. پس از ایجاد هر تغییر مهمی در وب‌سایت سعی کنید یک فایل پشتیبان جدید از سایتتان تهیه کنید.

بخش دوم-امنیتِ نشست‌ها و لاگین هایتان را افزایش دهید

8- HTTPS را به‌درستی و در تمام آدرس‌ها فعال کنید

HTTPS را به‌درستی و در تمام آدرس‌ها فعال کنید

پروتکل امنیتی HTTPS یک ارتباط و اتصال امن را میان کاربر و سرور ایجاد می‌کند و تمام حمله‌های میان ارتباطی یا MITM را خنثی می‌کند. در این نوع از حمله، یک شخص ثالث در این میان سعی می‌کند اطلاعات ردوبدل شده بین دو پایانه را بدزدد.

برای اینکه بتوانید از پروتکل HTTPS بر روی سایتتان استفاده کنید، می‌بایستی یک گواهی SSL را بر روی سرور سابت‌تان نصب کنید و URL را در پنل ادمین تغییر دهید.

اکثراً در سرویس های هاستینگ، گواهی رایگان Let’s Encrypt SSL ارائه می شود که شما می توانید با یک تنظیمات ساده این SSL را روی وب‌سایت‌تان فعال نمایید.

همچنین افزونه‌های مختلفی برای وردپرس وجود دارد تا بتوانید با استفاده از HTTPSاز منابع و داده های سایت محافظت کنید.

نهایتاً، شما می‌بایستی تمام نشست‌های جدید در پنل ادمین را زیر پروتکل SSL ببرید و برای این کار می‌بایستی کدهای زیر را در فایل wp-config.php قرار دهید:

define('FORCE_SSL_LOGIN', true); 
define('FORCE_SSL_ADMIN', true);

نکته! یادتان باشد که شما باید از یک SSL فعال استفاده کنید، برای مثال، SSL هایی که در Let’s Encrypt قرار دارند همگی فعال هستند.

9-پیشنهاد به نشست‌های تازه را غیرفعال کنید.

همان‌طور که قبل‌تر هم گفته‌شده (اما بازهم ارزش تکرار دارد)، شما باید در دفعه‌ی اول سعی کنید تا کمترین میزان اطلاعات را به مجرمان و دزدان بدهید؛ این مورد به شما کمک می‌کند تا پیشنهادهای اولیه را در صفحه‌ی لاگین از بین ببرید (همان پیشنهادهایی که در صورت اشتباه واردکردن نام کاربری یا گذرواژه به کاربر داده می‌شوند تا بتواند وارد سایت شود).

function no_wordpress_login_errors(){ 
return 'Thanks for trying, but we are 
} 
add_filter( 'login_errors', no_wordpress_login_errors )

نکته! شما می‌توانید پیغام Thanks for trying, but we are را شخصی‌سازی کنید.

10-دسترسی ادمین سایت‌تان را جابه‌جا کنید.

هیچ تعجبی ندارد که اکثر حمله‌های سایبری از طریق صفحه‌ی لاگین صورت می‌گیرند. ربات‌های اینترنتی در این صفحه، برنامه‌ریزی‌شده تا یک سایت وردپرسی را تشخیص داده و کاربر را به سمت صفحه‌ی لاگین wp-admin هدایت کند. سپس، هکرها می‌توانند به‌راحتی با فرایند پیدا کردن رمز و نام کاربری، وارد پنل ادمین سایت شما شوند، خصوصاً اگر گذرواژه یا نام کاربری ادمین های شما ساده باشد!

درنتیجه، با پذیرش این نکته که تمام‌مسیرهای لاگین برای ادمین ها در وردپرس یکسان است، شما با تغییر این مسیر می‌توانید یک لایه‌ی امنیتی دیگر به وردپرس‌تان اضافه کنید.

افزونه‌های متعددی در وردپرس برای تغییر این مسیر وجود دارد، ما افزونه‌ی WPS Hide Login را پیشنهاد می‌کنیم. اگرچه افزونه‌های مشابه نیز می‌توانند به همین خوبی باشند.

11-تعداد تلاش برای وارد شدن را محدود کنید.

تعداد تلاش برای وارد شدن را محدود کنید

شما می‌توانید برای وارد شدن به سایت مقدار دفعات خاصی برای تلاش کردن را تعیین کنید. به‌طور مثال، اگر کاربر شما برای تعداد دفعات خاصی اطلاعات را اشتباه وارد کرد، برای تلاش دوباره باید چند دقیقه یا چند ساعت یا موقتاً دست از تلاش بردارد. این کار، می‌تواند ربات‌ها را از حمله‌های سایبری دورنگه دارد.

افزونه‌های امنیتی مثل Wordfence به‌طور اتوماتیک و طبیعی این کار را انجام می‌دهند، اما افزونه‌های دیگری هم این ویژگی را دارند، مثل: Limit Login Attempts (miniorange) و Limit Login Attempts Reloaded و Loginizer

12-از افزونه‌های فایروال استفاده کنید.

از افزونه‌های فایروال استفاده کنید

فایروال یک لایه‌ی امنیتی است که تحت عنوان نرم‌افزار ارائه می‌شود و می‌تواند اتصالات به وب‌سایت شما یا وردپرس‌تان را با آنالیز و ردیابی کاربران متصل شده بررسی کند. افزونه‌های فایروال بسیار مؤثر هستند و مدیریتشان بسیار آسان است، چراکه تمام فایل‌های شکل‌دهنده از یک افزونه ارسال می‌شوند.

فایروال‌ها اغلب از یک ابزار برای آنالیز اتصالات مشکوک استفاده می‌کنند و از این راه می‌توانند هر حمله‌ای به سایت را مسدود کنند. آنها هر نوع اتصالی به سایت را بررسی می‌کنند و در صورت تشخیص هر اتصال تحت عنوان یک حمله‌ی کاربری، آن را در نطفه خنثی می‌کند.

برخی از این افزونه‌ها عبارت‌اند از Wordfence Security و All in one security and firewall وiThemes Security

افزونه‌های فایروال باید ویژگی‌های زیر را داشته باشند:

  • فایل اسکنرها که به دنبال تغییر، خطاها یا ویروس‌ها می‌گردند.
  • Firewall WAF که اتصالات مشکوک را مسدود می‌کند.
  • نشان‌دهنده‌ی ترافیک واقعی در زمان حال.
  • ابزاری برای مسدود کردن دسترسی به وب‌سایت از طریق IP.
  • کپچا برای صفحه‌ی ورود.
  • بررسی گذرواژه.
  • تصدیق دو مرحله‌ای ادمین برای ورود به پنل.
  • توانایی مسدود کردن کاربرانی از کشورهای خاص.
  • ابزاری برای چک کردن دسترسی به فایل‌ها و پوشه‌ها .

13-از هدرهای امنیتی استفاده کنید.

امنیت وب‌سایت را با مقدر کردن برخی هدرهای خاص بالاتر ببرید.

با یک هدرِ X-FRAME-OPTIONS شروع کنید. اضافه کردن این هدر سبب می‌شود که صفحات وب‌سایت شما بافریم یا قاب دیگری باز نشوند و از حملات Clickjacking جلوگیری شود؛ Clickjacking تکنیکی است که در آن، کاربران با گول زدن اینترنت می‌توانند اطلاعات درون یک وب‌سایت را ببینند.

با اضافه کردن این خط به فایل .htaccess می‌توانید به مرورگر اطلاع دهید که فریم‌های شما فقط باید از طریق یک دامین بازشوند:

Header set X-Frame-Options SAMEORIGIN

اگر وب‌سایت شما شامل خدماتی می‌شود که نیاز به شخص یا وب‌سایت دیگری دارد، درنتیجه می‌توانید دامین آن سایت را مشخص کنید و بقیه‌ی دامین ها را مسدود کنید. به‌طور مثال:

Header set X-Frame-Options "ALLOW-FROM https://example.com/"

امنیت سایت‌تان را با اضافه کردن این کد به فایل .htaccess خود در برابر حمله‌های XSS بالا ببرید:

Header set X-XSS-Protection "1; mode=block"

همچنین برای اینکه ریسک XSS کاهش پیدا کند، می‌توانید هدر خود را بر اساس سیاست‌های مرورگر بازسازی کنید و برای مرورگر واضح‌سازی کنید که فقط این سایت حق دارد از فریم شما لود شود.

برای مثال، اگر می‌خواهید سایت‌تان فقط محتواهای دامین خودتان را قبول کند، پس این کد را نیز به فایل.htaccess خود اضافه کنید:

Header set Content-Security-Policy "default-src 'self';"

این کد می‌تواند بارگذاری شدن منابع اضافی را مسدود کند.

برای اینکه پروژه‌های خاصی را واضح‌سازی کنید، یا برای مثال اجازه بدهید که عمل خاصی از طریق منبع خاصی توسط فریم شما لود شود، می‌توانید از این کد استفاده کنید. برای مثال، اگر از سرویس گوگل آنالیتیکس استفاده می‌کنید، درنتیجه کد شما چنین چیزی است:

header set Content-Security-Policy "script-src 'self' 
www.google-analytics.com;"

و نهایتاً، چهارمین هدری که می‌تواند امنیت شمارا بالا ببرد، و از وب‌سایت شما در برابر بارگذاری شدنِ استایل‌ها و محتواهای ناخواسته جلوگیری کند. برای مقدر کردن چنین هدری می‌توانید این خط را به فایل.htaccess تان اضافه کنید:

Header set X-Content-Type-Options "nosniff"

14-جلوگیری از حمله‌های XML-RPC

فایل xmlrpc.php یکی از فایل‌هایی است که توسط بسیاری از اپلیکیشن ها و نرم‌افزارها برای برقراری ارتباط با وردپرس مورداستفاده قرار می‌گیرد. برای مثال، اپلیکیشن وردپرس یا نرم‌افزارهای اوت لوک و تاندربرد که با استفاده از ایمیل دستورات شمارا در وردپرس اعمال می‌کنند، از این فایل‌ها برای عملکردهایشان استفاده می‌کنند.

شما می‌توانید دسترسی به فایل‌های xmlrpc.php را به‌طورکلی از بین ببرید یا اصلاً همه‌ی آن‌ها را پاک‌کنید.

برای اینکه دسترسی به این فایل‌ها از طریق فایل.htaccess از بین برود، این کدها را به آن اضافه کنید:

# deny access to xmlrpc.php
<Files xmlrpc.php>
Order Deny,Allow 
Deny from all
</Files>

همچنین شما می‌توانید از افزونه‌هایی که در نکته 14 به آنها اشاره شد نیز برای این کار استفاده کنید.

برای آنهایی که از این فایل‌ها در عملیات‌های API استفاده می‌کنند و به‌گونه‌ای به این فایل‌ها نیاز دارند، بهترین راه‌حل این است که IP خود را وارد کنند و اجازه‌ی دسترسی به این فایل‌ها را فقط از طریق این IP فعال کنند. برای این کار، کدهای زیر را به فایل htaccess اضافه کنید و آدرس IP موردنظر را وارد نمایید:

<Files xmlrpc.php>
order deny, allow 
deny from all 
allow from X.X.X.X
</Files>

15-REST API را غیرفعال کنید.

ازآنجایی‌که در نسخه‌ی 4.4 وردپرس، REST API در هسته‌ی نرم‌افزار گنجانده‌شده، درنتیجه متخصصان و برنامه نویسان زیادی به سمت وردپرس گرایش پیداکرده‌اند. چراکه با این قابلیت دست برنامه نویسان برای توسعه وردپرس بسیار بازشده است. اما در همین میان، شکافی را برای ورود هکرها باز می‌گذارد.

اگر هیچ‌کدام از افزونه‌های وب‌سایت شما از REST API استفاده نمی‌کند، می‌توانید آن را غیرفعال کنید. برای این کار فقط کافی ست تا این کدها را به فایل functions.php قالب فعال یا منبع افزونه خود اضافه کنید:

add_filter('json_enabled', '__return_false');
add_filter('json_jsonp_enabled', '__return_false');

بخش سوم-نگه داری از امنیت وردپرس

16-از افزونه و پوسته‌های قابل اعتماد استفاده کنید.

از افزونه و پوسته‌های قابل اعتماد استفاده کنید

افزونه‌ها و پوسته‌های بسیار زیادی هستند که می‌توانند به شما کمک کنند. اما در این میان، بهتر است که: 1-از پوسته‌ها و افزونه‌های خود وردپرس استفاده کنید 2-از پوسته‌ها و افزونه‌های مشهور و قابل‌اعتماد استفاده کنید تا مشکلی برایتان به وجود نیاید.

از نمونه‌ی این مشکلات، می‌توان به ناسازگاری این پوسته‌ها و افزونه‌ها با وردپرس اشاره کرد. در هنگام دانلود یا نصب آن‌ها به این نکات توجه کنید:

  • بخشی برای بازخوردها و تعداد دانلودها و تعداد نظرات داشته باشد.
  • به توجه تاریخ آخرین به‌روزرسانی افزونه یا پوسته کنید تا مطمئن شوید که برنامه‌ای پویا و روبه‌پیشرفت را دانلود می‌کنید.
  • درباره‌ی نویسنده‌ی افزونه یا پوسته حتماً تحقیق کنید و آثار دیگرش را نیز بررسی کنید.
  • مشکلات و ناسازگاری‌های این پوسته و افزونه‌ها را در بخش نظرات بررسی کنید و ببینید که سایر خریداران چه مشکلی را با آن داشته اند.

همیشه قبل از نصب یک پوسته یا افزونه، نسخه پشتیبان (Backup) از سایت تهیه کنید!

17-اطلاعات نسخه وردپرس مخفی کنید.

اطلاعات نسخه وردپرس مخفی کنید

این مورد امنیتی نیز بر روی پاک کردن یا مخفی کردن اطلاعات نسخه وردپرس از روی کد HTML تمرکز دارد. گاهی اوقات ممکن است یک نسخه‌ی خاص از وردپرس مشکلی داشته باشد و هکرها بر روی همان نسخه توجه کنند و به تمام کسانی که در حال استفاده از آن نسخه هستند حمله کنند.

شما می‌توانید اطلاعات نسخه وردپرس خود را در HTML و یا از بخش فایل‌های آماری، با استفاده از اضافه کردن کدهای زیر به فایل functions.php از روی پوسته‌ها یا افزونه‌تان پاک‌کنید:

/* 
Hide scripts and style version 
*/ 
function SG_remove_wp_version_strings( $src ) { 
global $wp_version; 
parse_str(parse_url($src, PHP_URL_QUERY), $query); 
if ( !empty($query['ver']) && $query['ver'] === $wp_version ) { 
$src = remove_query_arg('ver', $src); 
} 
return $src; 
} 
add_filter( 'script_loader_src', 'SG_remove_wp_version_strings' ); 
add_filter( 'style_loader_src', 'SG_remove_wp_version_strings' ); 
/* 
Hide generator tag from the header 
*/ 
function SG_remove_wp_generator() { 
return ''; 
} 
add_filter('the_generator', 'SG_remove_wp_generator');

همچنین شما می‌توانید اطلاعات مربوط به نسخه‌ی حال حاضر وردپرس‌تان را از طریق اضافه کردن این کدها به فایل.htaccess تان مخفی کنید:

#Block WP info 
<files readme.html>
Order allow,deny 
Deny from all
</Files>
<files license.txt>
Order allow,deny 
Deny from all
</Files>

نکته! متخصصان و برنامه نویسان وردپرس پیشنهاد می‌کنند که تمام این فایل‌ها را از هاست خود حذف کنید، اما ما پیشنهاد می‌کنیم که دسترسی به این فایل‌ها را مسدود کنید چراکه به‌روزرسانی جدید یا نصب مجدد وردپرس می‌تواند فایل‌های جدیدی را از همین دست به وجود بیاورد.

18-هشدارهای PHP را مخفی کنید.

هشدارهای PHP را مخفی کنید

همان‌طور که بارها گفته شد، بهتر است که اطلاعاتی هکرها قابلیت دسترسی دارند را محدودتر کرد، پس مخفی کردن خطاها نیز ایده‌ی خوبی است. خطاها می‌توانند اطلاعات ارزشمندی را به هکرها ارائه دهند، اطلاعاتی مثل نسخه‌ی مورداستفاده‌ی وردپرس، مسیر رسیدن به پوشه‌هایتان و یا اطلاعات مخصوص به سرور.

در یک فضای رو به بهبود، خطاها می‌تواند بسیار مهم و کاربردی باشد. به‌وسیله‌ی خطاهاست که شما می‌توانید مشکلات بزرگتان را ببینید و در طولانی‌مدت یا کوتاه‌مدت، درصدد از بین بردن آنها تلاش کنید. اما در یک وب‌سایت زنده و پویا، شما باید آن‌ها را مخفی کنید تا اطلاعاتی همچون مسیرها، نام‌ها، نسخه‌ها و غیره را از مجرمان اینترنتی دور نگه دارید.

برای اینکه خطاها را در وردپرس مخفی کنید، فقط کافیست تا این کدها را درون فایل wp- config.php وارد کنید:

error_reporting( 0 ); 
ini_set( 'display_errors', 0 );

19-مخفی کردن اطلاعات PHP و APACHE

آخرین موردی که حول محور مخفی کردن اطلاعات می‌چرخد، همین مورد است؛ اطلاعاتی که توسط سرور به شما ارسال می‌شود، هدرهای شکل‌دهنده است. این هدرها اغلب شامل اطلاعاتی راجع به نرم‌افزار نصب‌شده بر روی سرور و نسخه‌ی PHP مورداستفاده است.

با توجه به نوع نصب، شما می‌توانید این اطلاعات را مخفی و یا محدود کنید تا اطلاعات از طریق سرور برای شما ارسال نشود. برای این کار می‌توانید کد زیر را به فایل .htaccess درون روت اصلی سایت اضافه کنید:

ServerSignature Off

دو راه دیگر هم برای مخفی کردن اطلاعاتی که از طریق سرور راجع به نسخه‌ی PHP ارسال می‌شود، وجود دارد؛ اولی، اضافه کردن این کد به فایل htaccess. شماست:

Header unset X-Powered-By

دومی هم استفاده از این کد در php.ini است:

ini_set( 'dispexpose_php = Offlay_errors', 0 );

نکته! اصولاً با اضافه کردن این کد به php.ini فعالتان در پنل ادمین می‌توانید به هدفتان برسید، اما ممکن است با توجه به هاست شما، اتفاق متفاوتی رخ دهد.

20- وردپرس خود را به روز نگه دارید.

وردپرس خود را به روز نگه دارید

برای اینکه بتوانید از وب‌سایت خود در برابر انواع آسیب‌پذیری‌ها مراقبت کنید، باید از آخرین نسخه‌ی وردپرس استفاده کنید و تمام افزونه‌ها و پوسته‌هایتان را نیز به‌روز نگه‌دارید.

پیشنهاد می‌کنیم که کار به‌روزرسانی را به‌صورت دستی انجام دهید. بدین‌صورت، می‌توانید ویژگی‌های اضافه‌شده در هر نسخه را ببینید و دلیل آن‌ها را بدانید.

دومین پیشنهاد در این بخش هم این است که ابتدا نرم‌افزار اصلی وردپرس خود را به‌روزرسانی کنید و سپس می‌توانید به به‌روزرسانی پوسته‌ها و افزونه‌هایتان را انجام دهید.

اما به‌هرحال اگر دوست داشتید وردپرس‌تان به‌طور خودکار به‌روز شود، به‌راحتی می‌توانید این کد را به فایل wp-config.php خود اضافه کنید:

define( 'WP_AUTO_UPDATE_CORE', true );

به‌روزرسانی وردپرس فقط بخشی از ماجراست. بر اساس گزارش‌هایی که از سایت wpscan.org به‌دست آمده است، 52% از آسیب‌پذیری‌هایی که در نصب وردپرس به وجود آمده به خاطر افزونه‌ها، 11% به خاطر پوسته‌ها و 37% از آنها به خاطر نرم‌افزار اصلی وردپرس است.

اگر می‌خواهید افزونه‌ها به‌صورت خودکار به‌روز شوند، این کد را به فایل فعالِ functions.php پوسته یا افزونه خود اضافه کنید:

add_filter( 'auto_update_plugin', '__return_true' );

قبل از اضافه کردن این کد، تمام افزونه‌های استفاده‌نشده را از سایتتان پاک‌کنید. غیرفعال کردن آنها نمی‌تواند آسیب‌پذیری های بزرگ سایت را رفع کند، پس آن‌ها را حذف کنید.

اضافه کردن این کد می‌تواند به‌صورت خودکار پوسته‌ها را به‌روزرسانی کند:

add_filter( 'auto_update_theme', '__return_true' );

و در آخر هم باید گفت که همیشه یادتان باشد وردپرس نرم‌افزار بسیار قدرتمندی در عرصه‌ی امنیت است، اما رایانه‌ی شما نیز باید عاری از هرگونه نرم‌افزار یا فعالیت مشکوک یا ویروس باشد. حتماً از یک آنتی ویروس مشهور برای رایانه‌تان استفاده کنید.

21-شرکت هاست قابل اعتمادی را انتخاب کنید.

شرکت هاست قابل اعتمادی را انتخاب کنید

و آخرین نکته که درباره امنیت وردپرس هم به شما میگوییم، و ازنظر اهمیت هم می‌تواند در جایگاه مهم‌ترین نکته قرار بگیرد، همین مورد است؛ شرکت‌هاست قابل‌اعتمادی را برای پروژه‌ی وب‌سایت خود استفاده کنید.

شرکت ارائه‌دهنده‌ی هاست شما باید پلتفرم امن و فعالی را ارائه دهد. حتماً مطمئن شوید که این شرکت از نرم‌افزارهای منقضی شده و دسترسی‌های ناامن استفاده نکنند و تیم پشتیبانی‌شان با وردپرس آشنایی داشته باشید.

انتخاب شرکت هاست درست می تواند موفقیت و امنیت را به پروژه ی وردپرس شما ببخشد.

سخن آخر

در بخش امنیت،همه‌ی ما میدانیم که وردپرس حرف اول را میزند. حتماً یادتان باشد که از گذرواژه‌های قدرتمند استفاده کنید، کاربرهای غیرفعال را حذف کنید، نقش مناسبی را به هر یک از ادمین ها بسپارید، سرورهایتان را به‌روز نگه دارید، از طریق رایانه‌های عمومی در سایتتان وارد نشوید، فقط دسترسی‌های امن را ایجاد کنید و مراقب وب‌سایتتان باشد.