CentOS7 ClamAVリアルタイムスキャン設定

前回「CentOS 7 ウィルススキャンの導入(ClamAV)」で、CentOS7にClamAVによるウィルススキャン環境を構築しました。

freshclamでウィルスデータも自動で更新され、スキャンができるようになっていますが、前回までの方法では必要に応じてウィルススキャンを実行する必要がありました。
これでは、ウィルスの侵入を検出するのが難しく危険は残ったままとなります。

今回は、追加で外部からファイルが書き込まれたときに自動的にスキャンする環境を構築します。

リアルタイムにウィルススキャンをしますので、前回の ClamAVのデーモン化している環境が構築済みとします。

リアルタイムスキャンするディレクトリの設計

システム全体をスキャンすると、サーバーの負荷も上がりますので、リアルタイムでウィルススキャンするディレクトリを設計します。

リアルタイムでウィルススキャンしたいディレクトリとしては、次のようなディレクトリが考えられます。

  • 電子メールのデータが保存されるディレクトリ
  • Webサーバーのデータが保存されるディレクトリ
  • 一時ファイル、作業用のディレクトリ
  • ssh/sftpするユーザーのホームディレクトリ

ClamAV デーモンの設定

ClamAVデーモンの設定ファイルに次のように設定を追加します。

/etc/clamd.d/scan.conf

ScanOnAccess yes
OnAccessIncludePath /path/to/online/scan/1
OnAccessIncludePath /path/to/online/scan/2

上述したディレクトリの設定例は、次のようになります。

ScanOnAccess yes
OnAccessIncludePath /var/spool/mail
OnAccessIncludePath /var/www/html
OnAccessIncludePath /home/username

設定が完了したら systemctl で clamd を再起動します。

systemctl restart clamd@scan

これで、指定したディレクトリに書き込みがあった場合には、自動的にウィルススキャンするようになります。
ウィルスを新しく検出するとログファイルに、次のような記録が残ります。

Tue Oct  8 11:05:10 2019 -> ScanOnAccess: /home/develop/eicar.com: Eicar-Test-Signature FOUND

リアルタイムスキャンの注意点

リアルタイムスキャンを設定すると clamav のログファイルに、ウィルスを検出したときに記録されますが、ウィルスに感染したファイルを自動では削除しません。

clamavのログファイルにウィルス検出のログが記録されたときには、電子メールで通知やSlackに連携して関係各所に通知などの仕組みを作っておく必要があります。