anpanman
Published on

如何安裝和配置 ClamAV 進行病毒掃描

裝 clamscan 並設置到 cloudwatch

先確認 EC2 規格要 t3.medium 以上

1. 安裝 ClamAV

sudo apt update
sudo apt install clamav clamav-daemon -y
sudo systemctl status clamav-freshclam

這會安裝 ClamAV 和其自動更新模組。

2. 編寫掃描腳本

編寫掃描腳本 scan.sh 以進行病毒掃描並產生報告。此腳本將檢查整個系統並生成日誌。 若檔案建立在 ~ ,重開機有可能會被移到 root@ip-10-0-9-194:/home/ubuntu# clamscan.sh 內容: 第一版

#!/bin/bash

# 掃毒命令 (ClamAV 範例),並將結果保存到日誌中
/usr/bin/clamscan -r / --log=/var/log/clamav/clamscan.log

# 只保留日誌中的最後 13 行,這裡顯示最後 13 行
tail -n 13 /var/log/clamav/clamscan.log >> /var/log/clamav/clamscan-summary.log

# 記錄掃毒完成時間
echo "ClamAV 掃描完成於 $(date)" >> /var/log/clamav/clamscan-summary.log

# 退出腳本
exit 0

1. clamscan.sh 程式介紹

  • 功能:用於掃描 EC2 系統,並將掃描結果記錄到日誌中。
  • 儲存位置/usr/local/share/clamscan
  • 執行權限:已設置為 sudo chmod +x,並需要 root 權限進行手動執行。

程式內容

#!/bin/bash

# 執行 ClamAV 掃描命令,並將掃描結果保存在 clamscan.log
/usr/bin/clamscan -r / --log=/var/log/clamav/clamscan.log

# 只保留 clamscan.log 中的最後 13 行,並將其追加到 clamscan-summary.log 中
tail -n 13 /var/log/clamav/clamscan.log >> /var/log/clamav/clamscan-summary.log

# 退出腳本
exit 0

欲限制 cpu 可把指令改成cpulimit -l 20 -- /usr/bin/clamscan -r / --log=/var/log/clamav/clamscan.log


2. 日誌文件

  • clamscan.log:記錄掃描過程中的所有詳盡日誌。
  • clamscan-summary.log:記錄最終掃描報告(從 clamscan.log 中提取最後 13 行內容)。

位置:這些日誌檔案都儲存在 /var/log/clamav 目錄下。


3. 定時任務設定

  • 設定 cronjob:將此掃描腳本定時執行,執行者是 root。
  • 執行頻率:每小時執行一次。

設定檔案位置/etc/cron.d/clamscan-routine

設定內容

0 0 * * * root /usr/local/share/clamscan/clamscan.sh

重啟 cron job 才吃得到檔案:

sudo systemctl restart cron