tested with ubuntu 14.04
[ach-master.git] / src / practical_settings / mailserver.tex
index 678ee7b..d9846cf 100644 (file)
@@ -1,6 +1,6 @@
 % hack.
 \gdef\currentsectionname{MailServers}
 % hack.
 \gdef\currentsectionname{MailServers}
-This section documents the most common mail (SMTP) and IMAPs/POPs servers. Another option to secure IMAPs/POPs servers is to place them behind an stunnel server. 
+This section documents the most common mail (SMTP) and IMAPs/POPs servers. Another option to secure IMAPs/POPs servers is to place them behind an stunnel server.
 
 
 %% ----------------------------------------------------------------------
 
 
 %% ----------------------------------------------------------------------
@@ -47,17 +47,18 @@ mode, because the alternative is plain text transmission.
 \subsection{Dovecot}
 
 
 \subsection{Dovecot}
 
 
-\subsubsection{Tested with Version} 
+\subsubsection{Tested with Version}
 \begin{itemize*}
   \item Dovecot 2.1.7, Debian Wheezy (without ``ssl\_prefer\_server\_ciphers'' setting)
   \item Dovecot 2.2.9, Debian Jessie
   \item 2.0.19apple1 on OS X Server 10.8.5 (without ``ssl\_prefer\_server\_ciphers'' setting)
 \begin{itemize*}
   \item Dovecot 2.1.7, Debian Wheezy (without ``ssl\_prefer\_server\_ciphers'' setting)
   \item Dovecot 2.2.9, Debian Jessie
   \item 2.0.19apple1 on OS X Server 10.8.5 (without ``ssl\_prefer\_server\_ciphers'' setting)
+  \item Dovecot 2.2.9 on Ubuntu 14.04 trusty
 \end{itemize*}
 
 \subsubsection{Settings}
 % Example: http://dovecot.org/list/dovecot/2013-October/092999.html
 
 \end{itemize*}
 
 \subsubsection{Settings}
 % Example: http://dovecot.org/list/dovecot/2013-October/092999.html
 
-\configfile{10-ssl.conf}{51-55}{Dovecot SSL configuration}
+\configfile{10-ssl.conf}{48-55}{Dovecot SSL configuration}
 
 \subsubsection{Additional info}
 Dovecot 2.0, 2.1: Almost as good as dovecot 2.2. Dovecot does not ignore unknown configuration parameters. Does not support
 
 \subsubsection{Additional info}
 Dovecot 2.0, 2.1: Almost as good as dovecot 2.2. Dovecot does not ignore unknown configuration parameters. Does not support
@@ -142,22 +143,30 @@ openssl s_client -crlf -connect SERVER.TLD:993
 
 \subsubsection{Tested with Versions}
 \begin{itemize*}
 
 \subsubsection{Tested with Versions}
 \begin{itemize*}
-  \item Postfix 2.9.6, Debian Wheezy
+  \item Postfix 2.9.6, Debian Wheezy with OpenSSL 1.0.1e
+  \item Postfix 2.11.0 on Ubuntu 14.04.02 with OpenSSL 1.0.1f
 \end{itemize*}
 
 
 \subsubsection{Settings}
 
 \end{itemize*}
 
 
 \subsubsection{Settings}
 
+Postfix has five internal lists of ciphers, and the possibility to switch
+between those with \emph{smtpd_tls_ciphers}. However, we leave this at its
+default value for server to server connections, as many mail servers only
+support outdated protocols and ciphers. We consider bad encryption still better
+than plain text transmission. For connections to MUAs, TLS is mandatory and the
+ciphersuite is modified.
+
 %% I (cm) consider the generation of own DH parameters to be voodoo until
 %% someone can explain the contrary. They are, after all, public, and
 %% I found no research that would show that long-term use of a
 %% parameter set would weaken the DH exchange. Also notice that IPSEC
 %% uses fixed parameter sets only.
 %% I (cm) consider the generation of own DH parameters to be voodoo until
 %% someone can explain the contrary. They are, after all, public, and
 %% I found no research that would show that long-term use of a
 %% parameter set would weaken the DH exchange. Also notice that IPSEC
 %% uses fixed parameter sets only.
