امنیت وردپرس | بلاگ وب‌داده

آسیب‌پذیری افزونه Duplicator و نحوه محافظت از سایت

افزونه Duplicator یکی از محبوب‌ترین ابزارهای بکاپ و مهاجرت وردپرس است، اما نسخه‌های قدیمی آن چند حفره امنیتی جدی داشته‌اند. در این راهنما می‌بینید این حفره‌ها چه بودند و چطور در چند قدم ساده جلوی سوءاستفاده را بگیرید.
آسیب‌پذیری افزونه Duplicator به مجموعه‌ای از حفره‌های امنیتی گفته می‌شود که در نسخه‌های قدیمی این افزونه محبوب بکاپ و مهاجرت وردپرس کشف شده‌اند؛ حفره‌هایی که در بدترین حالت به مهاجمِ بدون ورود اجازه می‌دادند فایل‌های حساس مثل wp-config.php یا حتی کل بکاپ سایت را دانلود کند. در این مقاله سه آسیب‌پذیری واقعی و ثبت‌شده این افزونه را با زبان ساده مرور می‌کنیم و بعد یک چک‌لیست عملی برای بستن این درها به شما می‌دهیم.
  • ریشه خطر: فایل‌های نصب و بکاپِ باقی‌مانده Duplicator که پس از مهاجرت پاک نمی‌شوند، نقطه ورود اصلی مهاجم‌اند.
  • مهم‌ترین حفره‌ها: سه مورد ثبت‌شده با شناسه‌های CVE-2020-11738، CVE-2022-2551 و CVE-2023-6114.
  • خط اول دفاع: به‌روزرسانی فوری افزونه به آخرین نسخه؛ هر سه حفره با آپدیت بسته شده‌اند.
  • قدم عملی دوم: حذف فایل‌های نصب باقی‌مانده و بستن دسترسی به پوشه بکاپ با چند خط .htaccess.
  • واقعیت صادقانه: خودِ افزونه بد نیست؛ خطر از نسخه قدیمی و بی‌توجهی به پاک‌سازی بعد از کار می‌آید.

در یک نگاه

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

آسیب‌پذیری افزونه Duplicator چیست و چرا مهم است؟

Duplicator یک افزونه‌ی پرکاربرد وردپرس برای گرفتن بکاپ و انتقال (مهاجرت) سایت از یک هاست به هاست دیگر است. کار آن این‌گونه است که از کل فایل‌ها و دیتابیس سایت یک «پکیج» (شامل یک آرشیو فشرده و یک فایل installer.php) می‌سازد؛ شما این دو فایل را روی سرور مقصد آپلود و اجرا می‌کنید تا سایت دقیقاً همان‌جا بازسازی شود. همین سادگی، دلیل محبوبیت آن با بیش از یک میلیون نصب فعال است.
اما همین ساز و کار، نقطه‌ی حساس ماجراست. آن آرشیو بکاپ، یک نسخه‌ی کامل از دیتابیس و فایل‌های سایت شماست و فایل installer.php هم یک اسکریپت قدرتمند نصب. اگر این فایل‌ها روی سرور بمانند یا افزونه نسخه‌ی قدیمی باشد، مهاجم می‌تواند به آن‌ها دسترسی پیدا کند. اینجاست که پای «حفره‌ی امنیتی» به میان می‌آید.

یک تشبیه ساده

افزونه Duplicator مثل یک شرکت اسباب‌کشی است که وسایل خانه‌تان را در جعبه‌هایی بسته‌بندی می‌کند و یک کلید یدکی هم برای بازکردن آن‌ها می‌سازد. تا وقتی جعبه‌ها و کلید در خانه‌ی جدید و پشتِ در بسته باشند مشکلی نیست؛ اما اگر جعبه‌ها و کلید را دم در و جلوی چشم همه رها کنید، هر رهگذری می‌تواند همه‌چیز را بردارد. حفره‌های Duplicator دقیقاً همین «رهاکردن جلوی در» بوده‌اند.

چرا فقط نصب افزونه کافی نیست؟

بسیاری فکر می‌کنند بعد از پایان مهاجرت، کار تمام است. اما اگر فایل installer.php و پوشه‌ی بکاپ (backups-dup-lite) روی سرور بماند، همان لحظه یک در باز روی سایت شما ایجاد شده است. بخش بزرگی از حملات، نه به‌خاطر باگِ افزونه، بلکه به‌خاطر همین فایل‌های فراموش‌شده رخ می‌دهد.
مفهوم آسیب‌پذیری افزونه Duplicator و فایل‌های نصب و بکاپ باقی‌مانده روی سرور وردپرس

