SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

CentOS7でclamAVインストール

問題

アップロードされたファイルなどのウイルススキャンをしたいです。

答え

clamAVを使ってみます。

インストール

yum install clamav clamav-update clamav-scanner-systemd

依存関係で以下もついてきます。

clamav-filesystem
libtool-ltdl
pcre2
clamav-lib
clamd

設定

vim /etc/clamd.d/scan.conf

「Example」をコメントアウト

# Comment or remove the line below.
# Example ←コメントアウトする

ログの設定例(デフォルト値)

LogFile /var/log/clamd.scan
LogFileMaxSize 2M
LogRotate yes

ローカルソケットを使う設定にする

LocalSocket /var/run/clamd.scan/clamd.sock

ユーザーをコメントアウトするとrootで動作する

# User clamscan

スキャンしないディレクトリがあれば設定

ExcludePath ^/proc/
ExcludePath ^/sys/

常駐(デーモンとして動かす)

systemctl start clamd@scan #clamd起動
systemctl status clamd@scan #clamd稼働状況
systemctl enable clamd@scan #clamd自動起動設定
systemctl list-unit-files | grep clamd* #自動起動の確認

デーモンを利用しないでウイルススキャンをすると遅い。

# clamscan -i eicar_com.zip
eicar_com.zip: Eicar-Test-Signature FOUND

----------- SCAN SUMMARY -----------
Known viruses: 6519624
Engine version: 0.101.4
Scanned directories: 0
Scanned files: 1
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 81.986 sec (1 m 21 s)

常駐させておくとメモリなどは常に使用するがスキャンは速い。

# clamdscan eicar_com.zip
/root/f-secure/eicar_com.zip: Eicar-Test-Signature FOUND

----------- SCAN SUMMARY -----------
Infected files: 1
Time: 0.017 sec (0 m 0 s)

ウイルスを発見した時の動作

/etc/clamd.d/scan.conf に VirusEvent という設定項目があるのだが、セキュリティ面で問題がありおすすめでないという情報があり、また何か設定するとなぜかタイムアウトで起動しなくなる。

# systemctl start clamd@scan
Job for clamd@scan.service failed because a timeout was exceeded. See "systemctl status clamd@scan.service" and "journalctl -xe" for details.

定期的なウイルススキャン、発見時にメールするなどの処理は、自前でスクリプトを組むのがよさそう。

関連するメモ

コメント