
به اشتراک بگذارید
آموزش سرور | بلاگ وبداده
رفع اسپم سرور؛ شناسایی و جلوگیری از ارسال ایمیل هرزنامه
- دو علت اصلی: یا یک میلباکس با پسورد ضعیف هک شده، یا اسکریپتی آلوده داخل سایت در حال ارسال انبوه ایمیل است.
- شناسایی با لاگ: با بررسی صف خروجی Exim و لاگ سرور میتوان دقیقاً مسیر اسکریپت یا حساب آلوده را پیدا کرد.
- پیشگیری لایهای: SpamAssassin برای فیلتر، و SPF/DKIM/DMARC برای جلوگیری از جعل دامنه ضروریاند.
- خروج از بلکلیست: ابتدا باید علت ریشهای رفع شود؛ سپس درخواست حذف از فهرستهایی مثل Spamhaus ثبت میشود.
- صادقانه: هیچ ابزاری بهتنهایی کافی نیست؛ بدون رفع منبع آلوده، فیلتر و رکورد DNS هم مشکل را حل نمیکند.
پاسخ سریع
رفع اسپم سرور چیست و چرا سرور شما هرزنامه میفرستد؟
یک تشبیه ساده

دلایل رایج بروز این مشکل روی سرور
- میلباکس هکشده: رایجترین علت؛ پسورد ضعیف یا لورفته یک حساب ایمیل باعث میشود مهاجم با همان حساب وارد شود و انبوه ایمیل بفرستد.
- اسکریپت آلوده در سایت: یک افزونه یا فایل PHP آسیبپذیر (بهویژه در وردپرس قدیمی) که مهاجم با آن از داخل دایرکتوری سایت ایمیل ارسال میکند.
- فرم تماس یا خبرنامه بدون محافظت: فرمهای بدون CAPTCHA و محدودیت نرخ، ابزاری برای ارسال انبوه بهدست رباتها میشوند.
- پیکربندی نادرست میل سرور: سروری که بهاشتباه بهصورت Open Relay تنظیم شده، به هرکسی اجازه میدهد از طریق آن ایمیل بفرستد.
- نشت اطلاعات FTP/SSH: دسترسی لورفته به سرور که امکان آپلود اسکریپتهای ارسال انبوه را فراهم میکند.
هشدار مهم
شناسایی و رفع گامبهگام منبع اسپم
مرحله ۱: بررسی صف خروجی ایمیل (Mail Queue)
# تعداد کل ایمیلهای در صف خروجی (در سرورهای Exim/cPanel)
exim -bpc
# نمایش فرستندههای پرتکرار صف خروجی (نشانه ارسال انبوه/اسپم)
exim -bp | exiqgrep -i | xargs -n1 exim -Mvh | grep -i "from:" | sort | uniq -c | sort -nr | head
# حذف کامل صف خروجی فقط پس از شناسایی و رفع منبع (عملیات برگشتناپذیر — با احتیاط)
# exim -bp | awk '/^ *[0-9]+[mhd]/{print $3}' | xargs exim -MrmBashمرحله ۲: یافتن اسکریپت یا حساب آلوده
# یافتن مسیر اسکریپتی که بیشترین ایمیل را ارسال کرده است
grep cwd /var/log/exim_mainlog | grep -v /var/spool \
| awk -F"cwd=" '{print $2}' | awk '{print $1}' \
| sort | uniq -c | sort -n
# شناسایی پراستفادهترین آدرسهای فرستنده احراز هویتشده (میلباکس مشکوک)
grep "login authenticator" /var/log/exim_mainlog \
| awk '{print $NF}' | sort | uniq -c | sort -nr | headBashهشدار پیش از حذف
مرحله ۳: پاکسازی و بستن منبع
مرحله ۴: نصب و تنظیم SpamAssassin برای فیلتر
# نصب SpamAssassin روی سرور دبیان/اوبونتو
sudo apt update
sudo apt install spamassassin spamc
# ویرایش فایل پیکربندی اصلی
sudo nano /etc/spamassassin/local.cfBash# /etc/spamassassin/local.cf — تنظیمات پایه
# امتیاز لازم برای علامتگذاری بهعنوان اسپم (پیشفرض: 5.0)
required_score 5.0
# افزودن برچسب [SPAM] به موضوع ایمیلهای مشکوک
rewrite_header Subject [SPAM]
# گزارش کامل امتیازدهی در هدر ایمیل
report_safe 0
# استفاده از Bayes برای یادگیری تدریجی
use_bayes 1
bayes_auto_learn 1INIنکته درباره آستانه امتیاز
مرحله ۵: تنظیم رکوردهای SPF، DKIM و DMARC
# نمونه رکوردهای احراز هویت ایمیل در DNS دامنه شما
# SPF — تعیین سرورهای مجاز برای ارسال ایمیل دامنه
example.com. IN TXT "v=spf1 a mx ip4:203.0.113.10 -all"
# DKIM — کلید عمومی امضای دیجیتال (مقدار از پنل میل گرفته میشود)
default._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIGfMA0G..."
# DMARC — سیاست برخورد با ایمیل جعلی (ابتدا quarantine سپس reject)
_dmarc.example.com. IN TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com; pct=100"Bashجدول مقایسه مکانیزمهای مقابله با اسپم
| مکانیزم | چهچیزی را انجام میدهد | در برابر چه چیزی |
|---|---|---|
| SPF | تعیین سرورهای مجاز برای ارسال ایمیل دامنه | جعل آدرس فرستنده |
| DKIM | امضای دیجیتال ایمیل با کلید خصوصی دامنه | دستکاری و جعل محتوای ایمیل |
| DMARC | سیاست برخورد با ایمیلهای ناموفق در SPF/DKIM | فیشینگ و جعل دامنه |
| SpamAssassin | امتیازدهی و فیلتر ایمیل بر اساس قوانین | ایمیلهای اسپم ورودی و خروجی |
| بررسی بلکلیست | پایش وضعیت آیپی در فهرستهای سیاه | افت اعتبار و بلاک شدن آیپی |
از منابع معتبر
خارج کردن آیپی از بلکلیست پس از رفع مشکل
- بررسی وضعیت: آیپی خود را در ابزار رسمی check.spamhaus.org وارد کنید تا ببینید در کدام فهرست قرار دارد.
- رفع علت ریشهای: اطمینان حاصل کنید حساب هکشده یا اسکریپت آلوده پاک شده و دیگر اسپمی ارسال نمیشود.
- ثبت درخواست حذف: از فرم مخصوص همان فهرست در سایت Spamhaus برای درخواست delist استفاده کنید.
- صبر و پایش: برخی فهرستها مثل CSS و XBL پس از توقف مشکل بهصورت خودکار منقضی میشوند؛ بقیه معمولاً طی چند روز رسیدگی میشوند.
محدودیتها و نکاتی که باید صادقانه بدانید
- هیچ ابزاری بهتنهایی کافی نیست: SpamAssassin بدون رفع منبع آلوده، فقط علائم را پنهان میکند، نه علت را.
- خروج از بلکلیست زمانبر است: بازسازی اعتبار آیپی ممکن است روزها تا هفتهها طول بکشد و تحویل ایمیل در این مدت آسیب میبیند.
- فیلتر سختگیر خطر دارد: آستانه امتیاز پایین در SpamAssassin میتواند ایمیلهای سالم را هم اسپم کند (false positive).
- نیاز به دانش فنی: کار با لاگ Exim، DNS و فایروال برای کاربر کاملاً تازهکار ساده نیست و گاهی به کمک پشتیبانی نیاز دارد.
- تکرارپذیری: اگر علت اصلی (پسورد ضعیف یا افزونه آسیبپذیر) برطرف نشود، مشکل دوباره برمیگردد.
مقابله با اسپم روی زیرساخت وبداده
✅ دیتاسنترهای ایران، هلند و آلمان برای انتخاب نزدیکترین لوکیشن به کاربران شما.
✅ دسترسی کامل root برای نصب SpamAssassin، تنظیم فایروال و مدیریت رکوردهای DNS.
✅ پشتیبانی فنی ۲۴ ساعته برای کمک در شناسایی و رفع منبع اسپم.
پرسشهای پرتکرار درباره اسپم سرور
از کجا بفهمم سرورم در حال ارسال اسپم است؟
رایجترین نشانهها اینها هستند: انباشته شدن هزاران ایمیل در صف خروجی، کند شدن ناگهانی سرور بهدلیل مصرف بالای منابع، رفتن ایمیلهای واقعی شما به پوشه اسپم، و دریافت هشدار از میزبان یا قرار گرفتن آیپی در بلکلیست. بررسی صف خروجی با دستور exim -bpc و مرور لاگ Exim سریعترین راه تأیید است.
مهمترین علت ارسال اسپم از سرور چیست؟
در عمل دو علت بیش از همه دیده میشود: یک میلباکس که پسورد ضعیف یا لورفته دارد و توسط مهاجم برای ارسال انبوه استفاده میشود، و یک اسکریپت یا افزونه آسیبپذیر (بهویژه در سایتهای وردپرسی بهروزنشده) که از داخل دایرکتوری سایت ایمیل میفرستد. هر دو در لاگ Exim قابل ردیابیاند.
چطور منبع دقیق اسپم را پیدا کنم؟
Exim مسیر اجرای هر اسکریپت ارسال ایمیل را در لاگ ثبت میکند. با گرفتن مقدار cwd از فایل exim_mainlog و شمارش پرتکرارترین مسیرها میتوانید اسکریپت آلوده را پیدا کنید. برای حسابهای هکشده هم، شمارش آدرسهای احراز هویتشده پرتکرار در لاگ، حساب مشکوک را نشان میدهد.
SpamAssassin چیست و آیا بهتنهایی کافی است؟
SpamAssassin یک فیلتر اسپم متنباز است که به هر ایمیل بر اساس قوانین متعدد امتیاز میدهد و در صورت عبور از آستانه (پیشفرض 5.0) آن را اسپم علامت میزند. این ابزار برای فیلتر کردن مفید است، اما بهتنهایی منبع آلوده را پاک نمیکند؛ باید همراه با شناسایی و قطع منبع و تنظیم رکوردهای احراز هویت استفاده شود.
تفاوت SPF، DKIM و DMARC در چیست؟
SPF مشخص میکند کدام سرورها مجاز به ارسال ایمیل از طرف دامنه شما هستند، DKIM با یک امضای دیجیتال صحت محتوای ایمیل را تضمین میکند و DMARC تعیین میکند با ایمیلی که در SPF یا DKIM ناموفق بوده چه برخوردی شود (مثلاً قرنطینه یا رد). این سه با هم جلوی جعل دامنه و سوءاستفاده برای اسپم را میگیرند.
چطور آیپی سرورم را از بلکلیست خارج کنم؟
ابتدا با ابزار رسمی مثل check.spamhaus.org بررسی کنید در کدام فهرست هستید. سپس حتماً منبع اسپم را کامل قطع کنید، چون تا مشکل فعال باشد درخواست حذف رد میشود. در نهایت از فرم delist همان فهرست برای درخواست حذف استفاده کنید. برخی فهرستها پس از توقف مشکل خودکار منقضی میشوند.
آیا تغییر پسورد بهتنهایی مشکل را حل میکند؟
اگر علت واقعاً یک میلباکس هکشده باشد، تغییر پسورد به رمز قوی و بستن نشستهای فعال بخش مهمی از حل مشکل است. اما اگر علت یک اسکریپت آلوده در سایت باشد، تغییر پسورد ایمیل کافی نیست و باید فایل مخرب پیدا و پاک و افزونه آسیبپذیر بهروزرسانی شود. به همین دلیل شناسایی دقیق منبع، اولین گام است.
چطور از تکرار ارسال اسپم جلوگیری کنم؟
چند کار کلیدی: استفاده از پسوردهای قوی و یکتا برای همه حسابهای ایمیل، بهروزنگهداشتن وردپرس و افزونهها، افزودن CAPTCHA و محدودیت نرخ به فرمها، فعال نگهداشتن SpamAssassin و رکوردهای SPF/DKIM/DMARC، و پایش منظم صف خروجی و وضعیت بلکلیست. ترکیب این لایهها احتمال تکرار را بهشدت کم میکند.
آیا اسپم سرور میتواند روی سئوی سایت اثر بگذارد؟
بهطور مستقیم رتبه سئو با اسپم ایمیل تعیین نمیشود، اما اثر غیرمستقیم دارد: اگر آیپی سرور بلاک شود و ایمیلهای تأیید ثبتنام، بازیابی رمز یا اطلاعرسانی به کاربر نرسد، تجربه کاربری و اعتماد آسیب میبیند. همچنین آلوده بودن سرور به بدافزار میتواند به علامتخوردن سایت در مرورگرها منجر شود که به اعتبار سایت لطمه میزند.
جمعبندی و قدم بعدی شما
جمعبندی سریع
✅ پسوردها را عوض و فایل/افزونه آلوده را پاک کنید.
✅ SpamAssassin و رکوردهای SPF/DKIM/DMARC را فعال کنید.
✅ پس از رفع کامل مشکل، آیپی را از بلکلیست خارج کنید.