کدام حفره‌های امنیتی Duplicator واقعی و مهم بوده‌اند؟

برخلاف شایعات مبهم، حفره‌های این افزونه دقیقاً ثبت و شماره‌گذاری شده‌اند. سه مورد از مهم‌ترین‌ها که در نسخه‌های قدیمی وجود داشتند و در نسخه‌های بعدی اصلاح شدند، این‌ها هستند:
  • پیمایش مسیر (CVE-2020-11738): در نسخه‌های Lite پیش از 1.3.28، مهاجمِ بدون ورود می‌توانست با دستکاری مسیر (کاراکترهای ../) فایل‌های دلخواه سرور، از جمله wp-config.php، را بخواند. این حفره در سال 2020 به‌طور فعال در حملات واقعی سوءاستفاده شد.
  • دانلود بکاپ بدون احراز هویت (CVE-2022-2551): در نسخه‌های تا 1.4.7، اگر اینستالر حداقل یک‌بار اجرا شده بود، مهاجم می‌توانست فایل کامل بکاپ سایت را بدون ورود دانلود کند.
  • افشای اطلاعات حساس (CVE-2023-6114): در نسخه‌های پیش از 1.5.7.1، پوشه‌ی موقتِ بکاپ (backups-dup-lite/tmp) در برابر فهرست‌گیری دایرکتوری محافظت نمی‌شد؛ اگر Directory Listing روی سرور فعال بود، دامپ دیتابیس و آرشیو سایت لو می‌رفت. این مورد شدت بحرانی داشت.

نقل‌قول از تیم امنیتی Wordfence

شرکت امنیتی Wordfence در گزارش فوریه ۲۰۲۰ اعلام کرد که حفره‌ی پیمایش مسیر Duplicator به‌طور فعال در حال سوءاستفاده است و افزونه‌ای با بیش از یک میلیون نصب فعال را در معرض خطر قرار داده بود. منبع: Wordfence — Active Attack on Duplicator Plugin (2020)
نکته‌ی مهم و امیدوارکننده این است که هر سه‌ی این حفره‌ها سال‌هاست شناسایی و در نسخه‌های جدید افزونه اصلاح شده‌اند. یعنی اگر نسخه‌ی به‌روزِ Duplicator را داشته باشید، در برابر این موارد مصون هستید. خطر تنها زمانی جدی است که هنوز نسخه‌ی قدیمی را نگه داشته باشید یا فایل‌های نصب را پاک نکرده باشید.

جدول مقایسه سه حفره‌ی امنیتی ثبت‌شده Duplicator

این جدول کمک می‌کند بفهمید هر حفره در چه نسخه‌ای بوده و از کدام نسخه به بعد بسته شده است:
شناسه CVEنسخه‌های آسیب‌پذیرنوع حفرهاصلاح از نسخهشدت (CVSS)
CVE-2020-11738Lite < 1.3.28پیمایش مسیر / خواندن فایل حساس1.3.287.5 (بالا)
CVE-2022-2551تا 1.4.7دانلود بکاپ بدون احراز هویت1.4.7.1بالا
CVE-2023-6114کمتر از 1.5.7.1افشای اطلاعات (لیست‌شدن دایرکتوری)1.5.7.19.8 (بحرانی)

جمع‌بندی جدول

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

چطور از سایت در برابر این آسیب‌پذیری‌ها محافظت کنیم؟

قبل از شروع: یک بکاپ سالم بگیرید

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

قدم اول: افزونه را به آخرین نسخه به‌روزرسانی کنید

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

قدم دوم: فایل‌های نصب و بکاپِ باقی‌مانده را حذف کنید

بعد از پایان هر مهاجرت، Duplicator خودش دکمه‌ای برای پاک‌سازی فایل‌های نصب دارد؛ حتماً از آن استفاده کنید. اما برای اطمینان، از طریق مدیر فایل هاست یا FTP این موارد را در ریشه‌ی سایت بررسی و در صورت وجود حذف کنید: فایل installer.php، فایل‌های با پسوند _installer.php، پوشه‌ی dup-installer و آرشیوهای بکاپ با پسوند .zip یا .daf که دیگر به آن‌ها نیاز ندارید. رهاکردن این فایل‌ها، رایج‌ترین دلیل هک‌شدن سایت‌های استفاده‌کننده از Duplicator بوده است.
حذف فایل installer.php و آرشیو بکاپ افزونه Duplicator از مدیر فایل هاست

