Hoje, a exploração do OpenSSL foi anunciada na natureza, o que permite a um invasor detectar e roubar clandestinamente chaves de servidor privadas (permitindo que o MitM e descriptografem seus dados criptografados e roubem senhas). Isso afeta as versões do OpenSSL, incluindo a versão 1.0.1f, que é a versão atualizada do meu computador Mavericks Mac (porque usei o port / brew para instalar outro software que atualizou o meu openssl sem que eu percebesse ):
$ openssl version
OpenSSL 1.0.1f 6 Jan 2014
Isso demonstra que não estou usando a versão Mavericks do OpenSSL:
$ which openssl
/opt/local/bin/openssl
O OpenSSL lançou uma correção hoje na 1.0.1g e gostaria de saber como posso instalar esta versão fixa na minha versão atual?
security
software-update
openssl
dr jimbob
fonte
fonte
which openssl
pode ser informativo. Além disso, o principal problema não é o comando openssl, são as bibliotecas openssl (que são usadas por outros programas) - essas não são compatíveis com a API entre as versões 0.9.xe 1.0.x, portanto, você não deseja atualizar o bibliotecas openssl fornecidas pelo sistema!MacPort
em algum momento nesta máquina que atualizou meu openssl. (Provavelmente quando eu estava tentando fazer o python2.7 funcionar). Provavelmente deve excluir esta pergunta, mas, caso outras pessoas cometam o mesmo erro, achem a grande resposta do SapphireSun útil).openssl version
retorna 1.0.1g, mas você está dizendo que osopenssl
comandos não estão usando essa versão?Respostas:
Para o que vale, eu apenas usei homebrew ( http://brew.sh/ ):
Se uma das versões ruins aparecer (1.0.1a-f), você pode descobrir qual versão do openssl está usando, desta maneira:
Geralmente isso é de / usr / bin. Para garantir que você obtenha a versão atualizada, solte um link simbólico em / usr / local / bin para apontar para o openssl atualizado, como este:
Como alternativa à etapa final, algumas pessoas substituem o openssl
/usr/bin
por um link simbólico para/usr/local/Cellar/openssl/1.0.1g/bin/openssl
(ou qualquer que seja sua versão):Mas isso é conhecido por causar problemas em algumas versões mais recentes do OSX. Melhor apenas inserir um novo link simbólico em / usr / local / bin, que deve ter precedência no seu caminho sobre / usr / bin.
fonte
hash -r
/usr/bin/openssl
, é possível criar o link em/usr/local/bin/openssl
. Que deve preceder/usr/bin
em seu$PATH
e ignorar eventuais problemas decorrentes da "proteção da integridade do sistema" em versões mais recentes do OS X.Ou para aqueles que usam portas mac e não estão preocupados em manter a versão
simples :-)
fonte
sudo port upgrade outdated
também funciona.sudo port -f uninstall openssl @<old-version>
fez o truque para mim :)Para resolver extensão Status Request crescimento de memória ilimitada OCSP (CVE-2016-6304) no MacOS Sierra usando
brew
com proteção da integridade do sistema ativado:Ajuste temporariamente as permissões
/usr/local
para que o brew possa ser atualizado:Instale a versão atualizada do OpenSSL (você provavelmente deseja o 1.0.2i):
Você pode querer / precisar excluir um link simbólico existente para o openssl em
/usr/local/bin
:Vincule novamente a versão correta do brew:
Restaure as permissões originais em
/usr/local/bin
:fonte
$PATH
variável para procurar/usr/local/bin
?$ openssl version
, recebo,OpenSSL 0.9.8zh 14 Jan 2016
mas quando corro$ brew install openssl
, receboWarning: openssl 1.0.2l is already installed
. Isso significa que tenho duas versões instaladas? O que exatamente devo fazer agora?Quem não quiser usar brew ou portas e apenas quiser substituir a instalação padrão do OpenSSL 0.9.8 sempre pode desativar a proteção de integridade do sistema, reiniciando no modo de recuperação (cmd + R) e emitindo
e depois compile o openssl com
Ele substituiu com sucesso o OpenSSL no ElCapitan para mim e eu pude compilar o httpd 2.4 do curl e do apache sem nenhum problema diretamente das fontes. O raciocínio por trás do método que alguns podem considerar drástico é que o ElCapitan não é mais mantido pela Apple e não há atualizações futuras, portanto, provavelmente não será interrompido. Em segundo lugar, evita que você aponte para a pasta openssl em / usr / local para todos os programas que você compila, tornando a compilação mais robusta.
fonte