~2 min read • Updated Jan 27, 2026

1. Amavis چیست؟


Amavis یک فیلتر محتوای ایمیل است. این سرویس:

  • ایمیل ارسال یا دریافت نمی‌کند
  • بین Postfix و فیلترهای امنیتی قرار می‌گیرد
  • محتوای ایمیل را بررسی می‌کند
  • تصمیم می‌گیرد پیام سالم، اسپم یا آلوده است

Amavis مغز تصمیم‌گیری بین این سرویس‌هاست:

  • SpamAssassin (تشخیص اسپم)
  • ClamAV (تشخیص ویروس)

2. نقش Amavis در معماری iRedMail


جریان ایمیل ورودی

Internet
   ↓
Postfix (SMTP)
   ↓
Amavis
   ↓
├─ SpamAssassin
├─ ClamAV
   ↓
Dovecot (Mailbox)

جریان ایمیل خروجی

User → SMTP Auth → Postfix → Amavis → Internet

Amavis روی هر دو مسیر inbound و outbound اعمال سیاست می‌کند.


3. ساختار سرویس Amavis


Amavis یک سرویس daemon-based است که:

  • روی localhost گوش می‌دهد (معمولاً پورت 10024)
  • از طریق SMTP داخلی با Postfix ارتباط دارد

کنترل سرویس:

systemctl status amavis

4. مسیرهای مهم Amavis


مسیرتوضیح
/etc/amavis/conf.d/فایل‌های تنظیمات ماژولار
/etc/amavis/conf.d/50-userتنظیمات اصلی کاربر
/var/log/maillogلاگ‌ها
/var/lib/amavis/کش و داده‌های موقت

در iRedMail فقط فایل 50-user را ویرایش کن.


5. تنظیمات کلیدی Amavis


5.1 سطح اسپم (Spam Threshold)

$sa_tag_level_deflt  = -999;
$sa_tag2_level_deflt = 5.0;
$sa_kill_level_deflt = 10.0;

توضیح:

  • < 5 → پیام سالم
  • 5 تا 10 → اسپم (علامت‌گذاری)
  • >= 10 → رد (reject)

5.2 رفتار با ویروس‌ها

$virus_admin = '[email protected]';
$final_virus_destiny = D_REJECT;

5.3 اسکن ایمیل خروجی

$policy_bank{'MYNETS'} = {
  originating => 1,
  virus_checks => 1,
  spam_checks  => 1,
};

این بخش برای جلوگیری از اسپم outbound بسیار مهم است.


5.4 اتصال Amavis به ClamAV

@av_scanners = (
  ['ClamAV',
    \&ask_daemon,
    ["CONTSCAN {}\n", "/var/run/clamav/clamd.sock"],
    qr/FOUND$/,
    qr/^.*ERROR$/,
  ],
);

5.5 اتصال Amavis به SpamAssassin

به‌صورت داخلی استفاده می‌شود. تنظیمات پیشرفته در:

/etc/mail/spamassassin/

6. ارتباط Amavis با Postfix


سرویسپورت
Postfix → Amavis10024
Amavis → Postfix10025

تنظیم Postfix:

content_filter = smtp-amavis:[127.0.0.1]:10024

7. تست Amavis


تست کلیدها (DKIM/Key)

amavisd testkeys

تست ارتباط Postfix → Amavis

swaks --to [email protected]

8. لاگ‌ها و عیب‌یابی


مشاهده لاگ‌ها:

tail -f /var/log/maillog | grep amavis

پیام‌های مهم:

  • Passed CLEAN
  • Blocked INFECTED
  • Marked SPAM

9. نکات امنیتی مهم


  • ClamAV همیشه آپدیت باشد
  • Threshold اسپم را خیلی پایین نگذار
  • Outbound scan را غیرفعال نکن
  • Fail2Ban برای Amavis فعال باشد

10. خطاهای رایج


Amavis بالا نمی‌آید

  • ClamAV down است
  • مجوزهای socket اشتباه است

ایمیل‌ها در صف گیر می‌کنند

  • مشکل در queue Postfix
  • پورت 10024 بسته شده

نتیجه‌گیری


Amavis مغز امنیت ایمیل در iRedMail است. بدون آن، SpamAssassin و ClamAV عملاً بی‌اثر می‌شوند. این سرویس هم ورودی و هم خروجی را فیلتر می‌کند و نقش حیاتی در جلوگیری از اسپم و ویروس دارد. شناخت تنظیمات، لاگ‌ها و نحوهٔ ارتباط آن با Postfix برای مدیریت یک Mail Server امن و پایدار ضروری است.


Written & researched by Dr. Shahin Siami