Quét Virus, Trojan và Malware trên VPS Linux với ClamAV

Khi hệ thống Linux của bạn 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 bạn phát hiện ra chúng ? Thông thường chúng ta sẽ cài đặt ClamAV trên Linux (CentOS/Ubuntu) để hỗ trợ quét Virus, Trojan, Malware trên VPS/Server Linux giúp chúng ta.

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 thì đố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.

quét virus trên linux với clamav

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 clamd

+ Debian/Ubuntu

# apt-get install -y clamav clamav-daemon

1.2 Cài đặt ClamAV từ source

Bạn cũng có thể thử cài đặt mã nguồn ClamAV, biên dịch và build binary cho chương trình này từ bản source do nhà cung cấp phát hành. Bản source ClamAV vào thời điểm viết bài là “0.99.2” nhé.

Bạn có thể tham khảo link download source trực tiếp tại : http://www.clamav.net/downloads

Còn giờ thì ta tiến hành download source code ClamAV, biên dịch và build binary cho nó.

# cd /usr/local/src/
# wget http://www.clamav.net/downloads/production/clamav-0.99.2.tar.gz
# tar xvf clamav-0.99.2.tar.gz
# cd clamav-0.99.2
# ./configure --with-user=clamav --with-group=clamav
...
configure: Summary of detected features follows
OS : linux-gnu
pthreads : yes (-lpthread)
configure: Summary of miscellaneous features
check : no (auto)
fanotify : yes
fdpassing : 1
IPv6 : yes
configure: Summary of optional tools
clamdtop : -lncurses (auto)
milter : yes (disabled)
clamsubmit : yes
configure: Summary of engine performance features
release mode: yes
llvm : yes, from built-in (auto)
mempool : yes
configure: Summary of engine detection features
bzip2 : ok
zlib : /usr
unrar : yes
pcre : no (disabled)
libxml2 : yes, from /usr
yara : yes

# make
# make install

Kiểm tra phiên bản ClamAV sau khi cài đặt.

# clamscan --version
ClamAV 0.99.2

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ụ thì 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 ?! 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.

# freshclam

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

/var/lib/clamav/daily.cvd
/var/lib/clamav/main.cvd

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‘.

# clamscan --help
Clam AntiVirus Scanner 0.98.7
 By The ClamAV Team: http://www.clamav.net/about.html#credits
 (C) 2007-2009 Sourcefire, Inc.
--help -h Print this help screen
 --version -V Print version number
 --verbose -v Be verbose
 --archive-verbose -a Show filenames inside scanned archives
 --debug Enable libclamav's debug messages
 --quiet Only output error messages
 --stdout Write to stdout instead of stderr
 --no-summary Disable summary at end of scanning
 --infected -i Only print infected files
 --suppress-ok-results -o Skip printing OK files
 --bell Sound bell on virus detection
--tempdir=DIRECTORY Create temporary files in DIRECTORY
 --leave-temps[=yes/no(*)] Do not remove temporary files
 --database=FILE/DIR -d FILE/DIR Load virus database from FILE or load
 all supported db files from DIR
 --official-db-only[=yes/no(*)] Only load official signatures
 --log=FILE -l FILE Save scan report to FILE
 --recursive[=yes/no(*)] -r Scan subdirectories recursively
 --allmatch[=yes/no(*)] -z Continue scanning within file after finding a match
 ...
 ...
 ...

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

# clamscan eicar
# clamscan --recursive=yes --infected --exclude-dir='^/etc' /

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, thì chương trình ClamAV sẽ tiến hành quét malware, trojan ở thư mục /home/ .

Các tính năng khác của ClamAV các bạn có thể nghiên cứu thêm. Vậy là bạn đã biết cách cài đặt ClamAV trên Linux rồi phải không nào ? Thì giờ hãy thực hành sử dụng chương trình này để phát hiện bảo vệ hệ thống Linux của bạn nào. Còn nếu có thắc mắc gì đừng ngại comment trao đổi với ‘Cuongquach.com‘ nhé.

Quách Chí Cường

Previous articleFoxit Reader 7.1.5.425
Next articleKaspersky Virus Removal Tool 2015
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !