پرش به محتویات

آسیب‌پذیری RCE در Bricks

در این مقاله آسیب‌پذیری امنیتی کشف‌شده در Bricks در ۱۰ فوریه ۲۰۲۴ را بررسی می‌کنیم که برای آن یک patch امنیتی تأییدشده در ۱۳ فوریه ۲۰۲۴ با Bricks نسخه 1.9.6.1 ارائه دادیم.

فوری

اگر هنوز به آخرین نسخه Bricks (1.9.6.1 یا بالاتر) به‌روزرسانی نکرده‌اید، همین الان این کار را بکنید!

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

سلب مسئولیت

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

در سال ۲۰۲۳، روزانه حدود ۱۳,۰۰۰ سایت وردپرس دچار نقض امنیتی شدند. با توجه به این آمار، مهم است که صاحبان وب‌سایت آماده و آگاه از تهدیدات امنیتی احتمالی باشند، نه اینکه نگران باشند آیا با آن‌ها روبرو خواهند شد یا نه.

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

در حالی که تلاش کرده‌ایم گام‌های دقیق و مفیدی در این مقاله ارائه دهیم، لطفاً توجه داشته باشید که این‌ها راهنماهای کلی هستند. اثربخشی این گام‌ها بسته به شرایط هر سایت و ماهیت هر compromise احتمالی متفاوت است.

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

چه اتفاقی افتاد؟

محقق امنیتی Calvin Alkan در ۱۰ فوریه ۲۰۲۴ با تیم Bricks تماس گرفت و درباره کشف خود از «Unauthenticated Remote Code Execution in Bricks <= 1.9.6» اطلاع داد که می‌تواند به افراد بدنیتی که می‌دانند چطور از آن سوءاستفاده کنند، دسترسی به سایت شما بدهد.

تیم Bricks بلافاصله شروع به کار روی یک fix کرد که مشکل اصلی را برطرف می‌کرد.

Bricks 1.9.6.1 در ۱۳ فوریه ۲۰۲۴ به‌عنوان یک به‌روزرسانی یک‌کلیکی منتشر شد که یک patch امنیتی برای رفع این آسیب‌پذیری داشت.

پس از مشورت با کارشناسان امنیت وردپرس در patchstack.com، Bricks یک changelog عمومی‌درباره نسخه 1.9.6.1 منتشر کرد که patch امنیتی را برجسته می‌کرد و بلافاصله ایمیلی (با موضوع: «Security Patch: Update to Bricks 1.9.6.1 Now») به همه مشتریان درباره این به‌روزرسانی امنیتی اجباری ارسال کرد، حتی اگر به این معنا بود که ممکن است موقتاً برخی قابلیت‌ها از دست بروند. یک ایمیل دوم در ۲۴ ساعت بعد ارسال شد.

همین اطلاعات در یک Facebook post پین‌شده در گروه Bricks Community به اشتراک گذاشته شد. Bricks از همه خواست فوراً به 1.9.6.1 به‌روزرسانی کنند و این خبر را با سایر کاربران Bricks در گروه‌های دیگر و غیره به اشتراک بگذارند تا آگاهی درباره آن گسترش یابد.

در حالی که در زمان انتشار 1.9.6.1 هیچ سوءاستفاده‌ای از این آسیب‌پذیری گزارش نشده بود، نه همه توانستند به‌موقع به‌روزرسانی کنند و اولین سایت‌های آسیب‌دیده ۵ تا ۶ ساعت بعد گزارش شدند، همان‌طور که بعداً توسط Patchstack تأیید شد.

کمتر از ۷۲ ساعت پس از انتشار، این patch امنیتی 1.9.6.1 به پر-دانلودترین نسخه theme Bricks تبدیل شد.

مهم

حتی اگر سایت Bricks خود را بلافاصله به‌روزرسانی کردید و هیچ نشانه‌ای از compromise سایت وجود ندارد، از شما می‌خواهیم وقت بگذارید و مطمئن شوید سایت شما پاک است.

نحوه بررسی compromise شدن سایت وردپرس شما

