Linuxでもウイスルが増えてきているため念の為ClamAVを導入した際の備忘録。
インストール
sudo apt install clamav clamav-daemon
サービス起動
clamavデーモンを起動
clamavデーモンは、clamdscanコマンドからの指示を受信してマルチスレッドでウイルススキャンをするサービス。
$ sudo systemctl start clamav-daemon.service
$ sudo systemctl status clamav-daemon.service
clamavアップデータを起動
これが起動していると、自動的にウイルス定義ファイルを更新してくれる。
$ sudo systemctl start clamav-freshclam.service
$ sudo systemctl status clamav-freshclam.service
定期的にウイルススキャンを行う設定
clamav自体には定期的にウイルススキャンを行うような機能は備わっていない。そのためcronなどを使い、定期的なウイルススキャンができるようにする。
ウイルススキャン実行結果保存用ディレクトリを作成
mkdir -p $HOME/.clamtk/virus
mkdir -p $HOME/.clamtk/history
スクリプトファイル作成
#!/bin/bash
/usr/bin/clamscan \
--exclude-dir=/path/to/exlude/directories \
--exclude-dir=/path/to/exlude/directories \
-r $HOME \
--move=$HOME/.clamtk/virus \
--log="$HOME/.clamtk/history/$(date +\%Y\%m\%d-\%H\%M\%S).log" \
2>/dev/null
if [ $? = 0 ]; then
echo "ウイルス未検出"
else
echo "ウイルス検出!!"
fi
#!/bin/bash
find $HOME -type d | xargs clamdscan \
--infected \
--multiscan \
--fdpass \
--move="$HOME/.clamtk/virus" \
--log="$HOME/.clamtk/history/$(date +\%Y\%m\%d-\%H\%M\%S).log"
crontabでウイルススキャンの定期実行を設定
上記2つのスクリプトは基本的にどちらでもいいのですが、ウイルススキャンの際の除外フォルダを設定できる「scan.sh」の方を今回は採用しました。
$ crontab -e
# 0・6・12・18時00分にスキャンを行う設定
0 0,6,12,18 * * * bash /ウイルススキャンスクリプトを置いたフォルダ/scan.sh
因みに「rapidscan.sh」の方はスキャン速度が高速で、私の環境では6倍ほどスキャンが早くなりました。
コメント