comparison thesis/tex/3-MailTransferAgents.tex @ 143:70201774b457 fourth preview version for Schaeffter

work on market share analysis
author meillo@marmaro.de
date Mon, 15 Dec 2008 13:40:25 +0100
parents 002fd18820cc
children 93a47593a493
comparison
equal deleted inserted replaced
142:1b0ba5151d1b 143:70201774b457
6 6
7 7
8 \section{Types of MTAs} 8 \section{Types of MTAs}
9 ``Mail transfer agent'' is a term covering a variety of programs. One thing is common to them: they transfer email from one machine to another. 9 ``Mail transfer agent'' is a term covering a variety of programs. One thing is common to them: they transfer email from one machine to another.
10 10
11 This is how \person{Bryan Costales} defines a \mta\ in \cite{costales97}: 11 This is how Bryan \person{Costales} defines a \mta\ in \cite{costales97}:
12 \begin{quote} 12 \begin{quote}
13 A mail transfer agent (MTA) is a highly specialized program that delivers mail and transports it between machines, like the post office. 13 A mail transfer agent (MTA) is a highly specialized program that delivers mail and transports it between machines, like the post office.
14 \end{quote} 14 \end{quote}
15 \name{The Free Dictionary} is a bit more concrete on the term: \citeweb{website:thefreedictionary} 15 \name{The Free Dictionary} is a bit more concrete on the term: \citeweb{website:thefreedictionary}
16 \begin{quote} 16 \begin{quote}
67 67
68 \section{Popular MTAs} 68 \section{Popular MTAs}
69 69
70 This section introduces a selection of popular \MTA{}s; they are the most likely substitutes for \masqmail. All are \emph{sendmail-compatible} ``smart'' \freesw\ \MTA{}s that focus on mail transfer, as is \masqmail. 70 This section introduces a selection of popular \MTA{}s; they are the most likely substitutes for \masqmail. All are \emph{sendmail-compatible} ``smart'' \freesw\ \MTA{}s that focus on mail transfer, as is \masqmail.
71 71
72 The programs chosen are: \sendmail, \exim, \qmail, and \postfix. They are the most important representatives of the regarded group. Although \MTA\ statistics are rare, FIXME(have different results), and good data is hard to collect, these programs tend to stay near the top. 72 The programs chosen are: \sendmail, \exim, \qmail, and \postfix. They are the most important representatives of the regarded group. Although \MTA\ statistics are rare, differ, and good data is hard to collect, these programs tend to stay near the top.
73 73
74 Table \ref{tab:mta-market-share} shows the Top 10 \MTA{}s of three different statistics. The first published by \name{O'ReillyNet} in 2007 \citeweb{oreillynet:mta-stats} , the second by \name{MailRadar.com} from YYYY \citeweb{mailradar:mta-stats} , and the third by \person{Daniel~J.\ Bernstein} (the author of \qmail) done in 2001 \citeweb{djb:mta-stats}. 74 Table \ref{tab:mta-market-share} shows the most used \MTA{}s determined by three different statistics. The first done Ken \person{Simpson} and Stas \person{Bekman} published by \name{O'ReillyNet} in 2007 \citeweb{oreillynet:mta-stats} , the second by \name{MailRadar.com} with unknown date \citeweb{mailradar:mta-stats} , and the third by Daniel~J.\ \person{Bernstein} (the author of \qmail) done in 2001 \citeweb{djb:mta-stats}.
75 75
76 \begin{table} 76 \begin{table}
77 \begin{center} 77 \begin{center}
78 \input{input/mta-market-share.tex} 78 \input{input/mta-market-share.tex}
79 \end{center} 79 \end{center}
80 \caption{Market share of \MTA{}s} 80 \caption{Market share of \MTA{}s}
81 \label{tab:mta-market-share} 81 \label{tab:mta-market-share}
82 \end{table} 82 \end{table}
83 83
84 Other members of the same group are: \name{smail}, \name{zmailer}, \name{MMDF}, and \name{courier-mta}. They all are less important and rarely used, thus ommited here. 84 All surveys show high market shares for the four \MTA{}s---\sendmail, \exim, \qmail, \postfix. Only the \name{Microsoft} mail servers and \name{IMail} have comparable large shares. Other \freesw\ \mta{}s are: \name{smail}, \name{zmailer}, \name{MMDF}, and \name{courier-mta}. They all are less important and rarely used.
85 85
86 86 The three surveys base on different data. \person{Bernstein} took 1,000,000 randomly chosen \NAME{IP} addresses, containing 39,206 valid hosts; 958 of them accepted a connection. \name{MailRadar}'s data source is unspecified, as well as the time of data collection. The \name{O'Reilly} survey used only domains with companies behind them; in total it were 400,000 hosts.
87 Now follows a small introduction to the five programs chosen for comparison, except \masqmail\ which already was introduced in chapter \ref{chap:introduction}. Longer introductions, including analysis and comparison, were written by \person{Jonathan de Boyne Pollard} \citeweb{jdebp}. 87
88 Remarkable are the 22 percent of ``mail security layers''\footnote{mail security layers are software guards between the network and the \mta\ that filter unwanted mail before it reaches the \MTA. This increases security by blocking attacks against the \MTA\ and by filtering malicious content. It also decreases the work load of the guarded \MTA.} in the \name{O'Reilly} survey. This large share may be a result of only regarding business mail servers. The problem concerning the survey is the deguise of the \mta\ working behind the security layer. It seems wrong to assume equal shares for the \MTA{}s behind the guards as for the unguarded \MTA{}s, because they will be more often used to guard weak \MTA{}s, as strong ones might not need them. This needs to be kept in mind when using the \name{O'Reilly} survey.
89
90
91 Now follows a small introduction to the five programs chosen for comparison, except \masqmail\ which already was introduced in chapter \ref{chap:introduction}. Longer introductions, including analysis and comparison, were written by Jonathan de \person{Boyne Pollard} \citeweb{jdebp}.
88 92
89 93
90 94
91 \subsubsection*{sendmail} 95 \subsubsection*{sendmail}
92 \label{sec:sendmail} 96 \label{sec:sendmail}
93 \sendmail\ is the most popular \mta, since it was one of the first and was shipped as default \MTA{}s by many vendors of \unix\ systems. %fixme: ref 97 \sendmail\ is the most popular \mta, since it was one of the first and was shipped as default \MTA{}s by many vendors of \unix\ systems. %fixme: ref
94 98
95 The program was written by \person{Eric Allman} as the successor of his program \name{delivermail}. \sendmail\ was first released with \NAME{BSD} 4.1c in 1983. Allman was not the only one working on the program. Other people developed own versions of it and a variety of flavors came up, especially in the late eighties when Allman was inactive. %fixme: ref 99 The program was written by Eric \person{Allman} as the successor of his program \name{delivermail}. \sendmail\ was first released with \NAME{BSD} 4.1c in 1983. Allman was not the only one working on the program. Other people developed own versions of it and a variety of flavors came up, especially in the late eighties when Allman was inactive. %fixme: ref
96 100
97 \sendmail\ is focused on transferring mails between different protocols and networks, this lead to a very flexible (though complex) configuration. 101 \sendmail\ is focused on transferring mails between different protocols and networks, this lead to a very flexible (though complex) configuration.
98 102
99 The latest version is 8.14.3 from May 2008. The program is distributed under the \name{Sendmail License} as both, \freesw\ and proprietary software of \name{Sendmail, Inc.}. 103 The latest version is 8.14.3 from May 2008. The program is distributed under the \name{Sendmail License} as both, \freesw\ and proprietary software of \name{Sendmail, Inc.}.
100 104
104 108
105 109
106 110
107 \subsubsection*{exim} 111 \subsubsection*{exim}
108 \label{sec:exim} 112 \label{sec:exim}
109 \exim\ was started in 1995 by \person{Philip Hazel} at the \name{University of Cambridge}. It is forked of \name{smail-3}, and inherited the monolithic architecture, similar to \sendmail's. But having no separation of the individual components of the system, like \qmail\ and \postfix\ have, did not hurt. Its security is comparably good. %fixme: ref 113 \exim\ was started in 1995 by Philip \person{Hazel} at the \name{University of Cambridge}. It is forked of \name{smail-3}, and inherited the monolithic architecture, similar to \sendmail's. But having no separation of the individual components of the system, like \qmail\ and \postfix\ have, did not hurt. Its security is comparably good. %fixme: ref
110 114
111 \exim\ is highly configurable, especially in the field of mail policies. This makes it easy to specify how mail is routed through the system and who is allowed to send email to whom. Also interfaces for integration of virus and spam check programs are provided by design. %fixme: ref 115 \exim\ is highly configurable, especially in the field of mail policies. This makes it easy to specify how mail is routed through the system and who is allowed to send email to whom. Also interfaces for integration of virus and spam check programs are provided by design. %fixme: ref
112 116
113 The program is \freesw, released under the \GPL. The latest stable version is 4.69 from December 2007. 117 The program is \freesw, released under the \GPL. The latest stable version is 4.69 from December 2007.
114 118
117 121
118 122
119 \subsubsection*{qmail} 123 \subsubsection*{qmail}
120 \label{sec:qmail} 124 \label{sec:qmail}
121 \qmail\ is seen by its community as ``a modern SMTP server which makes sendmail obsolete''.%fixme: ref 125 \qmail\ is seen by its community as ``a modern SMTP server which makes sendmail obsolete''.%fixme: ref
122 It was written by \person{Daniel~J.\ Bernstein} starting in 1995. His primary goal was to create a secure \MTA\ to replace the popular, but vulnerable, \sendmail. %fixme: ref 126 It was written by Daniel~J.\ \person{Bernstein} starting in 1995. His primary goal was to create a secure \MTA\ to replace the popular, but vulnerable, \sendmail. %fixme: ref
123 127
124 \qmail\ first introduced many innovative concepts in \mta\ design and is generally seen as the first security-aware \MTA\ developed. %fixme:ref 128 \qmail\ first introduced many innovative concepts in \mta\ design and is generally seen as the first security-aware \MTA\ developed. %fixme:ref
125 %fixme: what about mmdf? 129 %fixme: what about mmdf?
126 130
127 Since November 2007, \qmail\ is released in the \name{public domain} which makes it \freesw. The latest release is 1.03 from July 1998. 131 Since November 2007, \qmail\ is released in the \name{public domain} which makes it \freesw. The latest release is 1.03 from July 1998.
128 132
129 The programs homepages are \citeweb{qmail:homepage1} and \citeweb{qmail:homepage2}. Further information about \qmail\ is available with \person{Dave Sill}'s ``Life with qmail'' \citeweb{lifewithqmail}. 133 The programs homepages are \citeweb{qmail:homepage1} and \citeweb{qmail:homepage2}. Further information about \qmail\ is available with Dave \person{Sill}'s ``Life with qmail'' \citeweb{lifewithqmail}.
130 134
131 135
132 136
133 \subsubsection*{postfix} 137 \subsubsection*{postfix}
134 \label{sec:postfix} 138 \label{sec:postfix}
135 The \postfix\ project was started in 1999 at \name{IBM research}, then called \name{VMailer} or \name{IBM Secure Mailer}. \person{Wietse Venema}'s program ``attempts to be fast, easy to administer, and secure. The outside has a definite Sendmail-ish flavor, but the inside is completely different.''\citeweb{postfix:homepage} In fact, \postfix\ was mainly designed after qmail's architecture to gain security. But in contrast to \qmail\ it aims much more on being fast and full-featured. 139 The \postfix\ project was started in 1999 at \name{IBM research}, then called \name{VMailer} or \name{IBM Secure Mailer}. Wietse \person{Venema}'s program ``attempts to be fast, easy to administer, and secure. The outside has a definite Sendmail-ish flavor, but the inside is completely different.''\citeweb{postfix:homepage} In fact, \postfix\ was mainly designed after qmail's architecture to gain security. But in contrast to \qmail\ it aims much more on being fast and full-featured.
136 140
137 Today \postfix\ is taken by many \unix\ systems and \gnulinux\ distributions as default \MTA. 141 Today \postfix\ is taken by many \unix\ systems and \gnulinux\ distributions as default \MTA.
138 142
139 The latest stable version is numbered 2.5.5 from August 2008. \postfix\ is covered by the \name{IBM Public License 1.0} which is a \freesw\ license. 143 The latest stable version is numbered 2.5.5 from August 2008. \postfix\ is covered by the \name{IBM Public License 1.0} which is a \freesw\ license.
140 144
145 149
146 150
147 151
148 \section{Comparison of MTAs} 152 \section{Comparison of MTAs}
149 153
150 This section does not try to provide an overall \MTA\ comparison, because this is already done by others. Remarkable comparisons are the one by \person{Dan Shearer} \cite{shearer06} and a discussion on the mailing list \name{plug@lists.q-linux.com} \citeweb{plug:mtas}. Tabulary overviews may be found at \citeweb{mailsoftware42}, \citeweb{wikipedia:comparison-of-mail-servers}, and \citeweb[section 1.9]{lifewithqmail}. 154 This section does not try to provide an overall \MTA\ comparison, because this is already done by others. Remarkable comparisons are the one by Dan \person{Shearer} \cite{shearer06} and a discussion on the mailing list \name{plug@lists.q-linux.com} \citeweb{plug:mtas}. Tabulary overviews may be found at \citeweb{mailsoftware42}, \citeweb{wikipedia:comparison-of-mail-servers}, and \citeweb[section 1.9]{lifewithqmail}.
151 155
152 Here provided is an overview on a selection of important properties, covering the four previously introduced programs. The data comes from the above stated sources and is collected in table \ref{tab:mta-comparison}. 156 Here provided is an overview on a selection of important properties, covering the four previously introduced programs. The data comes from the above stated sources and is collected in table \ref{tab:mta-comparison}.
153 157
154 \begin{table} 158 \begin{table}
155 \begin{center} 159 \begin{center}
161 165
162 166
163 \subsection{Architecture} 167 \subsection{Architecture}
164 168
165 Architecture is most important when comparing \MTA{}s. Many other properties of a program depend on its architecture. %fixme: add ref? 169 Architecture is most important when comparing \MTA{}s. Many other properties of a program depend on its architecture. %fixme: add ref?
166 \person{Munawar Hafiz} \cite{hafiz05} discusses in detail on \mta\ architecture, comparing \sendmail, \qmail, \postfix, and \name{sendmail X}. \person{Jonathan de Boyne Pollard}'s \MTA\ review \citeweb{jdebp} is a source too. 170 Munawar \person{Hafiz} \cite{hafiz05} discusses in detail on \mta\ architecture, comparing \sendmail, \qmail, \postfix, and \name{sendmail X}. Jonathan de \person{Boyne Pollard}'s \MTA\ review \citeweb{jdebp} is a source too.
167 171
168 Two different architecture types show off: monolithic and modular \mta{}s. 172 Two different architecture types show off: monolithic and modular \mta{}s.
169 173
170 Monolithic \MTA{}s are \sendmail, \name{smail}, \exim, and \masqmail. They all consist of one single \emph{setuid root}\footnote{\emph{setuid root} lets a program run with the rights of its owner, here root. This is considered a security risk.} binary which does all the work. 174 Monolithic \MTA{}s are \sendmail, \name{smail}, \exim, and \masqmail. They all consist of one single \emph{setuid root}\footnote{\emph{setuid root} lets a program run with the rights of its owner, here root. This is considered a security risk.} binary which does all the work.
171 175
172 Modular \MTA{}s are \NAME{MMDF}, \qmail, \postfix, and \name{MeTA1}. They consist of several programs, each doing a part of the overall job. The different programs run with the least permissions the need, and \emph{setuid root} needs not to be used. 176 Modular \MTA{}s are \NAME{MMDF}, \qmail, \postfix, and \name{MeTA1}. They consist of several programs, each doing a part of the overall job. The different programs run with the least permissions the need, and \emph{setuid root} needs not to be used.
173 177
174 The architecture does not directly define the program's security, but ``[t]he goal of making a software secure can be better achieved by making the design simple and easier to understand and verify''\cite[chapter 6]{hafiz05}. \exim, though being monolithic, has a fairly clean security record. But it is very hard to keep the security up, as the program growth. \person{Wietse Venema} (the author of \postfix) says, the architecture enabled \postfix\ to grow without running into security problems. \citeweb[page 13]{venema:postfix-growth} 178 The architecture does not directly define the program's security, but ``[t]he goal of making a software secure can be better achieved by making the design simple and easier to understand and verify''\cite[chapter 6]{hafiz05}. \exim, though being monolithic, has a fairly clean security record. But it is very hard to keep the security up, as the program growth. Wietse \person{Venema} (the author of \postfix) says, the architecture enabled \postfix\ to grow without running into security problems. \citeweb[page 13]{venema:postfix-growth}
175 179
176 The modular design, with each sub-program doing one part of the overall job, is applied \name{Unix Philosophy}. The Unix Philosophy \cite{gancarz95} demands ``small is beautiful'' and ``make each program do one thing well''. Monolithic \MTA{}s fail here. 180 The modular design, with each sub-program doing one part of the overall job, is applied \name{Unix Philosophy}. The Unix Philosophy \cite{gancarz95} demands ``small is beautiful'' and ``make each program do one thing well''. Monolithic \MTA{}s fail here.
177 181
178 Today modular \mta\ architectures are the state-of-the-art. 182 Today modular \mta\ architectures are the state-of-the-art.
179 183