Most of the messages on this thread, other than from bcole, have not been from 
members of the SpamAssassin PMC. I want to clarify our position and correct 
some details. I also want to see if dialog with you, Matthias, can lead to a 
better solution.

The situation is that dnswl has four possible responses when it acts on a query 
that it has flagged as exceeding the limits of unpaid use: 1) reject with 
SERVFAIL, 2) reject with BLOCKED, 3) return 127.0.0.255 which is code for 
blocked, 4) return 127.0.10.3 which is code for "other service" HI non-spam

The first two cannot be distinguished from various network or server errors, so 
SpamAssassin just drops the query with no result.

The third is the correct return code to indicate blocking for overuse. When 
SpamAssassin sees that, it hits a rule whose description is supposed to inform 
whoever looks at the mail headers or spam report that the ISP has misconfigured 
their SpamAssassin server's DNS or is at a usage level that requires a paid 
subscription to dnswl. In addition, to reduce the excessive load on dnswl, when 
SpamAssassin sees that code it temporarily disables further queries to dnswl, I 
think for the life of the running process. So we do what we can to make the 
127.0.0.255 code have a useful effect.

The fourth return code 127.0.10.3 seems to be returned less frequently. Unlike 
what someone suggested, SpamAssassin cannot treat it the same as 127.0.0.255 
because there is at least one IP address in the dnswl database that has that 
code to indicate it is a high trust site, i.e., the code is used to indicate 
high trust.  It appears that dnswl.org policy is to return that code 
sporadically to what they consider "abusers" who are people running 
SpamAssassin or other services using dnswl who do not correct their 
configuration to use a local nameserver, purchase a subscription, or stop using 
dnswl, when they continue to get query failures and 127.0.0.255 codes. That 
results in some possible spam being flagged as dnswl high trust, which is a way 
of forcing the issue to someone's attention.

That policy clashes with the SpamAssassin PMC's explicit policy of not 
supporting in our default configuration any dnsbl that responds to violation of 
a "free for some" model by returning wrong information instead of a specified 
BLOCKED code. If we allow that, it would result in end-users receiving spam 
that has been labeled as ham, with resulting complaints going to us because it 
would be SpamAssassin labeling that spam as ham.

The policy from dnswl.org does work to put pressure to reduce the abuse. 
Unfortunately it is not as simple as the pressure being put only on the 
"abusers". It could be an ISP who hasn't bothered to buy a subscription to pay 
for their high use and has end users who complain about spam they receive as a 
result. Or it could be some organization with relatively low email volume but a 
clueless IT person who cheap out by using a public nameserver like 1.1.1.1 or 
8.8.8.8, and nobody paying attention to the mail headers. Or a hosting service 
that makes SpamAssassin available to VPS customers installed via cpanel and 
nobody involved has a real clue what is going on.

Under some of those circumstances, the complaints go to SpamAssassin and the 
pressure is put on us.

We have fewer choices than an ISP. We can't pressure whoever runs the instance 
of SpamAssassin any more than you are already doing. We can't change the 
nameserver configuration or purchase a subscription on behalf of that ISP. We 
can stop using dnswl in our default configuration. If that is your preference, 
Matthias, then we are settled.

However, if the continued use of dnswl in the default SpamAssassin 
configuration is worth more to you than the benefits of putting that additional 
pressure on abusers (and clueless people who end up looking like abusers), 
maybe we can figure out something that works a little better than what we have 
been doing. Maybe we can come up with somewhat stronger language in the 
DNSWL_BLOCKED rule description. Maybe now that I told you that we stop 
subsequent queries in the process after the first 127.0.0.255 is received you 
would feel better about relying on that. Or maybe you can think of another 
compromise suggestion.

I can say that if you stop returning false HI results instead of BLOCKED we 
should always be willing to restore dnswl to our default configuration.

Regards,
Sidney Markowitz
Chair, Apache SpamAssassin PMC




Sep 25, 2024 06:44:29 Matthias Leisi <matth...@leisi.net>:

> 
>> Root Cause Analysis (in order):
>> 
>> 1) DNSWL does not provide blocked codes.  That deviates from most DNS-query 
>> based systems.
> 
> This is wrong.
> 
> — Matthias
> 

Reply via email to