comparison thesis/tex/5-Improvements.tex @ 298:0d88bf21e152

minor changes
author meillo@marmaro.de
date Sun, 18 Jan 2009 18:33:30 +0100
parents 8341092a7554
children 1b2f12da528a
comparison
equal deleted inserted replaced
297:39fffd8d1100 298:0d88bf21e152
13 13
14 The first three \TODO{}s are implementable by improving the current code or by adding wrappers or interposition filters. The following sections describe solution approaches to do that work. 14 The first three \TODO{}s are implementable by improving the current code or by adding wrappers or interposition filters. The following sections describe solution approaches to do that work.
15 15
16 16
17 17
18 \subsection{Encryption} 18 \subsubsection*{Encryption}
19 19
20 Electronic mail is very weak to sniffing attacks, because all data transfer is unencrypted. This concerns the message's content, as well as the email addresses in header and envelope, but also authentication dialogs that may transfer plain text passwords (\NAME{PLAIN} and \NAME{LOGIN} are examples). Adding encryption is therefor wanted. 20 Electronic mail is very weak to sniffing attacks, because all data transfer is unencrypted. This concerns the message's content, as well as the email addresses in header and envelope, but also authentication dialogs that may transfer plain text passwords (\NAME{PLAIN} and \NAME{LOGIN} are examples). Adding encryption is therefor wanted.
21 21
22 The common way to encrypt \SMTP\ dialogs is using \name{Transport Layer Security} (short: \TLS, successor of \NAME{SSL}). \TLS\ encrypts the datagrams of the \name{transport layer}. This means it works below the application protocols and can be used by any of them\citeweb{wikipedia:tls}. 22 The common way to encrypt \SMTP\ dialogs is using \name{Transport Layer Security} (short: \TLS, successor of \NAME{SSL}). \TLS\ encrypts the datagrams of the \name{transport layer}. This means it works below the application protocols and can be used by any of them\citeweb{wikipedia:tls}.
23 23
55 %\end{verbatim} 55 %\end{verbatim}
56 56
57 57
58 58
59 59
60 \subsection{Authentication} 60 \subsubsection*{Authentication}
61 61
62 Several ways to restrict access are available. The most simple one is restrictiction by the \NAME{IP} address. No extra complexity is added this way, but static \NAME{IP} addresses are mandatory. This kind of restriction may be enabled using the operating system's \path{hosts.allow} and \path{hosts.deny} files. To allow only connections to port 25 from localhost or the local network \texttt{192.168.100.0/24} insert the line ``\texttt{25: ALL}'' into \path{hosts.deny} and ``\texttt{25: 127.0.0.1, 192.168.100.}'' into \path{hosts.allow}. 62 Several ways to restrict access are available. The most simple one is restrictiction by the \NAME{IP} address. No extra complexity is added this way, but static \NAME{IP} addresses are mandatory. This kind of restriction may be enabled using the operating system's \path{hosts.allow} and \path{hosts.deny} files. To allow only connections to port 25 from localhost or the local network \texttt{192.168.100.0/24} insert the line ``\texttt{25: ALL}'' into \path{hosts.deny} and ``\texttt{25: 127.0.0.1, 192.168.100.}'' into \path{hosts.allow}.
63 63
64 If static access restriction is not possible, for example if mail from locations with changing \NAME{IP} addresses wants to be accepted, some kind of authentication mechanism is required. Three common kinds exist: 64 If static access restriction is not possible, for example if mail from locations with changing \NAME{IP} addresses wants to be accepted, some kind of authentication mechanism is required. Three common kinds exist:
65 65
92 % - POP/IMAP: pop-before-smtp, DRAC, WHOSON 92 % - POP/IMAP: pop-before-smtp, DRAC, WHOSON
93 % - TLS (certificates) 93 % - TLS (certificates)
94 94
95 95
96 96
97 \subsection{Security} 97 \subsubsection*{Security}
98 98
99 by using wrappers and interposition filters 99 by using wrappers and interposition filters
100 100
101 split masqmail into two instances 101 split masqmail into two instances
102 102
106 |masqmail| pos |masqmail| 106 |masqmail| pos |masqmail|
107 +--------+ ||||| +--------+ 107 +--------+ ||||| +--------+
108 \end{verbatim} 108 \end{verbatim}
109 109
110 110
111 \subsection{Reliability} 111 \subsubsection*{Reliability}
112 112
113 discuss persistence through using databases 113 discuss persistence through using databases
114 114
115 115
116 116
117 \subsection{Spam and malware handling} 117 \subsubsection*{Spam and malware handling}
118 118
119 discuss the MTA->scanner->MTA approach 119 discuss the MTA->scanner->MTA approach
120 120
121 121
122 122
123 \subsection{Bug fixes} 123 \subsubsection*{Bug fixes}
124 124
125 already fixed bugs 125 already fixed bugs
126 126
127 127
128 128
192 192
193 \sendmail, \exim, \qmail, and \masqmail\ all use at least two files to store one message in the queue: one file contains the message body, another the envelope and header information. The one containing the mail body is not modified at all. \postfix\ takes a different approach in storing queued messages in an internal format within one file. \person{Finch} takes yet another different approach in suggesting to store the whole queue in one single file with pointers to separating positions \cite{finchFIXME}. 193 \sendmail, \exim, \qmail, and \masqmail\ all use at least two files to store one message in the queue: one file contains the message body, another the envelope and header information. The one containing the mail body is not modified at all. \postfix\ takes a different approach in storing queued messages in an internal format within one file. \person{Finch} takes yet another different approach in suggesting to store the whole queue in one single file with pointers to separating positions \cite{finchFIXME}.
194 %fixme: check, cite, and think about 194 %fixme: check, cite, and think about
195 195
196 %fixme: discuss: filesystem vs. database 196 %fixme: discuss: filesystem vs. database
197 << \masqmail\ uses the filesytem to store the queue, storing the queue in a databases might improve the reliability through better persistence. >> %fixme
198
197 199
198 %fixme: what about the ``rule of repair''? 200 %fixme: what about the ``rule of repair''?
199 201
200 202
201 \subsubsection*{Sanitize mail} 203 \subsubsection*{Sanitize mail}