[Postfixbuch-users] Limitieren der Annahme der ankommenden Mails

Wolfgang Murth postfix at wmsmt.com
Mo Feb 7 15:05:42 CET 2005


Hallo Postfix Gurus,

Bitte helft mir bei folgendem Problem:

Ich habe einen Mailserver unter Debian Stable mit Backports mit
spamc/spamd, amavisd-new und clamav aufgesetzt ( main.cd und master.cf
siehe unten), spamd ist mit "-x -Q -m 5" gestartet. 
Mit MySQL werden die virtuellen Mailboxen verwaltet, ebenso die spamc
Einstellungen (global und per User). 
Soweit funkioniert alles. Clamav arbeitet und spamc/spamd auch.

AAAAber: Um das Ganze zu testen hab ich folgendes gemacht

smtp-source -c -l 5000 -m 3000 -s 100 -t user at wassweisich.at -f
bumsti at yahoo.de 192.168.3.102:25

Wenn ich nun den Wert von -s sehr klein nehme. Z.B. 2 oder 5 verwende
stauten sich die Mails in der active queue. Die incoming ist total leer,
ebenso deferred und maildrop.

Wie kann ich nun verhindern, dass mir jemand meinen Server komplett
zunagelt. Oder anders gesagt, was kann ich tun damit der Stau bei
solchen Attacken nicht in meiner active oder incoming queue ist, sondern
eben die Mails langsamer von der Quelle hereinkommen.
Ich hab die letzte Woche das Internet durchgegrast, aber leider nix
brauchbares gefunden.

qmgr_message_active_limit hat auch nicht den erwünschten Erfolg
gebracht.

Ach ja: 
Hardware:
AMD XP 3000+, 1GB DDR 400 RAM, mit 3 WD1200 Festplatten im DMA Mode (ca.
57MB/s), Mainboard MSI KT-880

Debian:
Woody stable mit Backports, 
Kernel 2.1.29 kompliert von kernel.org da die original Sourcen von
Debian wegen DMA Fähigkeit des VIA Chipsatzes nicht zu gebrauchen sind.
Postfix 2.1.5-0

Danke für Eure Hilfe
Cu Wolfgang Murth

P.S. Den Domainnamen in den Konfigurationen bitte nicht ernst nehmen

************************************************************************
**
Main.cf
************************************************************************
**
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no



myhostname = wasweissich.at
#alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
#myorigin = /etc/mailname
#mydestination = gigalith.wasweissich.at, localhost.wasweissich.at, ,
localhost relayhost = 
mynetworks = 127.0.0.0/8, 192.168.3.0/24
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
default_process_limit = 5

# basic settings
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix 
myorigin = /etc/mailname
mydomain = wasweissich.at
#mydestination = $myhostname, localhost.$mydomain, $mydomain,
$transport_maps mydestination = $myhostname, localhost.$mydomain,
$transport_maps mynetworks = 192.168.3.0/24

# virtual domain and delivery settings
virtual_mailbox_limit = 20000000000
virtual_mailbox_base = /home/vmail/
virtual_uid_maps = static:1008
virtual_gid_maps = static:1008
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-maps.cf
alias_maps = mysql:/etc/postfix/mysql-aliases.cf
transport_maps = mysql:/etc/postfix/mysql-transport.cf
virtual_maps = mysql:/etc/postfix/mysql-virtual.cf

local_recipient_maps = $alias_maps $virtual_mailbox_maps
unix:passwd.byname

# settings for authenticated SMTP
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain =
$myhostname broken_sasl_auth_clients = yes

smtpd_recipient_restrictions = 
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_unauth_destination,
    reject_invalid_hostname,
    reject_unauth_pipelining,
    reject_non_fqdn_sender,
    reject_unknown_sender_domain,
    reject_non_fqdn_recipient,
    reject_unknown_recipient_domain,
    reject_rbl_client relays.ordb.org,
    reject_rbl_client sbl-xbl.spamhaus.org,
    reject_rbl_client sbl.spamhaus.org,
    reject_rbl_client xbl.spamhaus.org,
    reject_rbl_client relays.orgdb.org,
    reject_rbl_client bl.spamcop.net,
    permit

# some other options
mail_name = MAILSYSTEM, fighting against spam
smtpd_banner = $myhostname ESMTP $mail_name 
setgid_group = postdrop


# appending .domain is the MUA's job.
append_dot_mydomain = no
relayhost =  
mailbox_size_limit = 0
recipient_delimiter = +

message_size_limit = 10000000000

content_filter = smtp-amavis:[127.0.0.1]:10024
soft_bounce = yes

maps_rbl_domains = dnsbl_sorbs_net
smtpd_helo_required = yes
disable_vrfy_command=yes 

header_checks = 
    regexp:/etc/postfix/header_checks.regexp
    
body_checks = 
   regexp:/etc/postfix/body_checks.regexp
   
    
mime_header_checks = regexp:/etc/postfix/mime_header_checks.regexp

masquerade_domains = wasweissich.at
lmpt_cache_connection = yes


************************************************************************
**
Master.cf
************************************************************************
**

#
========================================================================
==
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
#
========================================================================
==
smtp      inet  n       -       -       -       10      smtpd -o
content_filter=spamassassin
#628      inet  n       -       -       -       -       qmqpd
pickup    fifo  n       -       -       60      1       pickup
cleanup   unix  n       -       -       -       0       cleanup
qmgr      fifo  n       -       -       300     1       qmgr
#qmgr     fifo  n       -       -       300     1       oqmgr
rewrite   unix  -       -       -       -       -       trivial-rewrite
bounce    unix  -       -       -       -       0       bounce
defer     unix  -       -       -       -       0       bounce
trace     unix  -       -       -       -       0       bounce
verify    unix  -       -       -       -       1       verify
flush     unix  n       -       -       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
smtp      unix  -       -       -       -       5      smtp
relay     unix  -       -       -       -       -       smtp
showq     unix  n       -       -       -       -       showq
error     unix  -       -       -       -       -       error
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
anvil     unix  -       -       n       -       1       anvil
#
# 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       -       50       pipe
  flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient} # #
The Cyrus deliver program has changed incompatibly, multiple times.
cyrus	  unix	-	n	n	-	-	pipe
  flags=  user=vmail  argv=/usr/sbin/deliver -e -r ${sender} -m
${extension} ${user} 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=bsmtp argv=/usr/lib/bsmtp/bsmtp -d -t$nexthop -f$sender
$recipient
scalemail-backend unix	-	n	n	-	2	pipe
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store
${nexthop} ${user} ${extension}

# only used by postfix-tls
smtps	  inet	n	-	n	-	-	smtpd -o
smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes

smtp-amavis	unix	-	-	n	-	2	lmtp	
    -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 smtpd_error_sleep_time=0
    -o smtpd_soft_error_limit=1001
    -o smtpd_hard_error_limit=1000
    
spamassassin	unix	-	n	n	-	5	pipe
user=amavis argv=/usr/bin/spamc -u ${recipient} -e /usr/sbin/sendmail
-oi -f ${sender} ${recipient}
    
    




Mehr Informationen über die Mailingliste Postfixbuch-users