-------- Original-Nachricht --------
> Datum: Thu, 23 Aug 2007 09:13:27 +1000
> Von: Daniel Rose <[EMAIL PROTECTED]>
> An: [email protected]
> Betreff: Re: [dspam-users] [RFC] Signature leakage and its consequences

> Elias wrote:
> 
> >> Could you explain more explicitly how you'd suggest to go about it? I'm
> >> particularly interested in this case where Daniel has set up global
> >> aliases for retraining. As far as I can see, only DSPAM can tell who
> the
> >> retraining request came from by looking up the uid part of the
> signature
> >> in its database. In order to make sure that the request *really*
> >> originated from the same user DSPAM thinks it did, postfix, or any
> other
> >> MTA for that matter, would have to perform some sort of authentication
> >> (like SASL) and check afterwards whether the authenticated user is
> >> permitted to retrain the data of the user specified in the uid part of
> >> the signature. This would require postfix to parse the message with a
> >> similar algorithm as DSPAM does and it would also have to have access
> to
> >> DSPAMs uid mapping table, the latter being not a big deal, admittedly.
> >>
> 
> steeeeeveee responded:
> 
> > There are many ways to implement a global training alias. No one forces
> you to use UID's in the signature. It can be done without. Anyway... I will
> try to explain two approaches:
> > I have created 3 transports in Postfix. One for training as spam (lets
> call it dspam-spam) and one for training as ham (lets call it dspam-ham) and
> one for retraining (lets call it dspam-retrain). I have set up a
> restriction class in Postfix to only allow SASL authenticated users to use the
> global training alias. Not authenticated users are denied access. After that I
> call the transport either with "FILTER dspam-ham" or with "FILTER
> dspam-spam" or "FILTER dspam-retrain". The transports are then normal pipe 
> transports
> calling the DSPAM binary and using the option "--user ${sender}" and other
> switches (depending on which one is called).
> 
>       I think here we diverge.  In my setup this is a pilot; potentially a
> replacement for "crap filter" in the diagram shown earlier, if it works out
> well.
> The clients use outlook/exchange.  My solution then in my situation would
> be to add postfix rules to the dspam host so only the exchange host can
> send mail to spam@ and [EMAIL PROTECTED]  In this case, the message sent 
> earlier which
> retrained would instead be quietly swallowed, or bounced, whatever.
> 
> In fact that's a pretty straightforward fix.  Sorry this has dragged on! I
> think we've been a bit bogged down in version and regexes and so on.
> 
> Do we all agree then that:
> 
> If outgoing mail from users is authed, pass that auth to dspam, by
> blocking mail from other hosts or other means.
> If outgoing mail from users is NOT authed, you cannot stop people from
> retraining each other's data unless you add some auth.
> 
Yes and no. I just need a reliable way to know that "John Doe" is "John Doe". 
If now someone claims to be "John Doe" and I can not verify that, then I don't 
trust him to be "John Doe".



> Now, as for unauthed users, ste*ve* said:
> 
> > I am an ISP.
> > I don't trust anyone not authenticated.
> 
> This implies that customers of gmx must setup authentication in their mail
> client in order to send mail.
>
GMX is not mine. But indeed they require SMTP AUTH in order to send mails over 
their servers.


> This is not especially difficult really,
> and it may be best practice and so on and so forth, but most ISPs don't do
> this.
>
If they don't do that, then what are they doing? How do they prevent other 
users to misuse their servers for sending mail? If they don't do some kind of 
authentication then they are a open relay.


> Universities often have cool unix setups, and corporations usually
> have exchange or some other directory service for auth, but ISPs generally use
> vanilla smtp, as far as I can tell.
> 
I have a directory service as well. It is used for many things. And I use it 
directly from Postfix to do SMTP AUTH. But I use it as well for HTTP 
authentication, IMAP authentication, POP3 authentication, FTP authentication, 
etc...