یادداشت دقیقی از تمام یافته‌های خود بردارید، زیرا در بخش بعدی («Steps to clean a compromised site») از آن‌ها برای پاکسازی سایت استفاده خواهیم کرد.

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

  1. بررسی حساب‌های کاربری:
  2. به پیشخوان وردپرس بروید، سپس روی Users کلیک کنید
  3. به دنبال حساب‌های کاربری ناشناس بگردید. به‌ویژه آن‌هایی با نقش کاربری Administrator.
  4. بازرسی child theme ها:
  5. در پیشخوان وردپرس، به Appearance > Themes بروید.
  6. theme هایی که خودتان نصب نکرده‌اید را بررسی کنید. نام‌های ناآشنا علامت هشدار هستند.
  7. بررسی فایل‌های سرور برای تغییرات:
  8. از یک FTP client (مانند FileZilla) استفاده کنید یا به حساب hosting خود وارد شوید تا به فایل‌های سایت دسترسی داشته باشید.
  9. دایرکتوری root (جایی که سایت وردپرس شما نصب شده) و تمام زیرپوشه‌های آن را بررسی کنید.
  10. جستجو برای فایل‌های اخیراً تغییر یافته: برای یافتن فایل‌هایی که ممکن است توسط یک مهاجم اضافه یا تغییر داده شده باشند، از دستور find . -type f -newermt "2024-02-01" در SSH استفاده کنید. این دستور تمام فایل‌هایی که بعد از ۱ فوریه ۲۰۲۴ اضافه یا تغییر داده شده‌اند را فهرست می‌کند. توجه: این روش کاملاً قابل اعتماد نیست. مهاجمان پیچیده ممکن است با تغییر timestamp فایل‌ها یا به‌کارگیری تاکتیک‌های دیگر رد خود را پنهان کنند. بنابراین، حتی اگر این جستجو چیز مشکوکی نشان ندهد، تضمین نمی‌کند که سایت شما کاملاً ایمن است. با این حال، این یک گام ارزشمند است زیرا می‌تواند به سرعت مشکلات آشکار را علامت‌گذاری کند.
  11. فایل‌های با نام‌های رمزگونه و غیر-WP علامت هشدار هستند: به دنبال هر چیزی که به نظر می‌رسد جایش نیست یا غیرعادی است بگردید. این شامل فایل‌هایی با نام‌های عجیب، فایل‌ها در مکان‌های غیرمنتظره، یا فایل‌هایی که به نظر می‌رسد با وردپرس یا محتوای معمولی شما مرتبط نیستند می‌شود.
    • مثال‌هایی از فایل‌های غیرمعمول ممکن است شامل موارد زیر باشد:
    • فایل‌هایی با نام‌های تصادفی یا بی‌معنی مانند xj47v.php یا file.fplka28as در دایرکتوری‌های وردپرس.
    • فایل‌های PHP در دایرکتوری‌هایی که معمولاً در آنجا نیستند، مثل پوشه‌های آپلود تصویر.
    • فایل‌هایی با پسوندهای غیرمعمول که معمولاً با وردپرس مرتبط نیستند، مانند فایل‌های .java یا .exe.
  12. بررسی پست‌ها و صفحات:
  13. در پیشخوان وردپرس، بخش‌های Posts و Pages را مرور کنید. به علاوه هر custom post type که ثبت کرده‌اید.
  14. به دنبال محتوایی بگردید که شما یا تیمتان ایجاد نکرده‌اید.
  15. بررسی ناهنجاری‌های عملکرد سرور:
  16. مراقب خطاها هنگام بارگذاری سایت باشید. مانند صفحه‌ای که درست بارگذاری نمی‌شود یا خطای 500 Internal Server Error نمایش می‌دهد.
  17. با control panel hosting خود برای هر افزایش ناگهانی در استفاده از CPU بررسی کنید که می‌تواند نشانه فعالیت‌های پنهانی در سایت شما باشد.
  18. بررسی cron job ها:
  19. cron job ها وظایف زمان‌بندی‌شده روی سرور شما هستند. از طریق control panel hosting به آن‌ها دسترسی داشته باشید. برای هر cron job ناشناس با provider hosting خود بررسی کنید.
  20. برای cron job های مخصوص وردپرس، می‌توانید از یک افزونه رایگان مثل WP Crontrol استفاده کنید. هر cron job سفارشی ناشناس را حذف کنید.
  21. ریدایرکت‌های ناشناس:
  22. از وب‌سایت خود بازدید کنید و ببینید آیا به‌طور غیرمنتظره به سایت یا صفحه دیگری منتقل می‌شوید. این می‌تواند نشانه ریدایرکت‌های غیرمجاز باشد.
  23. بررسی audit log ها:
  24. اگر hosting شما یک audit log دارد، آن را بررسی کنید. این یک ثبت فعالیت‌های روی سایت شماست.
  25. به دنبال تلاش‌های غیرعادی برای ورود، تغییر در نقش‌های کاربری، یا تغییرات در تنظیمات بگردید.
  26. به پیام‌های خطا مانند «Headers already sent» یا الگوهای ناگهانی از خرابی‌ها توجه ویژه داشته باشید.
  27. نکته کلیدی بررسی timestamp ها است. اگر فعالیت‌های مشکوک حدود یا بعد از ۱۳ فوریه ۲۰۲۴ شروع شده‌اند، ممکن است با آسیب‌پذیری کشف‌شده در Bricks مرتبط باشند.
  28. بررسی فایل .htaccess:
  29. با استفاده از FTP یا file manager hosting به فایل‌های سایت دسترسی داشته باشید.
  30. فایل .htaccess را در دایرکتوری root پیدا کنید.
  31. برای بررسی آخرین زمان ویرایش آن، می‌توانید از FTP client برای مشاهده ویژگی‌های فایل استفاده کنید یا از دستور ls -l .htaccess در SSH استفاده کنید.
  32. اگر تاریخ آخرین ویرایش اخیر بود و شما تغییرات را انجام نداده‌اید، فایل را برای قوانین یا ریدایرکت‌های ناشناس بررسی کنید.
  33. اگر درباره محتوا مطمئن نیستید، با یک متخصص یا provider hosting خود برای راهنمایی مشورت کنید.

