5 \item[Tested with Version:] OpenSSH 6.1
7 \item[Settings:] \mbox{}
10 \paragraph*{sshd_config}
11 \begin{lstlisting}[breaklines]
15 PermitEmptyPasswords no
18 HostKey /etc/ssh/ssh_host_rsa_key
20 Ciphers aes256-gcm@openssh.com aes128-gcm@openssh.com aes256-ctr aes128-ctr
21 MACs umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,hmac-ripemd160
22 KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1
25 % XXX: curve25519-sha256@libssh.org only available upstream(!)
27 Note: Older linux systems won't support SHA2. PuTTY (Windows) does not support
28 RIPE-MD160. Curve25519, AES-GCM and UMAC are only available upstream (OpenSSH
29 6.1). DSA host keys have been removed on purpose, the DSS standard does not
30 support for DSA keys stronger than 1024bit
31 \footnote{\url{https://bugzilla.mindrot.org/show_bug.cgi?id=1647}} which is far
32 below current standards (see section \ref{section:keylengths}). Legacy systems
33 can use this configuration and simply omit unsupported ciphers, key exchange
36 \item[Additional settings:] \mbox{}
38 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.
41 The openssh sshd\_config man page is the best reference: \url{http://www.openssh.org/cgi-bin/man.cgi?query=sshd_config}
45 % 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.
46 Connect with a client to an ssh server like this: \\
47 \begin{lstlisting}[breaklines]
48 $ ssh -vvv myserver.com
50 and observe the key exchange in the verbose output.
54 \subsection{Cisco ASA}
58 \item[Tested with Version:]9.1(3)
60 \item[Settings:] \mbox{}
61 \begin{lstlisting}[breaklines]
62 crypto key generate rsa modulus 2048
64 ssh key-exchange group dh-group14-sha1
68 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.
70 http://www.cisco.com/en/US/docs/security/asa/asa91/configuration/general/admin\_management.html
74 Connect with a client to an ssh server like this: \\
75 \begin{lstlisting}[breaklines]
76 $ ssh -vvv myserver.com
77 \end{lstlisting}and observe the key exchange in the verbose output.
81 \subsection{Cisco IOS}
85 \item[Tested with Version:] 15.0, 15.1, 15.2
87 \item[Settings:] \mbox{}
88 \begin{lstlisting}[breaklines]
89 crypto key generate rsa modulus 2048 label SSH-KEYS
90 ip ssh rsa keypair-name SSH-KEYS
92 ip ssh dh min size 2048
94 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.
95 In IOS, a dedicated Key-pair can be bound to SSH to reduce the usage of individual keys-pairs.
98 http://www.cisco.com/en/US/docs/ios/sec\_user\_services/configuration/guide/sec\_secure\_shell\_v2.html
100 % add any further references or best practice documents here
103 Connect with a client to an ssh server like this: \\
104 \begin{lstlisting}[breaklines]
105 $ ssh -vvv myserver.com
106 \end{lstlisting}and observe the key exchange in the verbose output.