Como atualizar o OpenSSL no centos 7.2?

4

Estou usando o centos 7.2, vou instalar o Nginx-CT, e ele precisa do OpenSSL 1.0.2, a versão atual é a seguinte:

[root@i001 ~]# rpm -qa|grep openssl
openssl-libs-1.0.1e-51.el7_2.4.x86_64
openssl-devel-1.0.1e-51.el7_2.4.x86_64
openssl-1.0.1e-51.el7_2.4.x86_64

Eu tentei baixar o pacote SRPM no repertório do fedora,

openssl-1.0.2d-2.fc23.src.rpm

reconstrua e instale, mas há algo errado,

[root@i001 ~]# yum update openssl
Loaded plugins: axelget, langpacks
No metadata available for base
No metadata available for dockerrepo
No metadata available for elrepo
No metadata available for epel
No metadata available for extras
No metadata available for local
No metadata available for mariadb
No metadata available for nginx
No metadata available for remi-php70
No metadata available for remi-php70-test
No metadata available for remi-safe
No metadata available for salt-2015.8
No metadata available for updates
Resolving Dependencies
--> Running transaction check
---> Package openssl.x86_64 1:1.0.1e-51.el7_2.4 will be updated
---> Package openssl.x86_64 1:1.0.2d-2.el7.centos will be an update
--> Processing Dependency: openssl-libs(x86-64) = 1:1.0.2d-2.el7.centos for package: 1:openssl-1.0.2d-2.el7.centos.x86_64
--> Processing Dependency: libcrypto.so.10(OPENSSL_1.0.2)(64bit) for package: 1:openssl-1.0.2d-2.el7.centos.x86_64
--> Running transaction check
---> Package openssl-libs.x86_64 1:1.0.1e-51.el7_2.4 will be updated
--> Processing Dependency: openssl-libs(x86-64) = 1:1.0.1e-51.el7_2.4 for package: 1:openssl-devel-1.0.1e-51.el7_2.4.x86_64
---> Package openssl-libs.x86_64 1:1.0.2d-2.el7.centos will be an update
--> Processing Dependency: crypto-policies for package: 1:openssl-libs-1.0.2d-2.el7.centos.x86_64
--> Running transaction check
---> Package openssl-devel.x86_64 1:1.0.1e-51.el7_2.4 will be updated
---> Package openssl-devel.x86_64 1:1.0.2d-2.el7.centos will be an update
---> Package openssl-libs.x86_64 1:1.0.2d-2.el7.centos will be an update
--> Processing Dependency: crypto-policies for package: 1:openssl-libs-1.0.2d-2.el7.centos.x86_64
--> Finished Dependency Resolution
Error: Package: 1:openssl-libs-1.0.2d-2.el7.centos.x86_64 (local)
           Requires: crypto-policies
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

O que devo fazer?

    
por sunshine 08.04.2016 / 19:47

2 respostas

4

Primeiro , deixe-me dizer que garethTheRed e Bratchley estão certos em que o pacote de OpenSSL que você está tentando instalar não é suportado no CentOS e faz por isso, o não é recomendado . Tentar fazer isso pode causar problemas no seu sistema.

Se você absolutamente precisa ter isso instalado ... Pelo que entendi, você está tentando instalar nginx-ct , que requer o OpenSSL 1.0.2 ou superior devido à sua necessidade de SSL_CTX_add_server_custom_ext e SSL_CTX_set_signed_cert_timestamp_list .

Usando o yum

Usar pacotes de outros repositórios não suportados para o seu sistema é uma idéia ruim , conforme apontado por outros. A partir da aparência de sua saída do yum, está reclamando sobre uma dependência em o pacote de políticas de criptografia (requerido pelo openssl-libs-1.0.2d-2). Você pode tentar instalar o pacote crypto-policies (também do repositório Fedora 23) primeiro.

Compilando a partir da fonte

Como Bratchley apontado em este comentário , você pode tentar . Aqui estão os comandos de inicialização atualizados desse tutorial:

# Install dependencies
sudo yum install unzip gcc pcre-devel zlib-devel make golang

# Grab needed files, correct as of 2016-04-08
wget https://www.openssl.org/source/openssl-1.0.2g.tar.gz
wget http://nginx.org/download/nginx-1.9.14.tar.gz
wget -O nginx-ct.zip https://github.com/grahamedgecombe/nginx-ct/archive/master.zip
tar zxf openssl-1.0.2g.tar.gz
tar zxf nginx-1.9.14.tar.gz
unzip nginx-ct.zip

# Build nginx with openssl 1.0.2 and CT module
cd nginx-1.9.14/
./configure --with-http_ssl_module \
    --with-openssl='realpath ../openssl-1.0.2g' \
    --add-module='realpath ../nginx-ct-master'
make  # NOTE: when I tried building with -jN for speedup I encountered linker issues
sudo make install
cd ..

O restante dos comandos desse tutorial deve poder ser seguido como está.

Uma última alternativa

Alternativamente, você poderia tentar usar o BoringSSL, já que nginx-ct suporta isso , embora pareça você teria que construí-lo a partir da fonte.

    
por 08.04.2016 / 21:11
1

Como uma direção alternativa, considere instalar essas ferramentas dentro de um contêiner docker. Dessa forma, você pode usar uma distribuição Linux diferente (como Fedora ou Ubuntu) e executar apenas esses dois dentro de um ambiente isolado de tal forma que eles não possam afetar o resto do seu sistema impondo versões 'não padrão' dessas ferramentas. / p>     

por 16.08.2016 / 11:00