گام‌های پاکسازی سایت compromise شده

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

به یاد داشته باشید، این‌ها گام‌های کلی هستند و پس از این اقدامات نظارت مستمر بر سایت بسیار مهم است.

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

۱ - مسدود کردن ترافیک ورودی:

اگر نمی‌توانید یک نصب وردپرس روی کامپیوتر خود راه‌اندازی کنید و باید پاکسازی را روی سایت live انجام دهید، لطفاً مطمئن شوید در طول این مدت ترافیک ورودی به سایت را مسدود می‌کنید تا سایت در حین پاکسازی مجدداً compromise نشود.

اگر مطمئن نیستید چطور این کار را انجام دهید یا بهترین روش چیست، با provider hosting خود تماس بگیرید.

یک راه‌حل ممکن این است که با افزودن کد زیر در بالای فایل .htaccess تمام آدرس‌های IP به‌جز آدرس IP خودتان را مسدود کنید:

Order Deny,Allow
Deny from all
Allow from YOUR_IP_ADDRESS

مطمئن شوید placeholder YOUR_IP_ADDRESS را با آدرس IP عمومی‌خودتان جایگزین می‌کنید. می‌توانید آن را از وب‌سایت‌های رایگانی مانند whatismyip.com بازیابی و کپی کنید.

اگر از یک راه‌حل managed hosting استفاده می‌کنید، provider شما ممکن است گزینه‌های کاربرپسندی برای فعال‌سازی «maintenance mode» یا تنظیم مشابهی که تمام ترافیک ورودی به‌جز آدرس‌های IP خاص را مسدود می‌کند ارائه دهد. برای گزینه‌های خاصی که ارائه می‌دهند با provider hosting خود بررسی کنید.

۲ - بازگردانی پشتیبان در محیط محلی

  1. انتخاب پشتیبان: یکی از ۱۲ فوریه ۲۰۲۴ یا قبل از آن را انتخاب کنید (هرچه زودتر بهتر).
  2. ساخت سرور محلی: برای بازگردانی پشتیبان به‌صورت محلی، باید یک محیط سرور محلی روی کامپیوتر خود راه‌اندازی کنید. می‌توانید از نرم‌افزاری مثل LocalWP یا DevKinsta که به‌طور خاص برای وردپرس طراحی شده‌اند و رابط کاربری دوستانه دارند استفاده کنید. همچنین ابزارهای چندمنظوره مانند XAMPP یا MAMP هم مناسب هستند. آنچه را که بیشتر با آن راحت هستید انتخاب کنید.
  3. بازگردانی پشتیبان به‌صورت محلی: فایل‌های وردپرس و پایگاه داده خود را در این نصب محلی وارد کنید.

