¿Cuál es la necesidad actual de claves de host ssh dsa?

11

Cuando comencé a tratar con servidores * nix, los servidores openssh venían con dsa y con las claves de host rsa, y los clientes de openssh preferían la clave rsa. En la actualidad, los servidores openssh tienen claves de host dsa, rsa y ecdsa, y los clientes de openssh prefieren la clave de host ecdsa.

¿Hasta qué punto todavía necesito / quiero tener openssh configurado para proporcionar claves de host dsa?

Sobre todo preguntándose con respecto a las implementaciones de clientes que no son openssh.

andol
fuente
Pereza. Apoyo una aplicación cuyos ingenieros han estado distribuyendo claves DSA durante 10 años ... pero ya no hay razón para hacerlo. Las notas a continuación sobre compatibilidad son correctas.
ewwhite

Respuestas:

12

No puedo pensar en nada ampliamente utilizado que carezca de soporte para al menos RSA, y realmente si está utilizando un emulador de terminal en Windows (por ejemplo) que solo admite DSA, debe dejar de usarlo y descargar masilla, o actualizarlo.

La opción está ahí para proporcionar compatibilidad. Sin embargo, también se agrega a su superficie de seguridad; un atacante podría debilitar su criptografía al convencer a un cliente de que solo declare soporte para DSA. Este escenario es bastante exagerado. Si le preocupa, entonces debe deshabilitar DSA.

El único escenario que puedo imaginar que probablemente resultaría en un compromiso serio es si uno de sus usuarios usara un par de claves DSA en una computadora no confiable o comprometida que siempre negociaba DSA y generaba valores efímeros duplicados para crear firmas DSA; el resultado sería que la clave del usuario podría verse comprometida, pero no parece que este sea el camino de menor resistencia para un atacante. A menos que su sistema sea utilizado por espías internacionales, probablemente no necesite preocuparse por ello. Consulte esta pregunta en uno de nuestros sitios hermanos: /security//q/29262/12223 .

Realmente no hay una forma directa de deshabilitar DSA. El error 528046 de Debian lo propone y proporciona un parche (para una opción PubKeyTypes), y se reunió con soporte, pero no se ha llevado a cabo desde 2009, sin evidencia de nada en sentido ascendente.

Falcon Momot
fuente
Hay una manera de deshabilitar DSA ahora, y también es la predeterminada.
joshudson
9

Su respuesta probablemente se encuentre aquí:

/security/5096/rsa-vs-dsa-for-ssh-authentication-keys

La mayoría de las recomendaciones son para claves RSA por una variedad de razones, por lo que las claves DSA están en gran parte allí para la compatibilidad con versiones anteriores. DSA se introdujo cuando salió SSH2, ya que en ese momento RSA todavía estaba patentado y DSA era más abierto. Eso ha cambiado desde entonces.

Debido a todo esto, las claves DSA son prácticamente inútiles. Funcionarán, y ssh-keygen incluso los producirá si se lo pides, pero alguien tiene que preguntarlo específicamente y eso significa que pueden usar RSA si los obligas a hacerlo. Que yo sepa, nada hizo solo DSA. Las claves DSA están bien prohibidas.

sysadmin1138
fuente
Sí, me doy cuenta de que las claves de host dsa tienen que ver con la comparabilidad hacia atrás, pero mi pregunta (que probablemente podría haber sido más clara) es acerca de lo que todavía es necesario para esa comparabilidad hacia atrás.
andol
2

La única razón por la que puedo pensar en seguridad es si la factorización principal cae pero el registro discreto no cae, pero RSA cae, pero DSA se mantiene. En ese caso, estaría preguntando cómo deshabilitar RSA. Si el registro discreto cae, tanto el RSA como el DSA caen. Sin embargo, si su ssh todavía requiere exactamente 1024 bits para DSA, corríjalo ahora.

joshudson
fuente