1 | ## $Id: dspam.conf.in,v 1.72 2006/05/14 15:40:42 jonz Exp $ |
---|
2 | ## dspam.conf -- DSPAM configuration file |
---|
3 | ## |
---|
4 | |
---|
5 | # |
---|
6 | # DSPAM Home: Specifies the base directory to be used for DSPAM storage |
---|
7 | # |
---|
8 | Home /home/system/dspam |
---|
9 | |
---|
10 | # |
---|
11 | # StorageDriver: Specifies the storage driver backend (library) to use. |
---|
12 | # You'll only need to set this if you are using dynamic storage driver plugins. |
---|
13 | # The default when one storage driver is specified is to statically link. Be |
---|
14 | # sure to include the path to the library if necessary, and some systems may |
---|
15 | # use an extension other than .so. |
---|
16 | # |
---|
17 | # Options include: |
---|
18 | # |
---|
19 | # libmysql_drv.so libpgsql_drv.so libsqlite_drv.so |
---|
20 | # libsqlite3_drv.so libora_drv.so libhash_drv.so |
---|
21 | # |
---|
22 | # IMPORTANT: Switching storage drivers requires more than merely changing |
---|
23 | # this option. If you do not wish to lose all of your data, you will need to |
---|
24 | # migrate it to the new backend before making this change. |
---|
25 | # |
---|
26 | StorageDriver /usr/lib/libmysql_drv.so |
---|
27 | |
---|
28 | # |
---|
29 | # Trusted Delivery Agent: Specifies the local delivery agent DSPAM should call |
---|
30 | # when delivering mail as a trusted user. Use %u to specify the user DSPAM is |
---|
31 | # processing mail for. It is generally a good idea to allow the MTA to specify |
---|
32 | # the pass-through arguments at run-time, but they may also be specified here. |
---|
33 | # |
---|
34 | # Most operating system defaults: |
---|
35 | #TrustedDeliveryAgent "/usr/bin/procmail" # Linux |
---|
36 | #TrustedDeliveryAgent "/usr/bin/mail" # Solaris |
---|
37 | #TrustedDeliveryAgent "/usr/libexec/mail.local" # FreeBSD |
---|
38 | #TrustedDeliveryAgent "/usr/bin/procmail" # Cygwin |
---|
39 | # |
---|
40 | # Other popular configurations: |
---|
41 | #TrustedDeliveryAgent "/usr/cyrus/bin/deliver" # Cyrus |
---|
42 | #TrustedDeliveryAgent "/bin/maildrop" # Maildrop |
---|
43 | #TrustedDeliveryAgent "/usr/local/sbin/exim -oMr spam-scanned" # Exim |
---|
44 | # |
---|
45 | TrustedDeliveryAgent "/var/qmail/bin/qmail-inject -f %s %r " |
---|
46 | |
---|
47 | # |
---|
48 | # Untrusted Delivery Agent: Specifies the local delivery agent and arguments |
---|
49 | # DSPAM should use when delivering mail and running in untrusted user mode. |
---|
50 | # Because DSPAM will not allow pass-through arguments to be specified to |
---|
51 | # untrusted users, all arguments should be specified here. Use %u to specify |
---|
52 | # the user DSPAM is processing mail for. This configuration parameter is only |
---|
53 | # necessary if you plan on allowing untrusted processing. |
---|
54 | # |
---|
55 | #UntrustedDeliveryAgent "/usr/bin/procmail -d %u" |
---|
56 | |
---|
57 | # |
---|
58 | # SMTP or LMTP Delivery: Alternatively, you may wish to use SMTP or LMTP |
---|
59 | # delivery to deliver your message to the mail server. You will need to |
---|
60 | # configure with --enable-daemon to use host delivery, however you do not need |
---|
61 | # to operate in daemon mode. Specify an IP address or UNIX path to a domain |
---|
62 | # socket below as a host. |
---|
63 | # |
---|
64 | # If you would like to set up DeliveryHost's on a per-domain basis, use |
---|
65 | # the syntax: DeliveryHost.domain.com 1.2.3.4 |
---|
66 | # |
---|
67 | #DeliveryHost 127.0.0.1 |
---|
68 | #DeliveryPort 24 |
---|
69 | #DeliveryIdent localhost |
---|
70 | #DeliveryProto LMTP |
---|
71 | |
---|
72 | # |
---|
73 | # FallbackDomains: If you want to specify certain domains as fallback domains, |
---|
74 | # enable this option. For example, you could create a user @domain.com, and |
---|
75 | # if bob@domain.com does not resolve to a known user on the system, the user |
---|
76 | # could default to your @domain.com user. NOTE: This also requires designating |
---|
77 | # fallbackDomain for the domain name; |
---|
78 | # e.g. dspam_admin ch pref domain.com fallbackDomain on |
---|
79 | # |
---|
80 | #FallbackDomains on |
---|
81 | |
---|
82 | # |
---|
83 | # Quarantine Agent: DSPAM's default behavior is to quarantine all mail it |
---|
84 | # thinks is spam. If you wish to override this behavior, you may specify |
---|
85 | # a quarantine agent which will be called with all messages DSPAM thinks is |
---|
86 | # spam. Use %u to specify the user DSPAM is processing mail for. |
---|
87 | # |
---|
88 | #QuarantineAgent "/usr/bin/procmail -d spam" |
---|
89 | |
---|
90 | # |
---|
91 | # DSPAM can optionally process "plused users" (addresses in the user+detail |
---|
92 | # form) by truncating the username just before the "+", so all internal |
---|
93 | # processing occurs for "user", but delivery will be performed for |
---|
94 | # "user+detail". This is only useful if the LDA can handle "plused users" |
---|
95 | # (for example Cyrus IMAP) and when configured for LMTP delivery above |
---|
96 | # |
---|
97 | # NOTE: Plused detail presently only works when usernames are provided and |
---|
98 | # not fully qualified email address (@domain). |
---|
99 | # |
---|
100 | #EnablePlusedDetail on |
---|
101 | |
---|
102 | makeCorpus off |
---|
103 | |
---|
104 | # |
---|
105 | # Quarantine Mailbox: DSPAM's LMTP code can send spam mail using LMTP to a |
---|
106 | # "plused" mailbox (such as user+quarantine) leaving quarantine processing |
---|
107 | # for retraining or deletion to be performed by the LDA and the mail client. |
---|
108 | # "plused" mailboxes are supported by Cyrus IMAP and possibly other LDAs. |
---|
109 | # The mailbox name must have the + |
---|
110 | # |
---|
111 | #QuarantineMailbox +quarantine |
---|
112 | |
---|
113 | # |
---|
114 | # OnFail: What to do if local delivery or quarantine should fail. If set |
---|
115 | # to "unlearn", DSPAM will unlearn the message prior to exiting with an |
---|
116 | # un successful return code. The default option, "error" will not unlearn |
---|
117 | # the message but return the appropriate error code. The unlearn option |
---|
118 | # is use-ful on some systems where local delivery failures will cause the |
---|
119 | # message to be requeued for delivery, and could result in the message |
---|
120 | # being processed multiple times. During a very large failure, however, |
---|
121 | # this could cause a significant load increase. |
---|
122 | # |
---|
123 | OnFail error |
---|
124 | |
---|
125 | # Trusted Users: Only the users specified below will be allowed to perform |
---|
126 | # administrative functions in DSPAM such as setting the active user and |
---|
127 | # accessing tools. All other users attempting to run DSPAM will be restricted; |
---|
128 | # their uids will be forced to match the active username and they will not be |
---|
129 | # able to specify delivery agent privileges or use tools. |
---|
130 | # |
---|
131 | Trust root |
---|
132 | Trust mail |
---|
133 | Trust mailnull |
---|
134 | Trust smmsp |
---|
135 | Trust daemon |
---|
136 | #Trust nobody |
---|
137 | #Trust majordomo |
---|
138 | |
---|
139 | # |
---|
140 | # Debugging: Enables debugging for some or all users. IMPORTANT: DSPAM must |
---|
141 | # be compiled with debug support in order to use this option. DSPAM should |
---|
142 | # never be running in production with debug active unless you are |
---|
143 | # troubleshooting problems. |
---|
144 | # |
---|
145 | # DebugOpt: One or more of: process, classify, spam, fp, inoculation, corpus |
---|
146 | # process standard message processing |
---|
147 | # classify message classification using --classify |
---|
148 | # spam error correction of missed spam |
---|
149 | # fp error correction of false positives |
---|
150 | # inoculation message inoculations (source=inoculation) |
---|
151 | # corpus corpusfed messages (source=corpus) |
---|
152 | # |
---|
153 | #Debug * |
---|
154 | #Debug bob bill |
---|
155 | # |
---|
156 | #DebugOpt process spam fp classify fp inoculation corpus |
---|
157 | |
---|
158 | # |
---|
159 | # ClassAlias: Alias a particular class to spam/nonspam. This is useful if |
---|
160 | # classifying things other than spam. |
---|
161 | #ClassAliasSpam badstuff |
---|
162 | #ClassAliasNonspam goodstuff |
---|
163 | |
---|
164 | # |
---|
165 | # Training Mode: The default training mode to use for all operations, when |
---|
166 | # one has not been specified on the commandline or in the user's preferences. |
---|
167 | # Acceptable values are: toe, tum, teft, notrain |
---|
168 | # |
---|
169 | TrainingMode tum |
---|
170 | |
---|
171 | # |
---|
172 | # TestConditionalTraining: By default, dspam will retrain certain errors |
---|
173 | # until the condition is no longer met. This usually accelerates learning. |
---|
174 | # Some people argue that this can increase the risk of errors, however. |
---|
175 | # |
---|
176 | TestConditionalTraining on |
---|
177 | |
---|
178 | # |
---|
179 | # Features: Specify features to activate by default; can also be specified |
---|
180 | # on the commandline. See the documentation for a list of available features. |
---|
181 | # If _any_ features are specified on the commandline, these are ignored. |
---|
182 | # |
---|
183 | # NOTE: For standard "CRM114" Markovian weighting, use sbph |
---|
184 | # |
---|
185 | #Feature sbph |
---|
186 | Feature noise |
---|
187 | Feature whitelist |
---|
188 | |
---|
189 | # Training Buffer: The training buffer waters down statistics during training. |
---|
190 | # It is designed to prevent false positives, but can also dramatically reduce |
---|
191 | # dspam's catch rate during initial training. This can be a number from 0 |
---|
192 | # (no buffering) to 10 (maximum buffering). If you are paranoid about false |
---|
193 | # positives, you should probably enable this option. |
---|
194 | #Feature tb=5 |
---|
195 | |
---|
196 | # |
---|
197 | # Algorithms: Specify the statistical algorithms to use, overriding any |
---|
198 | # defaults configured in the build. The options are: |
---|
199 | # naive Naive-Bayesian (All Tokens) |
---|
200 | # graham Graham-Bayesian ("A Plan for Spam") |
---|
201 | # burton Burton-Bayesian (SpamProbe) |
---|
202 | # robinson Robinson's Geometric Mean Test (Obsolete) |
---|
203 | # chi-square Fisher-Robinson's Chi-Square Algorithm |
---|
204 | # |
---|
205 | # You may have multiple algorithms active simultaneously, but it is strongly |
---|
206 | # recommended that you group Bayesian algorithms with other Bayesian |
---|
207 | # algorithms, and any use of Chi-Square remain exclusive. |
---|
208 | # |
---|
209 | # NOTE: For standard "CRM114" Markovian weighting, use 'naive', or consider |
---|
210 | # using 'burton' for slightly better accuracy |
---|
211 | # |
---|
212 | # Don't mess with this unless you know what you're doing |
---|
213 | # |
---|
214 | #Algorithm chi-square |
---|
215 | #Algorithm naive |
---|
216 | Algorithm graham burton |
---|
217 | |
---|
218 | Tokenizer chain |
---|
219 | |
---|
220 | PValue bcr |
---|
221 | |
---|
222 | |
---|
223 | |
---|
224 | # |
---|
225 | # ImprobabilityDrive: Calculate odds-ratios for ham/spam, and add to |
---|
226 | # X-DSPAM-Improbability headers |
---|
227 | #ImprobabilityDrive on |
---|
228 | |
---|
229 | # |
---|
230 | # Preferences: Specify any preferences to set by default, unless otherwise |
---|
231 | # overridden by the user (see next section) or a default.prefs file. |
---|
232 | # If user or default.prefs are found, the user's preferences will override any |
---|
233 | # defaults. |
---|
234 | # |
---|
235 | Preference "spamAction=quarantine" |
---|
236 | Preference "signatureLocation=headers" # 'message' or 'headers' |
---|
237 | Preference "showFactors=on" |
---|
238 | #Preference "spamAction=tag" |
---|
239 | #Preference "spamSubject=SPAM" |
---|
240 | |
---|
241 | # |
---|
242 | # Overrides: Specifies the user preferences which may override configuration |
---|
243 | # and commandline defaults. Any other preferences supplied by an untrusted user |
---|
244 | # will be ignored. |
---|
245 | # |
---|
246 | AllowOverride enableBNR |
---|
247 | AllowOverride enableWhitelist |
---|
248 | AllowOverride fallbackDomain |
---|
249 | AllowOverride ignoreGroups |
---|
250 | AllowOverride ignoreRBLLookups |
---|
251 | AllowOverride localStore |
---|
252 | AllowOverride makeCorpus |
---|
253 | AllowOverride optIn |
---|
254 | AllowOverride optOut |
---|
255 | AllowOverride optOutClamAV |
---|
256 | AllowOverride processorBias |
---|
257 | AllowOverride RBLInoculate |
---|
258 | AllowOverride showFactors |
---|
259 | AllowOverride signatureLocation |
---|
260 | AllowOverride spamAction |
---|
261 | AllowOverride spamSubject |
---|
262 | AllowOverride statisticalSedation |
---|
263 | AllowOverride storeFragments |
---|
264 | AllowOverride tagNonspam |
---|
265 | AllowOverride tagSpam |
---|
266 | AllowOverride trainPristine |
---|
267 | AllowOverride trainingMode |
---|
268 | AllowOverride whitelistThreshold |
---|
269 | AllowOverride dailyQuarantineSummary |
---|
270 | |
---|
271 | # --- MySQL --- |
---|
272 | |
---|
273 | # |
---|
274 | # Storage driver settings: Specific to a particular storage driver. Uncomment |
---|
275 | # the configuration specific to your installation, if applicable. |
---|
276 | # |
---|
277 | MySQLServer /var/run/mysql/mysql.sock |
---|
278 | #MySQLPort |
---|
279 | MySQLUser dspamdb |
---|
280 | MySQLPass %mysql_passwd% |
---|
281 | MySQLDb dspamdb |
---|
282 | |
---|
283 | # If you are using replication for clustering, you can also specify a separate |
---|
284 | # server to perform all writes to. |
---|
285 | # |
---|
286 | #MySQLWriteServer /var/lib/mysql/mysql.sock |
---|
287 | #MySQLWritePort |
---|
288 | #MySQLWriteUser dspam |
---|
289 | #MySQLWritePass changeme |
---|
290 | #MySQLWriteDb dspam_write |
---|
291 | #MySQLCompress true |
---|
292 | |
---|
293 | # If your replication isn't close to real-time, your retraining might fail if |
---|
294 | # the signature isn't found. One workaround for this is to use the write |
---|
295 | # database for all signature reads: |
---|
296 | # |
---|
297 | #MySQLReadSignaturesFromWriteDb on |
---|
298 | |
---|
299 | # Use this if you have the 4.1 quote bug (see doc/mysql.txt) |
---|
300 | #MySQLSupressQuote on |
---|
301 | |
---|
302 | # If you're running DSPAM in client/server (daemon) mode, uncomment the |
---|
303 | # setting below to override the default connection cache size (the number |
---|
304 | # of connections the server pools between all clients). The connection cache |
---|
305 | # represents the maximum number of database connections *available* and should |
---|
306 | # be set based on the maximum number of concurrent connections you're likely |
---|
307 | # to have. Each connection may be used by only one thread at a time, so all |
---|
308 | # other threads _will block_ until another connection becomes available. |
---|
309 | # |
---|
310 | #MySQLConnectionCache 10 |
---|
311 | |
---|
312 | # If you're using vpopmail or some other type of virtual setup and wish to |
---|
313 | # change the table dspam uses to perform username/uid lookups, you can over- |
---|
314 | # ride it below |
---|
315 | |
---|
316 | #MySQLVirtualTable dspam_virtual_uids |
---|
317 | #MySQLVirtualUIDField uid |
---|
318 | #MySQLVirtualUsernameField username |
---|
319 | |
---|
320 | # UIDInSignature: MySQL supports the insertion of the user id into the DSPAM |
---|
321 | # signature. This allows you to create one single spam or fp alias |
---|
322 | # (pointing to some arbitrary user), and the uid in the signature will |
---|
323 | # switch to the correct user. Result: you need only one spam alias |
---|
324 | |
---|
325 | #MySQLUIDInSignature on |
---|
326 | |
---|
327 | # --- PostgreSQL --- |
---|
328 | |
---|
329 | #PgSQLServer 127.0.0.1 |
---|
330 | #PgSQLPort 5432 |
---|
331 | #PgSQLUser dspam |
---|
332 | #PgSQLPass changeme |
---|
333 | #PgSQLDb dspam |
---|
334 | |
---|
335 | # If you're running DSPAM in client/server (daemon) mode, uncomment the |
---|
336 | # setting below to override the default connection cache size (the number |
---|
337 | # of connections the server pools between all clients). |
---|
338 | # |
---|
339 | #PgSQLConnectionCache 3 |
---|
340 | |
---|
341 | # UIDInSignature: PgSQL supports the insertion of the user id into the DSPAM |
---|
342 | # signature. This allows you to create one single spam or fp alias |
---|
343 | # (pointing to some arbitrary user), and the uid in the signature will |
---|
344 | # switch to the correct user. Result: you need only one spam alias |
---|
345 | |
---|
346 | #PgSQLUIDInSignature on |
---|
347 | |
---|
348 | # If you're using vpopmail or some other type of virtual setup and wish to |
---|
349 | # change the table dspam uses to perform username/uid lookups, you can over- |
---|
350 | # ride it below |
---|
351 | |
---|
352 | #PgSQLVirtualTable dspam_virtual_uids |
---|
353 | #PgSQLVirtualUIDField uid |
---|
354 | #PgSQLVirtualUsernameField username |
---|
355 | |
---|
356 | # --- Oracle --- |
---|
357 | |
---|
358 | #OraServer "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SID=PROD)))" |
---|
359 | #OraUser dspam |
---|
360 | #OraPass changeme |
---|
361 | #OraSchema dspam |
---|
362 | |
---|
363 | # --- SQLite --- |
---|
364 | |
---|
365 | #SQLitePragma "synchronous = OFF" |
---|
366 | |
---|
367 | # --- Hash --- |
---|
368 | |
---|
369 | # HashRecMax: Default number of records to create in the initial segment when |
---|
370 | # building hash files. 100,000 yields files 1.6MB in size, but can fill up |
---|
371 | # fast, so be sure to increase this (to a million or more) if you're not using |
---|
372 | # autoextend. |
---|
373 | # |
---|
374 | # Primes List: |
---|
375 | # 53, 97, 193, 389, 769, 1543, 3079, 6151, 12289, 24593, 49157, 98317, 196613, |
---|
376 | # 393241, 786433, 1572869, 3145739, 6291469, 12582917, 25165843, 50331653, |
---|
377 | # 100663319, 201326611, 402653189, 805306457, 1610612741, 3221225473, |
---|
378 | # 4294967291 |
---|
379 | # |
---|
380 | HashRecMax 98317 |
---|
381 | |
---|
382 | # HashAutoExtend: Autoextend hash databases when they fill up. This allows |
---|
383 | # them to continue to train by adding extents (extensions) to the file. There |
---|
384 | # will be a small delay during the growth process, as everything needs to be |
---|
385 | # closed and remapped. |
---|
386 | # |
---|
387 | HashAutoExtend on |
---|
388 | |
---|
389 | # HashMaxExtents: The maximum number of extents that may be created in a single |
---|
390 | # hash file. Set this to zero for unlimited |
---|
391 | # |
---|
392 | HashMaxExtents 0 |
---|
393 | |
---|
394 | # HashExtentSize: The record size for newly created extents. Creating this too |
---|
395 | # small could result in many extents being created. Creating this too large |
---|
396 | # could result in excessive disk space usage. |
---|
397 | # |
---|
398 | HashExtentSize 49157 |
---|
399 | |
---|
400 | # HashMaxSeek: The maximum number of records to seek to insert a new record |
---|
401 | # before failing or adding a new extent. Setting this too high will exhaustively |
---|
402 | # scan each segment and kill performance. Typically, a low value is acceptable |
---|
403 | # as even older extents will continue to fill over time. |
---|
404 | # |
---|
405 | HashMaxSeek 100 |
---|
406 | |
---|
407 | # HashConcurrentUser: If you are using a single, stateful hash database in |
---|
408 | # daemon mode, specifying a concurrent user will cause the user to be |
---|
409 | # permanently mapped into memory and shared via rwlocks. |
---|
410 | # |
---|
411 | #HashConcurrentUser user |
---|
412 | |
---|
413 | # HashConnectionCache: If running in daemon mode, this is the max # of |
---|
414 | # concurrent connections that will be supported. NOTE: If you are using |
---|
415 | # HashConcurrentUser, this option is ignored, as all connections are read- |
---|
416 | # write locked instead of mutex locked. |
---|
417 | HashConnectionCache 10 |
---|
418 | |
---|
419 | # LDAP: Perform various LDAP functions depending on LDAPMode variable. |
---|
420 | # Presently, the only mode supported is 'verify', which will verify the existence |
---|
421 | # of an unknown user in LDAP prior to creating them as a new user in the system. |
---|
422 | # This is useful on some systems acting as gateway machines. |
---|
423 | # |
---|
424 | #LDAPMode verify |
---|
425 | #LDAPHost ldaphost.mydomain.com |
---|
426 | #LDAPFilter "(mail=%u)" |
---|
427 | #LDAPBase ou=people,dc=domain,dc=com |
---|
428 | |
---|
429 | # Optionally, you can specify storage profiles, and specify the server to |
---|
430 | # use on the commandline with --profile. For example: |
---|
431 | # |
---|
432 | #Profile DECAlpha |
---|
433 | #MySQLServer.DECAlpha 10.0.0.1 |
---|
434 | #MySQLPort.DECAlpha 3306 |
---|
435 | #MySQLUser.DECAlpha dspam |
---|
436 | #MySQLPass.DECAlpha changeme |
---|
437 | #MySQLDb.DECAlpha dspam |
---|
438 | #MySQLCompress.DECAlpha true |
---|
439 | # |
---|
440 | #Profile Sun420R |
---|
441 | #MySQLServer.Sun420R 10.0.0.2 |
---|
442 | #MySQLPort.Sun420R 3306 |
---|
443 | #MySQLUser.Sun420R dspam |
---|
444 | #MySQLPass.Sun420R changeme |
---|
445 | #MySQLDb.Sun420R dspam |
---|
446 | #MySQLCompress.Sun420R false |
---|
447 | # |
---|
448 | #DefaultProfile DECAlpha |
---|
449 | |
---|
450 | # |
---|
451 | # If you're using storage profiles, you can set failovers for each profile. |
---|
452 | # Of course, if you'll be failing over to another database, that database |
---|
453 | # must have the same information as the first. If you're using a global |
---|
454 | # database with no training, this should be relatively simple. If you're |
---|
455 | # configuring per-user data, however, you'll need to set up some type of |
---|
456 | # replication between databases. |
---|
457 | # |
---|
458 | #Failover.DECAlpha SUN420R |
---|
459 | #Failover.Sun420R DECAlpha |
---|
460 | |
---|
461 | # If the storage fails, the agent will follow each profile's failover up to |
---|
462 | # a maximum number of failover attempts. This should be set to a maximum of |
---|
463 | # the number of profiles you have, otherwise the agent could loop and try |
---|
464 | # the same profile multiple times (unless this is your desired behavior). |
---|
465 | # |
---|
466 | #FailoverAttempts 1 |
---|
467 | |
---|
468 | # |
---|
469 | # Ignored headers: If DSPAM is behind other tools which may add a header to |
---|
470 | # incoming emails, it may be beneficial to ignore these headers - especially |
---|
471 | # if they are coming from another spam filter. If you are _not_ using one of |
---|
472 | # these tools, however, leaving the appropriate headers commented out will |
---|
473 | # allow DSPAM to use them as telltale signs of forged email. |
---|
474 | # |
---|
475 | #IgnoreHeader X-Spam-Status |
---|
476 | #IgnoreHeader X-Spam-Scanned |
---|
477 | #IgnoreHeader X-Virus-Scanner-Result |
---|
478 | |
---|
479 | # |
---|
480 | # Lookup: Perform lookups on streamlined blackhole list servers (see |
---|
481 | # http://www.nuclearelephant.com/projects/sbl/). The streamlined blacklist |
---|
482 | # server is machine-automated, unsupervised blacklisting system designed to |
---|
483 | # provide real-time and highly accurate blacklisting based on network spread. |
---|
484 | # When performing a lookup, DSPAM will automatically learn the inbound message |
---|
485 | # as spam if the source IP is listed. Until an official public RABL server is |
---|
486 | # available, this feature is only useful if you are running your own |
---|
487 | # streamlined blackhole list server for internal reporting among multiple mail |
---|
488 | # servers. Provide the name of the lookup zone below to use. |
---|
489 | # |
---|
490 | # This function performs standard reverse-octet.domain lookups, and while it |
---|
491 | # will function with many RBLs, it's strongly discouraged to use those |
---|
492 | # maintained by humans as they're often inaccurate and could hurt filter |
---|
493 | # learning and accuracy. |
---|
494 | # |
---|
495 | #Lookup "sbl.yourdomain.com" |
---|
496 | |
---|
497 | # |
---|
498 | # RBLInoculate: If you want to inoculate the user from RBL'd messages it would |
---|
499 | # have otherwise missed, set this to on. |
---|
500 | # |
---|
501 | #RBLInoculate off |
---|
502 | |
---|
503 | # |
---|
504 | # Notifications: Enable the sending of notification emails to users (first |
---|
505 | # message, quarantine full, etc.) |
---|
506 | # |
---|
507 | Notifications off |
---|
508 | |
---|
509 | # |
---|
510 | # Purge configuration: Set dspam_clean purge default options, if not otherwise |
---|
511 | # specified on the commandline |
---|
512 | # |
---|
513 | PurgeSignatures 14 # Stale signatures |
---|
514 | PurgeNeutral 90 # Tokens with neutralish probabilities |
---|
515 | PurgeUnused 90 # Unused tokens |
---|
516 | PurgeHapaxes 30 # Tokens with less than 5 hits (hapaxes) |
---|
517 | PurgeHits1S 15 # Tokens with only 1 spam hit |
---|
518 | PurgeHits1I 15 # Tokens with only 1 innocent hit |
---|
519 | |
---|
520 | # |
---|
521 | # Purge configuration for SQL-based installations using purge.sql |
---|
522 | # |
---|
523 | #PurgeSignature off # Specified in purge.sql |
---|
524 | #PurgeNeutral 90 |
---|
525 | #PurgeUnused off # Specified in purge.sql |
---|
526 | #PurgeHapaxes off # Specified in purge.sql |
---|
527 | #PurgeHits1S off # Specified in purge.sql |
---|
528 | #PurgeHits1I off # Specified in purge.sql |
---|
529 | |
---|
530 | # |
---|
531 | # Local Mail Exchangers: Used for source address tracking, tells DSPAM which |
---|
532 | # mail exchangers are local and therefore should be ignored in the Received: |
---|
533 | # header when tracking the source of an email. Note: you should use the address |
---|
534 | # of the host as appears between brackets [ ] in the Received header. |
---|
535 | # |
---|
536 | #LocalMX 127.0.0.1 |
---|
537 | |
---|
538 | # |
---|
539 | # Logging: Disabling logging for users will make usage graphs unavailable to |
---|
540 | # them. Disabling system logging will make admin graphs unavailable. |
---|
541 | # |
---|
542 | SystemLog on |
---|
543 | UserLog on |
---|
544 | |
---|
545 | # |
---|
546 | # TrainPristine: for systems where the original message remains server side |
---|
547 | # and can therefore be presented in pristine format for retraining. This option |
---|
548 | # will cause DSPAM to cease all writing of signatures and DSPAM headers to the |
---|
549 | # message, and deliver the message in as pristine format as possible. This mode |
---|
550 | # REQUIRES that the original message in its pristine format (as of delivery) |
---|
551 | # be presented for retraining, as in the case of webmail, imap, or other |
---|
552 | # applications where the message is actually kept server-side during reading, |
---|
553 | # and is preserved. DO NOT use this switch unless the original message can be |
---|
554 | # presented for retraining with the ORIGINAL HEADERS and NO MODIFICATIONS. |
---|
555 | # |
---|
556 | #TrainPristine on |
---|
557 | |
---|
558 | # |
---|
559 | # Opt: in or out; determines DSPAM's default filtering behavior. If this value |
---|
560 | # is set to in, users must opt-in to filtering by dropping a .dspam file in |
---|
561 | # /var/dspam/opt-in/user.dspam (or if you have homedirs configured, a .dspam |
---|
562 | # folder in their home directory). The default is opt-out, which means all |
---|
563 | # users will be filtered unless a .nodspam file is dropped in |
---|
564 | # /var/dspam/opt-out/user.nodspam |
---|
565 | # |
---|
566 | Opt out |
---|
567 | |
---|
568 | # |
---|
569 | # TrackSources: specify which (if any) source addresses to track and report |
---|
570 | # them to syslog (mail.info). This is useful if you're running a firewall or |
---|
571 | # blacklist and would like to use this information. Spam reporting also drops |
---|
572 | # RABL blacklist files (see http://www.nuclearelephant.com/projects/rabl/). |
---|
573 | # |
---|
574 | #TrackSources spam nonspam |
---|
575 | |
---|
576 | # |
---|
577 | # ParseToHeaders: In lieu of setting up individual aliases for each user, |
---|
578 | # DSPAM can be configured to automatically parse the To: address for spam and |
---|
579 | # false positive forwards. From there, it can be configured to either set the |
---|
580 | # DSPAM user based on the username specified in the header and/or change the |
---|
581 | # training class and source accordingly. The options below can be used to |
---|
582 | # customize most common types of header parsing behavior to avoid the need for |
---|
583 | # multiple aliases, or if using LMTP, aliases entirely.. |
---|
584 | # |
---|
585 | # ParseToHeader: Parse the To: headers of an incoming message. This must be |
---|
586 | # set to 'on' to use either of the following features. |
---|
587 | # |
---|
588 | # ChangeModeOnParse: Automatically change the class (to spam or innocent) |
---|
589 | # depending on whether spam- or notspam- was specified, and change the source |
---|
590 | # to 'error'. This is convenient if you're not using aliases at all, but |
---|
591 | # are delivering via LMTP. |
---|
592 | # |
---|
593 | # ChangeUserOnParse: Automatically change the username to match that specified |
---|
594 | # in the To: header. For example, spam-bob@domain.tld will set the username |
---|
595 | # to bob, ignoring any --user passed in. This may not always be desirable if |
---|
596 | # you are using virtual email addresses as usernames. Options: |
---|
597 | # on or user take the portion before the @ sign only |
---|
598 | # full take everything after the initial {spam,notspam}-. |
---|
599 | # |
---|
600 | #ParseToHeaders on |
---|
601 | #ChangeModeOnParse on |
---|
602 | #ChangeUserOnParse on |
---|
603 | |
---|
604 | # |
---|
605 | # Broken MTA Options: Some MTAs don't support the proper functionality |
---|
606 | # necessary. In these cases you can activate certain features in DSPAM to |
---|
607 | # compensate. 'returnCodes' causes DSPAM to return an exit code of 99 if |
---|
608 | # the message is spam, 0 if not, or a negative code if an error has occured. |
---|
609 | # Specifying 'case' causes DSPAM to force the input usernames to lowercase. |
---|
610 | # Spceifying 'lineStripping' causes DSPAM to strip ^M's from messages passed |
---|
611 | # in. |
---|
612 | # |
---|
613 | #Broken returnCodes |
---|
614 | #Broken case |
---|
615 | #Broken lineStripping |
---|
616 | |
---|
617 | # |
---|
618 | # MaxMessageSize: You may specify a maximum message size for DSPAM to process. |
---|
619 | # If the message is larger than the maximum size, it will be delivered |
---|
620 | # without processing. Value is in bytes. |
---|
621 | # |
---|
622 | MaxMessageSize 4194304 |
---|
623 | |
---|
624 | # |
---|
625 | # Virus Checking: If you are running clamd, DSPAM can perform stream-based |
---|
626 | # virus checking using TCP. Uncomment the values below to enable virus |
---|
627 | # checking. |
---|
628 | # |
---|
629 | # ClamAVResponse: reject (reject or drop the message with a permanent failure) |
---|
630 | # accept (accept the message and quietly drop the message) |
---|
631 | # spam (treat as spam and quarantine/tag/whatever) |
---|
632 | # |
---|
633 | #ClamAVPort 3310 |
---|
634 | #ClamAVHost 127.0.0.1 |
---|
635 | #ClamAVResponse accept |
---|
636 | |
---|
637 | # |
---|
638 | # Daemonized Server: If you are running DSPAM as a daemonized server using |
---|
639 | # --daemon, the following parameters will override the default. Use the |
---|
640 | # ServerPass option to set up accounts for each client machine. The DSPAM |
---|
641 | # server will process and deliver the message based on the parameters |
---|
642 | # specified. If you want the client machine to perform delivery, use |
---|
643 | # the --stdout option in conjunction with a local setup. |
---|
644 | # |
---|
645 | #ServerPort 24 |
---|
646 | #ServerQueueSize 32 |
---|
647 | ServerPID /var/run/dspam.pid |
---|
648 | |
---|
649 | # |
---|
650 | # ServerMode specifies the type of LMTP server to start. This can be one of: |
---|
651 | # dspam: DSPAM-proprietary DLMTP server, for communicating with dspamc |
---|
652 | # standard: Standard LMTP server, for communicating with Postfix or other MTA |
---|
653 | # auto: Speak both DLMTP and LMTP; auto-detect by ServerPass.IDENT |
---|
654 | # |
---|
655 | ServerMode dspam |
---|
656 | |
---|
657 | # If supporting DLMTP (dspam) mode, dspam clients will require authentication |
---|
658 | # as they will be passing in parameters. The idents below will be used to |
---|
659 | # determine which clients will be speaking DLMTP, so if you will be using |
---|
660 | # both LMTP and DLMTP from the same host, be sure to use something other |
---|
661 | # than the server's hostname below (which will be sent by the MTA during a |
---|
662 | # standard LMTP LHLO). |
---|
663 | # |
---|
664 | #ServerPass.Relay1 "secret" |
---|
665 | #ServerPass.Relay2 "password" |
---|
666 | ServerPass.localhost "1321092089qweerw12jkljf" |
---|
667 | # If supporting standard LMTP mode, server parameters will need to be specified |
---|
668 | # here, as they will not be passed in by the mail server. The ServerIdent |
---|
669 | # specifies the 250 response code ident sent back to connecting clients and |
---|
670 | # should be set to the hostname of your server, or an alias. |
---|
671 | # |
---|
672 | # NOTE: If you specify --user in ServerParameters, the RCPT TO will be |
---|
673 | # used only for delivery, and not set as the active user for processing. |
---|
674 | # |
---|
675 | #ServerParameters "--deliver=innocent -d %u" |
---|
676 | #ServerIdent "localhost.localdomain" |
---|
677 | |
---|
678 | # If you wish to use a local domain socket instead of a TCP socket, uncomment |
---|
679 | # the following. It is strongly recommended you use local domain sockets if |
---|
680 | # you are running the client and server on the same machine, as it eliminates |
---|
681 | # much of the bandwidth overhead. |
---|
682 | # |
---|
683 | ServerDomainSocketPath "/tmp/dspam.sock" |
---|
684 | |
---|
685 | # |
---|
686 | # Client Mode: If you are running DSPAM in client/server mode, uncomment and |
---|
687 | # set these variables. A ClientHost beginning with a / will be treated as |
---|
688 | # a domain socket. |
---|
689 | # |
---|
690 | ClientHost /tmp/dspam.sock |
---|
691 | ClientIdent "1321092089qweerw12jkljf@localhost" |
---|
692 | # |
---|
693 | #ClientHost 127.0.0.1 |
---|
694 | #ClientPort 24 |
---|
695 | #ClientIdent "secret@Relay1" |
---|
696 | |
---|
697 | # RABLQueue: Touch files in the RABL queue |
---|
698 | # If you are a reporting streamlined blackhole list participant, you can |
---|
699 | # touch ip addresses within the directory the rabl_client process is watching. |
---|
700 | # |
---|
701 | #RABLQueue /var/spool/rabl |
---|
702 | |
---|
703 | # DataSource: If you are using any type of data source that does not include |
---|
704 | # email-like headers (such as documents), uncomment the line below. This |
---|
705 | # will cause the entire input to be treated like a message "body" |
---|
706 | # |
---|
707 | #DataSource document |
---|
708 | |
---|
709 | # ProcessorWordFrequency: By default, words are only counted once per message. |
---|
710 | # If you are classifying large documents, however, you may wish to count once |
---|
711 | # per occurrence instead. |
---|
712 | # |
---|
713 | #ProcessorWordFrequency occurrence |
---|
714 | |
---|
715 | # ProcessorBias: Bias causes the filter to lean more toward 'innocent', and |
---|
716 | # usually greatly reduces false positives. It is the default behavior of |
---|
717 | # most Bayesian filters (including dspam). |
---|
718 | # |
---|
719 | # NOTE: You probably DONT want this if you're using Markovian Weighting, unless |
---|
720 | # you are paranoid about false positives. |
---|
721 | # |
---|
722 | ProcessorBias off |
---|
723 | |
---|
724 | ProcessorURLContext on |
---|
725 | |
---|
726 | |
---|
727 | ## EOF |
---|