> Is this what you're saying? Do you get any customers who complain about
> having to auth to send mail?
> 
No. No one complains. In the old days I used to have POP before SMTP but today 
every client supports SMTP AUTH and it is common to do authentication for 
sending mails. We live in a world where allowing every one to send mails over 
your server is very dangerous. Without SMTP AUTH I would expose my self to much 
bigger problems. Imagine all those spam bots/trojans/etc sending mail from a 
clients system. This would be a mess if I would allow them to send 
unauthenticated mails over the server. I would be in no time on some blocking 
list and this is what I want to prevent. And imagine if I would allow everyone 
out there to claim to be "John Doe <[EMAIL PROTECTED]>" and would allow them to 
send forged mails. This would be bad. Postfix (after 2.1) makes it very easy 
for me to enforce SMTP AUTH.


Using the global aliases for training/retraining is just one way of training 
DSPAM. You can still implement the DSPAM web ui and train that way. If you have 
a directory you can use to authenticate users from within your HTTP server then 
this might be a possible solution. I have users hating to train the anti-spam 
filter. So they refuse to do training. I have users where they love the web ui 
and hate the global training alias. And I have users where they hate everything 
which is not implemented directly in their mail client. So I am forced to allow 
many ways for training/retraining DSPAM. I personally prefer the web ui but 
this is me. I have users where explaining the web ui would be a crazy task. 
They just don't get along with the web ui. It is to hard for them. But two 
simple buttons (a big red X with the text SPAM and one green check mark with 
the text NOT SPAM) in their inbox is what they understand.

I have users sitting behind IBM Notes or behind MS Outlook. And both products 
allow you to integrate buttons with logic in the client. So this is what I used 
to implement a easy way of training DSPAM. And since both clients allow you to 
define filters either on the client or on the server I don't deliver messages 
tagged by DSPAM as spam to their inbox. Those mails get delivered to a junk 
folder. In this junk folder they have just one button (the green one). If they 
press this button, then I retrain DSPAM, then I change the content of the 
message (Yes, yes. I change the subject to not include the spam tag (if it is 
there) and I change the header to not have the spam class) and then move that 
mail back to the inbox.

In the inbox they only have one button (the red X) and if they press that 
button then I retrain DSPAM, change headers, change subject (if needed) and 
move the message to the junk folder.



While I still think that the web ui is enough for most people... I have made 
the experience that the above two buttons help a lot. On one installation I 
only had the web ui and no one was training. Months after the first 
implementation still most part of the users never ever trained. A quick 
interview of a bunch of users showed that they either are over strained with 
the web ui or they don't have time to open a web browser and do the training in 
the web ui or they don't know that they can train the filter (but it was 
communicated that they can do that and documentation existed on how to do it) 
or it showed that they simply don't care. But most of them said that they would 
train if they would be able to train from within their mail client. So it was 
obvious that implementing something inside their mail clients is the only way 
to get them to train their filter. And after doing those two simple buttons and 
one filter (for moving/delivering spam mails to the junk folder) the training 
increased. Now most of them do train their filter. And the good thing is that 
they see that training helps them to get better results.

Off course there are always those which refuse to train. But DSPAM allows you 
even to handle that. You could run a classification or merged group as a parent 
for each user and then you as the system admin can train this group and 
increase the catch rate. And running DSPAM in TOE mode allows you to keep the 
quality of the tokens if the user refuses to train. If they don't train then 
DSPAM will just stay as bad or good as it was but will not get worse or better.

I have to confess that I am using DSPAM for years. I have learned my lessons 
with that product. In the beginning I made so much errors. I needed some time 
to get to the point where I am today. My setup is done in such a way that the 
used parent group for all the users is automatically (but slowly and not 
permanent) trained with ham and spam data. I do as well maintain a automatic 
whitelist outside of DSPAM (as soon as one of my users is sending a mail to an 
external user I do capture that recipient/recipients and add them for some time 
into the automatic white list). I do as well train the parent group with 
outbound mails. And and and...

DSPAM allows you to do a lot of things.


> -- 
> Daniel Rose
> National Library of Australia

// Steve
-- 
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! 
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer

Reply via email to