~2 min read • Updated Jan 27, 2026

1. ClamAV چیست؟


ClamAV یک آنتی‌ویروس Open‑Source مخصوص محیط‌های سروری است که برای اسکن ایمیل‌ها و فایل‌های پیوست طراحی شده است. ویژگی‌های اصلی آن:

  • اسکن attachment ایمیل‌ها
  • تشخیص ویروس، تروجان، بدافزار و فیشینگ
  • سبک و قابل اتوماسیون
  • مناسب برای Mail Serverها

ClamAV تصمیم‌گیر نیست؛ فقط اسکن می‌کند.


2. جایگاه ClamAV در معماری iRedMail


Internet
   ↓
Postfix
   ↓
Amavis
   ↓
ClamAV  ← (Virus Scan)
   ↓
SpamAssassin ← (Spam Score)
   ↓
Mailbox (Dovecot)

ClamAV فقط با Amavis ارتباط مستقیم دارد.


3. اجزای اصلی ClamAV


3.1 clamd

  • Daemon اصلی اسکن
  • پاسخ‌گوی درخواست‌های Amavis

3.2 freshclam

  • آپدیت signatureها
  • حیاتی برای امنیت

4. نحوه اتصال ClamAV به iRedMail


در iRedMail، Amavis از طریق Unix Socket به clamd وصل می‌شود.

مسیر رایج Socket:

/run/clamav/clamd.ctl

نمونه تنظیم در Amavis:

['ClamAV-clamd',
  '\&ask_daemon',
  ["CONTSCAN {}\n", "/run/clamav/clamd.ctl"],
  qr/\bOK$/m,
  qr/\bFOUND$/m,
  qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ],

5. مسیرهای مهم ClamAV


مسیرتوضیح
/etc/clamav/تنظیمات اصلی
clamd.confتنظیمات daemon
freshclam.confتنظیمات آپدیت
/var/lib/clamav/Signature Database
/run/clamav/Socket

6. تنظیمات مهم clamd.conf


6.1 فعال‌سازی Socket

LocalSocket /run/clamav/clamd.ctl
LocalSocketMode 666

6.2 Performance

MaxThreads 12
StreamMaxLength 50M

این مقادیر باید متناسب با RAM سرور تنظیم شوند.


7. آپدیت Signature (freshclam)


بررسی وضعیت:

systemctl status clamav-freshclam

آپدیت دستی:

freshclam

اگر Signature آپدیت نشود، ClamAV عملاً بی‌فایده است.


8. تست ClamAV


تست استاندارد EICAR:

این متن را در یک فایل قرار بده:

X5O!P%@AP[4\\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

ارسال از طریق ایمیل → باید Block شود و در لاگ "FOUND" ثبت شود.


9. لاگ‌ها و Debug


مسیر لاگ‌ها:

/var/log/maillog

جستجو:

grep -i clamav /var/log/maillog

10. رفتار ClamAV در iRedMail


وضعیتنتیجه
ویروس پیدا شودReject / Quarantine
clamd downFail‑open (پیش‌فرض)
Signature قدیمیریسک امنیتی بالا

Fail‑open بهتر است فعال بماند تا ایمیل‌های سالم قطع نشوند.


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


CPU بالا

  • MaxThreads زیاد
  • فایل‌های بزرگ

No such file socket

  • clamd اجرا نیست
  • Permission اشتباه

freshclam کار نمی‌کند

  • DNS مشکل دارد
  • Mirror بلاک است

12. Hardening و Best Practice


  • استفاده از Socket به‌جای TCP
  • تنظیم Resource Limit
  • مانیتور freshclam
  • Backup از config

نتیجه‌گیری


ClamAV خط دفاعی حیاتی در iRedMail است. این سرویس همیشه پشت Amavis کار می‌کند و بدون آپدیت مداوم Signatureها، عملاً بی‌اثر می‌شود. با تنظیم درست، ClamAV می‌تواند امنیت و کارایی سیستم ایمیل را تضمین کند.


Written & researched by Dr. Shahin Siami

راهنمای جامع ClamAV در iRedMail | Dr. Shahin Siami