Saltar al contenido

SSH: ¿Cómo deshabilitar cifrados débiles?

No dudes en divulgar nuestra página y códigos en tus redes sociales, ayúdanos a aumentar nuestra comunidad.

Solución:

Si no tiene una lista explícita de cifrados establecidos en ssh_config utilizando el Ciphers palabra clave, luego el valor predeterminado, según man 5 ssh_config (lado del cliente) y man 5 sshd_config (lado del servidor), es:

            aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,
            [email protected],[email protected],
            [email protected],
            aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,
            aes256-cbc,arcfour

Nótese la presencia de los cifrados arcfour. Por lo tanto, es posible que deba establecer explícitamente un valor más restrictivo para Ciphers.

ssh -Q cipher from the client le dirá qué esquemas puede admitir su cliente. Tenga en cuenta que esta lista no se ve afectada por la lista de cifrados especificados en ssh_config. Quitar un cifrado de ssh_config no lo eliminará de la salida de ssh -Q cipher. Además, usando ssh con el -c opción para especificar explícitamente un cifrado anulará la lista restringida de cifrados que configuró en ssh_config y posiblemente le permita usar un cifrado débil. Esta es una función que le permite usar su ssh cliente para comunicarse con servidores SSH obsoletos que no admiten los cifrados más fuertes más nuevos.

nmap --script ssh2-enum-algos -sV -p le dirá qué esquemas admite su servidor.

Para deshabilitar RC4 y usar cifrados seguros en el servidor SSH, codifique lo siguiente en /etc/ssh/sshd_config

ciphers [email protected],[email protected],[email protected],aes256-ctr,aes192-ctr,aes128-ctr

O si prefiere no dictar cifrados sino simplemente eliminar los cifrados inseguros, ejecute esto en la línea de comandos (en modo sudo):

sshd -T | grep ciphers | sed -e "s/(3des-cbc|aes128-cbc|aes192-cbc|aes256-cbc|arcfour|arcfour128|arcfour256|blowfish-cbc|cast128-cbc|[email protected]),?//g" >> /etc/ssh/sshd_config

Puede verificar los cifrados utilizados actualmente por su servidor con:

sudo sshd -T | grep ciphers | perl -pe 's/,/n/g' | sort -u

Asegúrese de que su cliente ssh pueda usar estos cifrados, ejecute

ssh -Q cipher | sort -u

para ver la lista.

También puede indicarle a su cliente SSH que negocie solo cifrados seguros con servidores remotos. En /etc/ssh/ssh_config colocar:

Host *
    ciphers [email protected],[email protected],[email protected],aes256-ctr,aes192-ctr,aes128-ctr

Los fragmentos anteriores provienen de aquí
Para probar la configuración de su servidor, puede usar ssh-audit

El problema de especificar explícitamente una lista de cifrados es que debe agregar manualmente nuevos cifrados a medida que aparecen. En su lugar, simplemente enumere los cifrados que desea eliminar, anteponiendo la lista (no cada cifrado individual) con un carácter ‘-‘. Entonces, en este caso, la línea Ciphers debería decir:

Ciphers -arcfour*

O si lo prefieres:

Ciphers -arcfour,arcfour128,arcfour256

Desde la página de manual de sshd_config en el Cifrados opción (desde OpenSSH 7.5, lanzado el 2017-03-20):

Si el valor especificado comienza con un carácter ‘+’, los cifrados especificados se agregarán al conjunto predeterminado en lugar de reemplazarlos. Si el valor especificado comienza con un carácter ‘-‘, los cifrados especificados (incluidos los comodines) se eliminarán del conjunto predeterminado en lugar de reemplazarlos.

Esto también se aplica a la Algoritmos Kex y MAC opciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *