Hướng dẫn cài đặt ClamAV trên Linux để quét virus/malware/trojan

4363

Bài viết được sự cho phép của tác giả Lê Chí Dũng

Khi Server bị nhiễm virus/trojan/malware bởi các thành phần như source website, mã nguồn chương trình lạ,… thì làm sao để phát hiện và xử lý chúng?

  10 điều bạn có thể làm với Linux mà bạn không thể làm với Windows
  5 lý do lập trình viên nên sử dụng hệ điều hành Linux

ClamAV là gì ?

ClamAV là một engine (core phần mềm) mã nguồn mở chuyên dụng để phát hiện trojans, virus, malware và các mối hiểm hoạ khác.

Trang chủ : https://www.clamav.net

Tất nhiên là đối với các chương trình AntiVirus thì chúng đều phụ thuộc vào cơ sở dữ liệu chứa những dấu hiệu nhận biết (signature/checksum) về virus,… ta không nên đặt niềm tin hoàn toàn vào chúng. Cũng vì phụ thuộc nhiều vào CSDL nên chúng ta cần thường xuyên cập nhật CSDL của các chương trình mang danh Anti-Virus.

ClamAV có thể kết hợp với nhiều dịch vụ khác và mình sẽ đề cập sau này. Ở bài này, chúng ta đơn giản chỉ cài đặt và sử dụng đơn giản chức năng của nó.

Vậy ta sẽ tiến hành cài đặt ClamAV trên Linux như CentOS hay Ubuntu.

1. Cài đặt ClamAV trên Linux

Có hai hình thức để cài đặt chương trình ClamAV trên Linux là :

  • Cài đặt từ Repository của OS
  • Biên dịch mã nguồn source ClamAV

1.1 Cài đặt ClamAV từ Repository CentOS hoặc Ubuntu

Bạn sẽ tiến hành cài đặt ClamAV thông qua chương trình ‘yum‘ trên CentOS/RHEL hoặc ‘apt-get‘ trên Debian/Ubuntu.

+ Centos/RHEL

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

+ Debian/Ubuntu

2. Khởi động dịch vụ ClamAV

Thông thường ClamAV chỉ dùng cho hoạt động quét bình thường. Nhưng khi kích hoạt cơ chế dịch vụ, ClamAV sẽ được load lên bộ nhớ RAM và các dịch vụ khác có thể truy cập port dịch vụ ClamAV để sử dụng tính năng quét virus cho nhanh.

Dịch vụ ClamAV (clamd hoặc clam-daemon), thường được sử dụng trong các hoạt động nâng cao như quét virus trong các email incomming. Vậy ta có cần khởi động dịch vụ này không?! Câu trả lời là không, nếu bạn không xài tính năng nâng cao kết hợp. Nhưng làm sao để khởi động dịch vụ này?

+ Init system (CentOS/RHEL 6 Ubuntu 14.04)

# /etc/init.d/clamd start
# chkconfig clamd on

+ Systemd system (CentOS/RHEL 7 Ubuntu 16.04

# systemctl start clamd
# systemctl enable clamd

3. Cập nhật các cơ sở dữ liệu mẫu Virus

Như đã trình bày ở đầu bài, thì bạn cần thường xuyên update CSDL chứa các mẫu nhận diện virus/malware thì ClamAV mới có thể quét phát hiện chúng.

Các file CSDL update sẽ được lưu tại:

4. Tiến hành sử dụng ClamAV Scan Virus

Clamscan’ là chương trình binary chính của ClamAV sử dụng để quét mã độc. Để coi các option sử dụng của ‘clamscan‘ bạn hãy dùng option ‘–help‘.

ClamAV có thể scan một hay nhiều file chỉ định hoặc scan cả một thư mục quy định.

Chú thích:

  • –infected hoặc -i: chỉ in output các file bị cho là nhiễm mã độc.
  • –recursive hoặc -r: scan cả các thư mục hay file phía trong thư mục cha.
  • –remove=[yes/no]: xoá luôn các file bị nghi nhiềm mã độc tìm thấy.
  • –no-summary: không in ra nội dung tổng kết.
  • –log=/file.log: ghi log scan vào file cụ thể.
  • –mv=/path: di chuyển tất cả file bị nghi là nhiễm mã độc đến thư mục khác.

5. Tải về một mẫu thử Virus

Đây là một mẫu thử chỉ chứa dấu hiệu (signature) phổ biến không tồn tại mã độc nào hết.

wget -O- http://www.eicar.org/download/eicar.com.txt | clamscan -
stdin: Eicar-Test-Signature FOUND
  • clamscan –: tức là bạn sẽ scan một stream lấy output trước đó làm input mẫu sẽ scan.

Các bạn có thể viết một shell script để tự động quét virus vào một thời điểm cụ thể nào đấy trong ngày bằng dịch vụ “cron” .

6. Cấu hình cronjobs ClamAV

Để thực hiện cấu hình cho hệ thống quét malware theo thời gian định kì cronjob thì ta làm như sau:

# crontab -e
0 0 * * * clamscan --recursive=yes --infected /home/

Với nội dung cấu hình cronjob trên thì cứ mỗi ngày vào lúc 00 giờ sáng, chương trình ClamAV sẽ tiến hành quét malware, trojan ở thư mục /home/

Bài viết gốc được đăng tải tại lcdung.top

Có thể bạn quan tâm:

Xem thêm Việc làm Developer hấp dẫn trên TopDev