
Una estrategia de mitigación sugerida contraAtolladeroLos ataques relacionados con SSH consisten en generar grupos SSH Diffie-Hellman personalizados usando algo como (lo siguiente es para OpenSSH)
ssh-keygen -G moduli-2048.candidates -b 2048
ssh-keygen -T moduli-2048 -f moduli-2048.candidates
seguido de reemplazar el archivo de módulos de todo el sistema con el archivo de salida moduli-2048
. ( ssh-keygen -G
se utiliza para generar candidatos DH-GEX primos y ssh-keygen -T
para probar la seguridad de los candidatos generados).
Claramente, esto es algo razonable en servidores SSH que de otro modo usarían grupos bien conocidos que se prestan bien al cálculo previo, pero¿Existe algún beneficio de seguridad al implementar grupos SSH DH personalizados en sistemas solo para clientes?(Es decir, sistemas que se conectan a servidores SSH, pero que nunca actúan como un servidor SSH).
Estoy principalmente interesado en respuestas relacionadas con OpenSSH en Linux, pero también agradecería respuestas más genéricas.
Respuesta1
Puedes hacerlo si realmente lo deseas, pero yo no me molestaría en regenerar los parámetros DH de 2048 bits para OpenSSH. Hay cosas mucho más importantes que necesitashacer para proteger SSH, como deshabilitar las criptomonedas débiles.
Lo que yoharíaLo que debemos hacer es eliminar los existentes que tengan menos de 2048 bits.
awk '$5 >= 2000' /etc/ssh/moduli > /etc/ssh/moduli.strong && \
mv /etc/ssh/moduli.strong /etc/ssh/moduli
En caso de que no lo hayas notado, OpenSSH viene con una gran cantidad de módulos pregenerados, hasta 8192 bits. Si bien hoy en día estamos ciertamente preocupados por los números primos de 1024 bits, se cree que los de 2048 bits serán seguros en el futuro previsible. Y aunque eso eventualmente cambiará, podría ser la próxima semana, pero es más probable que sea mucho después de que nos hayamos convertido en pensionistas...
También hay esta parte curiosa en la ssh-keygen
página de manual:
Es importante que este archivo contenga módulos de un rango de longitudes de bits y que ambos extremos de una conexión compartan módulos comunes.
Lo que parece ir en contra de reemplazar los módulos existentes, aunque en realidad no proporciona la razón real para hacerlo.
Respuesta2
La respuesta es: No. No hay beneficios. :)
/etc/ssh/moduli
El archivo solo se usa para el lado del servidor.
No necesita preocuparse por ese archivo para el lado del cliente SSH:
Puede rastrear la ejecución del cliente SSH y verificar que no abra ese archivo.
$ strace -e openat ssh user@localhost