۳ - به‌روزرسانی Bricks theme به آخرین نسخه

  1. ورود به وردپرس محلی: پیشخوان وردپرس را روی سایت محلی باز کنید.
  2. به‌روزرسانی Bricks: به Dashboard > Updates بروید و به‌روزرسانی به Bricks نسخه 1.9.6.1 را اعمال کنید.

۴ - تکرار گام‌های ذکرشده در بالا

  1. گام‌های بالا («نحوه بررسی compromise شدن سایت وردپرس شما») را مجدداً بررسی کنید تا مطمئن شوید پشتیبان هم compromise نشده. و تمام حساب‌های کاربری، child theme ها، فایل‌ها و محتوای مشکوک را حذف کنید.

۵ - نصب مجدد WordPress core، تمام theme ها و افزونه‌ها

  1. نصب مجدد وردپرس: به Dashboard > Update بروید و روی دکمه «Reinstall version x.x.x» کلیک کنید. این فایل‌های core وردپرس را مجدداً نصب می‌کند، بدون اینکه محتوای موجود (پست‌ها، صفحات و غیره)، پیکربندی‌ها، theme ها و افزونه‌ها را تحت تأثیر قرار دهد.
  2. نصب مجدد تمام افزونه‌ها: یا تمام افزونه‌ها را به آخرین نسخه به‌روزرسانی کنید یا همه آن‌ها را مجدداً نصب کنید.
  3. نصب مجدد تمام theme ها: یا تمام theme ها را به آخرین نسخه به‌روزرسانی کنید یا همه آن‌ها را مجدداً نصب کنید.

در حالی که همه این گام‌ها می‌توانند از طریق CLI برای theme ها و افزونه‌های رایگان موجود در مخزن وردپرس انجام شوند، برای برخی از افزونه‌های premium خود هنوز باید این کار را به‌صورت دستی انجام دهید. توصیه می‌کنیم این کار را به‌صورت دستی، یکی یکی انجام دهید تا تأیید کنید که همه آخرین نسخه‌ها روی سایت شما همان‌طور که انتظار می‌رود کار می‌کنند. این همچنین یک فرصت عالی است تا مجدداً بررسی کنید کدام افزونه‌ها دیگر لازم نیستند.

۶ - تغییر اطلاعات و کلیدهای حساس

پس از اطمینان از پاک بودن فایل‌ها و پایگاه داده سایت، مهم است به compromise احتمالی اطلاعات حساس مانند API key ها، SMTP password ها و لایسنس‌ها توجه کنید. مهاجمان ممکن است به این‌ها دسترسی داشته باشند و از آن‌ها سوءاستفاده کنند که می‌تواند به مشکلات امنیتی بیشتری منجر شود.

  • به‌روزرسانی API key ها و secret ها:
  • تمام API هایی که در سایت وردپرس شما استفاده می‌شوند را شناسایی کنید، از جمله درگاه‌های پرداخت، یکپارچه‌سازی‌های شبکه‌های اجتماعی و سایر سرویس‌های خارجی.
  • برای هر سرویس API key و secret های جدید تولید کنید.
  • این key های جدید را در تنظیمات وردپرس یا تنظیمات افزونه مربوطه به‌روزرسانی کنید.
  • تغییر SMTP password ها:
  • اگر از یک سرویس SMTP برای ایمیل‌ها استفاده می‌کنید، فرض کنید password compromise شده است.
  • password SMTP را از طریق provider سرویس ایمیل خود تغییر دهید.
  • SMTP password جدید را در وردپرس یا تنظیمات افزونه ایمیل خود به‌روزرسانی کنید.
  • به‌روزرسانی لایسنس key ها:
  • برای افزونه‌ها، theme ها یا سایر نرم‌افزارهای دارای لایسنس premium، لایسنس key های آن‌ها را تغییر دهید.
  • در صورت لزوم با provider ها تماس بگیرید تا key های جدید صادر کنند.
  • این key ها را در تنظیمات وردپرس خود به‌روزرسانی کنید.
  • ایمن‌سازی سایر داده‌های حساس:
  • سایر داده‌های حساس در پیکربندی وردپرس خود را مرور و به‌روزرسانی کنید. این شامل کلیدهای احراز هویت سفارشی یا اطلاعات سفارشی می‌شود.

