Cifrados específicos JSch Deshabilitar sin cambiar el código

Miguel :

Yo trabajo con un número de instituciones financieras, y uno de ellos pidió que desactivamos algunos de nuestros sistemas de cifrado utilizado para conectarse a ellos. En concreto, solicitaron hmac-md5y aes128-ctrser retirados, y recomendaron quitamos aes128-cbcdebido a que son menos seguros.

¿Hay alguna manera, ya sea a través de parámetros de línea de comandos, o tal vez el archivo de seguridad de Java, para eliminar fácilmente estas cifras?

En cuanto a algunos de los ejemplos, parece que tendría que construir la lista de los que quiero sin que los tres (mal ejemplo copiado del ejemplo AES) anterior:

session.setConfig("cipher.s2c", "aes128-cbc,3des-cbc,blowfish-cbc");
session.setConfig("cipher.c2s", "aes128-cbc,3des-cbc,blowfish-cbc");
session.setConfig("CheckCiphers", "aes128-cbc");

Obviamente, si quitan ellos en el lado del servidor, mi cliente no usarlos, pero pude ver esto más común devenir. Realmente no quiero pasar por un cambio de código en el momento.

Fragmento en el registro de depuración:

INFO: Remote version string: SSH-2.0-WS_FTP-SSH_8.5.0
INFO: Local version string: SSH-2.0-JSCH-0.1.54
INFO: CheckCiphers: aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc,3des-ctr,arcfour,arcfour128,arcfour256
INFO: CheckKexes: diffie-hellman-group14-sha1,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521
INFO: CheckSignatures: ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521
INFO: SSH_MSG_KEXINIT sent
INFO: SSH_MSG_KEXINIT received
INFO: kex: server: diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group14-sha256,diffie-hellman-group-exchange-sha256
INFO: kex: server: ssh-dss,ssh-rsa
INFO: kex: server: aes256-ctr,aes192-ctr,aes128-ctr,3des-cbc,blowfish-cbc,aes256-cbc,aes128-cbc
INFO: kex: server: aes256-ctr,aes192-ctr,aes128-ctr,3des-cbc,blowfish-cbc,aes256-cbc,aes128-cbc
INFO: kex: server: hmac-sha1,hmac-md5,hmac-sha2-256,hmac-sha2-384,hmac-sha2-512
INFO: kex: server: hmac-sha1,hmac-md5,hmac-sha2-256,hmac-sha2-384,hmac-sha2-512
INFO: kex: server: none
INFO: kex: server: none
INFO: kex: server:
INFO: kex: server:
INFO: kex: client: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
INFO: kex: client: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521
INFO: kex: client: aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc,aes192-ctr,aes192-cbc,aes256-ctr,aes256-cbc
INFO: kex: client: aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc,aes192-ctr,aes192-cbc,aes256-ctr,aes256-cbc
INFO: kex: client: hmac-md5,hmac-sha1,hmac-sha2-256,hmac-sha1-96,hmac-md5-96
INFO: kex: client: hmac-md5,hmac-sha1,hmac-sha2-256,hmac-sha1-96,hmac-md5-96
INFO: kex: client: none
INFO: kex: client: none
INFO: kex: client:
INFO: kex: client:
INFO: kex: server->client aes128-ctr hmac-md5 none
INFO: kex: client->server aes128-ctr hmac-md5 none
Martin Prikryl:

JSch no se carga la configuración por defecto desde cualquier lugar, de forma predeterminada.

Así que no hay manera de cambiar la configuración, a menos que su código es explícitamente listo para eso.

Hay una manera fácil de implementar esto, sin embargo. Se puede utilizar OpenSSHConfigla clase que es capaz de analizar un archivo con una sintaxis de OpenSSH común ssh_configde archivos .

OpenSSHConfig config = new OpenSSHConfig();
config.parse("/some/path/ssh_config-like-file");
JSch.setConfigRepository(config);

El ssh_configarchivo puede contener -como continuación:

Ciphers aes128-cbc,3des-cbc,blowfish-cbc

Habiendo dicho esto, lo que realmente no tiene sentido para ellos piden que retire los sistemas de cifrado. Es su trabajo de no permitir que los sistemas de cifrado en su servidor.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=212059&siteId=1
Recomendado
Clasificación