Subversion Repositories

?revision_form?Rev ?revision_input??revision_submit??revision_endform?

Rev 6 | Rev 67 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6 Rev 46
1
********************************
1
********************************
2
* SHOULD YOU USE THIS PACKAGE? *
2
* SHOULD YOU USE THIS PACKAGE? *
3
********************************
3
********************************
4
4
5
Since version 4.50, Exim has the content-scanning extension formerly
5
Since version 4.50, Exim has the content-scanning extension formerly
6
known as "exiscan" built-in. It has a number of advantages and
6
known as "exiscan" built-in. It has a number of advantages and
7
disadvantages compared to SA-Exim.
7
disadvantages compared to SA-Exim.
8
8
9
Advantages of built-in content-scanning interface:
9
Advantages of built-in content-scanning interface:
10
10
11
 * One less configuration file to edit.
11
 * One less configuration file to edit.
12
 * Spam control policy integrates better with Exim's ACL system.
12
 * Spam control policy integrates better with Exim's ACL system.
13
 * It's possible to tell SA which user to scan for (the -u parameter of
13
 * It's possible to tell SA which user to scan for (the -u parameter of
14
   spamc). SA-Exim can't do that (yet).
14
   spamc). SA-Exim can't do that (yet).
15
 * Finer control over the mail header is possible, but not in a clean
15
 * Finer control over the mail header is possible, but not in a clean
16
   way (it involves putting all header fields you might possibly want
16
   way (it involves putting all header fields you might possibly want
17
   to add in the report template, and using rather complicated
17
   to add in the report template, and using rather complicated
18
   expansion expressions to extract the wanted ones from
18
   expansion expressions to extract the wanted ones from
19
   $spam_report). At any rate, you can choose a prefix different from
19
   $spam_report). At any rate, you can choose a prefix different from
20
   "X-Spam-".
20
   "X-Spam-".
21
21
22
Advantages of SA-Exim:
22
Advantages of SA-Exim:
23
23
24
 * It is possible to use the report_safe feature, which turns mail
24
 * It is possible to use the report_safe feature, which turns mail
25
   deemed to be spam into a message/rfc822 attachment of a report
25
   deemed to be spam into a message/rfc822 attachment of a report
26
   message. (Note however that if you do, then any X-SA-* fields added
26
   message. (Note however that if you do, then any X-SA-* fields added
27
   to help the greylisting module can't be removed.)
27
   to help the greylisting module can't be removed.)
28
 * All the add_header and rewrite_header options in 
28
 * All the add_header and rewrite_header options in 
29
   /etc/spamassassin/local.cf will be obeyed. In other words,
29
   /etc/spamassassin/local.cf will be obeyed. In other words,
30
   everything will be *almost* as if you filtered the mail through 
30
   everything will be *almost* as if you filtered the mail through 
31
   spamassassin on the command line.
31
   spamassassin on the command line.
32
 * So-called teergrubing ("tarpitting") is possible in a way that
32
 * So-called teergrubing ("tarpitting") is possible in a way that
33
   isn't possible with exiscan (I'm not in any way saying that it
33
   isn't possible with exiscan (I'm not in any way saying that it
34
   works as a counterattack against spammers).
34
   works as a counterattack against spammers).
35
 * You can simply add the sa-exim package to a standard exim4
35
 * You can simply add the sa-exim package to a standard exim4
36
   installation and it should, in principle, instantly work (except
36
   installation and it should, in principle, instantly work (except
37
   you have to uncomment one line in sa-exim.conf).
37
   you have to uncomment one line in sa-exim.conf).
38
38
39
Both alternatives enable you to defer, greylist, reject, and blackhole
39
Both alternatives enable you to defer, greylist, reject, and blackhole
40
mail, optionally saving copies, at configurable score levels.
40
mail, optionally saving copies, at configurable score levels.
41
41
42
*****************
42
*****************
43
* CONFIGURATION *
43
* CONFIGURATION *
44
*****************
44
*****************
45
45
46
This version of the sa-exim package defaults to placing a configuration
46
This version of the sa-exim package defaults to placing a configuration
47
sniplet in /etc/exim4/conf.d/. Depending on what you have answered to the
47
sniplet in /etc/exim4/conf.d/. Depending on what you have answered to the
48
DebConf questions while configuring Exim4, the module will be loaded
48
DebConf questions while configuring Exim4, the module will be loaded
49
automatically, or human intervention is required.
49
automatically, or human intervention is required.
50
50
51
To find out what configuration file Exim4 is using, issue:
51
To find out what configuration file Exim4 is using, issue:
52
52
53
  $ exim4 -bV | tail -1
53
  $ exim4 -bV | tail -1
54
  Configuration file is /path/to/configfile
54
  Configuration file is /path/to/configfile
55
55
56
If /path/to/configfile shows:
56
If /path/to/configfile shows:
57
57
58
  - /etc/exim4/exim4.conf