۷ - انتقال نصب محلی به محیط live

وقتی آماده انتقال نصب محلی وردپرس به محیط live هستید، مهم است اطمینان حاصل کنید که سایت در طول این فرآیند برای عموم قابل دسترس نباشد. برای روش‌هایی که موقتاً سایت را غیرقابل دسترس کنند به ۱- مسدود کردن ترافیک ورودی مراجعه کنید، چه از طریق ویرایش فایل .htaccess یا استفاده از گزینه‌های ارائه‌شده توسط سرویس managed hosting.

  1. نصب جدید روی سرور live: با نصب یک نمونه جدید وردپرس روی سرور live شروع کنید. این اطمینان می‌دهد با یک پایه پاک و ایمن کار می‌کنید.
  2. انتقال سایت: می‌توانید از افزونه‌هایی مانند Duplicator، WPVivid یا All-in-One WP Migration برای انتقال سایت محلی به‌روزرسانی‌شده به نصب سرور live جدید استفاده کنید.

۸ - روش جایگزین (برای host هایی که site isolation را اجازه می‌دهند)

  1. ایزوله کردن سایت: از host خود بخواهید دسترسی به اینترنت سایت شما را موقتاً مسدود کند.
  2. بازگردانی و به‌روزرسانی روی سرور live: پیش از باز کردن مجدد دسترسی، مستقیماً پشتیبان را بازگردانی کنید و Bricks را به 1.9.6.1 روی سرور live به‌روزرسانی کنید.

