Linux Malware Detect (MalDet hoặc LMD) cùng với ClamAV (Antivirus Engine) là bộ đôi công cụ rất hữu hiệu để quét các loại malware (virus, spyware và adware) khỏi VPS/Server. Trong bài viết này, mình sẽ hướng dẫn các bạn cách cài đặt trên CentOS 7/6.

Cai dat Linux Malware Detect

Cài đặt Linux Malware Detect trên CentOS 7/6

Chúng ta sẽ tiến hành cài đặt Linux Malware Detect từ website chính thức. Phiên bản mới nhất hiện nay là maldetect-1.6.3

wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
tar -xvf maldetect-current.tar.gz
cd maldetect-*
./install.sh

Sau khi cài đặt xong, LMD sẽ tạo một cronjob chạy hàng ngày.

Cấu hình Linux Malware Detect

Toàn bộ cấu hình của LMD được lưu trong file /usr/local/maldetect/conf.maldet. Chúng ta sẽ cần điều chỉnh một vài tham số như sau:

email_alert=1
email_addr=gacanepa@localhost
email_subj="Malware alerts for $HOSTNAME - $(date +%Y-%m-%d)"
quar_hits=1
quar_clean=1
clam_av=1
  1. email_alert=1 nếu bạn muốn nhận thông báo qua email
  2. email_subj=”Malware alerts for $HOSTNAME – $(date +%Y-%m-%d)” và email_addr=your@email.com
  3. quar_hits=1 sẽ chuyển malware sang khu vực cách ly và thông báo.
  4. quar_clean=1 xóa malware nếu phát hiện.
  5. clamav_scan=1 sử dụng thư viện ClamAV nếu có để quét malware.

Cài đặt ClamAV trên CentOS 7/6

Cài đặt ClamAV sẽ giúp cho Linux Malware Detect scan nhanh và hiệu quả hơn.

Đầu tiên cần tạo cài đặt repo Epel

yum install epel-release

Sau đó tiến hành cài đặt:

yum update && yum install clamav

Sử dụng Linux Malware Detect

Sau khi cài đặt hoàn tất, bạn đã có thể sử dụng LMD để quét malware được rồi. Để quét một thư mục, sử dụng lệnh sau:

maldet --scan-all /home/domain.com/public_html

Nếu bạn muốn chỉ quét một số loại file nhất định (ví dụ PHP) thì có thể sử dụng lệnh sau:

