Cómo deshabilitar los cifrados en modo CBC

3

¿Existe una manera simple de deshabilitar los conjuntos de cifrado en modo CBC en las aplicaciones que usan una lista de conjunto de cifrado openssl? Espero algo en el estilo de !RC4 , sin embargo, !CBC no tiene ningún efecto y todavía permite suites como TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 .

La única solución que he encontrado hasta ahora es usar una lista blanca mucho más detallada que solo incluya cifrados que no sean CBC. ¿Hay una alternativa más simple?

    
pregunta Synchro 01.08.2017 - 08:34
fuente

2 respuestas

1

De acuerdo con la lista de Cadenas de cifrado que se encuentra en la documentación (códigos de man) no hay una cadena que describa todos los cifrados CBC. Esto significa que no hay una manera sencilla de deshabilitar todos estos (y solo estos) con un simple !CBC o similar.

    
respondido por el Steffen Ullrich 01.08.2017 - 09:37
fuente
0

No hay manera de hacer esto directamente, sin embargo, puedes escribirlo un poco.

Digamos que la cadena de conjuntos de cifrado inicial es !3DES:HIGH . (Para empezar, probablemente deberías tener una mejor cadena de suites de cifrado, pero ese es un buen punto de partida y no desordenará demasiado esta respuesta).

Ahora, haz esto:

$ openssl ciphers '!3DES:HIGH' \
    | sed -e 's/:/\n/g' \
    | grep -v GCM \
    | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/:!/g' -e 's/^/!/'

Explicación, por línea:

  1. Comience con el conjunto de cifrados que "realmente" desea
  2. Divida la lista : -separated en un conjunto de cifrado de una por línea
  3. Eliminar todo lo que no diga explícitamente GCM
  4. Lea todo el archivo de una vez, reemplace las líneas nuevas con :! , luego agregue ! al comienzo

Ahora tome esta salida y colóquela al frente de la cadena de su conjunto de cifrado. No deseche su original, ya que es posible que desee volver a ejecutar este proceso más adelante cuando cambie la cadena de conjuntos de cifrado inicial, o si se agregan nuevos cifrados a OpenSSL o incluso a su lista predeterminada HIGH .

    
respondido por el Christopher Schultz 05.10.2017 - 15:56
fuente

Lea otras preguntas en las etiquetas