~ubuntu-branches/ubuntu/edgy/dspam/edgy

« back to all changes in this revision

Viewing changes to man/dspam.1

  • Committer: Bazaar Package Importer
  • Author(s): Trent Lloyd
  • Date: 2006-03-21 07:23:12 UTC
  • Revision ID: james.westby@ubuntu.com-20060321072312-jba9a1avit4r1y6s
Tags: upstream-3.6.4
ImportĀ upstreamĀ versionĀ 3.6.4

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
.\" $Id: dspam.1,v 1.10 2006/01/18 16:48:53 jonz Exp $
 
2
.\"  -*- nroff -*-
 
3
.\"
 
4
.\" dspam3.2
 
5
.\"
 
6
.\" Authors:    Jonathan A. Zdziarski <jonathan@nuclearelephant.com>
 
7
.\"
 
8
.\" Copyright (c) 2002-2006 Deep Logic, Inc.
 
9
.\" All rights reserved
 
10
.\"
 
11
.TH DSPAM 1  "Sep 29, 2004" "DSPAM" "DSPAM"
 
12
 
 
13
.SH NAME
 
14
dspam \- DSPAM Anti-Spam Agent
 
15
 
 
16
.SH SYNOPSIS
 
17
.na
 
18
.B dspam
 
19
[\c
 
20
.BI \--mode=[teft|toe|tum|notrain|unlearn]\fR\c
 
21
]
 
22
[\c
 
23
.BI \--user\ user1
 
24
user2\ ...\ userN\fR\c
 
25
]
 
26
[\c
 
27
.BI \--feature\c
 
28
=[ch,no,wh,tb=N,sb]\fR\c
 
29
]
 
30
[\c
 
31
.B \--class\c
 
32
=[spam|innocent]\fR\c
 
33
]
 
34
[\c
 
35
.B \--source\c
 
36
=[error|corpus|inoculation] \c
 
37
]
 
38
[\c
 
39
.B \--profile\c
 
40
=[PROFILE] \c
 
41
]
 
42
.B \--deliver\c
 
43
=[spam,innocent] \c
 
44
]
 
45
[\c
 
46
.B \--help \c
 
47
]
 
48
[\c
 
49
.B \--process \c
 
50
]
 
51
[\c
 
52
.B \--classify \c
 
53
]
 
54
[\c
 
55
.B \--signature\c
 
56
=[signature] \c
 
57
]
 
58
[\c
 
59
.BI \--stdout \c
 
60
]
 
61
[\c
 
62
.BI \--debug \c
 
63
]
 
64
[\c
 
65
.BI \--daemon \c
 
66
]
 
67
[\c
 
68
.BI \--client \c
 
69
]
 
70
[\c
 
71
.BI \--rcpt-to \c
 
72
]
 
73
[\c
 
74
.BI \--mail-from\c
 
75
=[address] \c
 
76
]
 
77
[\c
 
78
.I \ delivery\_arguments \fR\c
 
79
]
 
80
 
 
81
.ad
 
82
.SH DESCRIPTION 
 
83
.LP
 
84
.B The DSPAM agent 
 
85
provides a direct interface to mail servers for command-line
 
86
spam filtering. The agent can masquerade as the mail server's local delivery
 
87
agent and will process any email passed to it. The agent will then call whatever
 
88
delivery agent was specified at compile time or quarantine/tag/drop messages
 
89
identified as spam. The DSPAM agent can function locally or as a proxy. It
 
90
is also responsible for processing classification errors so that DSPAM can 
 
91
learn from its mistakes.
 
92
 
 
93
.SH OPTIONS
 
94
.LP
 
95
.ne 3
 
96
.TP
 
97
.BI \--user\ user1 \ user2\ ...\ userN\fR\c
 
98
Specifies the destination users of the incoming message. In most cases this is
 
99
the local user on the system, however some implementations may call for virtual
 
