#author("2019-02-26T12:53:05+09:00","default:kuji","kuji")
#author("2019-02-26T14:58:57+09:00","default:kuji","kuji")
[[VirusScan on Mail Server]]

*Virus Scan on Mail Server [#p05ec9de]
#counter([total|today|yesterday]);
RIGHT:&lastmod;更新
----
Contents
#contents
[[VirusScan on Mail Server-Update]]
----
*clamd ソケット [#kd22aff7]
正常な状態

 hotshot# cd /var/run/clamav
 hotshot# ll
 total 4
 srw-rw-rw-  1 clamav  clamav  0 Apr 22 09:18 clamd
 -rw-rw-r--  1 clamav  clamav  4 Apr 22 09:18 clamd.pid
 -rw-rw----  1 clamav  clamav  4 Apr 22 09:18 freshclam.pid

*TOP [#w6eff6b5]
正常時のメールサーバの top (Virus scan 関連) 
  PID USERNAME     THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
  667 clamav         1  96    0 57056K  1636K select 0   0:02  0.00% perl5.8.8
  974 clamav         1  96    0 58212K 36572K select 0   0:00  0.00% perl5.8.8
  975 clamav         1  20    0 57948K 34044K lockf  1   0:00  0.00% perl5.8.8
  676 clamav         1   4    0 75960K     0K accept 1   0:00  0.00% clamd
  681 clamav         1  20    0  4280K     0K pause  0   0:00  0.00% freshclam



*ClamAV engine is outdated. [#y42905fa]

 Jan 17 08:51:31 k222 kernel: Starting clamav_clamd.
 Jan 17 08:51:31 k222 kernel: LibClamAV Warning: ***********************************************************
 Jan 17 08:51:31 k222 kernel: LibClamAV Warning: ***  This version of the  ClamAV engine is outdated.    ***
 Jan 17 08:51:31 k222 kernel: LibClamAV Warning: *** DON'T PANIC! Read http://www.clamav.net/support/faq ***
 Jan 17 08:51:31 k222 kernel: LibClamAV Warning: ***********************************************************
 Jan 17 08:51:33 k222 kernel: Starting clamav_freshclam.

 k222# pkg_info
 
 k222# portupgrade clamav-0.95.1_1
んで、何かの拍子に/var/amavis/*/ と、/var/virusmails のオーナーがvscan なんかに成ってしまっていたので、
 # chown clamav:clamav /var/amavis/ 
等としておく。
**起動時のエラー? [#h8fcbd3a]
起動時の(flora=マシン名)コンソールログに(cf: [[コンソール上のログを採取]] )
 Jan 21 04:34:46 flora amavis[877]: (00877-01) (!)ClamAV-clamd: Can't connect to UNIX socket
  /var/run/clamav/clamd: No such file or directory, retrying (2)
 Jan 21 04:34:52 flora amavis[877]: (00877-01) (!!)ClamAV-clamd av-scanner FAILED: run_av error: 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 113) line 309.
 Jan 21 04:34:52 flora amavis[877]: (00877-01) (!!)WARN: all primary virus scanners failed, considering backups
などという警告がでるので、
// # mkdir /var/run/clamv/clamv
// # chown clamav:clamav /var/run/clamv/clamd
//しておく。これで
// Jan 21 04:52:13 flora amavis[667]: Using primary internal av scanner code for ClamAV-clamd
// Jan 21 04:52:13 flora amavis[667]: Found secondary av scanner ClamAV-clamscan at /usr/local/bin/clamscan
// Jan 21 04:52:13 flora amavis[667]: Creating db in /var/amavis/db/; BerkeleyDB 0.36, libdb 4.1
// Jan 21 04:52:16 flora kernel: Starting clamav_freshclam.
//と、エラーは無くなったが、/var/run/clamv/clamd/ には、な~んにも無い???
***/usr/local/etc/clamd.conf [#o415c1a4]
これを設定しておかないと/var/run/clamav/clamd が生成されずエラーとなるらしいので^^
 /usr/local/etc/clamd.conf
 User clamav
 #User vscan
 LocalSocket /var/run/clamav/clamd
 #LocalSocket /var/run/clamav/clamd.sock
と設定し、
 Jan 21 05:38:54 flora amavis[666]: Using primary internal av scanner code for ClamAV-clamd
 Jan 21 05:38:54 flora amavis[666]: Found secondary av scanner ClamAV-clamscan at /usr/local/bin/clamscan
 Jan 21 05:38:54 flora amavis[666]: Creating db in /var/amavis/db/; BerkeleyDB 0.36, libdb 4.1
 Jan 21 05:38:57 flora kernel: Starting clamav_freshclam.
となりました。



----
----
*メールサーバ上でウイルススキャン&スパムスキャンを動作させるメモ。~ [#p9d069e8]
使用ソフト:ClamAV, amavis-new~
MTA : [[Postfix>Postfix on FreeBSD]]~
OS : FreeBSD 8.2R~

+[[Clam AV のインストール>#fd009bcf]]
+[[amavis-new のインストール>#g4afcc19]]
+[[「amavisd-new」と「Clam AV」の実行ユーザを同じにする必要がある>#o6ed4ca0]]
+[[「amavisd-new」の側を変更する場合は>#d616f97e]]ここから読んだほうがよいかも
+[[amavis-new 設定>#x11567ad]]
++[[/usr/local/etc/amavisd.conf>#s14d1f31]]
++[[/etc/rc.conf>#be3dac07]]
+[[MTA(Postfix)との接続>#g20fecb9]]
++[[MTA(Postfix)との接続をするための設定>#a54e9955]]
+[[Junk>#l1a9111c]]





----
http://www.google.co.jp/search?hl=ja&q=amavis+postfix+clamav+FreeBSD&lr=

http://www.google.co.jp/search?hl=ja&q=amavis+postfix+clamav+FreeBSD+6.2&lr=
----
**Clam AV [#fd009bcf]
http://clamav-jp.sourceforge.jp/

 cd /usr/ports/security/clamav
 make install clean
#ref(clamav.jpg)

 ===>   Registering installation for clamav-0.91.2
 ===> SECURITY REPORT:
      This port has installed the following files which may act as network
      servers and may therefore pose a remote security risk to the system.
 /usr/local/sbin/clamd
 
      This port has installed the following startup scripts which may cause
      these network services to be started at boot time.
 /usr/local/etc/rc.d/clamav-milter
 /usr/local/etc/rc.d/clamav-freshclam
 /usr/local/etc/rc.d/clamav-clamd

/usr/local/etc/clamd.conf
 LogFileMaxSize 3M
 LogVerbose yes
 
/etc/rc.conf
 clamav_clamd_enable="YES"
 clamav_freshclam_enable="YES"
----
**「amavisd-new」と「Clam AV」の実行ユーザを同じにする必要がある [#o6ed4ca0]

***「amavisd-new」の側を変更 [#d616f97e]

http://www.leafgreen.jp/freebsd/clamav.html

何も指定しないとvscanというユーザでAMAViSが動作するのですが、ClamAVを使用する場合、ClamAVとAMAViSのユーザを一致させる必要があります。ClamAVをvscanで動作させるのでもよいのですが、ClamAVをportupgradeなどで更新した場合、ClamAVが使用するディレクトリやファイルなどがclamavユーザとなってしまい、毎度ユーザを変更しなくてはなりません。(※何か方法がありそうですが・・・make.confとか?)
なので、私はAMAViSをclamavユーザで動作させるようにしました。
 # cd /usr/ports/security/amavisd-new
 # cp Makefile Makefile-dist  として待避
 # vi Makefile
 ---------------------------------
 - AMAVISUSER?=	vscan             #この部分を
 - AMAVISGROUP?=	vscan
 ---------------------------------
 + AMAVISUSER?=	clamav       #このように編集
 + AMAVISGROUP?=	clamav
 ---------------------------------
 
 #portinstall security/amavisd-new
としてインストール~
インストールされた/var/amavisなどが望みのオーナかどうか確認する
 # pwd
 /var/amavis
 # ll
 total 6
 drwxr-x---  2 clamav  clamav  512 Sep 28 04:38 db
 drwxr-x---  2 clamav  clamav  512 Sep 28 04:38 tmp
 drwxr-x---  2 clamav  clamav  512 Sep 28 04:38 var
OK。
**amavis-new 設定 [#x11567ad]
***/usr/local/etc/amavisd.conf [#s14d1f31]
デフォルトの状態では、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"],
その他の設定は、こんな感じ。
 $mydomain = 'your.domain';                         #ドメイン名
 $myhostname='host.your.domain';               #ホスト名
 $notify_method  = 'smtp:[127.0.0.1]:10025';
 $forward_method = 'smtp:[127.0.0.1]:10025';  #チェックした結果を戻す先 
// $forward_method = 'smtp:127.0.0.1:10025';  $notify_method = $forward_method;
// $insert_received_line = 0;
// $DO_SYSLOG = 0;
// $LOGFILE = "/var/log/amavis/amavis.log";
// $hdr_encoding = 'iso-2022-jp';
// $bdy_encoding = 'iso-2022-jp'; 
 $final_virus_destiny = D_DISCARD;              #最終的なウィルス付メールの扱い
 $final_banned_destiny = D_BOUNCE; 
 $final_spam_destiny = D_DISCARD;             #SPAMメールの最終的な扱い
 $final_bad_header_destiny = D_PASS; 
// $warnvirussender = 0; 
// $warnspamsender = 0; 
//$warnbannedsender = 0;
//$spam_admin = 'spamalert@$mydomain';              #SPAM検出時の通知先
//$virus_admin ='virusalert@$mydomain';                #ウィルス検出時の通知先
***/etc/rc.conf [#be3dac07]
 amavisd_enable="YES"

***ClamAV-clamd: Can't connect to UNIX socket /var/run/clamav/clamd [#i8db55f2]
というエラーがでていた
 Dec  1 00:00:03 blackcube amavis[98844]: (98844-11) (!)ClamAV-clamd: Can't connect to UNIX socket /var/run/clamav/clamd: 2, retrying (2)
 Dec  1 00:00:09 blackcube amavis[98844]: (98844-11) (!!)ClamAV-clamd av-scanner FAILED: run_av error: 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 103) line 325.
で、/var/run/clamav には、clamd ではなく、 clamd.sock となっているので
/usr/local/etc/amavisd.conf
 ### http://www.clamav.net/
  ['ClamAV-clamd',
 ##   \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd"],
    \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.sock"],
    qr/\bOK$/, qr/\bFOUND$/,
    qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
と変更。

** 初回の起動 [#q7732f6d]

 # sa-update

するヨロシ。

**sa-updateをcronに登録 [#r489233b]

crontab

 0	2	*	*	*	root	/usr/local/bin/sa-update


----
*MTA(Postfix)との接続 [#g20fecb9]
**MTA(Postfix)との接続をするための設定 [#a54e9955]
 #vi /usr/local/etc/postfix/main.cf
 content_filter = smtp-amavis:[127.0.0.1]:10024
の1行を追加。
 #vi /usr/local/etc/postfix/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”で始まる行(2行目以降)の先頭には必ずTABやスペースを入れてください。

SPAMやウィルスメールを検出したときに通知されるエイリアスを設定
 # vi /etc/mail/aliases
 virusalert: foo@your.domain
 spamalert: bar@your.domain
 
 # newaliases

----
**Junk [#l1a9111c]
mail server が動作緩慢になった。

top してみると

  PID USERNAME  THR PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND
 2118 vscan       1 129    0 41592K 39496K RUN      0:41 47.88% clamscan
 2113 vscan       1 129    0 41776K 39680K RUN      0:45 47.60% clamscan
  871 clamav      1   4    0 46392K 43844K accept   1:40  0.00% clamd

と・・・・@@

ググって、
http://www.opensource.apple.com/darwinsource/Current/SpamAssassin-124.6/clamav/docs/Japanese/clamav.html

5.1.3. amavisd-new
amavisd-newは、amavisdをもとにMark Martinecが書き直し、パフォーマンスの向上とSpamAssassinによるanti-spam機能を加えたものですが、anti-spamとanti-virusのどちらかを外して使用することもできます。他の商用アンチウイルス製品とclamavとを共用で2重に検査したり、また通常はclamdを使いclamdに問題が発生したときにはclamscanを代わりに使用して対処する、といったこともできます。amavisd.confを編集し、@av_scannersの項目でclamdを有効にして使います。 

とのこと。
で、設定を変えた覚えはないけど、
/usr/local/etc/amavisd.conf 見てみたら、
 ['ClamAV-clamd',
   \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd"],
   qr/\bOK$/, qr/\bFOUND$/,
   qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
辺りがコメントアウトになってますた。

変えた覚えないんだけどな~~~???

**Junk2 [#l058b055]

amavisnew のアップグレードした

 # chown -R clamav:clamav /var/amavis/
**Junk3 /bin/rm: Argument list too long. [#d876e954]
/var/virusmails/ に、沢山のファイルがたまっているので、rm すると、
 /bin/rm: Argument list too long.
といわれるので、
 echo /var/virusmails/* | xargs rm
した。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS