comparison xml/dnsbl.in @ 0:96a9758165cd original

Initial revision
author carl
date Tue, 20 Apr 2004 20:02:29 -0700
parents
children 9bcd5ef11279
comparison
equal deleted inserted replaced
-1:000000000000 0:96a9758165cd
1 <html>
2
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
5 <title>DNSBL Sendmail milter</title>
6 </head>
7
8 <p>This milter is released under the GPL license version 2 included in
9 the LICENSE file in the distribution, and also available at
10 <a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a>
11
12 <p>Consider the case of a mail server that is acting as secondary MX
13 for a collection of clients, each of which has a collection of mail
14 domains. Each client may use their own collection of DNSBLs on their
15 primary mail server. We present here a mechanism whereby the backup
16 mail server can use the correct set of DNSBLs for each message. As a
17 side-effect, it gives us the ability to customize the set of DNSBLs on a
18 per-recipient basis, so that fred@example.com could use SPEWS and the
19 SBL, where all other users @example.com use only the SBL.
20
21 <p>The DNSBL milter reads a text configuration file on startup, and
22 whenever the config file (or any of the referenced include files) is
23 changed. The entire configuration file is case insensitive.
24
25 <p>If you are also using the <a
26 href="http://www.rhyolite.com/anti-spam/dcc/">DCC</a> milter, there are
27 a few considerations. You may need to whitelist senders from the DCC
28 bulk detector, or from the DNS based lists. Those are two very
29 different reasons for whitelisting. The former is done thru the DCC
30 whiteclnt config file, the later is done thru the DNSBL milter config
31 file.
32
33 <p>You may want to blacklist some specific senders or sending domains.
34 This could be done thru either the DCC (on a global basis, or for a
35 specific single recipient). We prefer to do such blacklisting via the
36 DNSBL milter config, since it can be done for an entire recipient mail
37 domain. The DCC approach has the feature that you can capture the
38 entire message in the DCC log files. The DNSBL milter approach has the
39 feature that the mail is rejected earlier (at RCPT TO time), and the
40 sending machine just gets a generic "550 5.7.1 no such user" message.
41
42 <p>Definitions:
43
44 <p>DNSBL - a named DNS based blocking list is defined by a dns suffix
45 (e.g. sbl-xbl.spamhaus.org) and a message string that is used to
46 generate the "550 5.7.1" smtp error return code. The names of these
47 DNSBLs will be used to define the DNSBL-LISTs.
48
49 <p>DNSBL-LIST - a named list of DNSBLs that will be used for specific
50 recipients or recipient domains.
51
52 <p>ENVELOPE-FROM-MAP - a named collection of mappings (key->value pairs)
53 from envelope-from values to the WHITE, BLACK, or DEFAULT keywords. The
54 names of these maps will be used for specific recipients or recipient
55 domains.
56
57 <p>The configuration file maps each recipient (or recipient domain) to
58 two names (a named DNSBL-LIST, and a named ENVELOPE-FROM-MAP). If the
59 recipient is not found in the configuration, the named DEFAULT
60 dnsbl-list and DEFAULT envelope-from-map will be used. When mail is
61 received for that recipient,
62
63 <ol>
64
65 <li>If the client has authenticated with sendmail, the mail is accepted
66 and the dns lists are not checked.
67
68 <li>If either one is BLACK, mail to this recipient is rejected with "no
69 such user", and the dns lists are not checked.
70
71 <li>If the envelope-from-map name is WHITE, mail to this recipient is
72 accepted and the dns lists are not checked.
73
74 <li>If the envelope-from-map exists, the map is checked for the presence
75 of the sender. A WHITE or BLACK answer is definitive and the dns lists
76 are not checked.
77
78 <li>If the dnsbl-list name is WHITE, the dns lists are not checked and
79 the mail is accepted. Otherwise, the dns lists are checked and the mail
80 is rejected if any list has an A record for the standard dns based
81 lookup scheme (reversed octets of the client followed by the dns
82 suffix).
83
84 </ol>
85
86
87 <p>Usage: Note that this has ONLY been tested on Linux, specifically
88 RedHat Linux. Your mileage will vary. In particular, this milter makes no
89 attempt to understand IPv6.
90
91 Fetch <a href="http://www.five-ten-sg.com/util/dnsbl.tar.gz">dnsbl.tar.gz</a>
92 and
93
94 <pre>
95 tar xfvz dnsbl.tar.gz
96 bash install.bash
97 </pre>
98
99 Read and understand the contents of that install.bash script before you
100 run it. It may not be suitable for your system. Modify your
101 sendmail.mc by removing all the "FEATURE(dnsbl" lines, add the following
102 line in your sendmail.mc and rebuild the .cf file
103
104 <pre>
105 INPUT_MAIL_FILTER(`dnsbl', `S=local:/var/run/dnsbl/dnsbl.sock, F=T, T=S:30s;R:30s;E:30s')
106 </pre>
107
108 Read the sample <a
109 href="http://www.five-ten-sg.com/dnsbl.conf">var/dnsbl/dnsbl.conf</a>
110 file and modify it to fit your configuration.
111
112
113 </body>
114 </html>