cifrados SSH, MAC e intercambio de claves (y pruebas de pluma de los mismos)

7

En el trabajo, hemos intentado alejar nuestros servicios externos de una política de inclusión (donde intentamos aceptar a la mayor cantidad de personas posible) a una configuración más centrada en la seguridad.

El primer paso fue probar algunas de nuestras aplicaciones web principales, donde el enfoque tiende a ser sobre las debilidades en el código de la aplicación, pero se ha dicho mucho acerca de las suites y sistemas de cifrado SSL / TLS. De la parte posterior de los resultados de estas pruebas, he logrado al menos conseguir que suficientes personas se interesen en obtener las "calificaciones" A, A y A + en las pruebas de Qualys (gestión como calificaciones cuantificables, ¡¿quién sabía?!) .

Sin embargo, otro componente clave de algunos de nuestros programas es la carga / descarga masiva de archivos a través de SFTP (es decir, a través de SSH). Siempre he tratado de aplicar las mejores prácticas que pude determinar en los servidores SFTP, por lo que usamos habitualmente:

  • autenticación de solo clave
  • listas negras fallas de autenticación repetidas
  • claves de 2.048 bits
  • deshabilitar shell, exec y reenvío de puertos

Pero debo admitir que sé muy poco acerca de las implementaciones criptográficas, por lo que casi siempre se han usado las configuraciones predeterminadas. Sin embargo, supongo que, si un lápiz-probador marca RC4, 3DES, MD5, y otros. en una configuración basada en TLS, también marcarían estos algoritmos en un servidor SFTP (si estuvieran incluidos dentro de su alcance).

Estoy trabajando principalmente en una pila de Windows, y hemos estado usando VanDyke VShell como nuestro servidor SFTP de elección durante varios años. De forma predeterminada, habilita todas las opciones de cifrado y MAC (excepto 'Ninguna') y todas las opciones de intercambio de claves, excepto 'Kerberos' y 'Kerberos (Intercambio de grupo)'.

Esto deja los siguientes algoritmos, como los nombra la aplicación VShell:

  • Intercambio de claves: diffie-hellman-group14, diffie-hellman, diffie-hellman-group
  • Cifrado: AES-256-CTR, AES-192-CTR, AES-128-CTR, AES-256, AES-192, AES-128, Twofish, Blowfish, 3DES, RC4
  • MAC: SHA1, SHA1-96, MD5, MD5-96, UMAC-64 (y, en versiones más recientes) SHA2-512, SHA2-256

En cuanto a las preguntas:

  1. ¿Dónde están las mejores referencias para que yo determine cuáles de estas se consideran ahora demasiado débiles para usar?
  2. ¿Cómo puedo determinar mejor si deshabilitar alguno de estos afectará negativamente a mis usuarios finales?
  3. ¿Existen pruebas similares a las de Qualys que pueda usar para evaluar regularmente estos servidores, de preferencia con pruebas convincentes con las que poder mejorar la gestión?
pregunta jimbobmcgee 04.12.2015 - 18:53
fuente

1 respuesta

4
  1. Desafortunadamente, los organismos de estándares no están de acuerdo en una sola lista de cifrados para la seguridad SSL / TLS o SSH. El siguiente documento y sus referencias internas me ayudarán mucho y creo que en general owasp.org sería un gran lugar para mantenerse al día con cifras débiles, pero desafortunadamente no hay una lista universal en este momento.

    enlace

    Para el endurecimiento de SSH, observe específicamente lo siguiente:

    enlace

    En última instancia, una lista actualizada que asigna el cifrado compatible con una razón por la que cada uno se depreció sería útil para todos, pero aún no he visto tal esfuerzo.

  2. La mejor manera de saber qué usan sus usuarios finales es monitorear el tráfico real a su sitio. Puede habilitar el registro de la suite de cifrado en su servidor o servidor web SFTP o simplemente usar un analizador de protocolos como WireShark, tshark específicamente, para esto.

    enlace

    En general, encontrará que limitar las suites de cifrado es realmente fácil porque la mayoría de los clientes de los últimos 5 a 10 años admiten una amplia gama de cifrados.

  3. Para probar esto, recomiendo usar el script .NSE de cifrado ssl nmap o para SSH el script de algoritmos de enumerar SSH2:

    enlace

    El comando para probar un sitio web tendrá un aspecto similar al siguiente:

    nmap --script ssl-enum-ciphers -p 443 www.website.org
    

    Existen scripts similares para otros protocolos, para SSH lo siguiente funcionaría

    enlace

    Esta información se puede recopilar a partir de la información de depuración2 en la opción ssh -vvv , pero nmap es mucho más fácil de automatizar.

    Para sitios web de prueba externa, hay sitios como el siguiente que le brindarán información sobre cifrados SSL / TLS depreciados en servicios basados en HTTPS.

    enlace

En este momento no hay "sitios web de prueba similares a Qualys que coincidan con su sitio web de prueba de SSL para SSH" la forma más cercana de obtener información similar para SSH es usar la opción ssh -vvv o usar el script nmap NSE ssh2-enum-algos .html. Hay otras soluciones para esto, pero nmap es probablemente la más fácil de implementar y es muy fácil de ejecutar en secuencias de comandos, por lo que puede hacer que pruebe fácilmente una gran cantidad de IP's.

    
respondido por el Trey Blalock 08.12.2015 - 01:24
fuente

Lea otras preguntas en las etiquetas