I checked with Red Hat, and their latest released version is 1.4.3.  They made 
it seem like they are not currently going to release anything newer, but I’m 
trying to get them to give me a time frame.  We can’t SSH to FIPS 140-2 
compliant machines via guacamole without it.  When I get libssh2-devel 
resolved/updated, would I have to recompile guacamole?

Thanks,
Harry

From: Mike Jumper [mailto:[email protected]]
Sent: Wednesday, January 24, 2018 5:08 PM
To: [email protected]
Subject: Re: Connection failures

On Wed, Jan 24, 2018 at 2:02 PM, Mike Jumper 
<[email protected]<mailto:[email protected]>> wrote:
On Wed, Jan 24, 2018 at 11:49 AM, 
<[email protected]<mailto:[email protected]>> wrote:
Did some more debugging.  When we try to connect to a server that is FIPS 140-2 
compliant, here’s what the algorithms that are expected are:

When I try to connect via a Guacamole SSH session, here are the algorithms 
being sent:
debug2: KEX algorithms: 
ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,ext-info-c
debug2: host key algorithms: 
[email protected]<mailto:[email protected]>,[email protected]<mailto:[email protected]>,[email protected]<mailto:[email protected]>,[email protected]<mailto:[email protected]>,[email protected]<mailto:[email protected]>,[email protected]<mailto:[email protected]>,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa,ssh-dss
debug2: ciphers ctos: 
aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc,[email protected]<mailto:[email protected]>
debug2: ciphers stoc: 
aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc,[email protected]<mailto:[email protected]>
debug2: MACs ctos: 
hmac-sha1,hmac-sha2-256,hmac-sha2-512,[email protected]<mailto:[email protected]>,[email protected]<mailto:[email protected]>,[email protected]<mailto:[email protected]>
debug2: MACs stoc: 
hmac-sha1,hmac-sha2-256,hmac-sha2-512,[email protected]<mailto:[email protected]>,[email protected]<mailto:[email protected]>,[email protected]<mailto:[email protected]>

Jan 24 14:42:38 carts sshd[6890]: FIPS mode initialized
Jan 24 14:42:38 carts sshd[6890]: Unable to negotiate with 172.26.170.72 port 
57948: no matching key exchange method found. Their offer: 
diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
 [preauth]

Looks like, to me, that Guacamole isn’t sending the proper algorithms or 
ciphers in its SSH request.  Not sure if the issue is in Guacamole itself or in 
libssh2, which is 1.4.3 at the moment.


The connection handshake for SSH connections (key exchange, ciphers, etc.) is 
actually dictated internally by libssh2, so that much is out of Guacamole's 
control. Checking the current libssh2 source, the key exchange methods reported 
as rejected above are the only key exchange methods supported by libssh2:

https://github.com/libssh2/libssh2/blob/bcd492163b71608f8e46cdc864741d6c566ce9bc/src/kex.c#L1777-L1783


Correction: the version of libssh2 which you are using, 1.4.3, lacks support 
for "diffie-hellman-group-exchange-sha256":

https://github.com/libssh2/libssh2/blob/f1cfa55b6064ba18fc0005713ed790da579361b5/src/kex.c#L939-L944

It was added via:

https://github.com/libssh2/libssh2/commit/fc4a969a0512e226de9b821496d20b9ddf53b741

which is apparently part of their 1.7.0 and 1.8.0 releases. I have not checked 
whether those version support the ciphers and MACs that your server requires, 
but updating to 1.7.0 or 1.8.0 should get you further in the process. What 
you're looking for is impossible to achieve with libssh2 1.4.3.

- Mike

Reply via email to