-%& 
+%&
 %% also notice the following comment from  src/tls/tls_dh.c:
 %% * Compiled-in EDH primes (the compiled-in generator is always 2). These are
 %% * used when no parameters are explicitly loaded from a site-specific file.
 %% also notice the following comment from  src/tls/tls_dh.c:
 %% * Compiled-in EDH primes (the compiled-in generator is always 2). These are
 %% * used when no parameters are explicitly loaded from a site-specific file.
-%% * 
+%% *
 %% * 512-bit parameters are used for export ciphers, and 1024-bit parameters are
 %% * used for non-export ciphers. An ~80-bit strong EDH key exchange is really
 %% * too weak to protect 128+ bit keys, but larger DH primes are
 %% * 512-bit parameters are used for export ciphers, and 1024-bit parameters are
 %% * used for non-export ciphers. An ~80-bit strong EDH key exchange is really
 %% * too weak to protect 128+ bit keys, but larger DH primes are
@@ -179,16 +188,17 @@ openssl s_client -crlf -connect SERVER.TLD:993
 %% \end{lstlisting}
 
 \paragraph{MX and SMTP client configuration:}
 %% \end{lstlisting}
 
 \paragraph{MX and SMTP client configuration:}
-As discussed in section \ref{subsection:smtp_general}, because of opportunistic encryption we do not
-restrict the list of ciphers. There are still some steps needed to
-enable TLS, all in \verb|main.cf|:
+As discussed in section \ref{subsection:smtp_general}, because of opportunistic
+encryption we do not restrict the list of ciphers or protocols for communication
+with other mail servers to avoid transmission in plain text. There are still
+some steps needed to enable TLS, all in \verb|main.cf|:
 
 \configfile{main.cf}{22-33}{Opportunistic TLS in Postfix}
 
 \paragraph{MSA:}
 
 \configfile{main.cf}{22-33}{Opportunistic TLS in Postfix}
 
 \paragraph{MSA:}
-For the MSA \verb|smtpd| process, we first define the ciphers that are
-acceptable for the ``mandatory'' security level, again in
-\verb|main.cf|:
+For the MSA \verb|smtpd| process which communicates with mail clients, we first
+define the ciphers that are acceptable for the ``mandatory'' security level,
+again in \verb|main.cf|:
 
 \configfile{main.cf}{35-37}{MSA TLS configuration in Postfix}
 
 
 \configfile{main.cf}{35-37}{MSA TLS configuration in Postfix}
 
@@ -201,7 +211,6 @@ For those users who want to use EECDH key exchange, it is possible to customize
 \configfile{main.cf}{38-38}{EECDH customization in Postfix}
 The default value since Postfix 2.8 is ``strong''.
 
 \configfile{main.cf}{38-38}{EECDH customization in Postfix}
 The default value since Postfix 2.8 is ``strong''.
 
-
 \subsubsection{Limitations}
 tls\_ssl\_options is supported from Postfix 2.11 onwards. You can
 leave the statement in the configuration for older versions, it will
 \subsubsection{Limitations}
 tls\_ssl\_options is supported from Postfix 2.11 onwards. You can
 leave the statement in the configuration for older versions, it will
@@ -252,6 +261,7 @@ openssl s_client -starttls smtp -crlf -connect SERVER.TLD:25
 \subsubsection{Tested with Versions}
 \begin{itemize*}
   \item Exim 4.82, Debian Jessie
 \subsubsection{Tested with Versions}
 \begin{itemize*}
   \item Exim 4.82, Debian Jessie
+  \item Exim 4.82, Ubuntu 14.04.2 with OpenSSL 1.0.1e
 \end{itemize*}
 
 
 \end{itemize*}
 
 
@@ -380,4 +390,3 @@ openssl s_client -starttls smtp -crlf -connect SERVER.TLD:25
 %\subsection{Exchange}
 
 %\todo{FIXME: write this section}
 %\subsection{Exchange}
 
 %\todo{FIXME: write this section}
-