Postfix The Definitive Guide
by Kyle D. Dent Foreword by Wietse Venema
O’Reilly 2004
| Page | Remark |
|---|---|
| ix | “All programmers are optimists” - Frederick P. Brooks Jr. |
| “The Mythical Man-Month” - Frederick P. Brooks Jr. | |
| Postfix | |
| IBM | |
| New York | |
| Read The Friendly Manual | |
| Kyle Dent | |
| x | Hawthorne, New York |
| xi | Internet |
| Sendmail | |
| cybersecurity | |
| documentation | |
| mailing list | |
| Postfix mailing list | |
| xii | Unix |
| Unix System Administration Handbook - Evi Nemeth | |
| Prentice-Hall | |
| RFCs | |
| Postfix queue manager | |
| DNS | |
| Local Delivery, POP, IMAP | |
| xiii | virtual domain |
| mail relay | |
| mail gateway | |
| mailing list | |
| Majordomo | |
| Mailman | |
| Unsolicited Bulk Email (UBE) | |
| SASL | |
| SASL Authentication | |
| Transport Layer Security (TLS) | |
| content filtering | |
| Postfix lookup tables | |
| database | |
| Postfix command | |
| Postfix configuration parameter | |
| Compiling Postfix | |
| Installing Postfix | |
| xv | Andy Oram - Editor |
| Lenny Muellner | |
| David Chu | |
| Robert Romano | |
| Rob Dinoff | |
| Viktor Dukhovni a.k.a. Victor Duchovni | |
| Lutz Janicke | |
| Alan Schwartz | |
| postfix-users@postfix.org list | |
| 1 | Arpanet |
| Sendmail, released in early 1980s, was dominant | |
| SMTP | |
| Sendmail monolithic architecture | |
| Sendmail security issues | |
| Postfix originally designed as a replacement for Sendmail | |
| Sendmail was complex to install | |
| IBM Research sponsored initial release of Postfix | |
| Postfix was written by Wietse Venema | |
| Wietse Venema widely known for his security tools and papers | |
| 2 | Postfix design goals: Reliability, Security, Performance, Flexibility, Ease of use, Sendmail compatibility |
| concept of least privilege | |
| attack surface reduction by disabling unused modules | |
| /etc/aliases | |
| .forward | |
| 3 | Mail User Agent (MUA) |
| mutt, elm, Pine, Netscape Communicator, Outlook Express | |
| Mail Transfer Agent (MTA) | |
| Internet Service Provider (ISP) | |
| Information Systems | |
| 4 | Message Delivery Agent (MDA) |
| message store – persistent message storage | |
| Internet Engineering Task Force (IETF) | |
| standard, protocol | |
| Request For Comments (RFC) | |
| RFC 2821 - SMTP | |
| RFC 2026 - IMAP | |
| RFC 1939 - POP | |
| dial-up ISP | |
| 5 | email submission |
| DNS | |
| 6 | “Email systems are necessarily exposed to possible attacks because their function requires that they accept data from untrusted systems.” |
| hostile environment | |
| proactive | |
| security vulnerability | |
| 7 | software module |
| privileged process | |
| droppping privileges | |
| shell | |
| process | |
| environment variable | |
| data sanitation | |
| interprocess communication | |
| process insulation | |
| firewall | |
| computer network | |
| signal | |
| parent-child inheritance | |
| shared memory | |
| buffer overflow | |
| fixed-size buffer | |
| chroot | |
| /var/spool | |
| exploit | |
| 8 | DoS |
| https://www.postfix.org | |
| source code | |
| software package | |
| operating system | |
| obtaining Posftix | |
| 10 | UID |
| /etc/passwd | |
| user | |
| 11 | pseudo-account |
| home directory | |
| login shell | |
| password | |
| Postfix runs under a pseudo-account | |
| stdin, stdout, stderr | |
| superuser | |
| command prompt | |
| root user | |
| differences in command prompts between root and other users | |
| 12 | long lines broken up with backslash character |
| manual pages | |
| man command | |
| mailq command | |
| RFC 821 | |
| RFC 822 | |
| 13 | RFC 2821 |
| RFC 2822 | |
| postmaster - the email administrator | |
| RFC 2142 states that a postmaster alias is required | |
| SMTP conversation | |
| email rejection | |
| email bounce | |
| MTAs that accept messages take responsibility for a message | |
| undeliverable email | |
| 14 | envelope address |
| email address | |
| email headers | |
| RFC 2822 - format of email addresses description | |
| local part, @ separator, domain name | |
| lefthand side (LHS) – local part, righthand side (RHS) – domain | |
| RFC 822 message, RFC 822 format | |
| email header | |
| email body | |
| email message | |
| 15 | Date: and From: are required fields |
| custom email fields | |
| ASCII | |
| binary files transmitted via email must encode to ASCII | |
| MIME | |
| MIME encoding | |
| uuencode | |
| Received: header | |
| SMTP conversation | |
| 16 | example email delivery |
| telnet command | |
| port 25 – well-known port for SMTP | |
| 17 | SMTP response codes |
| 2xx - successful actions | |
| 3xx - command accepted, but server requires additional information | |
| 4xx - command unsuccessful, but problem is temporary | |
| 5xx - command unsuccessful, problem is permanent | |
| HELO command | |
| MAIL FROM command | |
| RCPT TO command | |
| DATA command | |
| end data with “CRLF . CRLF” | |
| 18 | QUIT command |
| RFC 1869 | |
| ESMTP | |
| EHLO command | |
| 19 | daemon |
| master daemon (Postfix) | |
| main.cf, master.cf | |
| 20 | maildrop directory |
| postdrop command | |
| sendmail compatibility program | |
| pickup daemon | |
| cleanup daemon | |
| trivial-rewrite daemon | |
| TLD | |
| virtual lookup table, lookup table | |
| 21 | smtpd daemon |
| local vs network email delivery | |
| 22 | defer daemon |
| bounce daemon | |
| email forward | |
| Postfix queue manager | |
| address classes: local, virtual alias, virtual mailbox, relay | |
| 23 | local delivery agent |
| mydestination parameter | |
| virtual alias | |
| virtual_alias_domains parameter | |
| virtual_alias_maps parameter | |
| virtual delivery agent | |
| virtual maimbox | |
| relay domain | |
| when to use relay domains | |
| open relay | |
| 24 | smtp agent |
| smtp delivery agent | |
| class_transport parameter | |
| transport_maps parameter | |
| LMTP | |
| lmtp, pipe agents | |
| 25 | pipe daemon delivers email to external commands |
| content filter | |
| FAX machine | |