[Postfixbuch-users] body_checks + amavisd-new +, before-queue-filter

Fabian Petzold mail at fabianpetzold.de
Do Nov 3 12:43:56 CET 2011


Am 03.11.2011 12:28, schrieb Florian Kaiser:
> Wenn Du warn_offsite = 0 hast - denkt Amavis dann vielleicht, dass Du 
> ein "local" sender bist? Denn dann werden die Reports afaik immer 
> verschickt. Poste mal bitte deine vollständige 50-user.conf (oder wo 
> auch immer Deine amavisd-new-Konfiguration ist). Grüße Florian 


Ich habe mal die einzelnen Configfiles zusammengefasst und die 
Kommentare entfernt:

use strict;

$ENV{PATH} = $path = 
'/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/usr/bin:/bin';
$file   = 'file';
$gzip   = 'gzip';
$bzip2  = 'bzip2';
$lzop   = 'lzop';
$rpm2cpio   = ['rpm2cpio.pl','rpm2cpio'];
$cabextract = 'cabextract';
$uncompress = ['uncompress', 'gzip -d', 'zcat'];
#$unfreeze   = ['unfreeze', 'freeze -d', 'melt', 'fcat']; #disabled 
(non-free, no security support)
$unfreeze = undef;
$arc        = ['nomarch', 'arc'];
$unarj      = ['arj', 'unarj'];
#$unrar      = ['rar', 'unrar']; #disabled (non-free, no security support)
$unrar     = undef;
$zoo    = 'zoo';
#$lha    = 'lha'; #disabled (non-free, no security support)
$lha    = undef;
$pax    = 'pax';
$cpio   = 'cpio';
$ar     = 'ar';
$ripole = 'ripole';
$dspam  = 'dspam';

1;  # ensure a defined return
use strict;

chomp($mydomain = `head -n 1 /etc/mailname`);

@local_domains_acl = ( ".$mydomain" );

1;  # ensure a defined return
use strict;

chomp($myhostname = `hostname --fqdn`);

1;  # ensure a defined return
use strict;

##
## AV Scanners (Debian version)
##

@av_scanners = (


  ### http://www.clamav.net/
  ['ClamAV-clamd',
    \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.ctl"],
    qr/\bOK$/, qr/\bFOUND$/,
    qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
  # NOTE: remember to add the clamav user to the amavis group, and
  # to properly set clamd to init supplementary groups
  # When running chrooted one may prefer: ["CONTSCAN {}\n","$MYHOME/clamd"],

# ### http://www.clamav.net/ and CPAN  (memory-hungry! clamd is preferred)
# ['Mail::ClamAV', \&ask_clamav, "*", [0], [1], qr/^INFECTED: (.+)/],

  ### example: fully-fledged checker for JPEG marker segments of invalid 
length
  ['check-jpeg',
    sub { use JpegTester (); Amavis::AV::ask_av(\&JpegTester::test_jpeg, 
@_) },
    ["{}/*"], undef, [1], qr/^(bad jpeg: .*)$/ ],
  # NOTE: place file JpegTester.pm somewhere where Perl can find it,
  #       for example in /usr/local/lib/perl5/site_perl

);


@av_scanners_backup = (

   ### http://www.clamav.net/   - backs up clamd or Mail::ClamAV
   ['ClamAV-clamscan', 'clamscan',
     "--stdout --disable-summary -r --tempdir=$TEMPBASE {}",
     [0], qr/:.*\sFOUND$/, qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],

);


1;  # ensure a defined return
use strict;

@bypass_virus_checks_maps = (
    \%bypass_virus_checks, \@bypass_virus_checks_acl, 
\$bypass_virus_checks_re);

@bypass_spam_checks_maps = (
    \%bypass_spam_checks, \@bypass_spam_checks_acl, 
\$bypass_spam_checks_re);

1;  # ensure a defined return
use strict;


$QUARANTINEDIR = "$MYHOME/virusmails";
$quarantine_subdir_levels = 1; # enable quarantine dir hashing

$log_recip_templ = undef;    # disable by-recipient level-0 log entries
$DO_SYSLOG = 1;              # log via syslogd (preferred)
$syslog_ident = 'amavis';    # syslog ident tag, prepended to all messages
$syslog_facility = 'mail';
$syslog_priority = 'info';  # switch to info to drop debug output, etc

$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;   # default listening socket

$sa_spam_subject_tag = '***SPAM*** ';
$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 = 200*1024; # don't waste time on SA if mail is 
larger
$sa_local_tests_only = 0;    # only tests which do not require internet 
access?

# Quota limits to avoid bombs (like 42.zip)

$MAXLEVELS = 14;
$MAXFILES = 1500;
$MIN_EXPANSION_QUOTA =      100*1024;  # bytes
$MAX_EXPANSION_QUOTA = 300*1024*1024;  # bytes

$final_virus_destiny      = D_REJECT;  # (data not lost, see virus 
quarantine)
$final_banned_destiny     = D_REJECT;   # D_REJECT when front-end MTA
$final_spam_destiny       = D_REJECT;
$final_bad_header_destiny = D_PASS;     # False-positive prone (for spam)

$virus_admin = "server.beckett\@googlemail.com"; # due to D_DISCARD default

# Set to empty ("") to add no header
$X_HEADER_LINE = "Debian $myproduct_name at $mydomain";

@viruses_that_fake_sender_maps = (new_RE(
   [qr'\bEICAR\b'i => 0],            # av test pattern name
   [qr/.*/ => 1],  # true for everything else
));

@keep_decoded_original_maps = (new_RE(
   qr'^MAIL-UNDECIPHERABLE$', # recheck full mail if it contains 
undecipherables
   qr'^(ASCII(?! cpio)|text|uuencoded|xxencoded|binhex)'i,

));


