Merge branch 'master' of https://git.bettercrypto.org/ach-master
[ach-master.git] / src / practical_settings.tex
index 6ef9aef..c8ca65d 100644 (file)
@@ -45,6 +45,10 @@ You should redirect everything to httpS:// if possible. In Apache you can do thi
 
 \item[References:]
 
+\item[How to test:]
+
+See ssllabs in section \ref{section:Tools}
+
 \end{description}
 %XXXX   ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AES:RSA+3DES:!ADH:!AECDH:!MD5:!DSS
 
@@ -53,10 +57,16 @@ You should redirect everything to httpS:// if possible. In Apache you can do thi
 
 
 
-%% Note: need to be checked / reviewed
+\begin{description}
+\item[Tested with Version:]
+
+\todo{version?}
+
+\item[Settings:] \mbox{}
+
 
 %% Complete ssl.cipher-list with same algo than Apache
-\todo{FIXME: this string seems to be wrongly formatted}
+\todo{FIXME: this string seems to be wrongly formatted??}
 
 \begin{lstlisting}[breaklines]
   $SERVER["socket"] == "0.0.0.0:443" {
@@ -71,7 +81,10 @@ You should redirect everything to httpS:// if possible. In Apache you can do thi
   }
 \end{lstlisting}
 
-As for any other webserver, you should redirect automatically http traffic toward httpS:\footnote{That proposed configuration is directly coming from lighttpd documentation: \url{http://redmine.lighttpd.net/projects/1/wiki/HowToRedirectHttpToHttps}}
+
+\item[Additional settings:]
+
+As for any other webserver, you should redirect automatically http traffic toward httpS://
 
 \begin{lstlisting}[breaklines]
   $HTTP["scheme"] == "http" {
@@ -83,9 +96,27 @@ As for any other webserver, you should redirect automatically http traffic towar
   }
 \end{lstlisting}
 
+
+\item[References:] 
+\todo{add references}.
+lighttpd httpS:// redirection: \url{http://redmine.lighttpd.net/projects/1/wiki/HowToRedirectHttpToHttps}
+
+% add any further references or best practice documents here
+
+\item[How to test:] See ssllabs in section \ref{section:Tools}
+
+% describe here or point the admin to tools (can be a simple footnote or \ref{} to  the tools section) which help the admin to test his settings.
+\end{description}
+
+
 \subsubsection{nginx}
 
+\begin{description}
+\item[Tested with Version:]
+
+\todo{version?}
 
+\item[Settings:] \mbox{}
 
 \begin{lstlisting}[breaklines]
   ssl_prefer_server_ciphers on;
@@ -97,6 +128,7 @@ As for any other webserver, you should redirect automatically http traffic towar
 
 %% XXX FIXME: do we need to specify dhparams? Parameter: ssl_dhparam = file. See: http://wiki.nginx.org/HttpSslModule#ssl_protocols
 
+\item[Additional settings:]
 
 If you decide to trust NIST's ECC curve recommendation, you can add the following line to nginx's configuration file to select special curves:
 
@@ -110,14 +142,29 @@ You should redirect everything to httpS:// if possible. In Nginx you can do this
   rewrite     ^(.*)   https://$host$1 permanent;
 \end{lstlisting}
 
-%\subsubsection{openssl.conf settings}
 
-%\subsubsection{Differences in SSL libraries: gnutls vs. openssl vs. others}
+\item[References:] \todo{add references}
+
+\item[How to test:] See ssllabs in section \ref{section:Tools}
+
+\end{description}
+
+
+
+
 
 \subsubsection{MS IIS}
 \label{sec:ms-iis}
 
 
+\todo{screenshots? registry key settings? }
+
+\begin{description}
+
+\item[Tested with Version:] \todo{version?}
+
+\item[Settings:] \mbox{}
+
 
 When trying to avoid RC4 and CBC (BEAST-Attack) and requiring perfect
 forward secrecy, Microsoft Internet Information Server (IIS) supports
@@ -184,6 +231,26 @@ Not supported Clients:
 \item Bing
 \end{enumerate}
 
+\item[Additional settings:]
+
+%Here you can add additional settings
+
+\item[Justification for special settings (if needed):]
+
+% in case you have the need for further justifications why you chose this and that setting or if the settings do not fit into the standard Variant A or Variant B schema, please document this here
+
+\item[References:]
+
+\todo{add references}
+
+% add any further references or best practice documents here
+
+\item[How to test:] See ssllabs in section \ref{section:Tools}
+
+
+\end{description}
+
+
 
 \subsection{Mail Servers}
 
@@ -656,8 +723,7 @@ Lifetime: \todo{need recommendations; 1--8 hours seems to be common practice}
 
 \subsubsection{OpenVPN}
 \todo{cm: please write this subsubsection}
-\todo{WARNING - Section Writing in progress...}
-\todo{We suppose user uses easy-rsa which is roughly used in all HOWTO}
+\todo{We suppose user uses easy-rsa which is roughly used in all HOWTO\footnote{http://openvpn.net/index.php/open-source/documentation/howto.html}}
 
 \paragraph{Fine tuning at installation level}
 
@@ -669,29 +735,38 @@ export KEY_SIZE=2048
 \end{lstlisting}
 
 This will enhance the security of the key exchange steps by using RSA keys with a length of 2048 bits.
-
 \todo{Shouldn't we need to reduce CA and certificate lifetime?  Per default 10y!!}
 
-
 \paragraph{Server Configuration}
 
-\todo{To write - locked by David}
+In the server configuration file, you can select the algorithm that will be used for traffic encryption.
+Based on previous recommendation established in that document, select AES with a 128bits key in CBC mode.
 
 \begin{lstlisting}[breaklines]
 cipher AES-128-CBC   # AES
 \end{lstlisting}
 
+The following ciphers are avaible and recommended\foote{You can retrieve the list of supported algorithm on your OpenVPN installation thanks to the command \it{openvpn --show-ciphers}}
+\begin{lstlisting}[breaklines]
+AES-128-CBC
+AES-192-CBC
+AES-256-CBC
+CAMELLIA-128-CBC
+CAMELLIA-192-CBC
+CAMELLIA-256-CBC
+SEED-CBC
+\end{listlisting}
 
 \paragraph{Client Configuration}
 
-\todo{To write - locked by David}
+Client and server have to use identical configuration otherwise they can't communicate.
+The \it{cipher} directive has then to be identical in both server and client configuration.
 
 \begin{lstlisting}[breaklines]
-Hello World!
+cipher AES-128-CBC   # AES
 \end{lstlisting}
 
 
-
 \subsubsection{PPTP}
 \todo{cm: please write this subsubsection}
 
@@ -737,7 +812,7 @@ Adi?? }
 
 \input{DBs}
 
-\input{proxy_solutions}
+\input{proxy_solutions}