قدم سوم: دسترسی به فایل‌های حساس را با htaccess ببندید

به‌عنوان یک لایه‌ی دفاعی اضافه (به‌ویژه اگر روی سرور آپاچی یا لایت‌اسپید هستید)، می‌توانید با چند خط ساده در فایل .htaccess ریشه‌ی سایت، هم دسترسی به فایل‌های نصب باقی‌مانده را ببندید، هم فهرست‌گیری دایرکتوری را خاموش کنید و هم جلوی دانلود مستقیم آرشیوهای بکاپ را بگیرید:
# --- محافظت در برابر آسیب‌پذیری‌های افزونه Duplicator (وب‌داده) ---
# این خطوط را به فایل .htaccess در ریشه سایت اضافه کنید

# ۱) جلوگیری از اجرا و دانلود فایل‌های نصب باقی‌مانده Duplicator
<FilesMatch "(?i)(installer(-backup)?\.php|dup-installer)">
    Require all denied
</FilesMatch>

# ۲) بستن فهرست‌گیری دایرکتوری تا پوشه‌های بکاپ لو نروند
Options -Indexes

# ۳) جلوگیری از دسترسی مستقیم به آرشیوهای بکاپ (zip/daf/sql)
<FilesMatch "\.(zip|daf|sql)$">
    Require all denied
</FilesMatch>

یک نکته‌ی مهم درباره‌ی این کد

خط سوم (مسدودسازی zip/daf/sql) دسترسی مستقیم به هر فایل با این پسوندها را در کل سایت می‌بندد. اگر روی سایتتان فایل zip قانونی برای دانلود کاربران دارید، این خط را حذف کنید یا آن را فقط داخل پوشه‌ی بکاپ اعمال کنید. همچنین این تنظیمات روی سرورهای Nginx خوانده نمی‌شود؛ کاربران Nginx باید همین محدودیت‌ها را در کانفیگ سرور اعمال کنند یا از پشتیبانی هاست کمک بگیرند.

قدم چهارم: از فایروال و افزونه‌ی امنیتی استفاده کنید

یک فایروال برنامه‌ی وب (WAF) یا افزونه‌ی امنیتی معتبر، الگوهای شناخته‌شده‌ی حمله (مثل درخواست‌های حاوی ../ یا تلاش برای دسترسی به installer.php) را قبل از رسیدن به سایت مسدود می‌کند. این کار مثل یک نگهبان جلوی در عمل می‌کند و حتی اگر یک افزونه به‌روزرسانی نشده باشد، لایه‌ی محافظتی اضافه‌ای فراهم می‌آورد. در کنار آن، افزونه‌های بلااستفاده را حذف کنید؛ هر افزونه‌ی اضافی یک سطح حمله‌ی بالقوه است.

قدم پنجم: بکاپ‌ها را جای امن و خارج از دسترس نگه دارید

بهترین کار این است که فایل‌های بکاپ اصلاً روی همان سرور و داخل پوشه‌ی عمومی سایت (public_html) نمانند. آن‌ها را روی یک فضای جداگانه یا هاست بکاپ نگه دارید. این‌طوری حتی اگر تنظیمی از قلم بیفتد، آرشیو حساس سایت شما اصلاً روی مسیر قابل‌دسترسِ عمومی قرار نمی‌گیرد.

میزبانی امن وردپرس و بکاپ مطمئن در وب‌داده

بخشی از امنیت سایت، پیش از هر افزونه‌ای، به بستر میزبانی برمی‌گردد: سروری که درست پیکربندی شده، پنلی که پاک‌سازی و بکاپ را ساده می‌کند و پشتیبانی که سرِ بزنگاه کنارتان است. ما در وب‌داده تلاش کرده‌ایم این کارها را برایتان راحت‌تر کنیم:
✅ زیرساخت سرورهای نسل جدید HPE (Gen11 و Gen10) برای پایداری و سرعت بالا.
✅ دیتاسنترهای متنوع در ایران، هلند و آلمان برای انتخاب نزدیک‌ترین لوکیشن.
✅ کنترل‌پنل سی‌پنل با مدیر فایل و ابزار بکاپ برای حذف آسان فایل‌های نصب و مدیریت نسخه‌ها.
✅ پشتیبانی فنی ۲۴ ساعته برای کمک در پاک‌سازی فایل‌های Duplicator، تنظیم .htaccess و بازگردانی بکاپ.

