Virus notification question

Mark Martinec Mark.Martinec+amavis at ijs.si
Tue Feb 14 16:32:49 CET 2012


Stephen,

> Following is an excerpt from my mail log when a virus is detected
> by amavisd-new-2.7.0 and amavisd-milter-1.5.0.
> What might be wrong with my config?
[...] 
> $inet_socket_port = 10026;   # listen on this local TCP port(s)
> $notify_method  = 'smtp:[127.0.0.1]:10026';
[...]
> Feb 12 12:22:28 mustang amavis[9071]: (09071) Request: AM.PDP  
>   /var/amavis/tmp/afq1C1qKLZ012522:
>   <anonymous at unitary.ru> -> <sdc at sdc.com.au>
> Feb 12 12:22:28 mustang amavis[9071]: (09071)
>   Checking: cM4dH5-zzumM AM.PDP-SOCK [81.176.77.242]
>   <anonymous at unitary.ru> -> <sdc at sdc.com.au>
[...]
> Feb 12 12:22:28 mustang amavis[9070]: (09070-04) ESMTP::10026 
>   /var/amavis/tmp/amavis-20120212T122228-09070-52jpecv4:
>   <virusalert at sdc.com.au> -> <virusalert at sdc.com.au>
>   ENVID=AM.09071.20120212T015228Z at mustang.sdc.com.au 
[...]
> Feb 12 12:22:29 mustang amavis[9070]: (09070-04) Passed CLEAN
>   {AcceptedInternal}, ORIGINATING
>   <virusalert at sdc.com.au> -> <virusalert at sdc.com.au>,
>   Message-ID: <VAcM4dH5-zzumM at mustang.sdc.com.au>, 
>   mail_id: BciVU7H-sYYI, Hits: 0, size: 2410, 868 ms
> Feb 12 12:22:29 mustang amavis[9070]: (09070-04) (!!)TROUBLE in 
> process_request: NOT ALL RECIPIENTS DONE, EMPTY DELIVERY_METHOD!
> 
> The "smtp server" at 10026 is amavisd.


This isn't right:

  $inet_socket_port = 10026;
  $notify_method = 'smtp:[127.0.0.1]:10026';

Notifications as generated by amavisd are not supposed to be
fed back to itself. They should be fed to an MTA, preferably on a
port where content filtering is disabled, otherwise one runs a risk
of blocking own notifications.

In case of Postfix this is achieved by having a dedicated smtpd service
(often on port 10025) which has content filtering disabled, e.g. by
cleaning these two options on a service:
  -o smtpd_milters=
  -o content_filter=

I'm not sure what is the most convenient way to do so with sendmail.
One clean way is to have two MTA instances, where the front-end
instance has content filtering enabled, while the back-end instance
has it disabled. The $notify_method should then point to the second
MTA instance.

What happened in your case was the notification was fed via SMTP
protocol back to amavisd, where a policy bank sitting on that
port did not have $forward_method configured, so amavisd
did not know how to forward the message - which should explain
the message you received.

  Mark


More information about the amavis-users mailing list