閉じる

Clam AntiVirus(アンチウイルスソフトの導入・設定)

[root@server1 ~]# dnf install -y epel-release ← EPELリポジトリをインストールします。


[root@server1 ~]# dnf -y install clamav clamav-server-systemd clamav-update clamav-scanner-systemd ← Clam AntiVirusをインストールします。

[root@server1 ~]# vi /etc/freshclam.conf ← ウイルス定義ファイルの更新設定ファイルを編集します。


NotifyClamd /etc/clamd.d/scan.conf ← 追加(ウイルス定義ファイルの更新をclamdに通知するようにします。)


[root@server1 ~]# freshclam ← ウイルス定義ファイルを最新化します。

[root@server1 ~]# vi /etc/clamd.d/scan.conf ← Clam AntiVirusの設定ファイルを編集します。
#User clamscan ← 行頭に#を追加してコメントアウトします。(root権限で動作するようにします。)
LocalSocket /run/clamd.scan/clamd.sock ← 行頭の#を削除してコメントを解除します。

[root@server1 ~]# systemctl start clamd@scan ← clamdを起動します。


[root@server1 ~]# systemctl enable clamd@scan ← clamdを自動起動するように設定します。

[root@server1 ~]# systemctl start clamav-freshclam ← clamav-freshclamを起動します。


[root@server1 ~]# systemctl enable clamav-freshclam ← clamav-freshclamを自動起動するように設定します。

[root@server1 ~]# vi /etc/cron.daily/clamdscan ← ウイルススキャンを毎日実行するスクリプトを作成します。

#!/bin/bash

# 設定ファイル
CONFIG=/etc/clamd.d/scan.conf

# スキャン実行
# ※ウイルス検知時は隔離ディレクトリへ隔離
CLAMSCANLOG=`mktemp`
QUARANTINEDIR=/tmp/clamdscan-quarantinedir-$(date +%Y%m%d)
mkdir -p ${QUARANTINEDIR}
clamdscan -c ${CONFIG} --move=${QUARANTINEDIR} / > ${CLAMSCANLOG} 2>&1

# ウイルス検知時のみroot宛にメール通知
if [ -z "$(grep FOUND$ ${CLAMSCANLOG})" ]; then
    rm -rf ${QUARANTINEDIR}
else
    grep -A 1 FOUND$ ${CLAMSCANLOG} | mail -s "Virus Found in `hostname` => ${QUARANTINEDIR}" root
fi

# スキャンログをシスログに出力
cat ${CLAMSCANLOG} | logger -t $(basename ${0})
rm -f ${CLAMSCANLOG}

[root@server1 ~]# chmod +x /etc/cron.daily/clamdscan ← ウイルススキャンを毎日実行するスクリプトへ実行権限を付加します。


[root@server1 ~]# echo ExcludePath ^/tmp/clamdscan-quarantinedir-.*/ >> /etc/clamd.d/scan.conf ← ウイルス隔離ディレクトリをスキャン対象外にします。


[root@server1 ~]# echo ExcludePath ^/proc/ >> /etc/clamd.d/scan.conf ← /procディレクトリをスキャン対象外にします。


[root@server1 ~]# echo ExcludePath ^/sys/ >> /etc/clamd.d/scan.conf ← /sysディレクトリをスキャン対象外にします。


[root@server1 ~]# systemctl restart clamd@scan ← clamdを再起動します。(スキャン除外の設定を反映させます。)


毎日定期的に全ファイルのウイルススキャンが行われ、ウイルスを検知した場合のみroot宛にメールが送られてくるようになります。

ウイルス検知後の対応としては、ウイルス検知メールが送られてきた場合、内容を確認してウイルスであると確認できた場合、ファイルを隔離先(ウイルス検知メール件名に記載しています。)から削除します。

© 2025 Linuxで自宅サーバー(ホームサーバー)-構築・設定方法- | WordPress テーマ: CrestaProject の Annina Free