ClamAV – Phần mềm diệt virus miễn phí cho Linux

Tác giả: 15/12/2022

ClamAV là 1 phầm mềm diệt virus mã nguồn mở. Nó thường được sử dụng để phát hiện virus, malware, và các phần mềm độc hại khác trên những máy tính chạy nền tảng Linux.

Trong những năm gần đây, mã độc (hay thường được gọi là virus) đã trở thành 1 mối đe dọa đáng quan ngại. Chúng phát triển với 1 tốc độ chóng mặt cả về số lượng và cách thức lây nhiễm, bởi vậy mà những phần mềm diệt virus cũng phải chạy theo để có thể phát hiện được hết các loại virus.

Với việc không có gì chắc chắn rằng hệ thống của bạn sẽ không lọt vào tầm nhắm của virus, thì 1 sự cảnh giác khi hoạt động trong môi trường Internet, 1 chính sách bảo mật tốt và 1 phần mềm diệt virus up-to-date là những thứ thực sự rất quan trọng.

Trong bài viết này, Nhân Hòa sẽ giới thiệu đến các bạn cách cài đặt và sử dụng ClamAV – 1 phần mềm diệt virus miễn phí hàng đầu hiện nay.

1. Cài đặt ClamAV

Để cài đặt ClamAV trên CentOS 7, chúng ta cần kích hoạt repository của EPEL:

yum install epel-release

Sau đó, chúng ta tiến hành cài đặt ClamAV và các công cụ hữu ích của nó:

yum -y install clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd

Dưới đây là danh sách rpm clamav hiện có trong môi trường CentOS 7 mà mình đang sử dụng:

clamav_packages.png

2. Thực hiện cập nhật thủ công cơ sở dữ liệu với freshclam

Để cập nhật cơ sở dữ liệu lần đầu tiên, chúng ta sử dụng lệnh “freshclam”. Như này là cơ sở dữ liệu đã được cập nhật bản mới nhất:

clamav_freshclam.png

3. Thiết lập cập nhật tự động CSDL freshclam

Tùy theo bản phát hành khác nhau, phương pháp thiết lập auto-update của freshclam cũng thay đổi.

3.1: Trên Ubuntu với /etc/clamav/freshclam.conf

Trong tệp cấu hình freshclam.conf của Ubuntu sẽ có 1 đoạn code như sau:

# Check for new database 24 times a day 
Checks 24
DatabaseMirror db.local.clamav.net
DatabaseMirror database.clamav.net

=> Điều này có nghĩa là, đối với Ubuntu, ClamAV sẽ kiểm tra làm mới CSDL mỗi giờ 1 lần.

3.2: Trên CentOS 7 với cronjob

Với package clamav-update-0.103.7-1.el7.x86_64. Ta có thể tìm thấy 1 cronjob làm nhiệm vụ cập nhật CSDL freshclam nằm tại /etc/cron.d/clamav-update:

clamav_cron.png

Ký hiệu “*/3” ở cột thứ 2 thể hiện rằng ClamAV sẽ kiểm tra cập nhật mỗi 3 giờ.

Ta cũng có thể tùy chỉnh thời gian này theo ý muốn, tuy nhiên cần phải thay đổi cấu hình ở cả tệp /etc/sysconfig/freshclam

Ví dụ, nếu bạn muốn CentOS kiểm tra update ClamAV mỗi giờ, vậy hãy sửa “*/3″ thành ” * “. Sau đó vào chỉnh sửa file /etc/sysconfig/freshclam, bạn sẽ thấy 1 dòng như sau:

clamav_mod.png

Bỏ dấu “#” ở đầu dòng đi và thêm vào số phút mà bạn muốn giữa mỗi lần kiểm tra cập nhật. Ở ví dụ này, để freshclam update mỗi 1 giờ, ta thêm vào số 60

FRESHCLAM_MOD=60

Ở trong hình ảnh trên cũng có một cấu hình khác là FRESHCLAM_DELAY, để tắt cập nhật tự động ta sửa thành:

FRESHCLAM_DELAY=disabled

4. Thiết lập /etc/clamd.d/scan.conf

Tệp tin cấu hình của ClamAV được đặt mặc định ở /etc/clamd.d/scan.conf. Cũng là mặc định, user được Linux sử dụng để thực hiện quá trình scan là clamscan, user này được tạo ngay sau khi ta cài đặt clamav

Thế nhưng, để đảm bảo ClamAV có thể quét được toàn bộ mọi thứ trong máy chủ, hãy chuyển user chịu trách nhiệm scan thành root. Tìm đến dòng sau:

clamav_clamscan.png

Và sửa thành:

clamav_rootscan.png

Các tùy chọn còn lại, ta cứ để chúng ở mặc định.

5. Thiết lập và khởi động clamd.service

Khi cài đặt ClamAV, ta sẽ có sẵn 1 tệp tin cấu hình ví dụ của clamd.service, và để clamd hoạt động thì ta phải copy nó vào thư mục dịch vụ hệ thống:

cp -ap /usr/lib/systemd/system/clamd@.service /etc/systemd/system/clamd.service

Tiếp theo, chúng ta tiến hành sửa những vị trí sau trong file clamd.service:

clamav_clamdex.png

Thay thế %i thành scan.conf:

clamav_clamd.png

Bây giờ, chúng ta chỉ cần khởi động clamd.service:

systemctl enable clamd.service --now

Kiểm tra trạng thái hoạt động của clamd:

clamav_status.png

6. Tiến hành quét virus với clamscan

Sử dụng lệnh sau để quét virus đường dẫn hiện tại:

clamscan --infected --remove --recursive ./

Trong đó:

  • infected: chỉ in ra những tệp tin dính mã độc
  • remove: loại bỏ tệp tin dính mã độc (không khuyến khích vì nếu mã độc bị chen vào giữa tệp tin bình thường thì tệp đó cũng sẽ bị loại bỏ luôn)
  • recursive: quét toàn bộ những đường dẫn con nằm trong đường dẫn hiện tại

 

7. Tổng kết

Trong bài viết này, Nhân Hòa đã giới thiệu với các bạn về ClamAV, do là 1 phần mềm mã nguồn mở nên cơ sở dữ liệu của ClamAV được đóng góp bởi toàn bộ cộng đồng và nó vẫn tiếp tục tăng lên theo thời gian.

Cuối cùng, Nhân Hòa mong là bài viết này thực sự hữu ích với các bạn. Hãy để lại cảm nghĩ hay yêu cầu về chủ đề các bạn muốn  Nhân Hòa viết ở dưới phần bình luận.

Chúc các bạn một ngày tốt lành!

 

Trả lời