58
  - /etc/exim4/exim4.conf
59
    You are using the hand-crafted configuration file.
59
    You are using the hand-crafted configuration file.
60
	See the 'HAND-CRAFTED' section below.
60
	See the 'HAND-CRAFTED' section below.
61
	
61
	
62
  - /var/lib/exim4/config.autogenerated 
62
  - /var/lib/exim4/config.autogenerated 
63
    You are using the debianized configuration scheme - with either
63
    You are using the debianized configuration scheme - with either
64
    'split' or 'unsplit' configuration file.
64
    'split' or 'unsplit' configuration file.
65
	See the 'DEBIANIZED' section below.
65
	See the 'DEBIANIZED' section below.
66
66
67
67
68
HAND-CRAFTED
68
HAND-CRAFTED
69
------------
69
------------
70
70
71
Use 'grep "local_scan_path" /etc/exim4/exim4.conf" to see if the sa-exim
71
Use 'grep "local_scan_path" /etc/exim4/exim4.conf" to see if the sa-exim
72
line is included in the configuration. If grep returns something, check
72
line is included in the configuration. If grep returns something, check
73
if it matches the following line. If grep returns nothing, you have to
73
if it matches the following line. If grep returns nothing, you have to
74
manually add the following line to the exim4.conf file and restart exim4.
74
manually add the following line to the exim4.conf file and restart exim4.
75
75
76
    local_scan_path = /usr/lib/exim4/local_scan/sa-exim.so
76
    local_scan_path = /usr/lib/exim4/local_scan/sa-exim.so
77
77
78
Change or add the line above and manually restart exim4 by issuing
78
Change or add the line above and manually restart exim4 by issuing
79
'invoke-rc.d exim4 reload' or '/etc/init.d/exim4 reload' as root.
79
'invoke-rc.d exim4 reload' or '/etc/init.d/exim4 reload' as root.
80
80
81
81
82
DEBIANIZED
82
DEBIANIZED
83
----------
83
----------
84
84
85
Use 'grep "local_scan_path" /var/lib/exim4/config.autogenerated' to
85
Use 'grep "local_scan_path" /var/lib/exim4/config.autogenerated' to
86
see if the sa-exim line is included in the configuration. If grep
86
see if the sa-exim line is included in the configuration. If grep
87
returns something, you're set and already using the sa-exim module. If
87
returns something, you're set and already using the sa-exim module. If
88
grep returns nothing, we need to figure out a few things:
88
grep returns nothing, we need to figure out a few things:
89
89
90
Issue:
90
Issue:
91
	$ grep "use_split_config" /etc/exim4/update-exim4.conf.conf 
91
	$ grep "use_split_config" /etc/exim4/update-exim4.conf.conf 
92
      dc_use_split_config='true'
92
      dc_use_split_config='true'
93
93
94
If your result shows 'false' where mine shows 'true', then you're
94
If your result shows 'false' where mine shows 'true', then you're
95
using the unsplit configuration, generated from
95
using the unsplit configuration, generated from
96
/etc/exim4/exim4.conf.template.  If you haven't customized that file
96
/etc/exim4/exim4.conf.template.  If you haven't customized that file
97
you could edit /etc/exim4/update-exim4.conf.conf by hand, change the
97
you could edit /etc/exim4/update-exim4.conf.conf by hand, change the
98
'false' to 'true' and issue 'update-exim4.conf' as root. Then, check
98
'false' to 'true' and issue 'update-exim4.conf' as root. Then, check
99
again if the sa-exim module line is included. It should. If it still
99
again if the sa-exim module line is included. It should. If it still
100
isn't: mail me. If it is, restart exim4 by issuing 'invoke-rc.d exim4
100
isn't: mail me. If it is, restart exim4 by issuing 'invoke-rc.d exim4
101
restart' or '/etc/init.d/exim4 restart' as root. If you *have*
101
restart' or '/etc/init.d/exim4 restart' as root. If you *have*
102
customized /etc/exim4/exim4.conf.template, then you'd better stick
102
customized /etc/exim4/exim4.conf.template, then you'd better stick
103
with the unsplit configuration scheme and add the local_scan_path
103
with the unsplit configuration scheme and add the local_scan_path
104
setting by hand, like with the hand-crafted configuration file.
104
setting by hand, like with the hand-crafted configuration file.
105
105
106
Next, read all about greylisting and sa-exim:
106
Next, read all about greylisting and sa-exim:
107
107
108
***************
108
***************
109
* GREYLISTING *
109
* GREYLISTING *
110
***************
110
***************
111
Notes on greylisting with sa-exim.
111
Notes on greylisting with sa-exim.
112
112
113
If you use SpamAssassin 3.0 or better, you do not need to patch it, you
113
If you use SpamAssassin 3.0 or better, you do not need to patch it, you
114
can just use the Greylisting module shipped with sa-exim. 
114
can just use the Greylisting module shipped with sa-exim. 
115
The only thing you need to do to enable it, is to copy the 4 lines below
115
The only thing you need to do to enable it, is to copy the 4 lines below
116
loadplugin in the greylisting README, and adjust the score if you wish (see
116
loadplugin in the greylisting README, and adjust the score if you wish (see
117
README.Greylisting for details)
117
README.Greylisting for details).
118
118
-
 
