Filter e-mail bervirus dengan sendmail + clamav

  1. Pastikan sendmail terinstal mendukung MILTER.

    # sendmail -d0.1 < /dev/null | grep MILTER

    Kalau ketemu kata "MILTER" berarti lanjut...

  2. Instal ClamAV dari FreeBSD ports (untuk memperoleh versi Clamav terbaru sebaiknya update dulu koleksi ports dengan cvsup)

    # cd /usr/ports/security/clamav
    # make -D WITH_MILTER
    # make -D WITH_MILTER install

  3. Jika instalasi berhasil maka akan muncul files berikut ini:

    /usr/local/bin/clamscan
    /usr/local/bin/clamdscan
    /usr/local/bin/freshclam
    /usr/local/bin/sigtool
    /usr/local/sbin/clamav-milter
    /usr/local/sbin/clamd

  4. Edit file konfigurasi ClamAV yaitu /usr/local/etc/clamd.conf:

    LogFile /var/log/clamav/clamd.log
    LogFileMaxSize 10M
    PidFile /var/run/clamav/clamd.pid
    DatabaseDirectory /var/db/clamav
    LocalSocket /var/run/clamav/clamd

  5. Jalankan clamd daemon

    # /usr/local/etc/rc.d/clamav-clamd.sh start

    Jika berhasil, clamd akan membuat socket /var/run/clamav/clamd

  6. Jalankan clamav-milter daemon

    # /usr/local/etc/rc.d/clamav-milter.sh start

  7. Jalankan freshclam daemon

    # /usr/local/etc/rc.d/clamav-freshclam.sh start

  8. Konfigurasi clamav-milter di sendmail.cf

    Edit file sendmail macro configuration (mc) terutama pada baris berikut:

    INPUT_MAIL_FILTER(`clmilter',`S=local:/var/run/clamav/clmilter.sock, F=, T=S:4m;R:4m')
    Note: mc file biasanya adalah /etc/mail/hostname.mc (sesuaikan hostname dengan kondisi sebenarnya)
    Setelah mengedit file mc lakukan langkah berikut:
    # make
    # make install
    # make restart

    perintah "make" yang pertama akan mengcopy konfigurasi dari hostname.mc ke hostname.cf
    "make install" akan meng-install hostname.cf ke sendmail.cf
    "make restart" untuk me-restart sendmail daemon

  9. Instalasi ClamAV akan membuat 3 file start-up di /usr/local/etc/rc.d/ :

    /usr/local/etc/rc.d/clamav-clamd.sh
    /usr/local/etc/rc.d/clamav-freshclam.sh
    /usr/local/etc/rc.d/clamav-milter.sh

    Untuk menjalankan clamd, milter dan freshclam pada saat system boot edit /etc/rc.conf, dan tambahkan baris berikut:

    clamav_clamd_enable="YES"
    clamav_milter_enable="YES"
    clamav_milter_flags="-loeP -m20"
    clamav_milter_socket="/var/run/clamav/clmilter.sock"
    clamav_freshclam_enable="YES"
    clamav_freshclam_flags="-d -c 12"

  10. Jalankan freshclam via cron untuk melakukan proses update database virus secara periodik

    0 0 * * * /usr/local/bin/freshclam --quiet -l /var/log/clamav/freshclam.log --daemon-notify=/usr/local/etc/clamd.conf

    Pastikan /var/log/clamav/freshclam.log writable/bisa ditulisi oleh user clamav.

home