Monday, June 07, 2004

Installing CLAMAV + Milter to make Linux a virus-blocker

หลังจากเบื่อมานานกับปัญหาเรื่อง virus ที่มาทางเมล์วันละสามสี่ฉบับ ในที่สุดผมก็ทดลองใช้ Clamav ซะทีหลังจากที่อยากลองมานาน ในตอนแรกก็นึกว่าต้องลง Amavis แล้วให้ Clamav มันไปใช้ แต่ปรากฎว่าจริงๆแล้วมีคนเขียน Milter สำหรับ Clamav ไว้เรียบร้อยแล้ว ยิ่งไปกว่านั้น มีคนทำ RPM ไว้แล้ว ไม่ใช่ใครอื่น dag.wieers นั่นเอง (เมื่อวานทดลอง rsync list ของ package ที่ dag มากะจะทำ mirror ปรากฎว่าคำนวณขนาดแล้วเค้าเก็บ RPMs ไว้ 8TB!!! ไม่รู้จริงหรือเปล่าเนี่ยนี่เฉพาะ Fedora นะเลยต้องเลิกเลย) สำหรับขั้นตอนในการติดตั้งทั้งหมดก็คือ

1. Download rpm จาก dag.wieers.com วิธีง่ายที่สุดคือหา apt มาลง (ftp://osl.cpe.ku.ac.th/pub/freshrpms/apt/)แล้วเพิ่ม "rpm http://apt.sw.be fedora/1/en/i386 dag"(สำหรับ Fedora) ไปใน /etc/apt/sources.list แล้วค่อยสั่ง apt-get install clamav clamav-milter ทีเดียวเลย
2. เพิ่มคอนฟิกใน Sendmail ให้มาอ่าน Milter ของ Clamav โดยเพิ่มบรรทัดข้างล่างลงไปใน /etc/mail/sendmail.mc

INPUT_MAIL_FILTER(`clamav', `S=local:/var/clamav/clmilter.socket, F=, T=S:4m;R:4m')dnl


3. make -C /etc/mail เพื่อสร้าง sendmail.cf อันใหม่
4. chkconfig clamd clamav-milter
5. service clamd start
6. service clamav-milter start
7. service sendmail restart

ทีนี้ก็ลองส่งเมล์ไวรัสมาซักอัน ถ้าสำเร็จใน /var/log/clamav/clamd.log จะโผล่มาบอกว่าเจอไวรัส แต่จะไม่มีเมล์เตือนกลับมาหาคนรับเมล์นะครับ ถ้าอยากให้มียังงั้นต้องเอา --quiet ออกจาก /etc/sysconfig/clamav-milter แล้วจะมีเมล์ส่งมาให้คนส่งกับคนรับ ว่ามี E-mail ติดไวรัส แต่คนทำ RPM แนะว่าอย่าทำงั้นเลยเพราะส่วนใหญ่คนส่งเมล์ไวรัสมักจะ fake returned-mail มา