apt-get upgrade openssl no llevará a Ubuntu 12.04 a la última versión

5

He intentado lo siguiente, pero no puedo obtener una fecha de compilación posterior a:

Martes, 21 de agosto 05:18:46 UTC 2012

He hecho lo siguiente:

apt-get dist-upgrade
apt-get update
apt-get upgrade openssl

y

apt-get purge openssl
apt-get install openssl

y

apt-get purge libcrypto1.0.0
apt-get install libcrypto1.0.0

Todo parece funcionar bien, pero la fecha de construcción sigue siendo la anterior. Y el http://filippo.io/Heartbleed/ prueba sigue fallando

Sé que no estoy loco, porque pude actualizar mi servidor idéntico el miércoles. (Idéntico en todos los sentidos, excepto el hardware).

EDITAR:

Comparé los archivos /etc/apt/sources.list en ambas máquinas y parecen ser idénticos. ¿Cómo se actualizó un servidor y el otro no?

EDITAR:

Hizo como se sugirió:

apt-get purge openssl
reboot
apt-get install openssl
reboot

en vano.

Intenté los mismos comandos en libssl1.0.0, todavía la misma versión que se enumeró anteriormente.

Este me ha dejado perplejo.

¿Alguna sugerencia?

EDITAR

Tan pronto como obtenga suficiente credibilidad en la calle (15), haré +1 las soluciones viables

EDITAR

Como se sugirió, ejecuté apt-get con --reinstalar --print-uris y regresé:

http://us.archive.ubuntu.com/ubuntu/pool/main/o/openssl/openssl_1.0.1-4ubuntu5.12_amd64.deb

Luego reinició, la misma versión que se enumeró anteriormente. Sigue fallando el corazón.

user1182988
fuente
¿Has reiniciado? Las copias antiguas / vulnerables permanecerán en uso / memoria siempre que lo hagan los procesos que las usan.
Maxx Daymon
intente reiniciar. y trata de conseguir el deb s fuera del sitio de paquetes de Ubuntu o algo por el estilo. Además, puede votar por sus propias preguntas y dejar comentarios también, incluso por debajo de la barrera de puntos.
Wyatt8740
Lo que se reporta para dpkg-query --list libssl1.0.0 A continuación, lo que es "Nombre de archivo:" de apt-cache show libssl1.0.0 A continuación, ¿coincide con el archivo que obtienes cuando apt-get download libssl1.0.0?
Maxx Daymon
También es útil, apt-get clean para borrar su caché de descarga, entonces apt-get install openssl libssl1.0.0 --reinstall --print-uris y verifica la descarga de los URIs. Descarga los paquetes manualmente para inspeccionarlos.
Maxx Daymon
Gracias Maxx, ejecuté dpkg-query y apt-get download, y las versiones coinciden. Luego ejecuté apt-get clean, descargué los paquetes e inspeccioné su contenido, que coincidía con las versiones de dpkg-query. ¿Eso significa que el repositorio está roto?
user1182988

Respuestas:

6

Forzando la reinstalación de un paquete.

Apt piensa que los paquetes están instalados y actualizados. La verificación manual y las pruebas de libssl sugieren lo contrario, por lo que la base de datos del paquete es inconsistente con los archivos instalados (tal vez los archivos se actualizaron previamente sin la participación del administrador del paquete). Por alguna razón, esto sucedió, el paquete no se actualizó o reinstaló correctamente. Esto supone que se ha establecido que el sistema está reportando versiones fijas, pero aún se muestra como vulnerable.

Primero, intente reinstalar por la fuerza los paquetes afectados:

apt-get install --reinstall libssl1.0.0

Si eso no funciona, intente forzar la eliminación completa del paquete sin involucrar a ninguna de las verificaciones de gestión y seguridad de la dependencia de Apt:

dpkg --force-all --remove libssl1.0.0

En este punto, el sistema está efectivamente 'dañado' porque falta libssl y todavía hay muchos paquetes instalados que dependen de él (esto es lo que Apt intenta evitar y la razón por la que estamos detrás de Apt), así que vuelva a instalar libssl1.0.0 , volviendo a descargar el último paquete del repositorio:

apt-get clean && apt-get install libssl1.0.0

Alternativamente, si ha descargado el paquete deb bueno conocido, puede usar dpkg para instalar y forzar la sobrescritura de cualquier archivo existente:

dpkg --force-overwrite -i libssl1.0.0_1.0.1-4ubuntu5.12_amd64.deb

Vuelva a probar y verifique (debsums, sha1sum) los archivos instalados contra una buena configuración conocida.

Maxx Daymon
fuente
Exactamente correcto, y ahora pasa la prueba de Heartbleed. ¡Muchas gracias!
user1182988
2

Si tu repositorios apt-get no contiene ningún precompilado 1.0.1g OpenSSL Versión, así que solo descarga las fuentes del sitio web oficial y compílalas.

Debajo de la única línea de comandos para compilar e instalar la última versión de openssl.

curl https://www.openssl.org/source/openssl-1.0.1g.tar.gz | tar xz && cd openssl-1.0.1g && sudo ./config && sudo make && sudo make install

Reemplace el archivo binario openssl antiguo por el nuevo a través de un enlace simbólico.

sudo ln -sf /usr/local/ssl/bin/openssl `which openssl`

¡Todos ustedes son buenos!

# openssl version should return
openssl version
OpenSSL 1.0.1g 7 Apr 2014

Cf esto entrada en el blog .

NÓTESE BIEN: Como se indicó en la publicación del blog, esta solución no solucionará "los servidores Nginx y Apache que deben ser recompilados con 1.0.1g de fuentes openSSL".

KoKo
fuente
Sí, eso es una solución excelente y simple. La cosa es que sé que los binarios están disponibles desde que la actualización funcionó el miércoles para mi servidor idéntico. Pensé que quizás Ubuntu lo sacó del repositorio.
user1182988
0

Tal vez tienes 2 versiones de OpenSSL en tu PATH. Esto puede suceder, si compilaste tu propia versión.

Prueba esto /usr/bin/openssl version.

Esta debería ser la posición de la versión del paquete de OpenSSL.

Peter Lamby
fuente
Gracias por la respuesta. Hice lo que sugirió (con -a) y obtuve la misma respuesta de fecha de construcción. He evitado compilar mi propia versión de cualquier cosa, ya que necesito que estos servidores sean fácilmente reproducibles.
user1182988
@ user1182988 - ¿Supongo que transferir los archivos desde el servidor de trabajo no es una opción?
Ramhound
Transferir los archivos es una opción viable, pero me preocupa que apt-get no funcione.
user1182988
0

Debe actualizar libssl1.0.0 y luego reiniciar su servidor. No funcionará sin un reinicio.

ITProStuff
fuente
¡Gracias por la respuesta! Probé apt-get purge libssl1.0.0, reiniciar, apt-get install libssl1.0.0, reiniciar - la misma versión que la anterior. Intentó lo mismo usando openssl, sigue siendo la misma versión y compilación mencionadas anteriormente. ¡Esto es raro!
user1182988