Implement change requests by @sebix
[ach-master.git] / src / practical_settings / im.tex
index 5cf85f6..19da329 100644 (file)
@@ -31,35 +31,46 @@ The following configuration is suggested to disable SSLv2 and SSLv3 and require
 
 \subsubsection{Tested with Versions}
 \begin{itemize*}
-  \item 13.6 - 14.12
+  \item ejabberd 14.12, Debian 7 Wheezy
+  \item ejabberd 14.12, Ubuntu 14.04 Trusty
+  \item ejabberd 15.03, Ubuntu 14.04 Trusty
 \end{itemize*}
 
 \subsubsection{Settings}
 ejabberd is one of the popular Jabber servers. In order to be compliant
 with the manifesto, you should adapt your configuration\footnote{\url{http://www.process-one.net/docs/ejabberd/guide_en.html}}:
 
-\configfile{ejabberd.yml}{104-107,113-113,114-114,119-119,123-123,125-125,127-127,135-137,141-143,192-192,200-200,204-206}{%
+\configfile{14.12/ejabberd.yml}{104-107,113-114,119-119,123-123,125-125,127-127,134-135,138-140,144-146,195-195,203-203,207-207,210-213}{%
   TLS setup for ejabberd}
 % 
 \subsubsection{Additional settings}
 It is possible to explicitly specify a cipher string for TLS connections.
-\configfile{ejabberd.yml}{104-107,113-114,119-119,123-123,125-125,127-127,134-137,139-139,141-143,192-192,200-200,204-207,211-211}{Specifying a cipher order and enforcing it}
+\configfile{14.12/ejabberd.yml}{104-107,113-114,119-119,123-123,125-125,127-127,134-135,138-138,142-142,144-146,195-195,203-203,207-207,210-213,217-217}{Specifying a cipher order and enforcing it}
 
-Note that we are setting the SSL option cipher\_server\_preference. This enforces our cipher order when negotiating which ciphers are used, as the cipher order of some clients chooses weak ciphers over stronger ciphers.\footnote{\url{https://blog.thijsalkema.de/me/blog//blog/2013/09/02/the-state-of-tls-on-xmpp-3/}} The cipher suite is chosen as per the recommendations in \autoref{section:recommendedciphers}, choosing the more compatible set due to the poor cipher availability in some clients.
+Note that we are setting the SSL option \texttt{cipher\_server\_preference}. This enforces our cipher order when negotiating which ciphers are used, as the cipher order of some clients chooses weak ciphers over stronger ciphers.\footnote{\url{https://blog.thijsalkema.de/me/blog//blog/2013/09/02/the-state-of-tls-on-xmpp-3/}}
 
-Other options you may want to take a look at are:
-\begin{itemize}
-\item The log level logs all login, including username and IP address, by default. Change the \texttt{loglevel} setting to avoid this:\\
-\configfile{ejabberd.yml}{31-39}{Changing the logging behaviour}
-\item By default, ejabberd provides an administration website (look for the ejabberd\_http module). Consider disabling it or adding TLS protection:\\
-\configfile{ejabberd.yml}{174-175,178-180,182-182,184-185}{Adding TLS to the web interface}
-\item By default, registration is open to everyone. Look for the \texttt{register} setting:\\
-\configfile{ejabberd.yml}{474-474,514-517}{Changing registration settings}
-\item By default, passwords are stored in plain text. Change this to hashed using the setting:\\
-\configfile{ejabberd.yml}{251-251,255-256}{Changing password storage to hashed}
-
-Alternatively, you can use a database backend to store authentication data, the details of which are out of the scope of this document.
-\end{itemize}
+Starting with version 15.03, it is possible to use custom Diffie-Hellman-Parameters. This allows us to negotiate stronger Diffie-Hellman-keys, and also helps us avoid problems with using common Diffie-Hellman-Parameters.\footnote{\url{https://weakdh.org}} You can generate your own parameter file by running:
+\begin{lstlisting}
+openssl dhparam -out dhparams.pem 4096
+\end{lstlisting}
+
+By default, ejabberd provides an administration website (look for the ejabberd\_http module). Enable TLS protection for it like this:
+
+\configfile{14.12/ejabberd.yml}{177-178,181-183,185-185,187-188}{Adding TLS to the web interface}
+
+\subsubsection{Tested with Versions}
+\begin{itemize*}
+\item Debian Wheezy 2.1.10-4+deb7u1
+\end{itemize*}
+\subsubsection{Settings}
+ejabberd is one of the popular Jabber servers. In order to be compliant
+with the manifesto, you should adapt your configuration\footnote{\url{http://www.process-one.net/docs/ejabberd/guide_en.html}}:
+\configfile{2.1.10/ejabberd.cfg}{108-109,111-111,120-126,172-172,179-179,184-184}{
+TLS setup for ejabberd}
+%
+\subsubsection{Additional settings}
+Older versions of ejabberd ($ < $ 2.0.0) need to be patched\footnote{\url{http://hyperstruct.net/2007/06/20/installing-the-startcom-ssl-certificate-in-ejabberd/}} to be able to parse all of the certificates in the CA chain.
+Newer versions of ejabberd now support specifying the cipher string in the config file (see configuration for version 14.12 above).
 
 \subsubsection{References}