Nếu bất cứ ai muốn lây nhiễm nghiêm trọng vào máy tính của bạn bằng cách gửi tệp đính kèm bị nhiễm thì trình quét vi-rút sẽ giúp bạn, có thể từ 2 nơi: mailserver và máy tính nhận mail. Các trình quét virus dựa trên các mẫu phần mềm độc hại đã biết và (nếu bạn may mắn) một thuật toán heuristic hoạt động đang cố gắng phát hiện hành vi bất thường. Người ta đã chứng minh hết lần này đến lần khác rằng một loại virus tùy chỉnh – thậm chí là một biến thể được thay đổi một chút của một loại virus nổi tiếng – dễ dàng bị phát hiện bởi trình quét virus của bạn. Chúng ta cài trình quét virus trên mailserver như một lớp bảo vệ đầu tiên, cho dù máy tính nhận mail có thể có trình quét virus mạnh hơn.
ClamAV là một trình quét virus có tiếng về hiệu quả nhận dạng phần mềm độc hại, nhưng nó chậm và chiếm dụng bộ nhớ. Hệ thống mailserver chưa cài đặt ClamAV chỉ sử dụng khoảng 250MB RAM, trong khi cài đặt rồi thì chiếm dụng hơn 1GB RAM. Vậy với những máy ram 1GB thì nên dừng ở đây!
Cài đặt ClamAV
apt-get update && apt-get install -y clamav-base clamav-freshclam clamav clamav-daemon
Trong hướng dẫn của tác giả thì có thể cài luôn clamav-unofficial-sigs qua apt, nhưng có lỗi không update được signs nên phải dùng cách khác rườm rà hơn:
apt-get purge -y clamav-unofficial-sigs
mkdir -p /usr/local/sbin/
wget https://raw.githubusercontent.com/extremeshok/clamav-unofficial-sigs/master/clamav-unofficial-sigs.sh -O /usr/local/sbin/clamav-unofficial-sigs.sh && chmod 755 /usr/local/sbin/clamav-unofficial-sigs.sh
mkdir -p /etc/clamav-unofficial-sigs/
wget https://raw.githubusercontent.com/extremeshok/clamav-unofficial-sigs/master/config/master.conf -O /etc/clamav-unofficial-sigs/master.conf
wget https://raw.githubusercontent.com/extremeshok/clamav-unofficial-sigs/master/config/user.conf -O /etc/clamav-unofficial-sigs/user.conf
os_conf="os.debian.conf"
wget "https://raw.githubusercontent.com/extremeshok/clamav-unofficial-sigs/master/config/os/${os_conf}" -O /etc/clamav-unofficial-sigs/os.conf
## Nếu không lỗi thì tiếp tục ##
## Có thể phải chờ lâu để clamav tìm server ##
/usr/local/sbin/clamav-unofficial-sigs.sh --force
/usr/local/sbin/clamav-unofficial-sigs.sh --install-logrotate
/usr/local/sbin/clamav-unofficial-sigs.sh --install-man
/usr/local/sbin/clamav-unofficial-sigs.sh --install-cron
Sau nhiều lần kết nối server để cập nhật thất bại, cuối cũng sẽ kết nối được với một server
Dạy rspamd dùng ClamAV
cat > /etc/rspamd/override.d/antivirus.conf <<EOF
clamav {
symbol = "CLAM_VIRUS";
type = "clamav";
action = "reject";
servers = "/var/run/clamav/clamd.ctl";
}
EOF
systemctl restart rspamd
Test
Tải về mẫu virus và gởi kèm theo email cho user thuộc domain của mình:
wget https://secure.eicar.org/eicar.com
swaks --to john@example.org --attach - --server localhost < eicar.com
Mail sẽ bị chặn lại và xuất hiện dòng cảnh báo virus
...
<** 554 5.7.1 clamav: virus found: \"{HEX}EICAR.TEST.UNOFFICIAL\"
-> QUIT
<- 221 2.0.0 Bye
=== Connection closed with remote host.