Atnaujinkite slapukų nuostatas

sendmail Milters: A Guide for Fighting Spam [Minkštas viršelis]

  • Formatas: Paperback / softback, 352 pages, aukštis x plotis x storis: 178x235x22 mm, weight: 662 g
  • Išleidimo metai: 03-Feb-2005
  • Leidėjas: Addison-Wesley Educational Publishers Inc
  • ISBN-10: 0321213335
  • ISBN-13: 9780321213334
Kitos knygos pagal šią temą:
  • Formatas: Paperback / softback, 352 pages, aukštis x plotis x storis: 178x235x22 mm, weight: 662 g
  • Išleidimo metai: 03-Feb-2005
  • Leidėjas: Addison-Wesley Educational Publishers Inc
  • ISBN-10: 0321213335
  • ISBN-13: 9780321213334
Kitos knygos pagal šią temą:
"Bryan and Marcia have not only provided tips and tricks for detecting and blocking spam and email fraud but have also written the first of its kind Milter reference guide. This book will help you start writing your own special-purpose mail filters quickly and easily."

--Gregory Neil Shapiro, coauthor of the Milter interface

As a Mail Administrator You Need to Understand How to Successfully Monitor and Fight Spam.

Milters are among the most powerful antispamming tools available. Until now, there has been no clear and helpful resource for you to learn how to set up and use Milters. sendmail Milters: A Guide for Fighting Spam is the first in-depth guide to writing powerful Milters to block even the most clever spammers.

Inside this definitive new reference, you will find





An exhaustive description of the Milter interface





Insightful details on what spam is, its harmful effects, and the diverse techniques used by spammers





A step-by-step guide to luring spammers using a honeypot network





Ways to decode the common encoding methods used in spam email





A reference on the Milter library and its use





Techniques for expanding software to deal with future spamming methods

This book is an indispensable aid to combating spam, now and in the future. If you administer a sendmail server, you need to own a copy.

All of the program code described in the book is available for download at http://spambook.bcx.org.

Daugiau informacijos