119
***********************************
-
 
120
* PROBLEMS WITH BAYES AUTO-EXPIRY *
-
 
121
***********************************
119
122
-
 
123
When scanning mail during the SMTP dialogue there is somewhat limited
-
 
124
time before the remote host gives up, even if they should wait for at
-
 
125
least ten minutes. To avoid Exim returning a temporary error status,
120
If you use a version of SA older than 3.0 (if you are, you really,
126
or the remote host giving up prematurely and in some cases for good,
121
really should upgrade!), you will need to patch spamassassin's sources
127
SA-Exim overrides Exim's timeout handler and accepts the message if
122
to support greylisting.
128
SpamAssassin takes too long, by default 240 seconds.
123
129
124
There are two versions of the patches: 
-
 
125
 - /usr/share/doc/sa-exim/patches/SA-greylisting-2.4x.diff 
130
Using SpamAssassin's Bayesian learning module means that it will
126
   This patch can be applied to versions 2.4x of SpamAssassin. Note
131
automatically expire old tokens when its database has grown too large.
127
   that this patch is not fully functional anymore, it is just left as
132
That can take several minutes. If it takes too long, SA-Exim will
128
   a template should you want to backport the current 2.6x patch. 
133
abort it, meaning that SpamAssassin will run auto-expiry again next
129
   That said, you really ought to upgrade SA to 2.6x or 3.x
134
time, and be aborted, and so on...
130
135
131
 - /usr/share/doc/sa-exim/patches/SA-greylisting-2.6.diff 
-
 
132
   This patch can be applied to versions 2.6x of SpamAssassin.
136
If this happens, you have a few remedies:
133
137
134
Please read README.Greylisting for more information on how to enable
-
 
135
this feature, and what further changes are needed.
-
 
136
Note that this configuration won't be supported in the future, and you
138
1) Set SAtimeout to a higher value in /etc/exim4/sa-exim.conf.
137
are encouraged to upgrade to SA 3.0 or better.
-
 
138
139
139
*************
-
 
-
 
140
2) Run sa-learn --force-expire periodically. How you run it depends on
140
* BE WARNED *
141
   how you've configured SpamAssassin. Running it as Debian-exim may
141
*************
142
   be sufficient.
142
143
143
By applying these patches, you change the sourcecode of SpamAssassin
-
 
144
(again, this is if you use a version of SpamAssassin earlier than 3.0)
-
 
145
This also means that when the SpamAssassin package gets upgraded, the
-
 
146
changes made by the patch are LOST. 
-
 
147
This *MIGHT* cause your mail setup to break. It might be best to put
-
 
148
SpamAssassin on hold:
144
2 a) In addition, you can add
149
145
150
  $ echo "spamassassin hold" | dpkg --set-selections
146
   bayes_auto_expire 0
151
147
-
 
148
   to /etc/spamassassin/local.cf. This may not be a good idea if
-
 
149
   SpamAssassin, for whatever reason, is also used as a more
-
 
150
   traditional filter from e.g. .procmailrc, as all users will need to
152
You can later set it to install again with:
151
   run sa-learn --force-expire then.
153
152
154
  $ echo "spamassassin install" | dpkg --set-selections
153
2 b) If you get a lot of mail, consider adding
155
154
-
 
155
   bayes_learn_to_journal 1
-
 
156
-
 
157
   to local.cf. See the Mail::SpamAssassin::Conf(3) manual page for
-
 
158
   more information.
156
159
157
**********************************
160
**********************************
158
* NOTICE ABOUT SPAMC CONFIG FILE *
161
* NOTICE ABOUT SPAMC CONFIG FILE *
159
**********************************
162
**********************************
160
163
161
Recent versions of spamc can read command-line parameters and switches
164
Recent versions of spamc can read command-line parameters and switches
162
from a configuration file called /etc/spamassassin/spamc.conf. If that
165
from a configuration file called /etc/spamassassin/spamc.conf. If that
163
file specifies conflicting options, it will prevent SA-Exim from 
166
file specifies conflicting options, it will prevent SA-Exim from 
164
working. For now, you'll have to make sure that it doesn't.
167
working. For now, you'll have to make sure that it doesn't.
-
 
168
-
 
169
 -- Magnus Holmgren <holmgren@debian.org>, Tue, 24 Jun 2008 14:27:59 +0200