100
usernames, specific to DSPAM, to be assigned.  The agent processes an
 
101
incoming message once for each user specified. If the message is to be
 
102
delivered, the $u (or %u) parameters of the argument string will be interpolated
 
103
for the current user being processed.
 
104
 
 
105
.n3 3
 
106
.TP
 
107
.BI \--mode= [toe|tum|teft|notrain]\c
 
108
Configures the training mode to be used for this process, overriding any
 
109
defaults in dspam.conf:
 
110
 
 
111
.B teft
 
112
: Train-Everything.  Trains on all messages processed.  This is a very thorough training approach and should be considered the standard training approach for most users.  TEFT may, however, prove too volatile on installations with extremely high per-user traffic, or prove not very scalable on systems with extremely large user-bases.  In the event that TEFT is proving ineffective, one of the other modes is recommended.
 
113
 
 
114
.B toe
 
115
: Train-on-Error.  Trains only on a classification error, once the user's metadata has matured to 2500 innocent messages.  This training mode is much less resource intensive, as only occasional metadata writes are necessary.  It is also far less volatile than the TEFT mode of training.  One drawback, however, is that TOE only learns when DSPAM has made a mistake - which means the data is sometimes too static, and unable to "ease into" a different type of behavior.
 
116
 
 
117
.B tum
 
118
: Train-until-Mature.  This training mode is a hybrid between the other two training modes and provides a great balance between volatility and static metadata.  TuM will train on a per-token basis only tokens which have had fewer than 25 "hits" on them, unless an error is being retrained in which case all tokens are trained.  This training mode provides a solid core of stable tokens to keep accuracy consistent, but also allows for dynamic adaptation to any new types of email behavior a user might be experiencing.
 
119
 
 
120
.B notrain
 
121
: No training.  Do not train the user's data, and do not keep totals.  This should only be used in cases where you want to process mail for a particular user (based on a group, for example), but don't want the user to accumulate any learning data.
 
122
 
 
123
.B unlearn
 
124
: Unlearn original training. Use this if you wish to unlearn a previously learned message. Be sure to specify --source=error and --class to whatever the original classification the message was learned under. If not using TrainPristine, this will require the original signature from training.
 
125
 
 
126
.ne 3
 
127
.TP
 
128
.BI \--feature= [chained,noise,tb=N,whitelist] \c
 
129
Specifies the features that should be activated for this filter instance.  The following features may be used individually or combined using a comma as a delimiter:
 
130
 
 
131
.B chained
 
132
: Chained Tokens (also known as biGrams).  Chained Tokens combines adjacent tokens, presently with a window size of 2, to form token "chains".  Chained tokens uses additional storage resources, but greatly improves accuracy.  Recommended as a default feature.
 
133
 
 
134
.B noise
 
135
:  Bayesian Noise Reduction (BNR).  Bayesian Noise Reduction kicks in at 2500 innocent messages and provides an advanced progressive noise logic to reduce Bayesian Noise (wordlist attacks) in spams.  See http://bnr.nuclearelephant.com for more information.
 
136
 
 
137
.B tb\=N
 
138
:  Sets the training loop buffering level.  Training loop buffering is the amount of statistical sedation performed to water down statistics and avoid false positives during the user's training loop.  The training buffer sets the buffer sensitivity, and should be a number between 0 (no buffering whatsoever) to 10 (heavy buffering).  The default is 5, half of what previous versions of DSPAM used.  To avoid dulling down statistics at all during the training loop, set this to 0.
 
139
 
 
140
.B whitelist
 
141
:  Automatic whitelisting.  DSPAM will keep track of the entire "From:" line for each message received per user, and automatically whitelist messages from senders with more than 20 innocent messages and zero spams.  Once the user reports a spam from the sender, automatic whitelisting will automatically be deactivated for that sender.  Since DSPAM uses the entire "From:" line, and not just the sender's email address, automatic whitelisting is a very safe approach to improving accuracy especially during initial training.
 
142
 
 
143
.B sbph
 
144
:  Sparse Binary Polynomial Hashing. Bill Yerazunis' tokenizer method from CRM114. Tokenizer method only - works with existing combination algorithms.
 
145
 
 
146
.ne 3
 
147
.TP
 
148
.BI \--class= [spam|innocent] \c
 
149
Identifies the disposition (if any) of the message being presented. This flag
 
150
should be used when a misclassification has occured, when the user is
 
151
corpus-feeding a message, or when an inoculation is being presented. This
 
152
flag should not be used for standard processing. This flag must be used in
 
153
conjunction with the --source flag. Omitting this flag causes DSPAM to
 
154
determine the disposition of the message on its own (the standard operating
 
155
mode).
 
156
 
 
157
.ne 3
 
158
.TP
 
159
.BI \--source= [error|corpus|inoculation] \c
 
160
Where 
 
161
.B --class
 
162
is used, the source of the classification must also be provided. The source
 
163
tells dspam how to learn the message being presented:
 
164
 
 
165
 
 
166
.B error
 
167
: The message being presented was a message previously misclassified by DSPAM.  When 'error' is provided as a source, DSPAM requires that the DSPAM signature be present in the message, and will use the signature to recall the original training metadata.  If the signature is not present, the message will be rejected.  In this source mode, DSPAM will also decrement each token's previous classification's count as well as the user totals.
 
168
 
 
169
You should use error only when DSPAM has made an error in classifying the message, and should present the modified version of the message with the DSPAM signature when doing so.
 
170
 
 
171
.B corpus
 
172
: The message being presented is from a mail corpus, and should be trained as a new message, rather than re-trained based on a signature.  The message's full headers and body will be analyzed and the correct classification will be incremented, without its opposite being decremented.
 
173
 
 
174
You should use corpus only when feeding messages in from corpus.
 
175
                                                                                
 
176
.B inoculation
 
177
: The message being presented is in pristine form, and should be trained as an inoculation.  Inoculations are a more intense mode of training designed to cause DSPAM to train the user's metadata repeatedly on previoulsy unknown tokens, in an attempt to vaccinate the user from future messages similar to the one being presented.  You should use inoculation only on honeypots and the like.
 
178
 
 
179
.ne 3
 
180
.TP
 
181
.BI \--profile= [PROFILE]\c
 
182
Specify a storage profile from dspam.conf. The storage profile selected will be used for all database connectivity. See dspam.conf for more information. 
 
183
 
 
184
.ne 3
 
185
.TP
 
186
.BI \--deliver= [innocent,spam]\c
 
187
Tells
 
188
.B DSPAM
 
189
to deliver the message if its result falls within the criteria specified. For example, --deliver=innocent will cause DSPAM to only deliver the message if its classification has been determined as innocent. Providing --deliver=innocent,spam will cause DSPAM to deliver the message regardless of its classification. This flag provides a significant amount of flexibility for nonstandard implementations.
 
190
 
 
191
.ne 3
 
192
.TP
 
193
.B \--stdout \c
 
194
If the message is indeed deemed "deliverable" by the
 
195
.B \--deliver
 
196
flag, this flag will cause DSPAM to deliver the message to stdout, rather than the configured delivery agent.
 
197
 
 
198
.ne 3
 
199
.TP
 
200
.B \--process \c
 
201
Tells
 
202
.B DSPAM
 
203
to process the message. This is the default behavior, and the flag is implied unless 
 
204
.B \--classify
 
205
is used.
 
206
 
 
207
.ne 3
 
208
.TP
 
209
.BI \--classify\c
 
210
Tells
 
211
.B DSPAM
 
212
to only classify the message, and not perform any writes to the user's
 
213
data or attempt to deliver/quarantine the message. The results of a
 
214
classification are printed to stdout in the following format:
 
