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:
- ¿Dónde están las mejores referencias para que yo determine cuáles de estas se consideran ahora demasiado débiles para usar?
- ¿Cómo puedo determinar mejor si deshabilitar alguno de estos afectará negativamente a mis usuarios finales?
- ¿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?