There are many ways to combat spam. Expensive commercial products areavailable. So are expensive subscription services. But one of the mostpowerful anti-spamming tools on the market today is Open Source and free:milters. Milters are small programs that extend the functionality of mail serversand can be customized to meet the needs of any site, large or small. All that'smissing is a book on how to write milters...until now!This book will also appeal to adminstrators running mail servers other thansendmail--for example MS Exchange or procmail-- because there is excellentcoverage of more general issues such as how to identify spam and how to use ahoney-pot network to capture spam for testing purposes.
Preface xiii
Part I The Nefarious Spam Problem
1(40)
Gorilla Versus Guerrilla
3(8)
When a Gorilla Sneezes
4(1)
When a Guerrilla Masquerades as You
5(1)
The Major Proposals for Standards
6(1)
Email Fraud
7(2)
The Nigerian Fraud
7(1)
Theft of Bank or Credit Card Information
7(1)
Theft of Passwords
8(1)
Viruses and Worms
8(1)
The Cost of Spam Suppression
9(1)
Vikings
10(1)
The Characteristics of Spam Email
11(30)
Connection Behavior
12(1)
Relaying through MX Servers
13(2)
Falsifying the Envelope Sender Address
15(1)
Disguising the Subject: Header
16(2)
Camouflaging the HTML Body
18(5)
HTML Comments
18(2)
Character-Entity Encoding
20(1)
URL Encoding
21(1)
The Order of Encoding
22(1)
Attempting to Fool Signature Detectors
23(1)
Unnecessary Encoding
24(2)
Grokking the Site
26(12)
The HTML Keyword
27(1)
Just in Case
28(1)
The Protocol Specification
29(2)
Email Addresses Mask URLs
31(1)
IP Numbers Too
32(1)
Dealing with Redirects
33(1)
Wildcard DNS Records
34(1)
CNAME Records and URLs
35(1)
URLs Used as Comments
36(1)
JavaScript.Encode URLs
37(1)
Loose Ends
38(1)
Think Like a Spammer
38(3)
Part II Creating a Test Environment
41(42)
Setting Up a Bait Machine
43(18)
Choose Your Platform
44(3)
Posix Threads
44(1)
Version of sendmail
45(1)
Choice of Compiler
45(1)
Install a Milter Library
46(1)
Network Connections
46(1)
Database Support
46(1)
Set Up DNS Records
47(3)
Domain Versus Subdomain
47(1)
Add MX Records
48(1)
Using Other Host Aliases
49(1)
Configure sendmail
50(4)
Add Milter Support
50(2)
Set Up local-host-names
52(1)
A Minimal Aliases File
53(1)
Set Up Logging
54(2)
A Brief Overview of Logging
54(1)
Set Up local # Logging
55(1)
Arrange to Rotate Logs
56(1)
Excluding Non-email Ports
56(2)
Scan Your Test Machine
56(1)
Minimize inetd.conf
57(1)
Turn Off Unwanted Daemons
58(1)
Make Sure the Machine Reboots
58(3)
Baiting the Hook
61(14)
Create Fake Recipients
61(3)
Protect Good Email
64(1)
Run a Web Server
65(2)
Post to a Usenet Group
67(8)
Preventive Measures
75(8)
Tell Users about Plus Addressing
75(2)
Plus Addressing with Usenet News
77(1)
Turn Off EXPN and VRFY
77(1)
Mask Web Addresses
78(3)
Watch Out for finger
81(2)
Part III The Parts of a sendmail Milter
83(122)
The Roles and Flow of a Milter
85(12)
A Milter's Role in the Middle
85(1)
A Milter from the Point of View of sendmail
86(1)
The Milter Flow
87(10)
Return Values from Multiple Milters
88(1)
Milter Replies for Connect and EHLO/HELO
89(1)
Milter Replies to MAIL FROM:
90(1)
Milter Replies to RCPT TO:
91(1)
Milter Replies with SMTP DATA
92(3)
Milter Replies at End-of-Message
95(1)
Milter Handles Abort
96(1)
Milter Post-Connection Cleanup
96(1)
The Milter-Library
97(54)
Overview
97(2)
HTML Documentation
99(1)
xxfi versus smfi
99(1)
main O
99(14)
Structure smfiDesc and smfi_register()
100(3)
The smfiDesc Structure's Flags
103(1)
The smfi_setconn() and smfi_opensocket() Routines
104(5)
The smfi_settimeout() Routine Initializes the Connection Timeout
109(1)
The smfi_main() Routine Launches Multithreaded Mode
109(1)
In Summary, a Minimal main() Function
110(3)
The smfi Data Access Routines
113(14)
The smfi_getsymval() Routine Fetches Macro Values
114(2)
The smfi_setpriv() Routine Registers Private Data
116(2)
The smfi_getpriv() Routine Fetches Private Data
118(1)
The smfi_setreply() Routine Changes the SMTP Reply
119(4)
The smfi_setmlreply() Routine Sets Multiline Replies (V8.13 and Later)
123(1)
The smfi_setdbg() Routine Sets the Milter Debugging Level (V8.13 and Later)
124(2)
The smfi_setback log() Routine Sets the listen(2) Queue Size (V8.13 and Later)
126(1)
The smfi Modifier Routines
127(24)
Logging
128(1)
The smfi_addheader() Routine Adds a Header to the Message
129(3)
The smfi_insheader() Routine Inserts a Header into the Message
132(3)
The smfi_chgheader() Routine Changes or Removes a Header
135(3)
The smfi_addrcpt() Routine Adds a Recipient
138(2)
The smfi_delrcpt() Routine Removes a Recipient
140(3)
The smfi_replacebody() Routine Replaces the Message Body
143(2)
The smfi_progress() Routine Buys More Time (V8.13 and Later)
145(1)
The smfi_quarantine() Routine Quarantines Messages (V8.13 and Later)
146(2)
The smfi_stop() Routine Quits the Milter (V8.13 and Later)
148(3)
The xxfi Handler Milter Functions
151(54)
Overview
153(1)
Possible Return Value Macros
153(1)
The Common First ctx Argument
154(1)
The xxfi Orientations
154(1)
Abort Logic
155(1)
xxfi_connect() Reviews the Connection
156(5)
How to Use xxfi_connect()
158(1)
An Example of xxfi_connect()
159(1)
xxfi_connect and sendmail Macros
160(1)
Other Uses for xxfi_connect()
161(1)
xxfi_helo() Reviews SMTP HELO/EHLO
161(4)
How to Use xxfi_helo()
162(2)
An Example of xxfi_helo()
164(1)
xxfi_helo() and sendmail Macros
165(1)
Other Uses for xxfi_helo()
165(1)
xxfi_envfrom() Reviews SMTP MAIL FROM
165(6)
How to Use xxfi_envfrom()
166(3)
An Example of xxfi_envfrom()
169(1)
xxfi_envfrom() and sendmail Macros
170(1)
Other Uses for xxfi_envfrom()
171(1)
xxfi_envrcpt() Reviews SMTP RCPT TO
171(5)
How to Use xxfi_envrcpt()
171(4)
An Example of xxfi_envrcpt()
175(1)
xxfi_envrcpt() and sendmail Macros
176(1)
Other Uses for xxfi_envrcpt()
176(1)
xxfi_header() Reviews Headers
176(6)
How to Use xxfi_header()
178(2)
An Example of xxfi_header()
180(2)
Other Uses for xxfi_header()
182(1)
xxfi_eoh Reviews at End of Headers
182(4)
How to Use xxfi_eoh()
183(2)
An Example of xxfi_eoh()
185(1)
Other Uses for xxfi_eoh()
186(1)
xxfi_body Reviews Each Body Chunk
186(4)
How to Use xxfi_body()
186(3)
An Example of xxfi_body()
189(1)
Other Uses for xxfi_body()
190(1)
xxfi_eom Reviews at End of Envelope
190(7)
End-of-Envelope Cleanup
192(1)
xxfi_eom and sendmail Macros
193(1)
How to Use xxfi_eom()
194(2)
An Example of xxfi_eom()
196(1)
Other Uses for xxfi_eom()
196(1)
xxfi_abort Handles Envelope Abort
197(3)
How to Use xxfi_abort()
197(2)
An Example of xxfi_abort()
199(1)
Other Uses for xxfi_abort()
200(1)
xxfi_close Handles Connection Cleanup
200(5)
End-of-Connection Cleanup
200(1)
How to Use xxfi_close()
200(2)
An Example of xxfi_close()
202(1)
Other Uses for xxfi_close()
203(2)
Part IV Nuts and Bolts
205(90)
Milters and the Environment
207(24)
Where to Run Your Milter
208(2)
Run under/etc/mail
209(1)
Run in/usr/local
210(1)
Your Milter's User ID
210(3)
Prevent Running as root
211(1)
Run as Your Own User
211(2)
How to Start and Stop Your Milter
213(4)
Baby-Sit the Milter
216(1)
Put Your Milter into the Background
217(2)
Handle Signals
219(2)
Anticipate MX Servers
221(4)
Status and Logging
225(1)
Consider Portability Early
226(1)
Avoid Memory Leaks
227(2)
Final Words
229(2)
User and Temporal Feedback
231(24)
Consider Architecture
231(2)
Model the End User
233(1)
The Outside World as the End User
233(1)
Your Internal Customer as the End User
233(1)
Maintain a History
234(3)
Possible Feedback Mechanisms
237(4)
Whitelisting
241(1)
Graylisting
242(2)
Archive, Reject, or Pass Through Spam
244(2)
Dynamic Configurations
246(7)
In Summary
253(2)
Handy Routines for the Message Body
255(40)
Parsing MIME-Encoded Boundaries
256(2)
Decoding Base64 Encoding
258(7)
Decoding Quoted-Printable Encoding
265(4)
Decoding Character-Entity Encoding
269(8)
Decoding URL-Encoding
277(2)
Stripping HTML Comments
279(5)
How to Use/etc/magic
284(4)
How to Use/usr/share/dict/words
288(5)
More
293(2)
Appendix Useful Source Code
295(2)
A.1 Examples of Milters
295(1)
A.2
Chapter Examples
296(1)
Bibliography 297(10)
Index 307


Bryan Costales has been involved with sendmail for more than fifteen years. He is the author ofsendmail, Third Edition, (O'Reilly, 2003) and books on C programming and UNIX communications.

Marcia Flynt has twenty-five years of experience in software engineering, including managing e-mail development for opt-in custom e-mail businesses.