ハマログ

株式会社イーツー・インフォの社員ブログ

AmazonLinux2でClamAVを動かす

はじめに
AmazonLinux2で動かしていたClamAVがエラーで動かなくなったので、調査しました。以前は独自でepelリポジトリから入れてたんだけど、amazon-linux-extrasコマンドでEPELを有効化できることがわかったので、こっちのやり方でやってみました。
導入~動かすまで
まず古いclamavは削除しました
yum remove clamd clamav-filesystem clamav-lib clamav-update
EPELを有効化
sudo amazon-linux-extras install epel
あらためて、ClamAVをインストールします
sudo yum install -y clamav clamav-update clamd
定義ファイルを更新してみます。エラーがでなければOK
freshclam
ClamAV update process started at Wed May 29 14:38:40 2019
main.cvd is up to date (version: 58, sigs: 4566249, f-level: 60, builder: sigmgr)
daily.cld is up to date (version: 25463, sigs: 1583021, f-level: 63, builder: raynman)
bytecode.cvd is up to date (version: 328, sigs: 94, f-level: 63, builder: neo)
設定ファイルを修正します
vi /etc/clamd.d/scan.conf

#Example
ExcludePath ^/proc/
ExcludePath ^/sys/
LogVerbose yes
ここで、clamscan, clamdscan, clamd@scanとか複数のコマンドがあることがわかって、ちょっと躓いた。以下の手順で進めました
デーモンではないスタンドアロン版の実行(clamscan)
以下のコマンドで実行。オプションはヘルプみながら適当に選んだ
clamscan -r -i / --exclude-dir=^/proc --exclude-dir=^/sys > /var/log/clamscan.log
結果
# cat /var/log/clamscan.log

----------- SCAN SUMMARY -----------
Known viruses: 6140217
Engine version: 0.101.2
Scanned directories: 8259
Scanned files: 63307
Infected files: 0
Data scanned: 3566.84 MB
Data read: 6079.06 MB (ratio 0.59:1)
Time: 377.097 sec (6 m 17 s)
OKぽい。ただ、スタンドアロン版は処理が重いとのことで、定期的に実行するならデーモン版のほうが良さそう
デーモンに処理をまかせる
clamdscanコマンドを実行するためには、clamdのサービスが起動した状態である必要があります。 状態確認
# systemctl list-unit-files --type=service | grep clam
clamd@.service                                static
clamd@scan.service                            disabled
clamd@scanを有効化します。
systemctl enable clamd@scan
スキャン実行
systemctl start clamd@scan
エラー
Job for clamd@scan.service failed because the control process exited with error code. See "systemctl status clamd@scan.service" and "journalctl -xe" for details.
原因確認
#journalctl -xe

-- Unit clamd@scan.service has begun starting up.
May 29 14:53:04 e2info-web01 clamd[10306]: Received 0 file descriptor(s) from systemd.
May 29 14:53:04 e2info-web01 clamd[10306]: Please define server type (local and/or TCP).
May 29 14:53:04 e2info-web01 clamd[10306]: ERROR: Please define server type (local and/or TCP).
May 29 14:53:04 e2info-web01 systemd[1]: clamd@scan.service: control process exited, code=exited status=1
May 29 14:53:04 e2info-web01 systemd[1]: Failed to start Generic clamav scanner daemon.
Please define server type (local and/or TCP).ってことなのでローカルに変更してみる
vi /etc/clamd.d/scan.conf

#LocalSocket /var/run/clamd.scan/clamd.sock
↓
LocalSocket /var/run/clamd.scan/clamd.sock
起動したっぽい
systemctl start clamd@scan
うごいた!
# clamdscan
/var/log: OK

----------- SCAN SUMMARY -----------
Infected files: 0
Time: 33.055 sec (0 m 33 s)
ついでに日時処理を自動化
vi /etc/cron.d/clamav-scan

0 2 * * * root /bin/clamdscan > /var/log/clamdscan.log
ClamAVClamdClamd@scancronウィルス

  kaneko tomo   2019年5月29日


関連記事

AWSのマルチアカウントでクレジットが共有されないように設定する

AWSで自社/他社含めて複数のアカウントを運用しており、ログインはAWS SSO…

AWSのELBのエンドポイントにネイキッドドメインを設定する方法

Aレコード。そう思っていた時期が私にもありました。 「ドメインの設定なんてAレコ…

クラウドの設定ミス対策ガイドブック

クラウドの設定 AWSやGCPをはじめとしたクラウドサービスを度々利用するがやは…


← 前の投稿

次の投稿 →