~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 → Amavis | 10024 |
| Amavis → Postfix | 10025 |
تنظیم 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