تجربه‌ی پشتیبانی وب‌داده

در تیم پشتیبانی وب‌داده بارها پیش آمده که کاربری بعد از مهاجرت با Duplicator، فایل installer.php و آرشیو بکاپ را روی سرور رها کرده و بعد نگران امنیت شده است. راه‌حل ما همیشه ساده بوده: از طریق مدیر فایل هاست همان فایل‌های باقی‌مانده را پیدا و حذف می‌کنیم و دسترسی پوشه‌ی بکاپ را می‌بندیم. همین تجربه نشان می‌دهد چرا «پاک‌سازی بعد از مهاجرت» مهم‌ترین قدم عملی است.
اگر به‌دنبال بستری مطمئن برای وردپرس هستید، می‌توانید هاست سی‌پنل وب‌داده را ببینید. برای نگاه گسترده‌تر به امن‌سازی زیرساخت هم مطلب روش‌های امن‌سازی سرور کمک‌کننده است.

معایب و محدودیت‌هایی که باید صادقانه بدانید

صادقانه بگوییم، هیچ‌کدام از این قدم‌ها به‌تنهایی «امنیت کامل» نمی‌آورد. نخست، به‌روزرسانی فقط حفره‌های شناخته‌شده را می‌بندد؛ در برابر حفره‌های کشف‌نشده (روز صفر) همچنان باید محتاط بود. دوم، قوانین .htaccess فقط روی سرورهای آپاچی/لایت‌اسپید کار می‌کند و روی Nginx بی‌اثر است. سوم، مسدودسازی گسترده‌ی پسوندها (مثل zip) ممکن است دانلودهای قانونی سایت را هم مختل کند و نیاز به تنظیم دقیق دارد. و در نهایت، خودِ افزونه‌ی Duplicator ابزار بدی نیست؛ اگر به آن نیاز مداوم ندارید، حتی می‌توانید بعد از مهاجرت آن را غیرفعال یا حذف کنید تا سطح حمله کمتر شود. جمع‌بندی: این قدم‌ها را کنار هم و به‌صورت مداوم ببینید، نه یک‌بار و برای همیشه.

پرسش‌های پرتکرار درباره امنیت افزونه Duplicator

جمع‌بندی و چک‌لیست نهایی

دیدیم که حفره‌های امنیتی Duplicator (مثل CVE-2020-11738، CVE-2022-2551 و CVE-2023-6114) عمدتاً حول یک نقطه می‌چرخند: دسترسی مهاجمِ بدون ورود به فایل‌های نصب و بکاپِ رهاشده روی سرور. خبر خوب این است که هر سه در نسخه‌های جدید بسته شده‌اند و محافظت در برابرشان با چند قدم ساده ممکن است. مهم‌ترین پیام مقاله را فراموش نکنید: امنیت یک کارِ یک‌باره نیست، یک عادتِ همیشگی است.

چک‌لیست سریع محافظت

✅ افزونه Duplicator را به آخرین نسخه به‌روزرسانی کنید (و آپدیت خودکار را روشن کنید).
✅ بعد از هر مهاجرت، فایل installer.php و آرشیوهای بکاپ را حذف کنید.
✅ با چند خط .htaccess دسترسی به فایل‌های نصب و پوشه‌ی بکاپ را ببندید.
✅ فهرست‌گیری دایرکتوری را خاموش و بکاپ‌ها را خارج از public_html نگه دارید.
✅ از یک فایروال یا افزونه‌ی امنیتی معتبر استفاده کنید و افزونه‌های بلااستفاده را حذف کنید.
✅ اگر به Duplicator نیاز مداوم ندارید، بعد از مهاجرت آن را غیرفعال یا حذف کنید.
در صورتی که سوالی داشتید می‌توانید در بخش نظرات با ما در ارتباط باشید.
منابع: گزارش Wordfence درباره‌ی حمله‌ی فعال به Duplicator (2020)، صفحه‌ی CVE-2020-11738 در پایگاه NVD، و پایگاه اطلاعات آسیب‌پذیری‌های Wordfence Threat Intelligence برای افزونه Duplicator (شامل CVE-2022-2551 و CVE-2023-6114).
وب داده
وب داده

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

مقاله‌ها: 65
پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *