SSHd: add ETM MACs for SHA2
[ach-master.git] / src / practical_settings / ssh.tex
index eac0d42..8dfd403 100644 (file)
@@ -1,12 +1,8 @@
 %%---------------------------------------------------------------------- 
 \subsection{OpenSSH}
-
 \subsubsection{Tested with Version} OpenSSH 6.1
-
 \subsubsection{Settings}
-
-
-\paragraph*{sshd_config}
+\paragraph*{sshd\_config}
 \begin{lstlisting}[breaklines]
        # ...
 
        PermitRootLogin no
        StrictModes yes
        HostKey /etc/ssh/ssh_host_rsa_key
-       ServerKeyBits 4096
-       Ciphers aes256-gcm@openssh.com aes128-gcm@openssh.com aes256-ctr aes128-ctr
-       MACs umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,hmac-ripemd160
+       Ciphers aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes128-ctr
+       MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,hmac-ripemd160
        KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1
 \end{lstlisting}
 
-% XXX: curve25519-sha256@libssh.org only available upstream(!)
-
-Note: Older linux systems won't support SHA2. PuTTY (Windows) does not support
+\textbf{Note:} Older Linux systems won't support SHA2. PuTTY (Windows) does not support
 RIPE-MD160. Curve25519, AES-GCM and UMAC are only available upstream (OpenSSH
 6.1). DSA host keys have been removed on purpose, the DSS standard does not
 support for DSA keys stronger than 1024bit
@@ -31,22 +24,9 @@ support for DSA keys stronger than 1024bit
 below current standards (see section \ref{section:keylengths}). Legacy systems
 can use this configuration and simply omit unsupported ciphers, key exchange
 algorithms and MACs.  
-
-
-\vskip 1.0em
-\subsubsection{Additional settings}
-
-
-Note that the setting \texttt{ServerKeyBits 4096}  has no effect until you re-generate new ssh host keys. There might be issues if you have users which rely on the fingerprint of the old ssh host key being stored in their clients' \texttt{.ssh/known\_hosts} file.
-
-\subsubsection{Justification for special settings (if needed)}
-
+%\subsubsection{Justification for special settings (if needed)}
 \subsubsection{References}
-
-
 The openssh sshd\_config  man page is the best reference: \url{http://www.openssh.org/cgi-bin/man.cgi?query=sshd_config}
-
-
 \subsubsection{How to test}
 Connect a client with verbose logging enabled to the SSH server \\
 \begin{lstlisting}[breaklines]
@@ -56,26 +36,17 @@ $ ssh -vvv myserver.com
 
 %%---------------------------------------------------------------------- 
 \subsection{Cisco ASA}
-
-
 \subsubsection{Tested with Version} 9.1(3)
-
 \subsubsection{Settings}
-
 \begin{lstlisting}[breaklines]
 crypto key generate rsa modulus 2048
 ssh version 2
 ssh key-exchange group dh-group14-sha1
-line vty 0 4
- transport input ssh
 \end{lstlisting}
-Note: When the ASA is configured for SSH, by default both SSH versions 1 and 2 are allowed. In addition to that, only a group1 DH-key-exchange is used. This should be changed to allow only SSH version 2 and to use a key-exchnage with group14. The generated RSA key should be 2048 bit (the actual supported maximum). A non-cryptographic best practice is to reconfigure the lines to only allow SSH-logins.
-
+Note: When the ASA is configured for SSH, by default both SSH versions 1 and 2 are allowed. In addition to that, only a group1 DH-key-exchange is used. This should be changed to allow only SSH version 2 and to use a key-exchange with group14. The generated RSA key should be 2048 bit (the actual supported maximum). A non-cryptographic best practice is to reconfigure the lines to only allow SSH-logins.
 \subsubsection{References}
 \url{http://www.cisco.com/en/US/docs/security/asa/asa91/configuration/general/admin\_management.html }
-
 \subsubsection{How to test}
-
 Connect a client with verbose logging enabled to the SSH server \\
 \begin{lstlisting}[breaklines]
 $ ssh -vvv myserver.com
@@ -84,11 +55,8 @@ $ ssh -vvv myserver.com
 
 %---------------------------------------------------------------------- 
 \subsection{Cisco IOS}
-
 \subsubsection{Tested with Version} 15.0, 15.1, 15.2
-
 \subsubsection{Settings}
-
 \begin{lstlisting}[breaklines]
 crypto key generate rsa modulus 2048 label SSH-KEYS
 ip ssh rsa keypair-name SSH-KEYS
@@ -97,12 +65,9 @@ ip ssh dh min size 2048
 \end{lstlisting}
 Note: Same as with the ASA, also on IOS by default both SSH versions 1 and 2 are allowed and the DH-key-exchange only use a DH-group of 768 Bit.
 In IOS, a dedicated Key-pair can be bound to SSH to reduce the usage of individual keys-pairs.
-
 \subsubsection{References}
 \url{http://www.cisco.com/en/US/docs/ios/sec\_user\_services/configuration/guide/sec\_secure\_shell\_v2.html }
-
 % add any further references or best practice documents here
-
 \subsubsection{How to test}
 Connect a client with verbose logging enabled to the SSH server \\
 \begin{lstlisting}[breaklines]