maldet --scan-all /home/domain.com/public_html/*.php

Để xem report bạn sử dụng lệnh maldet --report 14715-1421.3219 với SCANID tương ứng.

Update LMD bằng lệnh:

maldet -u

Để xóa toàn bộ file đã bị cách ly sử dụng lệnh rm -rf /usr/local/maldetect/quarantine/*

Chúc bạn thành công.

Comment của bạn

Lưu ý: tất cả comment đều được kiểm duyệt cẩn thận! Nếu có code bạn hãy up lên pastebin.com rồi để lại link trong comment.

61 Comments

  1. Binh Nguyen 87 comment

    Của mình setup xong nó báo như vậy là sao ta?
    maldet –scan-all /home/xxxxx.com/public_html/
    bash: maldet: command not found

    1. Việt Phương Moderator

      Bạn cài chưa thành công nên maldet không tồn tại. Bạn kiểm tra lại nhé

      1. Binh Nguyen 87 comment

        Mình thử cài lại 2,3 lần r đều thông báo thành công:
        ./install.sh
        Created symlink from /etc/systemd/system/multi-user.target.wants/maldet.service to /usr/lib/systemd/system/maldet.service.
        Linux Malware Detect v1.6.4
        (C) 2002-2019, R-fx Networks
        (C) 2019, Ryan MacDonald
        This program may be freely redistributed under the terms of the GNU GPL

        installation completed to /usr/local/maldetect
        config file: /usr/local/maldetect/conf.maldet
        exec file: /usr/local/maldetect/maldet
        exec link: /usr/local/sbin/maldet
        exec link: /usr/local/sbin/lmd
        cron.daily: /etc/cron.daily/maldet
        maldet(4381): {sigup} performing signature update check…
        maldet(4381): {sigup} local signature set is version 2019062030051
        maldet(4381): {sigup} new signature set 2019070130962 available
        maldet(4381): {sigup} downloading https://cdn.rfxn.com/downloads/maldet-sigpack.tgz
        maldet(4381): {sigup} downloading https://cdn.rfxn.com/downloads/maldet-cleanv2.tgz
        maldet(4381): {sigup} verified md5sum of maldet-sigpack.tgz
        maldet(4381): {sigup} unpacked and installed maldet-sigpack.tgz
        maldet(4381): {sigup} verified md5sum of maldet-clean.tgz
        maldet(4381): {sigup} unpacked and installed maldet-clean.tgz
        maldet(4381): {sigup} signature set update completed
        maldet(4381): {sigup} 15541 signatures (12729 MD5 | 2035 HEX | 777 YARA | 0 USER)

        1. Việt Phương Moderator

          Bạn thử lệnh này xem
          /usr/local/sbin/maldet --scan-all /thư_mục_của_bạn

          1. Binh Nguyen 87 comment

            lệnh này ok bạn, nhưng k hiểu sao lệnh “maldet –scan-all /home/xxxxx.com/public_html/” thì lại k được?

  2. Hoàng Nam 7 comment

    Ad ơi ad cho thể cho mình xin câu lệnh Crontab: “chạy tự động vào lúc 2h sáng để quét và xóa toàn bộ file đã bị cách ly” luôn dc ko ??? thanks ad

  3. Tinhtiennet 23 comment

    Ad cho hỏi clamav có tự động chạy ngầm như phần mềm diệt virus trên windows ko ad? Vd nó phát hiện gì lạ tự động diệt liền hay đợi mình cho nó scan nó mới diệt được?

  4. haodv 22 comment

    Bạn hướng dẫn bản update đi, giờ tải về bản linux malware detect v1.6.3, không có thông số clam_av=1 trong cấu hình

  5. Binh Nguyen 87 comment

    Sao mình up source lên VirusTotal quét thì thấy ok và dùng Malware để quét thì thấy k có j… nhưng k hỉu sao cách 2 3 ngày thì file wp-config bị đổi thông tin database và user mặc dù đã chmod nó 400 r ..k biết nó hack kiểu j đây

  6. Nam Dang 28 comment

    Sao mình quét nó không ra được virus nhỉ. Mặc dù kiểm tra trong code có mấy file bị dính.

    ———– SCAN SUMMARY ———–
    Known viruses: 6540127
    Engine version: 0.100.0
    Scanned directories: 679
    Scanned files: 6090
    Infected files: 0
    Data scanned: 230.96 MB
    Data read: 132.64 MB (ratio 1.74:1)
    Time: 384.518 sec (6 m 24 s)

    1. Việt Phương Moderator

      Trong source code của website thì bạn down về up lên virustotal quét nhé

  7. Thành 23 comment

    Hiện tại mình down về là bản 1.6.1 và file cấu hình khác vs bản 1.5 ad ơi 🙁

  8. NGUYEN VAN PHUC 2 comment

    VPS windowsever của mình bị dính sell có phần mềm nào quet khong, windownserver 2k8

    1. Việt Phương Moderator

      Windows OS thì bạn dùng các phần mềm diệt virut của Windows OS đó, mình thấy nhiều mà

    1. Việt Phương Moderator

      Bạn cài maldet chưa thành công nên không gọi được server khi chạy lệnh rồi. Bạn kiểm tra lại các bước xem sao

      1. hùng 2 comment

        bị lỗi giống trên. lúc trc có bạn chỉ cài ed j đó hay lam2 j mà quên mất tiu. có cách nào giúp mình với

        1. Việt Phương Moderator

          Lỗi giống trên thì như mình nói đó. Bạn cài maldet chưa thành công nên không gọi được services khi chạy lệnh rồi. Bạn kiểm tra lại các bước cài đặt

  9. Nguyễn Công 17 comment

    Sao em dùng lệnh rm -rf /usr/local/maldetect/quarantine/* thì không thấy j a nhỉ… Với có cách nào để cài auto chạy vào các giờ nào k a. Em cảm ơn anh đã hô trợ

  10. Mr Chuồi 2 comment

    bài hữu ích,
    cho mình hỏi, khi chạy lệnh quét xong tắt cửa sổ ssh thì nó có quét tiếp ko hay là nó dừng lại?

        1. Việt Phương Moderator

          Để xem report bạn sử dụng lệnh maldet --report 14715-1421.3219 với SCANID tương ứng.

  11. Trinh Tung 1 comment

    Mình muốn config để scan tự đông và đặt lịch scan thì phải làm như thế nào ban.

  12. Trong Tri 10 comment

    Thêm lệnh maldet -m /thư mục của bạn , thường thì /home,/var/www/vhosts

  13. trung do 5 comment

    Mình sử dụng gói hocvps và đã cài maldetect.
    Mỗi ngày mình đều scan dc vài file malware, mình nghĩ có thể vps lỗ hổng nào rồi nên các malware được tạo tự động như vậy, Nhờ a Luân tư vấn

    1. Luân Trần Admin

      Bạn cần kiểm tra lại code của bạn ấy, vì thường hacker khai thác thông qua lỗ hổng nào đó. Tuyệt đối không dùng plugin/theme không rõ nguồn gốc nhé.

      Còn VPS thì gần như không bao giờ có chuyện gì đâu.

  14. Canh 1 comment

    Mình đã cài và quét thử thì ok, nhưng nếu quar_clean=0 hoặc 1, chạy lệnh clean theo help của maldet thì báo lỗi, chỉ xóa bằng lệnh rm -rf được thôi.
    Nếu quar_clean=0 thì bị lỗi:
    maldet(5165): malware cleaning disabled – skipping /usr/local/maldetect/quarantine/.
    Nếu quar_clean=1 thì bị lỗi:
    file path error on /usr/local/maldetect/quarantine/., aborting.
    Bạn có thể giúp mình lỗi này được ko?

  15. vé máy bay 8 comment

    mình cài xong lúc quét thì nó báo lỗi này

    maldet(2124): {scan} signatures loaded: 10904 (8987 MD5 / 1917 HEX / 0 USER)
    maldet(2124): {scan} building file list for /home, this might take awhile…
    maldet(2124): {scan} setting nice scheduler priorities for all operations: cpunice 19 , ionice 6
    maldet(2124): {scan} file list completed in 0s, found 35582 files…
    maldet(2124): {scan} found clamav binary at /usr/bin/clamscan, using clamav scanner engine…
    maldet(2124): {scan} scan of /home (35582 files) in progress…
    maldet(2124): {scan} clamscan returned an error, check /usr/local/maldetect/logs/clamscan_log for more details!

    maldet(2124): {scan} scan completed on /home: files 35582, malware hits 0, cleaned hits 0, time 2s
    maldet(2124): {scan} scan report saved, to view run: maldet –report 160711-0912.2124

    1. Luân Trần Admin

      Bạn check log xem có thông tin gì không: /usr/local/maldetect/logs/clamscan_log

      1. vé máy bay 8 comment

        mình check thì nó báo vậy nè

        Jul 11 09:22:53 vultr clamscan start
        Jul 11 09:22:53 vultr executed: /bin/nice -n 19 /usr/bin/ionice -c2 -n 6 /usr/bin/clamscan –max-filesize=5M –max-scansize=5M -d /usr/local/maldetect/tmp/.runtime.user.2837.hdb -$
        LibClamAV Warning: **************************************************
        LibClamAV Warning: *** The virus database is older than 7 days! ***
        LibClamAV Warning: *** Please update it as soon as possible. ***
        LibClamAV Warning: **************************************************
        LibClamAV Error: Can’t load /var/lib/clamav/main.cvd: Can’t verify database integrity
        LibClamAV Error: cli_loaddbdir(): error loading database /var/lib/clamav/main.cvd
        ERROR: Can’t verify database integrity
        Jul 11 09:22:54 vultr clamscan end
        Jul 11 09:22:54 vultr clamscan end
        Jul 11 09:23:11 vultr clamscan start
        Jul 11 09:23:11 vultr executed: /bin/nice -n 19 /usr/bin/ionice -c2 -n 6 /usr/bin/clamscan –max-filesize=5M –max-scansize=5M -d /usr/local/maldetect/tmp/.runtime.user.3047.hdb -$
        LibClamAV Warning: **************************************************
        LibClamAV Warning: *** The virus database is older than 7 days! ***
        LibClamAV Warning: *** Please update it as soon as possible. ***
        LibClamAV Warning: **************************************************
        LibClamAV Error: Can’t load /var/lib/clamav/main.cvd: Can’t verify database integrity
        LibClamAV Error: cli_loaddbdir(): error loading database /var/lib/clamav/main.cvd
        ERROR: Can’t verify database integrity
        Jul 11 09:23:11 vultr clamscan end
        Jul 11 09:23:11 vultr clamscan end

          1. Thịnh Lê 8 comment

            bạn chạy lệnh freshclam để update main.cvd nhé. sau đó chạy lệnh maldet –scan-all /home/domain.com/public_html bình thường nhé. Không có hack gì đâu bạn

  16. Tenno 3 comment

    Mình muốn config để tự động scan theo thời gian cài đặt hoặc off đi thì làm thế nào Luân nhỉ?

  17. kieuqtoan 27 comment

    Có gì đó không ổn anh ạ
    Em có 12 cái web mà nó quét chỉ báo:

    TOTAL FILES: 435
    TOTAL HITS: 0
    TOTAL CLEANED: 0

    Trong có 32s

  18. perheart 2 comment

    Hi,
    Mình đã cài thành công tuy nhiên khi chạy thì bị báo lỗi
    “could not find required binary wget, aborting.”
    đã cài thêm wget tuy nhiên vẫn bị thế, ko biết lỗi do dâu 🙂
    Thank thím

  19. Chi Can Nguyen 8 comment

    Không biết mình cài đặt có sai chổ nào không nữa, quét thì 3k file mà ko phát hiện được gì trong khi mình mới up con shell r57.php lên .. 🙁 có config sai gì ko nhỉ

  20. The 2 comment

    Hi a Luân,
    Em cài maldetect mà nó bị thế này:

    [root@wellness-nyc1 home]# tar -xvf maldetect-current.tar.gz
    maldetect-1.5
    [root@wellness-nyc1 home]# cd maldetect-1.5
    -bash: cd: maldetect-1.5: No such file or directory

    Làm sao sửa anh?

  21. Phan Phieu 9 comment

    Bài viết rất hữu ích vì vps mình đang bị virus nhưng cài vẫn chưa được, mình thấy lỗi như sau:
    ————
    [root@vultr ~]# tar -xvf maldetect-current.tar.gz
    maldetect-1.5
    [root@vultr ~]# cd maldetect-1.5
    -bash: cd: maldetect-1.5: No such file or directory
    ————
    Khắc phục như thế nào hả bạn?
    Xin cám ơn!

      1. Phan Phiêu 9 comment

        Mình mkdir maldetect thì nó báo là file đã tồn tại, nhưng sao không cd được?
        ————-
        [root@vultr ~]# mkdir maldetect-1.5
        mkdir: cannot create directory `maldetect-1.5′: File exists
        [root@vultr ~]# cd maldetect-1.5
        -bash: cd: maldetect-1.5: No such file or directory
        [root@vultr ~]#
        ————-

  22. Hùng 15 comment

    Mình tìm thấy file php nó chứa script mã độc, nhưng dùng lệnh rm -rf /usr/local/maldetect/quarantine/* nó ko xoá được các file đó.

    Vậy cho mình hỏi mình xoá thủ công hay có cách nào tìm rồi thì tự động xoá nó luôn?

  23. maldetect-1.5 2 comment

    đến bước này mình khong cai duoc nưa
    tar -xvf maldetect-current.tar.gz
    maldetect-1.5
    cd: maldetect-1.4.2: No such file or directory
    hoăc
    cd maldetect-1.5: command not found

    Thanks you