[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