Como atualizar a biblioteca OpenSSL

0

Estou usando o Debian (Stretch). Aqui openssl version retorna:

OpenSSL 1.1.0f 25 de maio de 2017 (Biblioteca: OpenSSL 1.1.0-pre6-dev xx XXX xxxx)

  1. Como posso atualizar a "Biblioteca" usada para o OpenSSL ( 1.1.0-pre6-dev ) para uma versão mais recente, pois apt-get install openssl parece não ajudar?

  2. Em um servidor diferente, openssl version devolve "OpenSSL 1.1.0g 2 Nov 2017 (Biblioteca: OpenSSL 1.1.0f 25 de maio de 2017)": como é possível que a biblioteca de versões utilizada não seja a mesma o pacote instalado?

Atualização 1

apt-cache policy openssl libssl1.1 output é:

openssl:

Installed: 1.1.0f-3+deb9u1
Candidate: 1.1.0f-3+deb9u1

Version table:
1.1.0f-3+deb9u1 500
500 http://security.debian.org/debian-security stretch/updates/main amd64 Packages
100 /var/lib/dpkg/status

1.1.0f-3 500
500 http://debian.mirrors.ovh.net/debian stretch/main amd64 Packages

libssl1.1:

Installed: 1.1.0f-5

Candidate: 1.1.0f-5

Version table:

1.1.0f-5 100
100 /var/lib/dpkg/status

1.1.0f-3+deb9u1 500
500 http://security.debian.org/debian-security stretch/updates/main amd64 
Packages

1.1.0f-3 500
500 http://debian.mirrors.ovh.net/debian stretch/main amd64 Packages

Atualização 2

Parece que há duas versões do openssl instaladas:

usr/local/ssl/bin/openssl version retorna OpenSSL 1.0.2h 3 de maio de 2016

usr/bin/openssl version retorna OpenSSL 1.1.0f 25 de maio de 2017 (Biblioteca: OpenSSL 1.1.0-pre6-dev xx XXX xxxx)

which openssl retorna / usr / bin / openssl

ldd $(which openssl) retorna

linux-vdso.so.1 (0x00007fff3b074000)
libssl.so.1.1 => /usr/local/lib/libssl.so.1.1 (0x00007f4ec0de0000)
libcrypto.so.1.1 => /usr/local/lib/libcrypto.so.1.1 (0x00007f4ec095b000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f4ec0757000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f4ec053a000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4ec019b000)
            /lib64/ld-linux-x86-64.so.2 (0x00007f4ec12f9000)
    
por Vincent 16.11.2017 / 13:04

3 respostas

3

Antes de mais nada, você deve remover as bibliotecas e binários instalados localmente ( libcrypto , libssl etc. e openssl ). Isso garantirá que você use as versões empacotadas, que são as que recebem suporte de segurança.

Para obter o que você é realmente depois, ie Nginx com HTTP2 e TLS, eu recomendo que você use os pacotes backported package em vez de construir o seu próprio; essa versão tem os recursos que você está procurando. Para fazer isso, execute (como root)

echo deb http://http.debian.net/debian stretch-backports main > /etc/apt/sources.list.d/stretch-backports.list
apt update
apt install -t stretch-backports nginx
    
por 16.11.2017 / 16:20
1

O Debian Stretch é a versão estável atual (em novembro de 2017). A equipe de segurança backports corrige a segurança para as versões lançadas do código, portanto, embora você não receba novos recursos, você pode estar razoavelmente seguro de que suas bibliotecas SSL estão atualizadas.

Quais pacotes relacionados são ou poderiam ser instalados

dpkg -l '*openssl*'

Quais versões dos pacotes instalados estão disponíveis nos repositórios

dpkg -l '*openssl*' | awk '/^i/{print $2}' | xargs apt-show-versions -a

Garanta que tudo esteja atualizado

apt-get update
apt-get upgrade

Para qualquer pacote, você pode ver quais correções foram aplicadas lendo o arquivo de alterações em /usr/share/doc/{package_name}/changelog.Debian.gz . Por exemplo,

zless /usr/share/doc/openssl/changelog.Debian.gz
    
por 16.11.2017 / 13:50
0

Parece que você está usando alguma distro Linux, o que significa que suas atualizações de pacotes dependem de seus mantenedores de distro e você terá novas versões de pacotes apenas quando os mantenedores enviarem novas versões para seu repositório de distro (também pode envolver a atualização para uma nova versão da sua distro).

Claro que você pode acompanhar, por exemplo este manual (se você estiver no Ubuntu / Debian / Mint) para construir uma nova versão do OpenSSL e então usar o dpkg para instalá-lo , mas pode levar a conseqüências terríveis, por exemplo, seus aplicativos instalados irão parar de se conectar usando SSL ou parar de funcionar completamente.

Se você realmente precisa ter uma nova versão do OpenSSL apenas para brincar, você pode compilá-la a partir dos fontes e instalar em / usr / local onde ela não irá interferir nos pacotes do sistema. Geralmente é tão simples quanto correr

./configure && make && make install

Mas hoje em dia nem sempre é simples, considerando a existência do CMake e outras cadeias de construção. De qualquer forma, muitos aplicativos do Linux vêm com um manual sobre como criá-los.

    
por 16.11.2017 / 13:18