El proyecto OpenSSL anunció correcciones a siete vulnerabilidades de seguridad el 5 de junio de 2014. Los detalles se describen en su Aviso de Seguridad .
Las vulnerabilidades afectan potencialmente a cualquier aplicação de servidor (incluidas NGINX y NGINX Plus) que utilice OpenSSL para finalizar el tráfico SSL/TLS. Se pueden explotar para crear un ataque de intermediario (MitM) o una variedad de problemas de denegación de servicio (DoS) y corrupción de datos:
La recomendación del proyecto OpenSSL es la siguiente:
Los usuarios de OpenSSL 0.9.8 SSL/TLS deben actualizar a 0.9.8za. Los usuarios de OpenSSL 1.0.0 SSL/TLS deben actualizar a 1.0.0m.
Los usuarios de OpenSSL 1.0.1 SSL/TLS deben actualizar a 1.0.1h.
Las compilaciones de NGINX y NGINX Plus proporcionadas por NGINX, Inc. (excepto aquellas para Windows) o a través de un repositorio de terceros generalmente están vinculadas dinámicamente a la instancia de libssl.so del sistema operativo. Ejecute el comando ldd
para conocer la ruta completa al archivo libssl.so y el comando strings
para mostrar el número de versión asociado (en este caso, es 1.0.1f):
$ ldd `which nginx` | grep ssl libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f82e62bf000) $ strings /lib/x86_64-linux-gnu/libssl.so.1.0.0 | grep "^OpenSSL " OpenSSL 1.0.1f 6 de enero de 2014
La salida en su sistema puede verse algo diferente. También puede ejecutar la versión
openssl
, aunque la salida puede no ser confiable si hay varias instancias de OpenSSL en su servidor.
Le recomendamos encarecidamente que actualice a la biblioteca OpenSSL más reciente proporcionada por el proveedor de su sistema operativo, incluso si no se informa que la versión anterior que está ejecutando esté afectada. Luego reinicie el software NGINX para usar la biblioteca actualizada. Consulte la respuesta de su proveedor a CVE-2014-0224 para determinar el proceso de actualización correcto. Para su comodidad, aquí están los enlaces para Debian , Red Hat y Ubuntu .
Tenga en cuenta que algunos proveedores de sistemas operativos Linux han lanzado paquetes corregidos que aún tienen un número de versión anterior de OpenSSL y han optado por incluir solo la corrección para CVE-2014-0224 y vulnerabilidades relacionadas en sus paquetes para brindar una pequeña actualización rápidamente.
Si ha compilado NGINX usted mismo, es posible que haya vinculado estáticamente las bibliotecas OpenSSL. En este caso, la salida de ldd
no revela dependencias en la biblioteca libssl.so del sistema operativo. Ejecute nginx
‑V
para mostrar las opciones de tiempo de compilación que utilizó:
$ ./objs/nginx -V versión de nginx: nginx/1.7.1 compilado por gcc 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) argumentos de configuración: --with-cc-opt=-I../openssl-1.0.1f/include --with-ld-opt='-L../openssl-1.0.1f -Wl,-Bstatic -lssl -lcrypto -Wl,-Bdynamic -ldl' --with-openssl=../openssl-1.0.1f
Si está utilizando una versión vulnerable de OpenSSL, deberá volver a compilar NGINX utilizando una versión corregida.
NGINX para Windows, distribuido por NGINX , está vinculado estáticamente con OpenSSL. Las compilaciones actualmente disponibles para 1.7.1 y 1.6.0 se han actualizado con las correcciones para OpenSSL.
"Esta publicación de blog puede hacer referencia a productos que ya no están disponibles o que ya no reciben soporte. Para obtener la información más actualizada sobre los productos y soluciones F5 NGINX disponibles, explore nuestra familia de productos NGINX . NGINX ahora es parte de F5. Todos los enlaces anteriores de NGINX.com redirigirán a contenido similar de NGINX en F5.com.