جنگ سایبری: چگونه در برابر حملات هکرها مقاومت کنیم؟

اگر سایتمون هک شد چکار کنیم؟

اگر سایتمون هک شد چکار کنیم؟

وقتی سایتمان هک می‌شود: عواقب فاجعه‌بار و نقشه راه نجات

علائم واضح و فوری وب‌سایت هک شده

✅ علائم قابل مشاهده:

  • محتوای ناخواسته یا اسپم در صفحات
  • تغییر صفحه اصلی به محتوای مخرب
  • ریدایرکت خودکار به سایت‌های دیگر
  • پاپ‌آپ‌های مزاحم و تبلیغات غیرمعمول
  • صفحات جدید با عنوان‌های غریب در نتایج گوگل

✅ علائم فنی:

  • هشدار “این سایت ممکن است هک شده” در گوگل
  • افزایش ناگهانی مصرف CPU و RAM سرور
  • فایل‌های ناشناخته در دایرکتوری سرور
  • کاربران جدید در پنل ادمین
  • ایمیل‌های هرزنامه از سرور شما

            نمودار علائم هک:

مشکوک به هک

علائم ظاهری → بررسی محتوا
علائم فنی → بررسی سرور
علائم امنیتی → بررسی لاگ‌ها

تأیید هک → شروع فرآیند نجات

فاز اول: مهار فوری آسیب و جلوگیری از گسترش (تکنیک 1-4)

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

تکنیک 1: آفلاین کردن فوری سایت (حالت تعمیرات)

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

روش 1: از طریق cPanel (ساده‌تر):
  • گام 1: پیدا کردن فایل .htaccess

1. وارد cPanel شوید
2. File Manager را باز کنید
3. به مسیر public_html بروید
4. در بالای صفحه “Settings” کلیک کنید
5. گزینه “Show Hidden Files” را فعال کنید
6. فایل .htaccess را پیدا می‌کنید (در پوشه اصلی وردپرس)

 

چک لیست بازیابی هک

 

امنیت وب سایت

  • گام 2: ویرایش فایل

1. روی .htaccess راست‌کلیک کنید
2. “Edit” را انتخاب کنید
3. در ابتدای فایل این کد را اضافه کنید:

نجات سایت هک شدهرفع هک وردپرس

apache

RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^185\.88\.155\.20$
RewriteCond %{REQUEST_URI} !^/maintenance\.html$
[RewriteRule ^(.*)$ /maintenance.html [R=302,L

  • گام 3: ساخت صفحه Maintenance
 مکان: /public_html/maintenance.html (کنار فایل .htaccess)

نحوه ساخت:
1. در همان File Manager باشید (در پوشه public_html)
2. روی دکمه “+ File” یا “New File” کلیک کنید
3. نام فایل را بنویسید: maintenance.html
4. روی فایل جدید راست‌کلیک → Edit
5. محتوای زیر را کپی و Paste کنید:

نجات وب‌سایت هک شده
نجات سایت هک شده
html
<!DOCTYPE html>
<html>
<head>
    <title>در حال تعمیرات</title>
    <meta charset="utf-8">
</head>
<body style="text-align:center; padding-top:100px; font-family:Tahoma;">
    <h1>🔧 سایت در حال تعمیرات است</h1>
    <p>به زودی برمی‌گردیم!</p>
</body>
</html>

رفع هک وردپرس
سپس 6. Save Changes کنید
  • گام 4: جایگزینی IP شما: برگردید به فایل .htaccess که در گام 2 ویرایش کردید.
    در این خط:

RewriteCond %{REMOTE_ADDR} !^185\.88\.155\.20$
↑↑↑ این عدد ↑↑↑

تکنیک 2: تغییر فوری تمام رمزهای عبور

رمزهای حیاتی که باید فوراً تغییر کنند:

سرویس

اولویت

دستورالعمل

پنلهاستینگ.  

بحرانی

 cPanel/DirectAdmin – اول از همه.            

FTP

  بحرانی

 تمام اکانت‌های FTP را حذف/تغییر دهید

دیتابیس

بحرانی

 MySQL User Password از phpMyAdmin

ادمین CMS

بحرانی

 wp-admin یا admin panel

SSH

بحرانی

 اگر دسترسی SSH دارید

❓ چگونه رمز قوی بسازیم:
  • رمز ضعیف: admin123
  • رمز قوی: K#9mP@x2$vL8&qW5
فرمول رمز امن:
– حداقل 16 کاراکتر
– ترکیب حروف (A-z)، اعداد (0-9)، نمادها (!@#$)
– هیچ کلمه قاموسی ندارد

تکنیک 3: قطع موقت دسترسی‌های مشکوک

حذف کاربران مشکوک در وردپرس
  • روش 1: از داخل phpMyAdmin
    مسیر: cPanel → Databases → phpMyAdmin
  1. وارد cPanel شوید
  2. بخش “Databases” → “phpMyAdmin” کلیک کنید
  3. از منوی سمت چپ، دیتابیس وردپرس خود را انتخاب کنید
    (معمولاً نامش شامل username_wp یا username_wor است)
  4. بالای صفحه روی تب “SQL” کلیک کنید
  5. کدهای زیر را یکی یکی اجرا کنید:
نجات سایت هک شده
SELECT user_login, user_email FROM wp_users WHERE ID IN 
(SELECT user_id FROM wp_usermeta WHERE meta_key = 'wp_capabilities' 
AND meta_value LIKE '%administrator%');
  • نتیجه: لیست تمام ادمین‌ها را نشان می‌دهد
  • اگر کاربری را نمی‌شناسید → مشکوک است!
مرحله 2: حذف کاربر مشکوک

اول باید ID کاربر مشکوک را بدانید:

  1. در نتایج مرحله 1، اگر username مشکوکی دیدید
  2. برای پیدا کردن ID اش این کد را اجرا کنید:
SELECT user_login, user_email FROM wp_users WHERE ID IN 
(SELECT user_id FROM wp_usermeta WHERE meta_key = 'wp_capabilities' 
AND meta_value LIKE '%administrator%');
  • فرض کنید ID کاربر = 99
  • حالا با این کد حذفش کنید:
DELETE FROM wp_users WHERE user_login = 'hacker_username';
DELETE FROM wp_usermeta WHERE user_id = 99;
📌 نکته امنیتی: قبل از اجرای DELETE، حتماً بک‌آپ از دیتابیس بگیرید!
  • روش 2: از داشبورد وردپرس
    مسیر: wp-admin → Users → All Users
  1. وارد داشبورد وردپرس شوید
  2. کاربران → همه کاربران
  3. لیست را بررسی کنید
  4. کاربر مشکوک → Delete
  5. محتوای او را به کاربر دیگری منتقل کنید یا حذف کنید.
غیرفعال کردن موقت افزونه‌ها:
mv wp-content/plugins wp-content/plugins-disabled
این کار تمام افزونه‌ها را غیرفعال می‌کند (احتمالاً backdoor هم در یکی از آن‌هاست).

تکنیک 4: بک‌آپ فوری وضعیت فعلی (برای بررسی)

درنظر بگیرید حتی اگر سایت آلوده است، باید نسخه‌ای از آن بگیرید:
tar -czf backup-hacked-$(date +%Y%m%d).tar.gz /home/username/public_html/
mysqldump -u username -p database_name > backup-db-$(date +%Y%m%d).sql

فاز دوم: پاک‌سازی و بازیابی کامل (تکنیک 5-8)

بعد از مهار، زمان پاک‌سازی کامل است.

تکنیک 5: بازیابی از بک‌آپ تمیز

چگونه بک‌آپ تمیز پیدا کنیم؟
بررسی تاریخ بک‌آپ‌ها:
├─ بک‌آپ دیروز → احتمالاً آلوده
├─ بک‌آپ هفته پیش → بررسی کنید
├─ بک‌آپ ماه پیش → احتمال بالای تمیز بودن
└─ بک‌آپ 3 ماه پیش → مطمئناً تمیز (اما قدیمی)
فرآیند بازیابی امن:
  • دانلود بک‌آپ تمیز
  • اسکن آن با آنتی‌ویروس
  • حذف کامل فایل‌های فعلی سایت
  • آپلود بک‌آپ تمیز
  • import دیتابیس تمیز
  • آپدیت فوری CMS و افزونه‌ها

تکنیک 6: اسکن عمیق با ابزارهای تخصصی

ابزارهای اسکن پیشنهادی:

ابزار

نوع

مناسببرای

 Wordfence 

 افزونه وردپرس

 اسکن و پاک‌سازی خودکار

 Sucuri SiteCheck   

 آنلاین

 بررسی blacklist و malware.

 ClamAV

 سرور

 اسکن کل فایل‌های سرور

 AI-Bolit

 اسکریپت PHP

 یافتن backdoor های مخفی

تکنیک 7: بررسی لاگ‌های سرور و یافتن نقطه نفوذ

لاگ‌های حیاتی:
 Access Log (لاگ دسترسی):
grep "POST" /var/log/apache2/access.log | grep -i "wp-login\|admin"
awk '{print $1}' /var/log/apache2/access.log | sort | uniq -c | sort -rn | head -20
 Error Log (لاگ خطا):
tail -500 /var/log/apache2/error.log | grep -i "fatal\|warning"
 FTP Log:
cat /var/log/proftpd/access.log | tail -100

تکنیک 8: حذف Backdoor ها و Web Shell ها

💡 Backdoor چیست؟
فایل‌های مخفی که هکر برای دسترسی مجدد جایگذاری می‌کند.
               ⚠ مناطق پرخطر ⚠
├─ /wp-content/uploads/ (فایل‌های PHP)
├─ /wp-includes/ (فایل‌های اضافه شده)
├─ /wp-content/themes/[theme]/includes/
├─ /images/ یا /tmp/ (دایرکتوری‌های عمومی)
└─ فایل‌های با نام‌های معمولی مثل “index.php.bak”
 دستورات یافتن Backdoor:
find /home/user/public_html/wp-content/uploads -name "*.php"
find /home/user/public_html -type f -mtime -7 -name "*.php"
grep -r "eval(base64_decode" /home/user/public_html/
grep -r "system(" /home/user/public_html/
grep -r "exec(" /home/user/public_html/
حذف امن:
cat suspicious_file.php
rm suspicious_file.php

فاز سوم: تقویت امنیت دائمی و پیشگیری (تکنیک 9-12)

پاک‌سازی کافی نیست؛ باید امنیت را تقویت کنید.

تکنیک 9: به‌روزرسانی کامل CMS، قالب و افزونه‌ها

چک‌لیست به‌روزرسانی:
  • ✅ وردپرس:

1. بک‌آپ کامل قبل از آپدیت
2. آپدیت هسته وردپرس به آخرین نسخه
3. آپدیت تمام افزونه‌ها (حذف افزونه‌های غیرفعال)
4. آپدیت قالب (اگر قالب Premium است، از سایت اصلی دانلود کنید)
5. آپدیت PHP به نسخه بالاتر

 حذف افزونه‌ها و قالب‌های غیرضروری:
  • هر افزونه = یک نقطه ورود احتمالی. فقط آنچه واقعاً نیاز دارید نگه دارید.

تکنیک 10: نصب فایروال وب اپلیکیشن (WAF)

گزینه‌های WAF:

سرویس

نوع

قیمت

توصیه

 Cloudflare 

 Cloud-based

 رایگان تا $200/ماه

 بهترین برای همه

 Sucuri

 Cloud-based

 $199/سال 

 عالی برای وردپرس

 Wordfence   

 Plugin

 رایگان/$99/سال

 مناسب سایت‌های کوچک.

پیکربندی Cloudflare (توصیه شده):
1. ثبت‌نام در Cloudflare.com
2. اضافه کردن دامنه
3. تغییر Nameserver به Cloudflare
4. فعال کردن:
├─ SSL/TLS (حداقل Flexible)
├─ Firewall Rules
├─ DDoS Protection
└─ Bot Fight Mode
5. قوانین فایروال سفارشی:
– Block کشورهای پرخطر
– محدود کردن تعداد درخواست به wp-login

تکنیک 11: تنظیم صحیح مجوزهای فایل‌ها (File Permissions)

مجوزهای استاندارد امنیتی:
find /home/user/public_html -type d -exec chmod 755 {} \;
find /home/user/public_html -type f -exec chmod 644 {} \;
chmod 600 wp-config.php
echo "php_flag engine off" > /wp-content/uploads/.htaccess
معنی اعداد:
  • 755 = rwxr-xr-x (مالک می‌تواند بنویسد، دیگران فقط خواندن)
  • 644 = rw-r–r– (مالک می‌تواند بنویسد، دیگران فقط خواندن)
  • 600 = rw——- (فقط مالک دسترسی دارد)

تکنیک 12: راه‌اندازی مانیتورینگ و هشدار خودکار

⚙ ابزارهای مانیتورینگ:
◀️ Uptime Robot (رایگان):
  • بررسی در دسترس بودن سایت هر 5 دقیقه
  • هشدار ایمیل/SMS در صورت Down شدن
◀️ Wordfence Alerts:
  • هشدار برای ورود ناموفق
  • هشدار برای تغییرات فایل
  • هشدار برای افزونه‌های آسیب‌پذیر
◀️ Google Search Console:
  • هشدار Security Issues
  • هشدار Manual Actions
  • مانیتور وضعیت Index
⚠ تنظیم هشدارهای سفارشی:

ایمیل فوری برای:
✅ ورود با رمز اشتباه بیش از 5 بار
✅ تغییر فایل‌های هسته (Core Files)
✅ فایل جدید در دایرکتوری /uploads/
✅ مصرف CPU بالای 80% برای بیش از 10 دقیقه

چک‌لیست کامل بازیابی سایت هک شده

چک‌لیست 24 ساعت اول:
✅ آفلاین کردن سایت (Maintenance Mode)
✅ تغییر تمام رمزهای عبور (هاستینگ، FTP، DB، Admin)
✅ بک‌آپ فوری وضعیت فعلی
✅ بررسی و حذف کاربران مشکوک
✅ غیرفعال کردن موقت افزونه‌ها✅ بازیابی از بک‌آپ تمیز (اگر دارید)
✅ اسکن کامل با Wordfence یا Sucuri
✅ بررسی لاگ‌های سرور
✅ حذف Backdoor ها و فایل‌های مخرب
✅ حذف کدهای مخرب از دیتابیس✅ آپدیت CMS، قالب و افزونه‌ها
✅ نصب WAF (Cloudflare)
✅ تنظیم مجوزهای صحیح فایل‌ها
✅ فعال‌سازی SSL و HTTPS
✅ راه‌اندازی مانیتورینگ

اطلاع به گوگل و بازیابی SEO

بعد از پاک‌سازی کامل، باید به گوگل اطلاع دهید:
مراحل در Google Search Console:
1. ورود به Search Console
2. Security & Manual Actions → Security Issues
3. کلیک روی “Request Review”
4. توضیح اقدامات انجام شده:
– پاک‌سازی کامل malware
– آپدیت تمام نرم‌افزارها
– تقویت امنیت
– نصب فایروال
5. ارسال درخواست
6. معمولاً 3-7 روز طول می‌کشد
مهم: تا زمانی که گوگل بررسی نکند، سایت شما با برچسب “خطرناک” نمایش می‌یابد.

نتیجه‌گیری: 12 تکنیک اصلی برای وب‌سایت هک شده

نجات سایت هک شده یک فرآیند سه مرحله‌ای است که نیازمند دقت، سرعت و صبر است. با پیروی از 12 تکنیک ضروری که در این راهنما آموختیم – از مهار فوری آسیب و تغییر رمزها، تا پاک‌سازی کامل با اسکنرهای تخصصی و بازیابی از بک‌آپ، و در نهایت تقویت امنیت با WAF و مانیتورینگ – می‌توانید کنترل کامل سایت خود را بازیابی کنید و از حملات آینده محافظت شوید.
نکته کلیدی این است که پاک‌سازی تنها نیمی از کار است؛ بدون تقویت امنیت، سایت شما ظرف چند هفته دوباره هدف قرار می‌گیرد. آمار 2024-2025 نشان می‌دهد که سایت‌هایی که بعد از رفع هک وردپرس، فایروال نصب کرده‌اند و به‌روزرسانی‌های خودکار را فعال کرده‌اند، 95% کمتر دچار حمله مجدد شده‌اند. بنابراین همیشه پیشگیری را بر درمان ترجیح دهید: رمزهای قوی، آپدیت منظم، بک‌آپ روزانه و مانیتورینگ فعال.
اگر در موقعیت بحرانی قرار دارید و نیاز به کمک فوری دارید، تیم امنیت وب‌داده 24/7 آماده خدمت‌رسانی است. در صورتی که سوالی داشتید می‌توانید در بخش نظرات با ما در ارتباط باشید. امیدوارم این چک‌لیست بازیابی هک از بلاگ وب‌داده برای شما مفید بوده باشد و بتوانید سایت خود را سریعاً نجات دهید. موفق باشید!

سوالات متداول از 12 تکنیک ضروری برای نجات وب‌سایت هک شده

1- چگونه بفهمم سایتم واقعاً هک شده یا فقط مشکل فنی دارد؟

برای تشخیص قطعی:

  1. سایت را در https://sitecheck.sucuri.net بررسی کنید
  2. Google Search Console را چک کنید (بخش Security Issues)
  3. لاگ‌های سرور را بررسی کنید
  4. فایل‌های اخیراً تغییر یافته را پیدا کنید
اگر ریدایرکت، محتوای اسپم یا هشدار گوگل دارید، 99% مطمئن باشید هک شده‌اید.

2- آیا می‌توانم بدون حذف کل سایت، فقط فایل‌های مخرب را پاک کنم؟

بله، اما خطرناک است! حتی یک فایل Backdoor باقیمانده می‌تواند دوباره سایت را آلوده کند. توصیه قطعی:

  • اگر بک‌آپ تمیز دارید → بازیابی کامل
  • اگر ندارید → نصب مجدد CMS + import دیتابیس (بعد از پاک‌سازی)
پاک‌سازی جزئی فقط در حالت اضطراری و با کمک متخصص.

3- بک‌آپ من هم آلوده است. الان چکار کنم؟

اگر تمام بک‌آپ‌ها آلوده‌اند:

  1. نصب تازه CMS انجام دهید
  2. دیتابیس را Export کنید
  3. با ابزارهای آنلاین مانند “Database Malware Scanner” اسکن کنید
  4. جداول مشکوک (مثلاً جدول options در وردپرس) را دستی پاک کنید
  5. دیتابیس تمیز شده را Import کنید

این کار دشوار است و بهتر است به متخصص واگذار شود.

جدیدترین مقالات

طراحی و توسعه پورتال سازمانی هوشمند

پورتال سازمانی چیست؟ راهکارهای هوشمند برای مدیریت یکپارچه | ایمارت

تولید محتوای حرفه‌ای با ایمارت هولدینگ

تولید محتوا چرا مهم است؟ | راهنمای جامع برای کسب‌وکارهای آنلاین

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

دستیار هوشمند چیست؟ هوش مصنوعی در خدمت کسب‌وکار شما

ایمارت CRM سیستم مدیریت ارتباط با مشتریان برای یکپارچه‌سازی اطلاعات و افزایش فروش

ایمارت CRM چیست؟ سیستم مدیریت ارتباط با مشتریان

برندسازی دیجیتال و هویت برند آنلاین برای رشد کسب‌وکار

برندسازی دیجیتال | راهنمای جامع استراتژی و هویت برند آنلاین

خدمات دیجیتال مارکتینگ برای رشد کسب‌وکار و افزایش فروش آنلاین

خدمات دیجیتال مارکتینگ | طراحی سایت، سئو، CRM و کمپین فروش

طراحی سایت فروشگاهی سئو شده با اتصال به CRM برای افزایش فروش آنلاین و مدیریت سبد خرید رها شده

چرا سایت فروشگاهی شما نمی‌فروشد؟