گام‌های اضافی (مهم برای همه سناریوها)

  1. اجرای اسکن امنیتی با افزونه‌ای مثل Wordfence:
  2. نصب Wordfence: در پیشخوان وردپرس، به Plugins > Add New بروید. به دنبال «Wordfence» بگردید. آن را نصب و فعال کنید.
  3. اجرای اسکن: در پیشخوان به Wordfence > Scan بروید. روی «Start a new scan» کلیک کنید. مطمئن شوید در حالت «High Sensitivity» برای اسکن کامل هستید.
  4. بررسی نتایج اسکن: بعد از اسکن، فهرستی از تهدیدات احتمالی دریافت خواهید کرد. هر آیتم را با دقت بررسی کنید. اگر درباره یک فایل مطمئن نیستید، درباره آن تحقیق کنید یا از یک متخصص مشورت بگیرید.
  5. به خاطر داشته باشید: در حالی که افزونه‌هایی مانند Wordfence گاهی می‌توانند ارزشمند باشند، کامل نیستند زیرا در سطح application اجرا می‌شوند. استفاده از آن‌ها به‌عنوان بخشی از یک استراتژی امنیتی گسترده‌تر، شامل بررسی‌های دستی منظم و نظارت بر فعالیت‌های غیرعادی سایت در سطح سرور بسیار مهم است.
  6. اسکن برای بدافزار در سطح سرور:
  7. استفاده از ابزارهای provider hosting: بهترین روش برای اسکن بدافزار در سطح سرور از طریق ابزارهای ارائه‌شده توسط provider hosting است. افزونه‌ها گاهی ممکن است دستکاری شوند که آن‌ها را برای بررسی‌های امنیتی کامل کمتر قابل اعتماد می‌کند.
  8. مشورت با provider: با provider hosting خود مشورت کنید تا ویژگی‌های امنیتی ارائه‌شده توسط آن‌ها را بدانید و پیاده‌سازی کنید. این ابزارها معمولاً با زیرساخت سرور یکپارچه‌تر هستند و رویکرد قوی‌تر و جامع‌تری برای اسکن بدافزار ارائه می‌دهند.
  9. تغییر password پایگاه داده:
  10. دسترسی به control panel hosting: وارد حساب web hosting خود شوید و به بخش پایگاه داده بروید.
  11. پیدا کردن تنظیمات پایگاه داده: پایگاه داده استفاده‌شده توسط سایت وردپرس خود را پیدا کنید.
  12. تغییر password: password را به‌روزرسانی کنید. مطمئن شوید قوی و منحصربه‌فرد است.
  13. حذف فایل قدیمی wp-config.php:
    • با استفاده از FTP یا file manager host خود، به دایرکتوری root سایت دسترسی داشته باشید.
    • فایل موجود wp-config.php را پیدا و حذف کنید. این یک گام مهم برای حذف هرگونه پیکربندی احتمالاً compromise شده یا ناامن است.
  14. شروع با یک فایل wp-config.php جدید:
    • یک فایل تازه wp-config.php sample از مخزن رسمی‌وردپرس دانلود کنید: WordPress Repo wp-config-sample.php.
    • محتوای این فایل را مستقیماً در یک فایل جدید با نام wp-config.php کپی کنید. همچنین می‌توانید فایل را دانلود کنید، آن را به wp-config.php تغییر نام دهید و به دایرکتوری root سایت آپلود کنید.
  15. به‌روزرسانی wp-config.php جدید:
    • فایل wp-config.php جدید را باز کنید.
    • password پایگاه داده جدید خود را کپی کنید و در خط متناظر (define( 'DB_PASSWORD', 'new_password' );) جای‌گذاری کنید.
    • سایر جزئیات لازم مانند نام پایگاه داده، کاربر و host را پر کنید یا به‌روزرسانی کنید.
  16. توجه: اگر از یک سرویس managed hosting استفاده می‌کنید و درباره این فرآیند مطمئن نیستید، توصیه می‌شود با provider hosting خود برای راهنمایی تماس بگیرید. آن‌ها می‌توانند در به‌روزرسانی فایل wp-config.php کمک و راهنمایی ارائه دهند.
  17. ریست کردن تمام password های کاربری در وردپرس:
  18. رفتن به بخش کاربران: در پیشخوان وردپرس، روی Users کلیک کنید.
  19. ویرایش هر کاربر: روی هر حساب کاربری، به‌خصوص admin ها کلیک کنید و یک password جدید تنظیم کنید. از password های قوی استفاده کنید.
  20. به‌روزرسانی کلیدهای امنیتی در wp-config.php:
  21. دسترسی به فایل‌های سایت: از FTP یا file manager host برای دسترسی به دایرکتوری root سایت استفاده کنید.
  22. ویرایش wp-config.php: فایل wp-config.php که تازه ساخته یا به‌روزرسانی کرده‌اید را باز کنید.
  23. تولید key های جدید: از WordPress's Security Key Generator بازدید کنید. key های تولیدشده را کپی کنید.
  24. جایگزینی key های قدیمی: در wp-config.php، بخشی با authentication unique key ها و salt ها را پیدا کنید. آن‌ها را با key های جدیدی که کپی کرده‌اید جایگزین کنید.
  25. ذخیره تغییرات: پس از جایگزینی، فایل را ذخیره و ببندید.
  26. بررسی و تنظیم مجوزهای فایل:
  27. استفاده از FTP: با یک FTP client به سایت وصل شوید.
  28. ناوبری به پوشه‌های وردپرس: دایرکتوری‌های wp-admin، wp-includes و wp-content را پیدا کنید.
  29. تنظیم مجوزهای پوشه: روی هر پوشه کلیک راست کنید و «File Permissions» را انتخاب کنید. مقدار عددی را روی ۷۵۵ تنظیم کنید.
  30. تنظیم مجوزهای فایل: برای فایل‌های جداگانه داخل این دایرکتوری‌ها، مجوزها را روی ۶۴۴ تنظیم کنید.

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

بنابراین، توصیه می‌کنیم WordPress Hardening Guide را هم مطالعه کنید. این راهنمای فنی اقدامات امنیتی پیشرفته را پوشش می‌دهد. اگر از یک سرویس managed hosting استفاده می‌کنید، provider شما معمولاً بسیاری از این جنبه‌های امنیتی را مدیریت می‌کند.

با این حال، آگاهی از این شیوه‌ها همچنان مفید است، زیرا بینش‌های ارزشمندی درباره ایمن‌سازی محیط وردپرس شما ارائه می‌دهند.