Saltar al contenido

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

Solución:

Si no tiene una lista explícita de cifrados en ssh_config utilizando el Ciphers palabra clave, luego el valor predeterminado, de acuerdo con man 5 ssh_config (del 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

Tenga en cuenta la presencia de cifrados arcfour. Por lo tanto, es posible que deba establecer explícitamente un valor más restrictivo para Ciphers.

ssh -Q cipher del cliente le dirá qué esquemas puede soportar su cliente. Tenga en cuenta que esta lista no se ve afectada por la lista de cifrados especificada en ssh_config. Eliminar un cifrado de ssh_config no lo eliminará de la salida de ssh -Q cipher. Además, usando ssh con el -c La opción para especificar explícitamente un cifrado anulará la lista restringida de cifrados que establezca en ssh_config y posiblemente le permita utilizar un cifrado débil. Esta es una función que le permite utilizar su ssh cliente para comunicarse con servidores SSH obsoletos que no son compatibles con los cifrados más nuevos y más potentes.

nmap --script ssh2-enum-algos -sV -p <port> <host> 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 pero simplemente desea eliminar los cifrados inseguros, ejecute esto en la línea de comando (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 comprobar los cifrados que utiliza actualmente 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 cifrado 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 leer:

Ciphers -arcfour*

O si lo prefieres:

Ciphers -arcfour,arcfour128,arcfour256

Desde la página del manual sshd_config en el Cifrados opción (desde OpenSSH 7.5, lanzado 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 Algoritmos de 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 *