Security/clamav
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#topicpath
/////////////////////////////////////////////////////////...
* ClamAV [#ybd9545e]
- アンチウイルスソフト
/////////////////////////////////////////////////////////...
* 目次 [#u3cbd3b6]
#contents();
/////////////////////////////////////////////////////////...
* 準備 [#if342208]
//=======================================================...
** インストール [#of00fd6f]
- 幾つか設定の仕方があるが、定期自動実行をしたい為、 daem...
# apt-get install clamav-daemon
//=======================================================...
** 設定 [#dec237f6]
- 素でとりあえず実行してみると、エラーになる:
# clamdscan --multiscan --verbose --move=/var/log/clama
action_setup: Failed to get realpath of /var/log/clama
ERROR: Could not connect to clamd on LocalSocket /var/ru...
----------- SCAN SUMMARY -----------
Infected files: 0
Total errors: 1
Time: 0.000 sec (0 m 0 s)
Start Date: 2021:12:26 09:04:45
End Date: 2021:12:26 09:04:45
-- これは apparmor というカーネル拡張機能が clamav の動作...
- apparmor の設定を変更する
// ++ /etc/apparmor.d/local/usr.sbin.clamd の編集
// /home/ r,
// -- 書式:
// /<clamavのアクセスを許可するパス>/ <パーミッション>,
// # パスの最後の "/" と、パーミッションの最後の "," は...
++ apparmor-utils をインストールする(デフォルトでは入っ...
# apt-get install apparmor-utils
++ clamav を root で実行出来るように設定変更する
# aa-complain clamd
--- これによって、以下のファイルが変更される:
/etc/apparmor.d/usr.sbin.clamd
++ apparmor の設定を反映させる為、apparmor と clamd を再...
# /etc/init.d/clamav-daemon stop
# /etc/init.d/apparmor restart
# /etc/init.d/clamav-daemon start
- root 権限で実行させる
++ /etc/clamav/clamd.conf
# User clamav
User root
--- この設定ファイルは、行の途中からコメントを書くことは...
++ 変更を反映させる為、daemon を再起動する
# /etc/init.d/clamav-daemon restart
# /etc/init.d/clamav-daemon status
- 自動実行させる
++ 自動実行用のスクリプトを用意する
--- /root/bin/clamav-run.sh
#!/bin/bash
PATH=/usr/bin:/bin
TITLE=""
TO="To: root\n"
SENDMAIL=/usr/sbin/sendmail
CLAMDSCAN=/usr/bin/clamdscan
#SENDMAIL=echo
# EXCLUDES=( /proc /sys /run /dev );
# OPT_EXCLUDES=( $(for e in "${EXCLUDES[@]}"; do echo "-...
# OPT_MULTI_THREAD=
OPT_MULTI_THREAD=--multiscan
VIRUS_MOVE_PATH=/var/log/clamav/virus
function err_print {
local msg="${@}";
printf "\x1b[31mclamav-run.sh: ${msg}\x1b[0m\n";
}
if [ ! -d ${VIRUS_MOVE_PATH} ]; then
mkdir -p ${VIRUS_MOVE_PATH};
fi
# update definition
# freshclam > /dev/null
# full scan (multi-thread)
# ${CLAMDSCAN} --multiscan --verbose --move=/var/log/cla...
# full scan (single-thread)
${CLAMDSCAN} ${OPT_MULTI_THREAD} --verbose --move=${VIRU...
STATUS=$?;
# report
case ${STATUS} in
0 )
err_print "virus not found"
TITLE="Subject: ClamAV scan OK"
;;
1 )
err_print "virus found (status = ${STATUS})"
TITLE="Subject: ClamAV scan NG"
;;
* )
err_print "error occured (status = ${STATUS})"
TITLE="Subject: ClamAV scan Error"
;;
esac
echo -e ${TO}${TITLE} | cat - /var/log/clamav/clamav.log...
unset err_print
++ cron に登録する
# crontab -e
-----------------------------------------------------
0 0 * * * /root/bin/clamav-run.sh
-----------------------------------------------------
//=======================================================...
** リアルタイムスキャンの設定 [#q287e4a4]
+ 稼働中のカーネルが FANOTIFY をサポートしていることを確...
-- 以下の2行が確認出来ればOK
CONFIG_FANOTIFY=y
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
-- 確認手順
+++ /boot/config-<VERSION> の <VERSION> 部分が何かを特定...
$ uname -a
Linux martinu 6.1.0-13-amd64 #1 SMP PREEMPT_DYNAMIC Debi...
+++ 稼働中のカーネルの config ファイルのファイル名を確認...
$ ls /boot/config-6.1.0-13-*
/boot/config-6.1.0-13-amd64
+++ config ファイルの設定内容から、関係箇所を grep (また...
$ rg FANOTIFY /boot/config-6.1.0-13-amd64
9380:CONFIG_FANOTIFY=y
9381:CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
//=======================================================...
** スキャン中の CPU使用率の調整 [#p72903c1]
- Debian12 では clamav のスキャン中に他の作業が出来ないレ...
+ /lib/systemd/system/clamav-daemon.service の変更
-- [Service] で CPU の使用率を CPUQuota=50% にする。
[Unit]
Description=Clam AntiVirus userspace daemon
Documentation=man:clamd(8) man:clamd.conf(5) https://doc...
Requires=clamav-daemon.socket
# Check for database existence
ConditionPathExistsGlob=/var/lib/clamav/main.{c[vl]d,inc}
ConditionPathExistsGlob=/var/lib/clamav/daily.{c[vl]d,inc}
[Service]
ExecStart=/usr/sbin/clamd --foreground=true
# Reload the database
ExecReload=/bin/kill -USR2 $MAINPID
TimeoutStartSec=420
CPUQuota=50%
[Install]
WantedBy=multi-user.target
Also=clamav-daemon.socket
+ 設定の再読込をさせる
$ sudo systemctl daemon-reload
$ sudo systemctl reload-or-restart clamav-daemon
+ 動作確認
-- フルスキャンを実行し、 top などで CPU 使用率が指定した...
/////////////////////////////////////////////////////////...
* 手動スキャン [#c927f10b]
- 手動スキャンには、 (1) clamscan を使う方法と、(2) clama...
- (1) はオーバーヘッドが大きく非常に時間がかかるので、(2)...
//=======================================================...
** clamdscan による手動スキャン [#e2fe3173]
- コマンド書式
$ clamdscan --fdpass --infected <path-to-scan-target>
- コマンドラインオプション
|~option |~description ...
|--fdpass |clamd デーモンの実行ユーザー(clam...
|--infected |ウイルスであった場合のみ標準出力...
|--config-file=<path> |<path> を clamd デーモンにアクセ...
|--move=<path> |<path> を検出したウイルスファイル...
|--log=<path> |<path> をログファイルの場所に指定...
|<path-to-scan-target> |スキャン対象のパス ...
/////////////////////////////////////////////////////////...
* 参考リンク [#links]
- [[ClamAVによる定期ウイルススキャンの設定>https://inaba-...
- [[Debian 9.3でchkrootkitとClamAVでウイルス対策 (Linux自...
- [[Debian 9.3 ClamAV高負荷問題の対処3 (Linux自作PC)>http...
- [[如是我聞 - a blog about life and tech>https://blog.no...
終了行:
#topicpath
/////////////////////////////////////////////////////////...
* ClamAV [#ybd9545e]
- アンチウイルスソフト
/////////////////////////////////////////////////////////...
* 目次 [#u3cbd3b6]
#contents();
/////////////////////////////////////////////////////////...
* 準備 [#if342208]
//=======================================================...
** インストール [#of00fd6f]
- 幾つか設定の仕方があるが、定期自動実行をしたい為、 daem...
# apt-get install clamav-daemon
//=======================================================...
** 設定 [#dec237f6]
- 素でとりあえず実行してみると、エラーになる:
# clamdscan --multiscan --verbose --move=/var/log/clama
action_setup: Failed to get realpath of /var/log/clama
ERROR: Could not connect to clamd on LocalSocket /var/ru...
----------- SCAN SUMMARY -----------
Infected files: 0
Total errors: 1
Time: 0.000 sec (0 m 0 s)
Start Date: 2021:12:26 09:04:45
End Date: 2021:12:26 09:04:45
-- これは apparmor というカーネル拡張機能が clamav の動作...
- apparmor の設定を変更する
// ++ /etc/apparmor.d/local/usr.sbin.clamd の編集
// /home/ r,
// -- 書式:
// /<clamavのアクセスを許可するパス>/ <パーミッション>,
// # パスの最後の "/" と、パーミッションの最後の "," は...
++ apparmor-utils をインストールする(デフォルトでは入っ...
# apt-get install apparmor-utils
++ clamav を root で実行出来るように設定変更する
# aa-complain clamd
--- これによって、以下のファイルが変更される:
/etc/apparmor.d/usr.sbin.clamd
++ apparmor の設定を反映させる為、apparmor と clamd を再...
# /etc/init.d/clamav-daemon stop
# /etc/init.d/apparmor restart
# /etc/init.d/clamav-daemon start
- root 権限で実行させる
++ /etc/clamav/clamd.conf
# User clamav
User root
--- この設定ファイルは、行の途中からコメントを書くことは...
++ 変更を反映させる為、daemon を再起動する
# /etc/init.d/clamav-daemon restart
# /etc/init.d/clamav-daemon status
- 自動実行させる
++ 自動実行用のスクリプトを用意する
--- /root/bin/clamav-run.sh
#!/bin/bash
PATH=/usr/bin:/bin
TITLE=""
TO="To: root\n"
SENDMAIL=/usr/sbin/sendmail
CLAMDSCAN=/usr/bin/clamdscan
#SENDMAIL=echo
# EXCLUDES=( /proc /sys /run /dev );
# OPT_EXCLUDES=( $(for e in "${EXCLUDES[@]}"; do echo "-...
# OPT_MULTI_THREAD=
OPT_MULTI_THREAD=--multiscan
VIRUS_MOVE_PATH=/var/log/clamav/virus
function err_print {
local msg="${@}";
printf "\x1b[31mclamav-run.sh: ${msg}\x1b[0m\n";
}
if [ ! -d ${VIRUS_MOVE_PATH} ]; then
mkdir -p ${VIRUS_MOVE_PATH};
fi
# update definition
# freshclam > /dev/null
# full scan (multi-thread)
# ${CLAMDSCAN} --multiscan --verbose --move=/var/log/cla...
# full scan (single-thread)
${CLAMDSCAN} ${OPT_MULTI_THREAD} --verbose --move=${VIRU...
STATUS=$?;
# report
case ${STATUS} in
0 )
err_print "virus not found"
TITLE="Subject: ClamAV scan OK"
;;
1 )
err_print "virus found (status = ${STATUS})"
TITLE="Subject: ClamAV scan NG"
;;
* )
err_print "error occured (status = ${STATUS})"
TITLE="Subject: ClamAV scan Error"
;;
esac
echo -e ${TO}${TITLE} | cat - /var/log/clamav/clamav.log...
unset err_print
++ cron に登録する
# crontab -e
-----------------------------------------------------
0 0 * * * /root/bin/clamav-run.sh
-----------------------------------------------------
//=======================================================...
** リアルタイムスキャンの設定 [#q287e4a4]
+ 稼働中のカーネルが FANOTIFY をサポートしていることを確...
-- 以下の2行が確認出来ればOK
CONFIG_FANOTIFY=y
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
-- 確認手順
+++ /boot/config-<VERSION> の <VERSION> 部分が何かを特定...
$ uname -a
Linux martinu 6.1.0-13-amd64 #1 SMP PREEMPT_DYNAMIC Debi...
+++ 稼働中のカーネルの config ファイルのファイル名を確認...
$ ls /boot/config-6.1.0-13-*
/boot/config-6.1.0-13-amd64
+++ config ファイルの設定内容から、関係箇所を grep (また...
$ rg FANOTIFY /boot/config-6.1.0-13-amd64
9380:CONFIG_FANOTIFY=y
9381:CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
//=======================================================...
** スキャン中の CPU使用率の調整 [#p72903c1]
- Debian12 では clamav のスキャン中に他の作業が出来ないレ...
+ /lib/systemd/system/clamav-daemon.service の変更
-- [Service] で CPU の使用率を CPUQuota=50% にする。
[Unit]
Description=Clam AntiVirus userspace daemon
Documentation=man:clamd(8) man:clamd.conf(5) https://doc...
Requires=clamav-daemon.socket
# Check for database existence
ConditionPathExistsGlob=/var/lib/clamav/main.{c[vl]d,inc}
ConditionPathExistsGlob=/var/lib/clamav/daily.{c[vl]d,inc}
[Service]
ExecStart=/usr/sbin/clamd --foreground=true
# Reload the database
ExecReload=/bin/kill -USR2 $MAINPID
TimeoutStartSec=420
CPUQuota=50%
[Install]
WantedBy=multi-user.target
Also=clamav-daemon.socket
+ 設定の再読込をさせる
$ sudo systemctl daemon-reload
$ sudo systemctl reload-or-restart clamav-daemon
+ 動作確認
-- フルスキャンを実行し、 top などで CPU 使用率が指定した...
/////////////////////////////////////////////////////////...
* 手動スキャン [#c927f10b]
- 手動スキャンには、 (1) clamscan を使う方法と、(2) clama...
- (1) はオーバーヘッドが大きく非常に時間がかかるので、(2)...
//=======================================================...
** clamdscan による手動スキャン [#e2fe3173]
- コマンド書式
$ clamdscan --fdpass --infected <path-to-scan-target>
- コマンドラインオプション
|~option |~description ...
|--fdpass |clamd デーモンの実行ユーザー(clam...
|--infected |ウイルスであった場合のみ標準出力...
|--config-file=<path> |<path> を clamd デーモンにアクセ...
|--move=<path> |<path> を検出したウイルスファイル...
|--log=<path> |<path> をログファイルの場所に指定...
|<path-to-scan-target> |スキャン対象のパス ...
/////////////////////////////////////////////////////////...
* 参考リンク [#links]
- [[ClamAVによる定期ウイルススキャンの設定>https://inaba-...
- [[Debian 9.3でchkrootkitとClamAVでウイルス対策 (Linux自...
- [[Debian 9.3 ClamAV高負荷問題の対処3 (Linux自作PC)>http...
- [[如是我聞 - a blog about life and tech>https://blog.no...
ページ名: