ClamAntiVirusのソースインスコの説明。ClamAVは、有志の方々でサポートして運営しているFreeのAntiVirusパッケージである。ワクチンの対応状況も有償のウィルススキャナに負けないくらい頻度が高い。元々FreeBSDでは、
Portsで提供されているようだが、やっぱLinuxとか他のUnixのためにソースでインスコ出来ないとなぁ〜(ーー;)みたいな考えを前提にしこしこやってみた。やったのは良いけど、まともな情報が英文の同サイトの情報が一番詳しいのでサイト情報を頼りに行った(英語が苦手の俺には、ちと敷居が高かったけどね(;-_-;))。
ClamAV仕込みOS : LL5 Linux SecureEdition6.9(RedHat6.2Base)
Debian GNU Linux Sarge3.1 番外編
ClamAVのメール配送の仕組みを以下に示す。

1.ClamAntiVirusのインスコ
1)ソースのゲットと展開

ここ( http://www.clamav.net/
)からゲットしてくる。執筆時点(2004年10月)では、clamav-0.80.tar.gzが最新だった。
したがって、このバージョンで話を進める。
# cd /usr/local/src
# tar zxvf clamav-0.80.tar.gz
# chown -R root.root clamav-0.80
2)clamavユーザ作成
# groupadd clamav
# useradd -g clamav -s /bin/false clamav
3)コンパイルとリンク
# ./configure
# make
# make install
4)pid & socketとlogディレクトリを作成する
# mkdir /var/run/clamav
# chown clamav.clamav /var/run/clamav
# mkdir /var/log/clamav
# chown clamav.clamav /var/log/clamav
5)confファイルを編集する
◆ clamad.confを編集する
# vi /usr/local/etc/clamd.conf
#Example ←コメントする
LogFile /var/log/clamav/clamd.log
PidFile /var/run/clamav/clamd.pid
LocalSocket /var/run/clamav/clamd.sock
これだけでOK!
◆ freshclam.confを編集する
# vi /usr/local/etc/freshclam.conf
#Example ←コメントする
UpdateLogFile /var/log/clamav/freshclam.log
PidFile /var/run/clamav/freshclam.pid
これだけでOK!
6)起動する
# /usr/local/sbin/clamd
10898 ? S 0:00 /usr/local/sbin/clamd
こんな感じでプロセスが走ってれば良い。
注: /var/log/clamav/clamd.logをチェックして起動時のエラーが無いか確認する。
7)ウィルス定義自動更新
# freshclam
ClamAV update process started at Sun
Oct 24 21:27:39 2004
main.cvd is up to date (version: 27, sigs: 23982, f-level: 2,
builder: tomek)
daily.cvd is up to date (version: 548, sigs: 1549, f-level: 3,
builder: ccordes)
これでアップデートされた状態である。
◆ cronでの更新
実際の定期的な更新はcronでやるなら、まずアップデートログを作成する。
# touch /var/log/clamav/update.log
# chmod 644 /var/log/clamav/update.log
# chown clamav /var/log/clamav/update.log
/etc/crontab などに登録する。
30* * * * clamav /usr/local/bin/freshclam
--quiet -l /var/log/clamav/update.log
◆ デーモンでの更新
デーモンで定期的に更新するならば、
# freshclam -d -c 5
これは、デーモンで一日に5回更新する。
8)実際にスキャンしてみる
/tmpディレクトリをウィルススキャンする。
# clamscan -r /tmp
/tmp/.s.PGSQL.5432.lock: OK
/tmp/popcheck.sh: OK
/tmp/sudo: OK
/tmp/index.html: OK
/tmp/school.log: OK
/tmp/named: OK
/tmp/sendfax: OK
/tmp/vm: OK
/tmp/mars-nwe.log: OK
/tmp/hbedv.key: OK
/tmp/YourlicensekeyAntiVir.txt: OK
/tmp/mod_jk-eapi.so: OK
/tmp/mod_jk-noeapi.so: OK
/tmp/squid: OK
/tmp/.pid_antivir_551: OK
/tmp/eicar.com.txt: Eicar-Test-Signature
FOUND ←テストウィルスを入れておいたらちゃんと引っかかった。
/tmp/main.cf: OK
/tmp/procmailrc: OK
----------- SCAN SUMMARY -----------
Known viruses: 25531
Scanned directories: 1
Scanned files: 18
Infected files: 1 ←
感染してるファイルが一個有ることを意味する。
Data scanned: 0.64 MB
I/O buffer size: 131072 bytes
Time: 5.028 sec (0 m 5 s)
9)その他
モジュールのアップデート時期について。どうも、Clamavは使える期限が有るらしい。以下のlogをチェックしてワーニングが出ていたら、モジュールをアップデートしよう。
# more /var/log/clamav/freshclam.log
--------------------------------------
Received signal 14, wake up
ClamAV update process started at Thu Sep 22 15:01:18 2005
SECURITY WARNING: NO SUPPORT FOR DIGITAL SIGNATURES
See the FAQ at http://www.clamav.net/faq.html for an explanation.
WARNING: Your ClamAV installation is OUTDATED - please update
immediately!
WARNING: Local version: 0.80 Recommended version: 0.87
main.cvd is up to date (version: 34, sigs: 39625, f-level: 5,
builder: tkojm)
WARNING: Your ClamAV installation is OUTDATED - please update
immediately!
WARNING: Current functionality level = 3, required = 5
daily.cvd is up to date (version: 1097, sigs: 718, f-level: 6,
builder: ccordes)
WARNING: Your ClamAV installation is OUTDATED - please update
immediately!
WARNING: Current functionality level = 3, required = 6
アップデート後の freshclam.log
--------------------------------------
Received signal 15, terminating
--------------------------------------
freshclam daemon 0.87 (OS: linux-gnu, ARCH: i386, CPU: i686)
ClamAV update process started at Thu Sep 22 19:15:21 2005
SECURITY WARNING: NO SUPPORT FOR DIGITAL SIGNATURES
See the FAQ at http://www.clamav.net/faq.html for an explanation.
main.cvd is up to date (version: 34, sigs: 39625, f-level: 5,
builder: tkojm)
daily.cvd is up to date (version: 1097, sigs: 718, f-level: 6,
builder: ccordes)
--------------------------------------
2.Amavis-Newのインスコ
1)Amavisユーザ作成
# groupadd vscan
# useradd -g vscan -d /var/amavis -s /bin/false vscan
念のため、お互いに協調しあうため互いのグループへ互いのユーザを追加。
# gpasswd -a vscan clamav
# gpasswd -a clamav vscan
2)ソースのゲット
ソースの在処は、 ここ
で執筆時点(2004年10月)の最新は amavisd-new-2.2.0-rc1.tar.gz であった。
3)ソースの展開と必要ディレクトリ作成とファイルのコピー
amavisは基本的にperlスクリプトなのでコンパイル入らない。
その代わり、コピーの手作業が有る。
# cd /usr/local/src
# tar zxvf amavisd-new-2.2.0-rc1.tar.gz
# chown -R root.root amavisd-new-2.2.0
# cd amavisd-new-2.2.0
# cp amavisd /usr/sbin
# cp amavisd.conf /usr/local/etc ←多分、デフォルトは/usr/local/etcに格納することになってると思う。/etcにする場合は、/usr/sbin/amavisdの中身のパスを書き換えなければならない。
# mkdir /var/amavis
# chown vscan.vscan /var/amavis ←ここにpidファイルも入る。
# mkdir /var/virusmails
# chown vscan.vscan /var/virusmails
# mkdir /var/log/amavis
# chown vscan.vscan /var/log/amavis
# mkdir /var/amavis/tmp
# chown vscan.vscan /var/amavis/tmp
# mkdir /var/amavis/db
# chown vscan.vscan /var/amavis/db
4)confファイルの編集
# vi /usr/local/etc/amavisd.conf
省略
@bypass_spam_checks_maps = (1); # uncomment to DISABLE
anti-spam code(俺の場合は、amavisでanti
spamは使わないのでDISABLEにする)
$max_servers = 2; #
number of pre-forked children (2..15 is common)
$daemon_user = 'vscan'; # (no default; customary:
vscan or amavis)
$daemon_group = 'vscan'; # (no default; customary:
vscan or amavis)
$mydomain = 'xxxxxxxx.com'; #
a convenient default for other settings(ドメイン名)
$MYHOME = '/var/amavis'; #
a convenient default for other settings(amavisdホーム)
$TEMPBASE = "$MYHOME/tmp"; # working directory,
needs to be created manually(ワークスペース)
$ENV{TMPDIR} = $TEMPBASE; # environment variable TMPDIR
$QUARANTINEDIR = '/var/virusmails';
$db_home = "$MYHOME/db";
$pid_file = "$MYHOME/amavisd.pid";
$lock_file = "$MYHOME/amavisd.lock";
@local_domains_maps = ( [".$mydomain"]
);
$log_level = 0; #
verbosity 0..5
$log_recip_templ = undef; # disable by-recipient
level-0 log entries
$DO_SYSLOG = 1; # log via syslogd (preferred)(syslogでlog収集)
$SYSLOG_LEVEL = 'mail.info'; #(mail.infoレベル)
$enable_db = 1; #
enable use of BerkeleyDB/libdb (SNMP and nanny)
$enable_global_cache = 1; # enable use of libdb-based
cache if $enable_db=1
$inet_socket_port = 10024; #
listen on this local TCP port(s) (see $protocol)
$unix_socketname = "$MYHOME/amavisd.sock"; #
when using sendmail milter
省略
$forward_method = 'smtp:[127.0.0.1]:10025'; #
set to undef with milter!
$notify_method = '$forward_method';
$hdr_encoding = "iso-2022-jp";
$bdy_encoding = "iso-2022-jp";
省略
['ClamAV-clamd',
\&ask_daemon, ["CONTSCAN {}\n",
"/var/run/clamav/clamd.sock"],
#(赤色の部分のsockファイルのパスを設定しないと、エラーを出すので注意)
qr/\bOK$/, qr/\bFOUND$/,
qr/^.*?: (?!Infected Archive)(.*) FOUND$/
], #(primary
scanner setting)
省略
# vi /usr/sbin/amavisd
省略
my($config_file) = '/usr/local/etc/amavisd.conf';
# default location of config file
省略
注:amavisd.conf中でlogは、syslogを利用した方が良い。個別のamavis.logで行うとログローテーションの時にamavisはどうもpidへシグナルを与えると落ちるみたいである。原因は多分チャイルドプロセスに有ると思う。
これだけ確認して、編集するところは編集して無ければ追加記入する。
5)ポートの追加
# vi /etc/services
省略
amavisd 10024/tcp
smtp-amavis 10025/tcp
省略
6)amavisのデバッグ
root@hiro:/# amavisd debug
省略
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]:
Module Amavis::Conf 2.033
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Module Archive::Tar
1.29
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Module Archive::Zip
1.16
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Module BerkeleyDB
0.27
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Module Compress::Zlib
1.41
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Module Convert::TNEF
0.17
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Module Convert::UUlib
1.06
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Module MIME::Entity
5.419
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Module MIME::Parser
5.419
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Module MIME::Tools
5.419
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Module Mail::Header
1.74
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Module Mail::Internet
1.74
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Module Net::Cmd 2.26
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Module Net::SMTP
2.29
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Module Net::Server
0.90
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Module Time::HiRes
1.66
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Module Unix::Syslog
0.99
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Amavis::DB code loaded
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Amavis::Cache code
loaded
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Lookup::SQL code
NOT loaded
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Lookup::LDAP code
NOT loaded
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: AMCL-in protocol
code loaded
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: SMTP-in protocol
code loaded
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: ANTI-VIRUS code loaded
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: ANTI-SPAM code NOT
loaded
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Unpackers code loaded
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Found $file at /usr/bin/file
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No $arc, not using
it
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Found $gzip at /usr/bin/gzip
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Found $bzip2 at /usr/bin/bzip2
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No $lzop, not using
it
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Found $lha at /usr/bin/lha
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Found $unarj at /usr/bin/unarj
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Found $uncompress
at /usr/bin/uncompress
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No $unfreeze, not
using it
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No $unrar, not using
it
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Found $zoo at /usr/bin/zoo
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Found $cpio at /bin/cpio
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Found $ar at /usr/bin/ar
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Found $rpm2cpio at
/usr/bin/rpm2cpio
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No $cabextract, not
using it
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No $dspam, not using
it
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Using internal av
scanner code for (primary)
ClamAV-clamd
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No primary av scanner:
KasperskyLab AVP - av
eclient
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No primary av scanner:
KasperskyLab AntiVira
l Toolkit Pro (AVP)
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No primary av scanner:
KasperskyLab AVPDaemo
nClient
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No primary av scanner:
H+BEDV AntiVir or Cen
tralCommand Vexira Antivirus
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No primary av scanner:
Command AntiVirus for
Linux
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No primary av scanner:
Symantec CarrierScan
via Symantec CommandLineScanner
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No primary av scanner:
Symantec AntiVirus Sc
an Engine
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No primary av scanner:
F-Secure Antivirus
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No primary av scanner:
CAI InoculateIT
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No primary av scanner:
CAI eTrust Antivirus
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No primary av scanner:
MkS_Vir for Linux (be
ta)
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No primary av scanner:
MkS_Vir daemon
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No primary av scanner:
ESET Software NOD32
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No primary av scanner:
ESET Software NOD32 -
Client/Server Version
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No primary av scanner:
Norman Virus Control
v5 / Linux
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No primary av scanner:
Panda Antivirus for L
inux
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No primary av scanner:
NAI McAfee AntiVirus
(uvscan)
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No primary av scanner:
VirusBuster
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No primary av scanner:
CyberSoft VFind
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No primary av scanner:
Ikarus AntiVirus for
Linux
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No primary av scanner:
BitDefender
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Found secondary av
scanner ClamAV-clamscan a
t /usr/local/bin/clamscan
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No secondary av scanner:
FRISK F-Prot Antivi
rus
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No secondary av scanner:
Trend Micro FileSca
nner
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No secondary av scanner:
drweb - DrWeb Antiv
irus
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: No secondary av scanner:
KasperskyLab kavsca
nner
Mar 4 19:37:46 hiro /usr/sbin/amavisd[1827]: Creating db in /var/amavis/db/;
BerkeleyDB 0
.27, libdb 3.3
Mar 4 19:37:47 hiro /usr/sbin/amavisd[1827]: Net::Server: Beginning
prefork (2 processes)
Mar 4 19:37:47 hiro /usr/sbin/amavisd[1827]: Net::Server: Starting
"2" children
Mar 4 19:37:47 hiro /usr/sbin/amavisd[1828]: Net::Server: Child
Preforked (1828)
Mar 4 19:37:47 hiro /usr/sbin/amavisd[1828]: TIMING [total 14
ms] - bdb-open: 14 (100%),
rundown: 0 (0%)
Mar 4 19:37:47 hiro /usr/sbin/amavisd[1829]: Net::Server: Child
Preforked (1829)
Mar 4 19:37:47 hiro /usr/sbin/amavisd[1827]: Net::Server: Parent
ready for children.
Mar 4 19:37:47 hiro /usr/sbin/amavisd[1829]: TIMING [total 17
ms] - bdb-open: 17 (100%), rundown: 0 (0%)
ここで止まれば成功。
エラーが出た場合は、エラーが消えるまでデバッグする。
このときperlのプラグインモジュールが無いぞ!と怒られたら、以下のようにCPANする。
必要なPerlモジュールは、
IO::Wrap
IO::Stringy
Unix::Syslog
Mail::Field
Mail::Address
Mail::Header
Mail::Internet
MIME::Words
MIME::Head
MIME::Body
MIME::Entity
MIME::Parser
Net::Server
Net::Server::PreForkSimple
MIME::Decoder::Base64
MIME::Decoder::Binary
MIME::Decoder::Gzip64
MIME::Decoder::NBit
MIME::Decoder::QuotedPrint
MIME::Decoder::UU
BerkeleyDB
Convert::TNEF
Convert::UUlib
Compress::Zlib
Archive::Tar
Archive::Zip
たぶんこれだけのはず。
# perl -MCPAN -e shell
エラーのモジュールは以下のコマンドでさがす。
cpan> m /モジュール名/
で以下のコマンドで必要モジュールをインスコする。
cpan> install 大元のモジュール名
7)amavisの起動
# /usr/sbin/amavisd
11313 ? S 0:05 amavisd (master)
11364 ? S 0:00 amavisd (virgin child)
11373 ? S 0:00 amavisd (virgin child)
あたしバージンなの(ーー;)。
プロセスは、こんな感じになっていればOK!
8)alert aliasesの追加
# vi /etc/aliases
省略
virusalert: root
spamalert: root
省略
# newaliases
9)postfixへの設定
◆ main.cfへの設定
# cd /usr/local/etc/postfix
# vi main.cf
省略
content_filter = smtp-amavis:[127.0.0.1]:10024
◆ master.cfへの設定
# vi master.cf
省略
smtp-amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o disable_dns_lookups=yes
127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
注 :-o の前のスペースには必ずTABを入れること。
10)起動スクリプトを仕込む
# vi /etc/rc.d/rc.local
省略
# ClamAntiVir Start
if [ -x /usr/local/sbin/clamd ]; then
/usr/local/sbin/clamd
fi
# Amavis Start
if [ -x /usr/sbin/amavisd ]; then
/usr/sbin/amavisd
fi
# ClamAntiVirus Freshclam Start
if [ -x /usr/local/bin/freshclam]; then
/usr/local/bin/freshclam -d -c 5
fi
11)ログのローテーション
clam関係のログの切り分けを設定しておく。
# cd /etc/logrotate.d
# vi clam-amavis
/var/log/clamav/clamd.log {
missingok
postrotate
/bin/kill -HUP `/bin/cat /var/run/clamav/clamd.pid`
endscript
}
/var/log/clamav/freshclam.log
{
missingok
postrotate
endscript
}
12)amavisdが効いてるかどうか確認してみる
◆ テストウィルスを使う
http://www.eicar.org/anti_virus_test_file.htm
ここで、使っても感染しないテストウィルスを使ってテストしてみる。4パターン置いてある。
◆ ヘッダー情報
X-Virus-Scanned: by amavisd-new at hogehoge.net
X-UIDL: H"A!!j-c"!Jog!!9LV!!
例えば、送受信ヘッダー情報がこんな風になっている。
◆ ウィルスメールが来たときは
/var/virusmailsディレクトリに、
bash-2.05b# ls -al /var/virusmails
total 6
drwxr-x--- 2 vscan vscan 512 Oct 24 13:47 .
drwxr-xr-x 26 root wheel 512 Oct 23 17:04 ..
-rw-r----- 1 vscan vscan 1462 Oct 24 13:47 virus-20041024-134707-00526-05
こんな具合に分別される。内容は、
bash-2.05b# more virus-20041024-134707-00526-05
Return-Path:
Delivered-To: virus-quarantine
X-Envelope-To:
X-Envelope-From:
X-Quarantine-id:
Received: from michi.morashita.com (sub2.morashita.com [222.xxx.xxx.180])
by ns.hogehoge.net (Postfix) with ESMTP id ABC2EB2DD1
for ; Sun, 24 Oct 2004 13:47:01 +0900 (JST)
Received: from localhost (localhost [127.0.0.1])
by michi.morashita.com (Postfix) with ESMTP id 424F311BCEC
for ; Sun, 24 Oct 2004 13:47:00 +0900 (JST)
Received: from michi.morashita.com (localhost [127.0.0.1])
by localhost (AvMailGate-2.0.1.16) id 10769-29276431;
Sun, 24 Oct 2004 13:46:59 +0900
Received: from [192.168.0.105] (comp.morashita.com [192.168.0.105])
by michi.morashita.com (Postfix) with SMTP id 1218B11BCEC
for ; Sun, 24 Oct 2004 13:46:59 +0900 (JST)
Date: Sun, 24 Oct 2004 13:46:59 +0900
From: =?ISO-2022-JP?B?GyRCOS1MbkY7QTEbKEI=?=
To: hoge@hogehoge.net
Subject: virus
Message-Id: <20041024134611.A24C.UNKO@morashita.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-2022-JP"
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver. 2.11.02 [ja]
X-AntiVirus: checked by AntiVir MailGate (version: 2.0.1.16; AVE:
6.28.0.7; VDF: 6.28.0.34; hos
t: michi.morashita.com)
X-Amavis-Alert: INFECTED, message contains virus: Eicar-Test-Signature
このような感じ。
◆ ウィルスメールが来たとき、root宛に来るメール
以下に例を2つ上げている。
A virus (Eicar-Test-Signature)
was found.
Scanner detecting a virus: ClamAV-clamscan
The mail originated from:
According to the 'Received:' trace, the message originated at:
[192.168.0.105] (comp.morashita.com [192.168.0.105])
Notification to sender will not
be mailed.
The message WAS NOT delivered
to:
:
250 2.7.1 Ok, discarded, id=00526-05 - VIRUS: Eicar-Test-Signature
Virus scanner output:
p001: Eicar-Test-Signature FOUND
The message has been quarantined
as:
/var/virusmails/virus-20041024-134707-00526-05
------------------------- BEGIN
HEADERS -----------------------------
Return-Path:
Received: from michi.morashita.com (sub.morashita.com [222.xxx.xxx.180])
by hoge@hogehoge.net (Postfix) with ESMTP id ABC2EB2DD1
for ; Sun, 24 Oct 2004 13:47:01 +0900 (JST)
Received: from localhost (localhost [127.0.0.1])
by michi.morashita.com (Postfix) with ESMTP id 424F311BCEC
for hoge@hogehoge.net>; Sun, 24 Oct 2004 13:47:00 +0900 (JST)
Received: from michi.morashita.com (localhost [127.0.0.1])
by localhost (AvMailGate-2.0.1.16) id 10769-29276431;
Sun, 24 Oct 2004 13:46:59 +0900
Received: from [192.168.0.105] (comp.morashita.com [192.168.0.105])
by michi.morashita.com (Postfix) with SMTP id 1218B11BCEC
for ; Sun, 24 Oct 2004 13:46:59 +0900 (JST)
Date: Sun, 24 Oct 2004 13:46:59 +0900
From: =?ISO-2022-JP?B?GyRCOS1MbkY7QTEbKEI=?=
To: hoge@hogehoge.net
Subject: virus
Message-Id: <20041024134611.A24C.UNKO@morashita.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-2022-JP"
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver. 2.11.02 [ja]
X-AntiVirus: checked by AntiVir MailGate (version: 2.0.1.16; AVE:
6.28.0.7; VDF: 6.28.0.34; host: michi.morashita.com)
-------------------------- END HEADERS ------------------------------
A virus was found: Worm.SomeFool.Q
A banned name was found:
P=p004,L=1,M=multipart/related | P=p003,L=1/2,M=audio/x-wav,T=exe,T=exe-ms,N=message.pif
Scanner detecting a virus: ClamAV-clamscan
The mail originated from:
According to the 'Received:' trace, the message originated at:
[220.109.30.239]
hogehoge.com (i220-109-30-239.s02.a025.ap.burabura.or.jp [220.109.30.239])
Notification to sender will not
be mailed.
The message WAS NOT delivered
to:
:
250 2.7.1 Ok, discarded, id=16120-01 - VIRUS: Worm.SomeFool.Q
Virus scanner output:
p002: OK
p003: Worm.SomeFool.Q FOUND
The message has been quarantined
as:
virus-20041113-234305-16120-01
------------------------- BEGIN
HEADERS -----------------------------
Return-Path:
Received: from hogehoge.com (i220-109-30-239.s02.a025.ap.burabura.or.jp
[xxx.xxx.xxx.xxx])
by hoge.hogehoge.com (Postfix) with ESMTP id A005410F28C
for ; Sat, 13 Nov 2004 23:42:56 +0900 (JST)
From: akunin@oresama.net
To: chinko@hogehoge.com
Subject: Server Error (chinko@hogehoge.com)
Date: Sat, 13 Nov 2004 23:43:57 +0900
MIME-Version: 1.0
Content-Type: multipart/related;
type="multipart/alternative";
boundary="----=_NextPart_000_001B_01C0CA81.7B015D10"
X-Priority: 1
X-MSMail-Priority: High
Message-Id: <20041113144256.A005410F28C@hoge.hogehoge.com>
-------------------------- END HEADERS ------------------------------
注 : /var/virusmails
/var/amavis/tmp ディレクトリには、ウィルスだったメールが格納される。したがって、放って置くと肥大化するので気をつけること。たまに、消去を心がけると良いだろう。
13)exeファイルが添付できない!
ファイルの添付に関しては、デフォルトではセキュリティ的にも「exe」拡張子のバイナリファイルの添付を禁止している。さらに、exe拡張子ファイルを圧縮しても添付しても禁止となる。しかし、それが不便で使いにくい場合は、amavisd.confの
@decodersセクションのzipとlhaをコメントして、amavisdをリスタートすれば、とりあえずexeをzipもしくはlhaのいずれかで圧縮して添付すれば送信できるようになる。
# vi /etc/amavisd.conf
省略
@decoders = (
['mail', \&do_mime_decode],
['asc', \&do_ascii],
['uue', \&do_ascii],
['hqx', \&do_ascii],
['ync', \&do_ascii],
['F', \&do_uncompress, ['unfreeze','freeze -d','melt','fcat']
],
['Z', \&do_uncompress, ['uncompress','gzip -d','zcat'] ],
['gz', \&do_gunzip],
['gz', \&do_uncompress, 'gzip -d'],
['bz2', \&do_uncompress, 'bzip2 -d'],
['lzo', \&do_uncompress, 'lzop -d'],
['rpm', \&do_uncompress, ['rpm2cpio.pl','rpm2cpio'] ],
['cpio', \&do_pax_cpio, ['pax','gcpio','cpio'] ],
['tar', \&do_pax_cpio, ['pax','gcpio','cpio'] ],
['tar', \&do_tar],
['deb', \&do_ar, 'ar'],
# ['a', \&do_ar, 'ar'], # unpacking .a seems an overkill
# ['zip', \&do_unzip],
['rar', \&do_unrar, ['rar','unrar'] ],
['arj', \&do_unarj, ['arj','unarj'] ],
['arc', \&do_arc, ['nomarch','arc'] ],
['zoo', \&do_zoo, 'zoo'],
# ['lha', \&do_lha, 'lha'],
# ['doc', \&do_ole, 'ripole'],
['cab', \&do_cabextract, 'cabextract'],
['tnef', \&do_tnef_ext, 'tnef'],
['tnef', \&do_tnef],
['exe', \&do_executable, ['rar','unrar'], 'lha', ['arj','unarj']
],
);
省略
3.番外:Debian GMU Linux Sarge3.1でPostfix+Clamd+Amavis-newの場合は・・・・
1) バイナリモジュールのゲット
以下のようにapt-getでバイナリをダウンロードしてインスコする。
# apt-get update
# apt-get install clamav clamav-daemon libclamav-dev amavisd-new
展開が終わると、これでセットアップはほとんど終わり。詳細設定は、1項及び2項を参考にすること。ただし、注意することを2)で書く。
2)エラーが出まくる
# amavisd-new debug
上記のコマンドを実行させて、デバッグしたり、メールを送受信して/var/log/mail.logを見ながらデバッグしてると、エラーが出まくる。
■ エラーその1
ns:/var/lib/amavis# postfix start
postfix/postfix-script: warning: /var/spool/postfix/etc/services
and /etc/services differ
postfix/postfix-script: starting the Postfix mail system
こやつの意味:
/etc/services ファイルがアップデートされて/var/spool/postfix/etc/servicesファイルと違うと怒られてる。
こやつの対策:
/etc/servicesファイルを/var/spool/postfix/etc/へコピーして上書きする。
# cp /etc/services /var/spool/postfix/etc/
# postfix reload
■ エラーその2
ERROR: Socket file /var/run/clamav/clamd.sock
is in use by another process. Socket file removed.Pid file removed.
こやつの意味:
clamd.sockは、別のプロセスで使われています。
こやつの対策:
こんなエラーが有ったなら、/var/run/clamav/clamd.sock のユーザとグループがclamavになってるか確認すること。
■ ワーニングその1
ClamAV update process started
at Sat Nov 12 14:47:12 2005
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Local version: 0.84 Recommended version: 0.87.1
DON'T PANIC! Read http://www.clamav.net/faq.html
main.cvd is up to date (version: 34, sigs: 39625, f-level: 5,
builder: tkojm)
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Current functionality level = 4, recommended = 5
DON'T PANIC! Read http://www.clamav.net/faq.html
daily.cvd is up to date (version: 1169, sigs: 1616, f-level: 6,
builder: ccordes)
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Current functionality level = 4, recommended = 6
DON'T PANIC! Read http://www.clamav.net/faq.html
こやつの意味と対策:
ワーニングが出てLocal version: 0.84 Recommended version: 0.87.1みたいなアップデートをしなさい警告が出る。これは、確かにバージョンが古いと言っているのだが、パターンファイルはアップデートされてるようだ。だから、俺はあまり気にしていない。以下を実行してみれば解る。
# ls -al /var/lib/clamav/
total 2688
drwxr-xr-x 2 clamav clamav 4096 Nov 12 11:22 .
drwxr-xr-x 21 root root 4096 Nov 12 13:35 ..
-rw-r--r-- 1 clamav clamav 169270 Nov 12 10:09 daily.cvd
-rw-r--r-- 1 clamav clamav 2560365 Nov 12 10:09 main.cvd
■ ワーニングその2
Nov 12 12:14:34 ns amavis[1926]:
(01926-01) Clam Antivirus-clamd FAILED - unknown status: /var/lib/amavis/tmp/amavis-20051112T121434-01926/parts:
Access denied. ERROR\n
Nov 12 12:14:34 ns amavis[1926]: (01926-01) WARN: all primary
virus scanners failed, considering backups
こやつの意味:
これは、/var/lib/amavis/tmp/amavis-20051112T121434-01926/partsへclamavユーザがアクセス出来ないと言ってる。
このテンポラリ領域はclamdがウィルススキャニングする場所である。
こやつの対策:
clamavのソケットファイルのオーナーとグループがclamavになっているか確かめて、間違っていたらオーナとグループをclamavに変更する。それでもだめなら、amavisグループにclamavユーザを追加させ、念のためclamavグループにもamavisユーザを参加させ双方許可しあえるようにする。
# vi /etc/group
省略
clamav:x:107:amavis
amavis:x:108:clamav
省略
■ ワーニングその3
freshclam daemon 0.90.1 (OS: linux-gnu,
ARCH: i386, CPU: i686)
ClamAV update process started at Tue Jul 31 08:35:36 2007
SECURITY WARNING: NO SUPPORT FOR DIGITAL SIGNATURES
See the FAQ at http://www.clamav.net/support/faq for an explanation.
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Local version: 0.90.1 Recommended version: 0.91.1
DON'T PANIC! Read http://www.clamav.net/support/faq
Downloading main-44.cdiff [100%]
main.cvd updated (version: 44, sigs: 133163, f-level: 20, builder:
sven)
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Current functionality level = 14, recommended = 20
DON'T PANIC! Read http://www.clamav.net/support/faq
ERROR: getfile: daily-3430.cdiff not found on remote server (IP:
61.205.61.201)
ERROR: getpatch: Can't download daily-3430.cdiff from database.clamav.net
connect_error: getsockopt(SO_ERROR): fd=6 error=113: No route
to host
Can't connect to port 80 of host database.clamav.net (IP: 219.127.68.136)
Trying host database.clamav.net (61.205.61.201)...
nonblock_connect: connect(): fd=6 errno=103: Software caused connection
abort
Can't connect to port 80 of host database.clamav.net (IP: 61.205.61.201)
Trying host database.clamav.net (203.178.137.175)...
ERROR: getfile: daily-3430.cdiff not found on remote server (IP:
203.178.137.175)
ERROR: getpatch: Can't download daily-3430.cdiff from database.clamav.net
ERROR: getfile: daily-3430.cdiff not found on remote server (IP:
219.117.246.122)
ERROR: getpatch: Can't download daily-3430.cdiff from database.clamav.net
WARNING: Incremental update failed, trying to download daily.cvd
Downloading daily.cvd [100%]
daily.inc updated (version: 3822, sigs: 8498, f-level: 16, builder:
ccordes)
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Current functionality level = 14, recommended = 16
DON'T PANIC! Read http://www.clamav.net/support/faq
Database updated (141661 signatures) from database.clamav.net
(IP: 219.117.246.50)
--------------------------------------
こやつの意味と対策:
ワーニングが出てWARNING: Local version:
0.90.1 Recommended version: 0.91.1みたいなアップデートをしなさい警告が出る。これは、確かにバージョンが古いと言っているのだが、パターンファイルはアップデートされてるようだ。だから、俺はあまり気にしていない。以下を実行してみれば解る。リコメンテーティッドバージョン0.91.1にバージョンアップしなさいと言っている。
そこで、バージョン0.91.1へアップしたら、起動時freshclam.logに以下のように正常なメッセージが出力された。
--------------------------------------
freshclam daemon 0.91.1 (OS: linux-gnu, ARCH: i386, CPU: i686)
ClamAV update process started at Tue Jul 31 08:42:27 2007
SECURITY WARNING: NO SUPPORT FOR DIGITAL SIGNATURES
See the FAQ at http://www.clamav.net/support/faq for an explanation.
main.inc is up to date (version: 44, sigs: 133163, f-level: 20,
builder: sven)
daily.cvd is up to date (version: 3822, sigs: 8498, f-level: 16,
builder: ccordes)
--------------------------------------
4.番外:CentOS4.3でPostfix+Clamd+Amavis-newの場合は・・・・
■ いきなりエラーに悩む
clamavをソースで入れて、amavisd-newをソースで入れた。その後、動かしたが、いきなりエラーで悩む。
Jun 6 18:23:10 ns postfix/smtpd[28243]:
connect from unknown[xxx.xxx.xxx.xxx]
Jun 6 18:23:13 ns postfix/smtpd[28243]: 4233C20140: client=unknown[xxx.xxx.xxx.xxx],
sasl_method=CRAM-MD5, sasl_username=xxxxxx
Jun 6 18:23:13 ns postfix/cleanup[28246]: 4233C20140: message-id=<20060606182642.AE31.xxxxxx@microtechnology.jp>
Jun 6 18:23:13 ns postfix/qmgr[28177]: 4233C20140: from=<xxxxxx@xxxxxx.jp>,
size=508, nrcpt=1 (queue active)
Jun 6 18:23:13 ns postfix/smtpd[28243]: disconnect from unknown[xxx.xxx.xxx.xxx]
Jun 6 18:23:13 ns amavis[28248]: (28202-01) run_command: child
process [28248]: Can't close main::stdin: Bad file descriptor
at /usr/sbin/amavisd line 1589.\n
Jun 6 18:23:13 ns postfix/smtp[28247]: 4233C20140: to=<xxxxxx@xxxxxx.net>,
relay=127.0.0.1[127.0.0.1], delay=3, status=deferred (host 127.0.0.1[127.0.0.1]
said: 421 4.3.2 Service shutting down, closing channel (in reply
to end of DATA command))
Jun 6 18:23:13 ns amavis[28202]: (28202-01) TROUBLE in check_mail:
mime_decode-1 FAILED: parsing file(1) results - missing last 1
results at (eval 43) line 150.
Jun 6 18:23:13 ns amavis[28202]: (28202-01) TROUBLE in process_request:
register_proc: BDB N db
_cursor: Locker does not exist, . at (eval 36) line 127.
Jun 6 18:23:13 ns amavis[28202]: (28202-01) Requesting process
rundown after fatal error
あまり、情報が無く解決に困難を要した。libdb系のエラーのようにも思えるが・・・・・。まあ、考えて居てもしょうがないので、とりあえずCentOSのパッケージにamavisd-newが有るようなので、今回はyumを活用してamavisd-newを入れようと思った。
■ サードパーティのリポジトリを使う
yumでamavisd-newをインスコするには、サードパーティのリポジトリを使用しなければならない。したがって、yum関係で以下の作業を行う。
[root@ns /]# cd /etc/yum.repos.d
ファイル名は何でも良い。編集して以下青字部分を追加。
[root@ns yum.repos.d]# vi /etc/yum.repos.d/Third.repo
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
GPGキーのインストール。RPM の署名を検証のためのキー設定。
[root@ns yum.repos.d]# rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt ←実際は一行で
一応、更新パッケージチェックしてみる。
[root@ns yum.repos.d]# yum check-update
あれば、パッケージ更新。
[root@ns yum.repos.d]# yum update
■ amavisd-newをインストールする
amavisd-newでは、関連モジュールを全て自動的に入れてくれるけど、perl-IO-Multiplexだけは、予め入れろと言われた。
[root@ns yum.repos.d]# yum install perl-IO-Multiplex
amavisd-newを入れる。
[root@ns yum.repos.d]# yum install amavisd-new
■ amavisd.confを編集する
[root@ns yum.repos.d]# vi /etc/amavisd.conf
省略
@bypass_spam_checks_maps = (1); # uncomment to DISABLE anti-spam
code
$max_servers = 2; # number of
pre-forked children (2..15 is common)
$daemon_user = "amavis"; # (no default; customary: vscan
or amavis)
$daemon_group = "amavis"; # (no default; customary:
vscan or amavis)
$mydomain = 'xxxxxx.jp'; # a convenient
default for other settings
$MYHOME = "/var/amavis";
$TEMPBASE = "$MYHOME/tmp"; # working directory, needs
to be created manually
$ENV{TMPDIR} = $TEMPBASE; # environment variable TMPDIR
$QUARANTINEDIR = "/var/virusmails";
$db_home = "$MYHOME/db";
$pid_file = "$MYHOME/amavisd.pid";
$lock_file = "$MYHOME/amavisd.lock";
@local_domains_maps = ( [".$mydomain"]
);
$log_level = 0; # verbosity 0..5
$log_recip_templ = undef; # disable by-recipient level-0 log entries
$DO_SYSLOG = 1; # log via syslogd (preferred)
$syslog_facility = 'mail'; # Syslog facility as a string
# e.g.: mail, daemon, user, local0, ... local7
$syslog_priority = 'info'; # Syslog base (minimal) priority as
a string,
# choose from: emerg, alert, crit, err, warning, notice, info,
debug
$enable_db = 1; # enable use of
BerkeleyDB/libdb (SNMP and nanny)
$enable_global_cache = 1; # enable use of libdb-based cache if
$enable_db=1
$inet_socket_port = 10024; # listen
on this local TCP port(s) (see $protocol)
$unix_socketname = "$MYHOME/amavisd.sock"; # amavisd-release
or amavis-milter
$interface_policy{'SOCK'}='AM.PDP-SOCK';
# only relevant with $unix_socketname
$policy_bank{'AM.PDP-SOCK'} = { protocol=>'AM.PDP' };
$sa_tag_level_deflt = 2.0; # add
spam info headers if at, or above that level
$sa_tag2_level_deflt = 6.31; # add 'spam detected' headers at
that level
$sa_kill_level_deflt = 6.31; # triggers spam evasive actions
$sa_dsn_cutoff_level = 10; # spam level beyond which a DSN is
not sent
$sa_mail_body_size_limit = 512*1024;
# don't waste time on SA if mail is larger
$sa_local_tests_only = 0; # only tests which do not require internet
access?
$virus_admin = "virusalert\@$mydomain";
# notifications recip.
$mailfrom_notify_admin = "virusalert\@$mydomain";
# notifications sender
$mailfrom_notify_recip = "virusalert\@$mydomain"; #
notifications sender
$mailfrom_notify_spamadmin = "spam.police\@$mydomain";
# notifications sender
$mailfrom_to_quarantine = ''; # null return path; uses original
sender if undef
@addr_extension_virus_maps = ('virus');
@addr_extension_spam_maps = ('spam');
@addr_extension_banned_maps = ('banned');
@addr_extension_bad_header_maps = ('badh');
$path = '/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/usr/bin:/bin';
$MAXLEVELS = 14;
$MAXFILES = 1500;
$MIN_EXPANSION_QUOTA = 100*1024; # bytes (default undef, not enforced)
$MAX_EXPANSION_QUOTA = 300*1024*1024; # bytes (default undef,
not enforced)
$sa_spam_subject_tag = '***SPAM***
';
$defang_virus = 1; # MIME-wrap passed infected mail
$defang_banned = 1; # MIME-wrap passed mail containing banned
name
# OTHER MORE COMMON SETTINGS (defaults
may suffice):
$myhostname = 'ns.xxxxxx.jp';
# must be a fully-qualified domain name! ←※
$notify_method = $forward_method;
$forward_method = 'smtp:[127.0.0.1]:10025'; # set to undef with
milter!
省略
ほとんど、2項の4)の説明と同じところを編集すれば良いのだが、一つだけ上記で※印の$myhostnameをちゃんとFQDNで設定しないとエラーが出るので注意。
■ ユーザの変更
userとgroupにバイナリパッケージはamavisが強制的に設定されてしまうので、以下を行う。
[root@ns yum.repos.d]# gpasswd -a amavis clamav
[root@ns yum.repos.d]# gpasswd -a clamav amavis
■ 動作確認と起動
デバッグモードで動かして動作確認。
[root@ns yum.repos.d]# amavisd debug
デバッグモードが、旨く動くようで有れば、
[root@ns yum.repos.d]# /etc/init.d/amavisd start
5.clamav-0.90.xへアップデートしたとき引っかかったこと
■ ライブラリのシンボルリンク
ソースをコンパイルしたあと、起動時にエラーが出るのでライブラリを以下のようにシンボルリンクしよう。
root@hiro:~# ln -s /usr/local/lib/libclamav.so.2
/usr/lib/
root@hiro:~# ln -s /usr/local/lib/libclamav.so.2.0.1
/usr/lib/
■ clamd.confの修正
以下のように、Remove stale socketの項目がコメントアウトされていたら、以下のようにコメントにしよう。コメントしてDisabledにしないとエラーが出るよ。
root@hiro:~# vi /usr/local/etc/clamd.conf
省略
# Remove stale socket after unclean shutdown.
# Default: disabled
#FixStaleSocket
6.clamd 0.94へアップデートしてclamdを起動すると、cannot open
shared object fileエラーで起動しない
root@hiro:/usr/local/src/clamav-0.94# /usr/local/sbin/clamd
/usr/local/sbin/clamd: error while loading
shared libraries: libclamav.so.5: cannot open shared object file:
No such file or directory
まず、libclamav.so.5が無いといわれるので、以下の如くシンボルリンクを貼る。
root@hiro:/usr/local/src/clamav-0.94# ln -s /usr/local/lib/libclamav.so.5
/usr/lib/
root@hiro:/usr/local/src/clamav-0.94# /usr/local/sbin/clamd
/usr/local/sbin/clamd: error while loading
shared libraries: libclamunrar_iface.so.5: cannot open shared
object file: No such file or directory
libclamunrar_iface.so.5が無いといわれるので、以下の如くシンボルリンクを貼る。
root@hiro:/usr/local/src/clamav-0.94# ln -s /usr/local/lib/libclamunrar_iface.so.5
/usr/lib/
root@hiro:/usr/local/src/clamav-0.94# /usr/local/sbin/clamd
/usr/local/sbin/clamd: error while loading
shared libraries: libclamunrar.so.5: cannot open shared object
file: No such file or directory
libclamunrar.so.5が無いといわれるので、以下の如くシンボルリンクを貼る。
root@hiro:/usr/local/src/clamav-0.94# ln -s /usr/local/lib/libclamunrar.so.5
/usr/lib/
これで、無事起動。
root@hiro:/usr/local/src/clamav-0.94# /usr/local/sbin/clamd
root@hiro:/usr/local/src/clamav-0.94#
以上
|