CentOS7へclamavインストール(epelリポジトリ使用)

インストール

改ざん検知の有名なソフトclamAVをインストールします。

yum -y install --enablerepo=epel clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd

デフォルトでこのまま使えるかと思うのでまずはウィルススキャンを手動で実行してみましょう。

テスト

ダミーのテスト用ウィルスファイルを準備します。Nortonとかが敏感に反応するのでPC上でやる場合はウィルス検知系のソフトをいったん切ります。

cd /root
wget http://www.eicar.org/download/eicar.com

www.eicar.orgからダミーのウィルスファイルをダウンロードします。
今回は時間がかかるとなになので/root/以下においておきましょう。
clamスキャンを実行します。

clamdscan /root
/root/eicar.com: Eicar-Test-Signature FOUND
----------- SCAN SUMMARY -----------
Infected files: 1
Time: 0.150 sec (0 m 0 s)

/root以下をスキャンすると/root/eicar.comがウィルスファイルであることと、「Infected files: 1」とあるのでウィルス検知したものが1件あったということを報告してくれます。
何も問題がなかった場合は、

/root: OK
----------- SCAN SUMMARY -----------
Infected files: 0
Time: 0.007 sec (0 m 0 s)

の結果を返してくれます。

詳細設定

設定ファイルを修正して細かい設定をしてゆきます。

cp -p /etc/clamd.d/scan.conf /etc/clamd.d/scan.conf.org
vi /etc/clamd.d/scan.conf

コメントアウトするところと有効するところを適当に。

#Example
LogFile /var/log/clamd.scan
LogFileMaxSize 2M
LogTime yes
LocalSocket /var/run/clamd.scan/clamd.sock
FixStaleSocket yes
# Ignore Directory
ExcludePath ^/proc/
ExcludePath ^/sys/
ExcludePath ^/tmp/
ExcludePath ^/var/log/
User root

ざっと説明すると[Example]という文字列があるとClamAVはスキャンをスキップしてしまうようなのでコメントアウトしておきます。そういうウィルスが今後あるとも限らない。
あとはログの設定。お好みで。
異常があった際にはソケット削除とか。
スキャン対象から外すパスを指定しておきます。
実行ユーザーはrootでよいです。cronとかrootの方が便利。
その他の部分はデフォルトでよいでしょう。

私の環境だけなのかどうかわかりませんが、

自動起動の設定

再起動時に自動的に立ち上がってくれるようにしておきます。

yum install clamd

一応場所確認。

which clamd
/usr/sbin/clamd

サービスの起動

systemctl start clamd@scan.service

自動起動の設定

systemctl enable clamd@scan.service

サーバーの再起動かけてちゃんと動いたらOK

エラーとデバック

ちょっとどのタイミングでこのエラーが発生したかわからないんですが、こういうエラー起きることあります。

ERROR: Could not lookup : Servname not supported for ai_socktype

clamdscan自体があるかどうか確認して、

which clamd
/usr/sbin/clamd

clamdが起動しているかどうか確認します。

ps aux | grep "clamd"
root      1637  0.0 25.6 713064 523632 ?       Ssl  12:27   0:00 /usr/sbin/clamd
root      1640  0.0  0.0 112664   976 pts/0    S+   12:28   0:00 grep --color=auto clamd

起動していなかったら、起動させます。(いろいろファイルを読み込んで初期化するので結構時間かかります。)

/usr/sbin/clamd

また実行ユーザーが通常のシステムユーザーの場合には、c

usermod --groups clamscan --append [実行ユーザー]

で実行ユーザーのグループに追加します。
これで「clamdscan /home」あたりを実行するとエラーでないはず。


CentOS7へclamavインストール(epelリポジトリ使用)
ClamAVのデーモン化

Last update: 2018.01.23 (火)