# for $banned_namepath_re, a new-style of banned table, see 
amavisd.conf-sample

$banned_filename_re = new_RE(

   # block certain double extensions anywhere in the base name
   qr'\.[^./]*\.(exe|vbs|pif|scr|bat|cmd|com|cpl|dll)\.?$'i,

   qr'\{[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}\}?'i, # Windows Class 
ID CLSID, strict

   qr'^application/x-msdownload$'i,                  # block these MIME 
types
   qr'^application/x-msdos-program$'i,
   qr'^application/hta$'i,

   qr'.\.(exe|vbs|pif|scr|bat|cmd|com|cpl)$'i, # banned extension - basic

   qr'^\.(exe-ms)$',                       # banned file(1) types
);
# See http://support.microsoft.com/default.aspx?scid=kb;EN-US;q262631
# and http://www.cknow.com/vtutor/vtextensions.htm


# ENVELOPE SENDER SOFT-WHITELISTING / SOFT-BLACKLISTING

@score_sender_maps = ({ # a by-recipient hash lookup table,
                         # results from all matching recipient tables 
are summed

   ## site-wide opinions about senders (the '.' matches any recipient)
   '.' => [  # the _first_ matching sender determines the score boost

    new_RE(  # regexp-type lookup table, just happens to be all 
soft-blacklist
     [qr'^(bulkmail|offers|cheapbenefits|earnmoney|foryou)@'i         => 
5.0],
     [qr'^(greatcasino|investments|lose_weight_today|market\.alert)@'i=> 
5.0],
     [qr'^(money2you|MyGreenCard|new\.tld\.registry|opt-out|opt-in)@'i=> 
5.0],
     [qr'^(optin|saveonlsmoking2002k|specialoffer|specialoffers)@'i   => 
5.0],
     [qr'^(stockalert|stopsnoring|wantsome|workathome|yesitsfree)@'i  => 
5.0],
     [qr'^(your_friend|greatoffers)@'i                                => 
5.0],
     [qr'^(inkjetplanet|marketopt|MakeMoney)\d*@'i                    => 
5.0],
    ),

#  read_hash("/var/amavis/sender_scores_sitewide"),

    { # a hash-type lookup table (associative array)
      'nobody at cert.org'                        => -3.0,
      'cert-advisory at us-cert.gov'              => -3.0,
      'owner-alert at iss.net'                    => -3.0,
      'slashdot at slashdot.org'                  => -3.0,
      'securityfocus.com'                      => -3.0,
      'ntbugtraq at listserv.ntbugtraq.com'       => -3.0,
      'security-alerts at linuxsecurity.com'      => -3.0,
      'mailman-announce-admin at python.org'      => -3.0,
      'amavis-user-admin at lists.sourceforge.net'=> -3.0,
      'amavis-user-bounces at lists.sourceforge.net' => -3.0,
      'spamassassin.apache.org'                => -3.0,
      'notification-return at lists.sophos.com'   => -3.0,
      'owner-postfix-users at postfix.org'        => -3.0,
      'owner-postfix-announce at postfix.org'     => -3.0,
      'owner-sendmail-announce at lists.sendmail.org'   => -3.0,
      'sendmail-announce-request at lists.sendmail.org' => -3.0,
      'donotreply at sendmail.org'                => -3.0,
      'ca+envelope at sendmail.org'               => -3.0,
      'noreply at freshmeat.net'                  => -3.0,
      'owner-technews at postel.acm.org'          => -3.0,
      'ietf-123-owner at loki.ietf.org'           => -3.0,
      'cvs-commits-list-admin at gnome.org'       => -3.0,
      'rt-users-admin at lists.fsck.com'          => -3.0,
      'clp-request at comp.nus.edu.sg'            => -3.0,
      'surveys-errors at lists.nua.ie'            => -3.0,
      'emailnews at genomeweb.com'                => -5.0,
      'yahoo-dev-null at yahoo-inc.com'           => -3.0,
      'returns.groups.yahoo.com'               => -3.0,
      'clusternews at linuxnetworx.com'           => -3.0,
      lc('lvs-users-admin at LinuxVirtualServer.org')    => -3.0,
      lc('owner-textbreakingnews at CNNIMAIL12.CNN.COM') => -5.0,

      # soft-blacklisting (positive score)
      'sender at example.net'                     =>  3.0,
      '.example.net'                           =>  1.0,

    },
   ],  # end of site-wide tables
});

1;  # ensure a defined return
use strict;

##
## Functionality required for amavis helpers like
## amavis-release.
##

$unix_socketname = "/var/lib/amavis/amavisd.sock";

$interface_policy{'SOCK'} = 'AM.PDP-SOCK';
$policy_bank{'AM.PDP-SOCK'} = {
   protocol => 'AM.PDP',
   auth_required_release => 0, # don't require secret-id for release
};

1;  # ensure a defined return

use strict;

#
# Place your configuration directives here.  They will override those in
# earlier files.
#
# See /usr/share/doc/amavisd-new/ for documentation and examples of
# the directives you can use in this file
#

$warnbadhrecip = 0;
$warnbadhsender = 0;
$warn_offsite = 0;
$warnvirussender = 0;
$warnvirusrecip = 0;
$warnbannedrecip = 0;
%warnsender_by_ccat = 0;

#------------ Do not modify anything below this line -------------
1;  # ensure a defined return


-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <https://listi.jpberlin.de/pipermail/postfixbuch-users/attachments/20111103/81570b6b/attachment.html>


Mehr Informationen über die Mailingliste Postfixbuch-users