[1/2] add hardened SSH client configuration

Message ID 21bde1af-9026-b630-7370-c1f0f4abc07e@link38.eu
State Superseded
Headers
Series [1/2] add hardened SSH client configuration |

Commit Message

Peter Müller Sept. 9, 2018, 3:11 a.m. UTC
  Introduce a custom OpenSSH client configuration file for IPFire.
Some people use it as a jumping host, so applying hardening options
system-wide improves security.

Cryptography setup is the same as for OpenSSH server configuration.

Partially fixes #11751

Signed-off-by: Peter Müller <peter.mueller@link38.eu>
---
 config/ssh/ssh_config | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)
 create mode 100644 config/ssh/ssh_config
  

Patch

diff --git a/config/ssh/ssh_config b/config/ssh/ssh_config
new file mode 100644
index 000000000..eadf307ee
--- /dev/null
+++ b/config/ssh/ssh_config
@@ -0,0 +1,33 @@ 
+# OpenSSH client configuration
+#
+# set some basic hardening options for all connections
+Host *
+        # disable Roaming as it is known to be vulnerable
+        UseRoaming no
+
+        # only use secure crypto algorithm
+        KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
+        Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com
+        MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,umac-128@openssh.com
+
+        # always visualise server host keys (has no technical
+        # effect, but helps to identify MITM attacks)
+        VisualHostKey yes
+
+        # use SSHFP (might work on some up-to-date networks) to look up host keys
+        VerifyHostKeyDNS yes
+
+        # send keep-alive messages to connected server to avoid broken connections
+        ServerAliveInterval 10
+        ServerAliveCountMax 6
+
+        # disable X11 forwarding (security risk)
+        ForwardX11 no
+
+        # always check server IP address
+        CheckHostIP yes
+
+        # ensure only allowed authentication methods are used
+        PreferredAuthentications publickey,keyboard-interactive,password
+
+# EOF