Book Review: The Book of Postfix
Posted by Steve on Mon 27 Jun 2005 at 16:29
I was recently offered the opportunity to review a copy of "The Book of Postfix", published by NoStarch press. This book aims to be complete guide to Postfix whether used by the home user, as a mail relay or virus scanning gateway, or as a company mail server.Disclaimer
About The Book
I assume most book reviews, and product reviews published online are "paid", or "bought" - in the sense that the reviewer received the product for free.
However I've never been in that position myself, until now. I recently received an email from a publisher asking me if I would be interested in reviewing two of their books. One of which covered something I knew nothing about, so I didn't feel that I would be a fair reviewer, because I couldn't judge how accurate the coverage was (although I could have treated it as an introduction I didn't feel that was entirely fair).
So after some deliberation I decided that reviewing a book received gratis would be fair, so long as I explained that I'd received the book as a donation.
If you're wary of trusting a review conducted on this basis feel free to stop reading now. If this is something you've accepted in the past from other sites then I hope this introduction hasn't been too long.
(And if you have items which you wish me to review I'll try to do a fair job; but only if it's on a subject I believe I can review fairly and accurately. That's cryptography, computer security, shellcode, mail-servers, webservers, programming, etc).
The Introductory Material
The book describes itself as suitable for both complete beginners and advanced users of the Postfix mailserver. With that in mind it starts out by describing the simplest setup possible for a mailserver: handling mail for a single domain. Once this topic is covered more advanced scenarios are covered.
Each of the four parts of the book begins with a short introduction to each of the following chapters. These summaries are a useful way of looking forward to what is about to occur, and seeing how the grouped chapters relate to each other.
The full table of contents is:
- About This Book
- 1. An Introduction To Postfix
- Part I: Basics
- 2. Preparing Your Host and Environment
- 3. Mailserver for a Single Domain
- 4. Dial-up Mail Server for a Single Domain
- 5. Anatomy of Postfix
- Part II: Content Control
- 6. A Postmaster's Primer to Email
- 7. How Message Transfer Restrictions Work
- 8. Using Message Transfer Restrictions
- 9. How Built-in Content Filters Work
- 10. Using Built-in Content Filters
- 11. How External Content Filters Work
- 12. Using External Content Filters - This chapter is available online
- Part III: Advanced Configurations
- 13. Mail Gateways
- 14. A Mail Server for Multiple Domains
- 15. Understanding SMTP Authentication
- 16. SMTP Authentication
- 17. Understanding Transport Layer Security
- 18. Using Transport Layer Security
- 19. A Company Mail Server
- 20. Running Postfix in a chroot Environment
- Part IV: Tuning Postfix
- 21. Remote Client Concurrency and Request Rate Limiting
- 22. Performance Tuning
- Appendix A : Installing Postfix
- Appendix B : Troubleshooting Postfix
- Appendix C : CIDR and SMTP Standards Reference
It should be obvious from reading the contents that this book aims to cover a lot of material. But despite this the information is imparted in a very clear, concise, and readable fashion.
The layout of the book itself helps make it easy to read, with clear diagrams where appropriate and useful "tips", "cautions" and "notes" included to clarify things, or provide warnings where appropriate.
There's a lot of information covered in the book which isn't obvious from the content listing too. You really would have to spend a lot of time searching for all the information contained here, and that makes this book a very useful reference volume.
The later chapters build upon the earlier ones in a natural fashion making the later examples simple enough to follow along with, even for a relative newcomer.
Whilst it is possible to dive into a particular example scenario and start working on replicating the setup without reading the preceding chapters this would only be recommended for somebody already familiar with postfix.
The introduction material in the early chapters is well written and should be readily accessible even if you're not familiar with the job of a mailserver, and general system administration.
Rather than waste time describing how to install the software from source code at the start of the book this information is relegating to an appendix. This appendix includes coverage of the Debian binary packages, which was a neat touch for me and visitors to this site. Unfortunately the packages mentioned were for the previous stable release, Woody, rather than the recently released Sarge distribution. I'm sure this will be updated in a later edition of the book.
I thought the introductory text was very useful, covering basic host setup such as:
- Ensuring your system has a fully qualified domain name
- Making sure your clock is current
- Checking that you have syslog running, so that logfiles work
- The importance of having reverse DNS setup and working
postfix was initially designed to be more secure than the monolithic sendmail. To that end there are several binaries which worth together to form the postfix system.
Each of the these components have a distinct role to play in the processing of mail by postfix. The description of each of these parts, and what they actually do, was very informative and well written. (In the past I can recall looking at all the programs and having no idea how they related to each other).
It might have been nice to see this explanation of how the different processes relate to each other presented slightly earlier in the text, but I didn't feel like the lack of this knowledge was a handicap to understanding the earlier text.
Once we get past the introductory material the real meat of the book is the examples, and the discussion that accompanies each one.
The major examples have been listed already in the table of contents. Each one is discussed in depth, and if you're looking to setup something similar to one of the named examples you're in for a real treat.
The discussion of the various options is both detailed and clear to understand. The authors have done a good job choosing their words carefully and explaining why things are done as they are - rather than choosing options and leaving you wondering why.
One of the nice suprises in this book was not just seeing how to handle various jobs, such as setting up mail for a single domain, or a complete filtering system for multiple domains but seeing how to test the setups.
In all of the later examples there are notes on how to make sure things are working correctly, complete with sample logfile entries which show you what failure and success both look like.
It's probably fair to say that the chapter headings don't do the coverage justice. For example chapter 14 covering setting up a mailserver for multiple domains doesn't just explain this once. It first starts with the traditional virtual domain alias handling, then follows up with looking up account details from a MySQL database.
Similarly the various chapters on content filtering cover multiple techniques to combat SPAM, malformed mail. (Including virus filtering)
In summary I like this book a lot. If I was to give it a "score" I'd easily give it 4/5.
I find it hard to say anything bad about the book, because it does cover a lot of material to a very high standard, whilst also remaining very readable.
I do think that perhaps the earlier sections could be reworked a little to be more "beginner friendly", to explain DNS briefly when discussing checking MX records for example. That's only a slight criticism.
Presentation-wise the book is clear and readable, but at times I did think there were too many distractions with "tips", "notes", and "cautions". These were all well placed, and well timed. But having more than one on a single page was sometimes distracting.
It would also be nice to see a summery of each setup which is worked through. (Maybe at the end of a chapter, or in a separate appendix). The discussion following each worked example does explain each setting but there isn't a reference copy of the relevant configuration files to examine in isolation. (Just having the contents of the main.cf, master.cf files would be useful)
Title The Postfix Book Authors Ralf Hildebrandt & Patrick Koetter Publishier No Starch Press ISBN 1-59327-001-1 Cover Price $44.95 Availability