少し前(3月下旬頃)から/var/log/messagesファイルに
Your ClamAV installation is OUTDATED!
Local version: 0.94.2 Recommended version: 0.95
このようなログが残っていました。
どうやらClamAVのバージョン0.95がリリースされたという事で、yumでバージョンアップしようと試したところ、3月下旬当時は非公式リポジトリにも登録されておらずソースファイルからコンパイルしないとダメかなぁなんて思っていたのですが、昨日偶然ClamAV 0.95をyumでインストールしたっていうブログを発見したのでyasuも試してみることに。
またflashcast:フリーで働くITエンジニア集団のブログ: 自宅サーバー再構築 その6 CentOS 5.2 にアンチウィルスソフトを導入するでウィルス定義ファイルをアップデートする際に「clamd.confを検索してみたのですが、見つからなかったのでひとまずコメント化します」としていたのですが、どうやらclamd.confがないのはインストールが必要なモジュールがある事がわかりましたので、そちらも合わせてインストールしたいと思います。
※clamdパッケージ追加します。またclamav-develをインストールしているのはバージョン0.95でウィルススキャン時にrarファイルがサポートされていないというエラー対応の為にインストールしています。
非公式のリポジトリを一時的に有効にして、ClamAVをバージョンアップします
[centos@centos ~]$ su -
パスワード: rootユーザーのパスワード
非公式リポジトリを有効にします
[root@centos ~]# vi /etc/yum.repos.d/CentOS-Dag.repo
viエディタが起動するので設定ファイルを変更します
[dag]
name=CentOS-$releasever – Dag
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
0 から 1 に変更します
enabled=1
gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
内容を保存しviエディタを終了します
yumでClamAVをバージョンアップします
[root@centos ~]# yum check-update
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
* base: www.ftp.ne.jp
* updates: ftp.isu.edu.tw
* addons: www.ftp.ne.jp
* extras: www.ftp.ne.jp
dag | 1.1 kB 00:00
primary.xml.gz | 3.0 MB 00:00
dag 8460/8460
clamav.i386 0.95-1.el5.rf dag
clamav-db.i386 0.95-1.el5.rf dag
:
:
:
[root@centos ~]# yum -y install clamd clamav-db clamav clamav-devel
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
* base: www.ftp.ne.jp
* updates: ftp.isu.edu.tw
* addons: www.ftp.ne.jp
* extras: www.ftp.ne.jp
Setting up Install Process
Parsing package install arguments
–> Running transaction check
—> Package clamav-devel.i386 0:0.95-1.el5.rf set to be updated
—> Package clamav-db.i386 0:0.95-1.el5.rf set to be updated
—> Package clamav.i386 0:0.95-1.el5.rf set to be updated
—> Package clamd.i386 0:0.95-1.el5.rf set to be updated
–> Finished Dependency Resolution
Dependencies Resolved
==========================================================================================================================================================================
Package Arch Version Repository Size
==========================================================================================================================================================================
Installing:
clamav i386 0.95-1.el5.rf dag 2.7 M
clamav-db i386 0.95-1.el5.rf dag 20 M
clamav-devel i386 0.95-1.el5.rf dag 7.0 k
clamd i386 0.95-1.el5.rf dag 231 k
Transaction Summary
==========================================================================================================================================================================
Install 4 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 23 M
Downloading Packages:
(1/4): clamav-devel-0.95-1.el5.rf.i386.rpm | 7.0 kB 00:00
(2/4): clamd-0.95-1.el5.rf.i386.rpm | 231 kB 00:00
(3/4): clamav-0.95-1.el5.rf.i386.rpm | 2.7 MB 00:01
(4/4): clamav-db-0.95-1.el5.rf.i386.rpm | 20 MB 00:09
————————————————————————————————————————————————————————–
Total 2.0 MB/s | 23 MB 00:11
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : clamav-db [1/4]
Installing : clamav [2/4]
Installing : clamav-devel [3/4]
Installing : clamd [4/4]
Installed: clamav.i386 0:0.95-1.el5.rf clamav-db.i386 0:0.95-1.el5.rf clamav-devel.i386 0:0.95-1.el5.rf clamd.i386 0:0.95-1.el5.rf
Complete!
非公式リポジトリを無効にします
[root@centos ~]# vi /etc/yum.repos.d/CentOS-Dag.repo
viエディタが起動するので設定ファイルを変更します
[dag]
name=CentOS-$releasever – Dag
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
1 から 0 に変更します
enabled=0
gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
内容を保存しviエディタを終了します
Clam AntiVirus設定ファイルを変更します
[root@centos ~]# vi /etc/clamd.conf
viエディタが起動するのでファイルを変更します。
# Path to a local socket file the daemon will listen on.
# Default: disabled (must be specified by a user)
SELinuxの権限制御で/tmpディレクトリにclamdのソケットファイルを作成できないので、ソケットファイル作成ディレクトリを変更します
#LocalSocket /tmp/clamd.socket
LocalSocket /var/run/clamav/clamd.sock
# Run as another user (clamd must be started by root for this option to work)
# Default: don’t drop privileges
rootユーザでサービス起動する為にコメント化します
#User clamav
内容を保存しviエディタを終了します
Clam AntiVirusのウィルス定義ファイルのアップデートとサービスの起動を行います
[root@centos ~]# vi /etc/freshclam.conf
viエディタが起動するのでファイルを変更します。
# Send the RELOAD command to clamd.
# Default: no
以前コメントにしたclamd.confを参照している箇所のコメントを解除します
NotifyClamd /etc/clamd.conf
内容を保存しviエディタを終了します
ウィルス定義ファイルをアップデートします
[root@centos ~]# freshclam
ClamAV update process started at Tue Apr 7 20:17:35 2009
Downloading main.cvd [100%]
main.cvd updated (version: 50, sigs: 500667, f-level: 38, builder: sven)
Downloading daily.cvd [100%]
daily.cvd updated (version: 9210, sigs: 38620, f-level: 41, builder: guitar)
Database updated (539287 signatures) from db.jp.clamav.net (IP: 203.178.137.175)
WARNING: Clamd was NOT notified: Can’t connect to clamd through /var/run/clamav/clamd.sock
connect(): No such file or directory
ウィルススキャンのサービスを起動します
[root@centos ~]# /etc/rc.d/init.d/clamd start
Starting Clam AntiVirus Daemon: LibClamAV Error: cli_loaddb(): No supported database files found in /var/clamav
ERROR: Can’t open file or directory
[失敗]
あれ?
サービスが起動しません。
エラー原因を調査したところ、SELinuxを無効にすればエラーを回避できる事がわかりましたがyasuの環境はセキュリティを強化したい為にSELinuxが有効です。
SELinux – Wikipedia
SELinuxを有効にしたままウィルススキャンのサービスが起動できないか調べてみたらありました!
有村日記さんがSELinuxの権限を適切に付与してサービスを起動させていらっしゃいましたので試してみたいと思います。
[root@centos ~]# chcon -R system_u:object_r:clamd_var_lib_t /var/clamav
ウィルススキャンのサービスを起動します
[root@centos ~]# /etc/rc.d/init.d/clamd start
Starting Clam AntiVirus Daemon: [ OK ]
OS再起動時にClamdを自動起動するようにします
[root@centos ~]# chkconfig clamd on
[root@centos ~]# chkconfig –list clamd
clamd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ウィルススキャンを行います
[root@centos ~]# /root/clamav.sh
実行結果を確認します
[root@centos ~]# view /var/log/clamav.log
:
:
/usr/share/doc/clamav-0.95/test/clam-upx.exe: ClamAV-Test-File FOUND
/usr/share/doc/clamav-0.95/test/clam-upx.exe: Removed.
/usr/share/doc/clamav-0.95/test/clam-petite.exe: ClamAV-Test-File FOUND
/usr/share/doc/clamav-0.95/test/clam-petite.exe: Removed.
/usr/share/doc/clamav-0.95/test/clam.ea05.exe: ClamAV-Test-File FOUND
/usr/share/doc/clamav-0.95/test/clam.ea05.exe: Removed.
———– SCAN SUMMARY ———–
Known viruses: 538735
Engine version: 0.95
Scanned directories: 14781
Scanned files: 68850
駆除したファイル数が88と表示されていますが、これはClamAVインストール時に展開されたテスト用exeファイルなどが駆除されているだけなので問題ありません
Infected files: 88
Data scanned: 2489.09 MB
Data read: 6591.84 MB (ratio 0.38:1)
Time: 610.094 sec (10 m 10 s)
なおCentOSの場合、アンチウィルスソフト(ClamAV)は公式リポジトリでダウンロードできませんので、ClamAVのリリース情報や/var/log/messagesファイルの出力結果には気を配る必要がありそうです。
日次cron(/etc/cron.daily/)ウィルス定義ファイルアップデート処理のオプション修正
ClamAV0.95にバージョンアップしてから、明け方にこんなメールがきていました。
/etc/cron.daily/freshclam:
/usr/bin/freshclam: unrecognized option `–log-verbose’
ERROR: Unknown option passed
ERROR: Can’t parse command line options
ClamAVをインストールした時、日次cron(/etc/cron.daily/)にウィルス定義ファイルアップデート処理が自動で追加されていたようです。
※Clam AntiVirusウィルス定義ファイルアップデートとウィルススキャンを行うシェルをcronで自動実行しているので、日次cronに登録されているClam AntiVirusウィルス定義ファイルアップデート処理は必要ないのですがとりあえず修正してみることにします
[root@centos ~]# vi /etc/cron.daily/freshclam
viエディタが起動するのでファイルを変更します。
#!/bin/sh
### A simple update script for the clamav virus database.
### This could as well be replaced by a SysV script.
### fix log file if needed
LOG_FILE=”/var/log/clamav/freshclam.log”
if [ ! -f "$LOG_FILE" ]; then
touch “$LOG_FILE”
chmod 644 “$LOG_FILE”
chown clamav.clamav “$LOG_FILE”
fi
/usr/bin/freshclam \
–quiet \
–datadir=”/var/clamav” \
–log=”$LOG_FILE” \
–log-verbose から –verbose に変更します
–verbose \
–daemon-notify=”/etc/clamd.conf”
内容を保存しviエディタを終了します
翌日からはアラートメールは来なくなりました。
■ 参考サイト ■
Stalemate » Blog Archive » /usr/bin/freshclam: unrecognized option `–log-verbose’
SELinuxをEnforcingにした「Clam AntiVirus」の設定 – 有村日記
————————————————————————————————–
flashcast:フリーで働くITエンジニア集団のブログ: 自宅サーバー再構築 その18 CentOS 5.3 にNTPサーバーを導入して自動時間合わせ
flashcast:フリーで働くITエンジニア集団のブログ: 自宅サーバー再構築 その17 WordPressのセキュリティ対策
flashcast:フリーで働くITエンジニア集団のブログ: 自宅サーバー再構築 番外編その1 CentOS 5.3 のリリースと導入済みソフトウェアのアップデート
flashcast:フリーで働くITエンジニア集団のブログ: 自宅サーバー再構築 その16 CentOS 5.2 にWordPressを導入してブログサイトを構築する
flashcast:フリーで働くITエンジニア集団のブログ: 自宅サーバー再構築 その15 Apacheにサーバー証明書を導入する
flashcast:フリーで働くITエンジニア集団のブログ: 自宅サーバー再構築 その14 CentOS 5.2 にLAMP環境構築(MySQL編)
flashcast:フリーで働くITエンジニア集団のブログ: 自宅サーバー再構築 その13 CentOS 5.2 にLAMP環境構築(Apache、PHP編)
flashcast:フリーで働くITエンジニア集団のブログ: 自宅サーバー再構築 その12 CentOS 5.2 にDNSサーバーを導入して名前解決(確認編)
flashcast:フリーで働くITエンジニア集団のブログ: 自宅サーバー再構築 その11 CentOS 5.2 にDNSサーバーを導入して名前解決(設定編)
flashcast:フリーで働くITエンジニア集団のブログ: 自宅サーバー再構築 その10 CentOS 5.2 SSHサーバーを構築して外部からリモート接続&リモートファイル転送
flashcast:フリーで働くITエンジニア集団のブログ: 自宅サーバー再構築 その9 CentOS 5.2 にバッファオーバーフロー攻撃対策を行う
flashcast:フリーで働くITエンジニア集団のブログ: 自宅サーバー再構築 その8 CentOS 5.2 にrootkit検知ツールを導入する
flashcast:フリーで働くITエンジニア集団のブログ: 自宅サーバー再構築 その7 CentOS 5.2 にファイル改竄検知システムを導入する
flashcast:フリーで働くITエンジニア集団のブログ: 自宅サーバー再構築 その6 CentOS 5.2 にアンチウィルスソフトを導入する
flashcast:フリーで働くITエンジニア集団のブログ: 自宅サーバー再構築 その5 CentOS 5.2 ファイル転送準備
flashcast:フリーで働くITエンジニア集団のブログ: 自宅サーバー再構築 その4 CentOS 5.2 インストール後の初期設定
flashcast:フリーで働くITエンジニア集団のブログ: 自宅サーバー再構築 その3 インストールしたCentOS 5.2 にリモート接続準備
flashcast:フリーで働くITエンジニア集団のブログ: 自宅サーバー再構築 その2 CentOS 5.2 をインストールする
flashcast:フリーで働くITエンジニア集団のブログ: 自宅サーバー再構築 その1 導入を検討する






