Hoy la heartbleed OpenSSL explotar fue anunciado en la naturaleza, que permite a un atacante para detectar de manera subrepticia y robar claves de servidor privado (lo que les permite MitM y descifrar los datos cifrados y robar contraseñas). Esto afecta a las versiones de OpenSSL, incluida la 1.0.1f, que es la versión de mi computadora Mavericks actualizada  Mac (porque usé port / brew para instalar otro software que actualizó mi openssl sin que me diera cuenta ):
$ openssl version
OpenSSL 1.0.1f 6 Jan 2014
Esto demuestra que no estoy usando la versión Mavericks de OpenSSL:
$ which openssl
/opt/local/bin/openssl
OpenSSL lanzó una solución hoy en 1.0.1g y me pregunto cómo puedo instalar esta versión fija sobre mi versión actual.
                    
                        security
                                software-update
                                openssl
                                
                    
                    
                        dr jimbob
fuente
                
                fuente

which opensslPodría ser informativo. Además, el principal problema no es el comando openssl, son las bibliotecas openssl (que son utilizadas por otros programas), que no son compatibles con API entre las versiones 0.9.xy 1.0.x, por lo que no desea actualizar el bibliotecas openssl proporcionadas por el sistema!MacPorten algún momento en esta máquina que actualizó mi openssl. (Probablemente cuando estaba tratando de hacer que python2.7 funcionara). Probablemente debería eliminar esta pregunta, pero en caso de que otros cometan el mismo error, la gran respuesta de SapphireSun será útil).openssl versiondevuelve 1.0.1g, pero ¿estás diciendo que losopensslcomandos no están usando esa versión?Respuestas:
Para lo que vale, acabo de usar homebrew ( http://brew.sh/ ):
Si aparece una de las versiones malas (1.0.1a-f), puede averiguar qué versión de openssl está utilizando de esta manera:
A menudo esto es de / usr / bin. Para asegurarse de obtener la versión actualizada, coloque un enlace simbólico en / usr / local / bin para señalar el openssl actualizado, de esta manera:
Como alternativa a ese paso final, algunas personas reemplazan el openssl
/usr/bincon un enlace simbólico a/usr/local/Cellar/openssl/1.0.1g/bin/openssl(o cualquiera que sea su versión):Pero se sabe que esto causa problemas con algunas versiones más recientes de OSX. Es mejor insertar un nuevo enlace simbólico en / usr / local / bin, que debería tener prioridad en su ruta sobre / usr / bin.
fuente
hash -r/usr/bin/openssl, uno puede crear el enlace en/usr/local/bin/openssl. Eso debería preceder/usr/bina su$PATHproblema y evitar cualquier problema que surja de la "Protección de integridad del sistema" en las versiones más recientes de OS X.O para aquellos que usan puertos mac, y no están preocupados por mantener la versión
simples :-)
fuente
sudo port upgrade outdatedTambién funciona.sudo port -f uninstall openssl @<old-version>hizo el truco para mí :)Para resolver el crecimiento de memoria ilimitada de la extensión de solicitud de estado de OCSP (CVE-2016-6304) en macOS Sierra
brewcon la Protección de integridad del sistema habilitada:Ajuste temporalmente los permisos
/usr/localpara que brew pueda actualizar:Instale la versión actualizada de OpenSSL (probablemente desee 1.0.2i):
Es posible que desee / necesite eliminar un enlace simbólico existente para openssl de
/usr/local/bin:Vuelva a vincular la versión de preparación adecuada:
Restaurar permisos originales en
/usr/local/bin:fuente
$PATHvariable para mirar/usr/local/bin?$ openssl versionme saleOpenSSL 0.9.8zh 14 Jan 2016pero cuando corro$ brew install opensslme saleWarning: openssl 1.0.2l is already installed. ¿Esto significa que tengo dos versiones instaladas? ¿Qué debo hacer exactamente ahora?Quien no quiera usar brew o puertos y solo quiera reemplazar la instalación predeterminada de OpenSSL 0.9.8 siempre puede deshabilitar la protección de integridad del sistema reiniciando en modo de recuperación (cmd + R) y emitiendo
y luego compila openssl con
Reemplazó con éxito OpenSSL en ElCapitan para mí y pude compilar curl y apache httpd 2.4 sin ningún problema directamente de las fuentes. El razonamiento detrás del método que algunos podrían considerar drástico es que Apple ya no mantiene ElCapitan y no hay actualizaciones disponibles, por lo que es probable que no se rompa. En segundo lugar, le ahorra apuntar a la carpeta openssl en / usr / local para cada programa que compila haciendo que la compilación sea más robusta.
fuente