Stefan Palme:
[ Charset UTF-8 unsupported, converting... ]
> Thanks for all your answers. My first approach to just throw
> away all bounces caused by senseless data entered into a web
> form is obviously too naive ;-)
> 
> I guess I will go the way to collect bounces by a script and
> establish an smtpd_recipient_restrictions based on this list
> of bouncing addresses.
> 
> The only thing I cannot handle with this approach are bots using
> [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED] etc. as
> destination email addresses - all those addresses will bounce
> and being collected, but never tried again by the bot. An IP-based
> rate limiting (and all other sort of rate limiting based on clients
> information) on postfix side will not work, because the clients
> IP address is always 127.0.0.1 (the web application, used via a
> remote browser).
> 
> So an IP-based rate limiting in the web applications logic
> will be necessary - and this is really expensive, because there
> are a LOT of web applications using web forms running on this
> server...
> 
> Maybe there is a way to solve this on postfix side, too?
> Each web application could add an additional Header "X-Sender-IP: <IP>"
> (and maybe other client information) to the generated mails - this
> is not too expensive to implement.

This can be done outside of Postfix with the Milter protocol.  In
theory it can also be done with header_checks (combined with a
tcp_table(5) lookup table).

> Is it possible to use postfix to define "for each value of
> X-Sender-IP there are only 5 messages per day allowed" ? This would
> not prevent a bot from filling the web form thousand times a day,
> but postfix will not even accept 995 of these messages to be sent out...
> 
> I guess I will have to write an own policy daemon for this,
> or is this possible with pure postfix configuration?

Instead of adding an ever-increasing list of features to Postfix
(or throwing in a Turing-complete scripting language) I decided
around 2000 to allow people to plug stuff into Postfix: content
filters, policy daemons, and Milter applications.

        Wietse

Reply via email to