We are using Postfix as our MTA with an integration of Amavis, ClamAV,
Spamassassin (3.0.1), and Maia Mailguard. After all the spam and
antivirus check, it sends the email to either the remote server or the
server hosting the mailboxes. We have more or less 45,000 mailboxes in
our mail server.
Our problem in our mail server is when mail queues starts to pile up
due to spam. It causes delay on legit mails that needs to be sent
right away. Postfix reports thousands of mail in its queue and 70% of
them are spam.
Can somebody give suggestions on how we can handle spam mail more
efficiently. Thanks!
Relevant lines in the respective configs are shown below:
Postfix:
main.cf
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
myhostname = (removed for security purposes)
mydomain = (removed for security purposes)
myorigin = $myhostname
inet_interfaces = $myhostname, localhost
unknown_local_recipient_reject_code = 550
mynetworks = (removed for security purposes)
alias_maps = hash:/etc/postfix/aliases
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
manpage_directory = /usr/local/man
sample_directory = /etc/postfix/sample
readme_directory = /etc/postfix/sample
alias_database = hash:/etc/postfix/aliases
transport_maps = hash:/etc/postfix/transport
content_filter = smtp-amavis:[127.0.0.1]:10026
smtpd_sender_restrictions =
check_sender_access hash:/etc/postfix/access
reject_rhsbl_sender dnsbl.sorbs.net
reject_rhsbl_sender xbl.spamhaus.org
reject_rhsbl_sender block.blars.org
permit_mynetworks
reject_non_fqdn_sender
reject_non_fqdn_recipient
reject_unknown_sender_domain
reject_unknown_recipient_domain
reject_sender_login_mismatch
# reject_unauth_destination
reject_maps_rbl
permit
smtpd_recipient_restrictions =
reject_unlisted_recipient
check_sender_access hash:/etc/postfix/access
check_client_access hash:/etc/postfix/access
permit_mynetworks
permit_mx_backup
reject_maps_rbl
reject_unauth_destination
reject_rhsbl_sender xbl.spamhaus.org, dnsbl.sorbs.net, block.blars.org
check_sender_access hash:/etc/postfix/sender_access
check_policy_service unix:private/policy
maps_rbl_domains = relays.ordb.org, list.dsbl.org, dnsbl.sorbs.net,
whois.rfc-ignorant.org, abuse.rfc-ignorant.org
message_size_limit = 10000000
maximal_queue_lifetime = 2
policy_time_limit = 3600
master.cf
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - y - - smtpd
#submission inet n - y - - smtpd
# -o smtpd_etrn_restrictions=reject
#628 inet n - y - - qmqpd
pickup fifo n - y 60 1 pickup
cleanup unix n - y - 0 cleanup
qmgr fifo n - y 300 1 qmgr
#qmgr fifo n - y 300 1 oqmgr
rewrite unix - - y - - trivial-rewrite
bounce unix - - y - 0 bounce
defer unix - - y - 0 bounce
trace unix - - y - 0 bounce
verify unix - - y - 1 verify
flush unix n - y 1000? 0 flush
proxymap unix - - n - - proxymap
smtp unix - - y - - smtp
relay unix - - y - - smtp
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - y - - showq
error unix - - y - - error
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - y - - lmtp
anvil unix - - y - 1 anvil
policy unix - n n - - spawn
user=nobody argv=/usr/bin/perl /usr/libexec/postfix/greylist.pl -v
#
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# maildrop. See the Postfix MAILDROP_README file for details.
#
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
#
#
#
# The Cyrus deliver program has changed incompatibly, multiple times.
#
old-cyrus unix - n n - - pipe
flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
cyrus unix - n n - - pipe
user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
127.0.0.1:10025 inet n - y - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-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
smtp-amavis unix - - y - 2 smtp
-o smtp_data_done_timeout=1200
-o disable_dns_lookup=yes
Spamassassin:
required_hits 2.5
rewrite_subject 1
rewrite_header Subject "THIS IS SPAM!"
report_safe 1
# trusted_networks 212.17.35.
use_terse_report 1
subject_tag *****SPAM*****
use_auto_whitelist 0
auto_learn 1
skip_rbl_checks 0
#use_razor2 0
#razor_timeout 5
#razor_config /var/vscan/.razor/razor-agent.conf
#use_bayes 0
#bayes_auto_learn 1
#bayes_auto_learn_threshold_nonspam 1
#bayes_auto_learn_threshold_spam 14
#bayes_path /var/vscan/.spamassassin/bayes
#auto_whitelist_path /var/vscan/.spamassassin/auto_whitelist
#use_dcc 0
#dcc_home /var/dcc
#dcc_dccifd_path /var/run/dcc/dccifd.pid
#dcc_dccifd_path /var/dcc/dccifd
#$dcc_add_header 1
#use_pyzor 1
#pyzor_timeout 5
#pyzor_path /usr/bin/pyzor
#pyzor_add_header 1
blacklist_from (removed for security purposes)
blacklist_from (removed for security purposes)
_________________________________________________
Philippine Linux Users' Group (PLUG) Mailing List
[email protected] (#PLUG @ irc.free.net.ph)
Read the Guidelines: http://linux.org.ph/lists
Searchable Archives: http://archives.free.net.ph