k222 amavisd-new < needs updating (port has 2.8.0,1)

K222でいろいろなportsが古いということで、

amavisd-new                 <  needs updating (port has 2.8.0,1) 

というのを

portupgrade

する。特にこのportsは、Makefile を書き換える必要があるので、別個にコイツだけUP。する。

# portupgrade -Rp amavisd-new

Virus Scan が効かなくなった?

Counter: 2332, today: 1, yesterday: 0
2015-08-22 (土) 08:28:59

メールサーバ上で動作していたウイルススキャンがおかしくなったというメモ。
使用ソフト:ClamAV, amavis-new
MTA : Postfix
OS : FreeBSD 6.2


ある日、またメール配送が鈍になった。-_-;

/var/log/clamav/clamd.log 
Loaded 202261 signatures.
ERROR: Socket file /var/run/clamav/clamd could not be bound: Permission denied
/var/log/maillog
amavis[1056]: (01056-01) (!)ClamAV-clamd: Can't connect to UNIX
socket /var/run/clamav/clamd: No such file or directory, retrying (2)

などとなっている。なんなんじゃ?Topすると

 PID USERNAME  THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
 891 mrtg        1   8    0 10296K  9996K nanslp 1   0:22  0.00% perl
1086 root        1  96    0  3392K  2372K select 1   0:09  0.00% sftp-server
 919 vscan       1  20    0 53232K 48996K lockf  1   0:07  0.00% perl5.8.8
 927 vscan       1  20    0 56356K 51312K lockf  1   0:06  0.00% perl5.8.8
 929 vscan       1  20    0 52080K 48128K lockf  1   0:05  0.00% perl5.8.8

Portupgrade で更新された所為か、top でみると、vscanというユーザが再度出現・・・さらに、ログには

Feb  3 16:30:01 hotshot postfix/smtpd[3669]: disconnect from unknown[221.212.191.118]
Feb  3 16:30:02 hotshot amavis[924]: (00924-16) (!)ClamAV-clamd: Can't connect to UNIX socket /var/run/clamav/clamd: No such file or directory, retrying (2)
Feb  3 16:30:08 hotshot amavis[924]: (00924-16) (!)run_av (ClamAV-clamd, built-in i/f): Too many retries to talk to /var/run/clamav/clamd (Can't connect to  UNIX socket /var/run/clamav/clamd: No such file or directory) at (eval 67) line 293.
Feb  3 16:30:08 hotshot amavis[924]: (00924-16) (!!)ClamAV-clamd av-scanner  FAILED: CODE(0x804d9ac) Too many retries to talk to /var/run/clamav/clamd  (Can't connect to UNIX socket /var/run/clamav/clamd: No such file or directory) at (eval 67) line 293. at (eval 67) line 491.
Feb  3 16:30:08 hotshot amavis[924]: (00924-16) (!!)WARN: all primary virus scanners failed, considering backups
Feb  3 16:30:12 hotshot postfix/smtpd[3693]: connect from localhost[127.0.0.1]
Feb  3 16:30:12 hotshot postfix/smtpd[3693]: C8CA256987: client=localhost[127.0.0.1]
Feb  3 16:30:12 hotshot postfix/cleanup[3673]: C8CA256987: message-id=<SSXTaim6Hnhnjf@hotshot.smb.net>
Feb  3 16:30:12 hotshot postfix/qmgr[1081]: C8CA256987: from=<>, size=3468, nrcpt=1 (queue active)
Feb  3 16:30:12 hotshot postfix/smtpd[3693]: disconnect from localhost[127.0.0.1]
Feb  3 16:30:12 hotshot amavis[928]: (00928-16) Blocked SPAM, [221.212.191.118] [221.212.191.118] <miyuki_trading@yahoo.c

どうやら、portsupdateかなにかでclamavというユーザ&グループでコンパイルしていたamavisd-new が、再びvscanというユーザ&グループに戻ってしまった模様
とりあえず、

cd /usr/ports/security/amavisd-new

% make deinstall
===>  Deinstalling for security/amavisd-new
===>   Deinstalling amavisd-new-2.4.5_2,1
You should manually remove the "vscan" group.
You should manually remove the "vscan" user.
You should manually remove the "/var/amavis" directory.
You should manually remove the "/var/virusmails" directory.

% pw groupdel vscan
% pw userdel vscan
% rm -rf /var/amavis
% rm -rf /var/virusmails
% make rmconfig
===> Removing user-configured options for amavisd-new-2.5.3,1
# cd /usr/ports/security/amavisd-new
# cp Makefile Makefile-dist  として待避
# vi Makefile
---------------------------------
- AMAVISUSER?=	vscan             #この部分を
- AMAVISGROUP?=	vscan
---------------------------------
+ AMAVISUSER?=	clamav       #このように編集
+ AMAVISGROUP?=	clamav
---------------------------------

#make
#make install

/usr/local/etc/amavisd.conf

デフォルトの状態では、ClamAVに関する部分はコメントになっているので外します。

### http://www.clamav.net/

['ClamAV-clamd',
 \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd"],
 qr/\bOK$/, qr/\bFOUND$/,
 qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
# NOTE: run clamd under the same user as amavisd;  match the socket
# name (LocalSocket) in clamav.conf to the socket name in this entry
# When running chrooted one may prefer: ["CONTSCAN {}\n","$MYHOME/clamd"],

その他の設定は、こんな感じ。

#$daemon_user  = 'vscan';     # (no default;  customary: vscan or amavis), -u
#$daemon_group = 'vscan';     # (no default;  customary: vscan or amavis), -g
$daemon_user  = 'clamav';     # (no default;  customary: vscan or amavis), -u
$daemon_group = 'clamav';     # (no default;  customary: vscan or amavis), -g

$mydomain = 'your.domain';                         #ドメイン名
$myhostname='host.your.domain';               #ホスト名
$notify_method  = 'smtp:[127.0.0.1]:10025';
$forward_method = 'smtp:[127.0.0.1]:10025';  #チェックした結果を戻す先 
$final_virus_destiny = D_DISCARD;              #最終的なウィルス付メールの扱い
$final_banned_destiny = D_BOUNCE; 
$final_spam_destiny = D_DISCARD;             #SPAMメールの最終的な扱い
$final_bad_header_destiny = D_PASS;

/usr/local/etc/clamd.conf

これを設定しておかないと/var/run/clamav/clamd が生成されずエラーとなります

/usr/local/etc/clamd.conf
User clamav
#User vscan
LocalSocket /var/run/clamav/clamd
#LocalSocket /var/run/clamav/clamd.sock

2015年8月22日追記 この部分に関しては、要するに、amavisd.conf の設定と合致していれば問題無いです。


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-08-22 (土) 08:28:59