215
 
 
216
X-DSPAM-Result: User; result="Spam"; probability=1.0000; confidence=0.80
 
217
 
 
218
.B NOTE
 
219
: The output of the classification is specific to a user's own data, and
 
220
does not include the output of any groups they might be affiliated with,
 
221
so it is entirely possible that the message would be caught as spam by a
 
222
group the user belongs to, and appear as innocent in the output of a 
 
223
classification. To get the classification for the
 
224
.B group
 
225
, use the group name as the user instead of an individual.
 
226
 
 
227
.ne 3
 
228
.TP
 
229
.BI \--signature =[signature]
 
230
If only the signature is available for training, and not the entire message,
 
231
the --signature flag may be used to feed the signature into DSPAM and forego
 
232
the reading of stdin. DSPAM will process the signature with whatever
 
233
commandline classification was specified. NOTE: This should only be used
 
234
with
 
235
.B --source=error
 
236
 
 
237
.ne 3
 
238
.TP
 
239
.BI \--debug\c
 
240
If
 
241
.B DSPAM
 
242
was compiled with
 
243
.B --enable-debug
 
244
then using --debug will turn on debugging messages to /tmp/dspam.debug.
 
245
 
 
246
.ne 3
 
247
.TP
 
248
.BI \--daemon\c
 
249
If
 
250
.B DSPAM
 
251
was compiled with
 
252
.B --enable-daemon
 
253
then using --daemon will cause DSPAM to enter daemon mode, where it will listen
 
254
for DSPAM clients to connect and actively service requests.
 
255
 
 
256
.ne 3
 
257
.TP
 
258
.BI \--client\c
 
259
If
 
260
.B DSPAM
 
261
was compiled with
 
262
.B --enable-daemon
 
263
then using --client will cause DSPAM to act as a client and attempt to connect to the DSPAM server specified in the client's configuration within dspam.conf. If client behavior is desired, this option
 
264
.B must
 
265
be specified, otherwise the agent simply operate as self-contained and processes the message on its own, eliminating any benefit of using the daemon.
 
266
 
 
267
.ne 3
 
268
.TP
 
269
.BI \--rcpt-to\c
 
270
If
 
271
.B DSPAM
 
272
will be configured to deliver via LMTP or SMTP, this flag may be used to define the RCPT TOs which will be used for the delivery of each user specified with --user. If no recipients are provided, the RCPT TOs will match the username.
 
273
NOTE: The recipient list should always be balanced with the user list, or empty. Specifying an unbalanced number of recipients to users will result in undefined behavior.
 
274
 
 
275
.ne 3
 
276
.TP
 
277
.BI \--mail-from=\c
 
278
If
 
279
.B DSPAM
 
280
will be cofigured to deliver via LMTP or SMTP, this flag will set the MAIL FROM sent on delivery of the message. The default MAIL FROM depends on how the message was originally relayed to DSPAM. If it was relayed via the commandline, an empty MAIL FROM will be used. If it was relayed via LMTP, the original MAIL FROM will be used. 
 
281
 
 
282
.SH EXIT VALUE
 
283
.LP
 
284
.ne 3
 
285
.PD 0
 
286
.TP
 
287
.B 0
 
288
Operation was successful.
 
289
.ne 3
 
290
.TP
 
291
.B other
 
292
Operation resulted in an error. If the error involved an error in calling the
 
293
delivery agent, the exit value of the delivery agent will be returned.
 
294
.PD
 
295
 
 
296
.SH AUTHORS
 
297
.LP
 
298
 
 
299
Jonathan A. Zdziarski
 
300
 
 
301
For more information, see http://dspam.nuclearelephant.com.
 
302
 
 
303
.SH SEE ALSO
 
304
.BR dspam_stats (1),
 
305
.BR dspam_corpus (1),
 
306
.BR dspam_clean (1),
 
307
.BR dspam_dump (1),
 
308
.BR dspam_merge (1)
 
309