Cómo instalar la última versión de OpenSSL desde Source en Linux
OpenSSL es una biblioteca criptográfica ampliamente utilizada que implementa los protocolos SSL y TLS para una comunicación segura a través de redes informáticas. OpenSSL es utilizado por muchos programas como el servidor web Apache, PHP, Postfix y muchos otros. OpenSSL brinda soporte para varios algoritmos criptográficos como cifrados (AES, Blowfish, DES, IDEA, etc.), funciones hash criptográficas (MD5, MD4, SHA-1, SHA-2, etc.) y criptografía de clave pública (RSA, DSA, Diffie -Intercambio de llaves Hellman).
En este tutorial, le mostraré paso a paso cómo instalar la última versión estable de OpenSSL desde el origen en servidores Ubuntu 18.04 y CentOS 7.6.
¿Lo que haremos?
- Instalar dependencias
- Descargar el código fuente de OpenSSL
- Instalar OpenSSL
- Compilar e instalar OpenSSL
- Configurar bibliotecas de enlaces
- Configurar binario OpenSSL
- Pruebas
Paso 1 – Instalar dependencias
El primer paso, antes de que podamos compilar la biblioteca OpenSSL desde el origen, es instalar algunas dependencias del paquete, incluido el paquete ‘build-essential’ en Ubuntu o el paquete ‘Development Tools’ en CentOS.
en Ubuntu
Actualice el repositorio de Ubuntu e instale las dependencias de paquetes para la compilación de software usando el comando apt a continuación.
sudo apt update sudo apt install build-essential checkinstall zlib1g-dev -y
En CentOS
Instale las ‘Herramientas de desarrollo’ y algunas bibliotecas de paquetes usando el comando yum.
yum group install 'Development Tools' yum install perl-core zlib-devel -y
Una vez completada la instalación, vaya al siguiente paso.
Paso 2 – Descarga OpenSSL
En este tutorial, instalaremos la última versión estable de OpenSSL: OpenSSL 1.0.2o. Puede descargar el código fuente desde el Sitio OpenSSL.
Vaya al directorio ‘/usr/local/src’ y descargue el código fuente de OpenSSL usando wget.
cd /usr/local/src/ wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz
Ahora extraiga el archivo openssl.tar.gz y vaya al directorio ‘openssl’.
tar -xf openssl-1.0.2o.tar.gz cd openssl-1.0.2o
El código fuente de OpenSSL se ha descargado.
Paso 3 – Instalar OpenSSL
Antes de instalar la versión personalizada de OpenSSL en el sistema, verifiquemos la versión instalada usando el siguiente comando.
openssl version -a
A continuación se muestran mis resultados en Ubuntu:
Y esto es en CentOS:
Reemplazaremos la versión ‘1.1.0g’ con la última versión estable 1.0.2o.
Instalaremos la nueva versión de OpenSSL en el directorio específico ‘/usr/local/ssl’, y luego habilitaremos las bibliotecas de enlaces de OpenSSL y configuraremos la nueva RUTA binaria para OpenSSL.
Instalar y compilar OpenSSL
Vaya al directorio descargado de openssl ‘/usr/local/src/openssl’.
cd /usr/local/src/openssl-1.0.2o
Configure y compile OpenSSL con los siguientes comandos.
./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
make
make test
Espere el proceso de compilación de OpenSSL.
Nota:
- –prefix y –openssldir = Establecer la ruta de salida de OpenSSL.
- shared = fuerza para crear una biblioteca compartida.
- zlib = habilitar la compresión usando la biblioteca zlib.
Cuando se complete el proceso de compilación, instale OpenSSL usando el siguiente comando.
make install
OpenSSL está instalado en el directorio ‘/usr/local/ssl’.
Configurar bibliotecas de enlaces
A continuación, configuraremos las bibliotecas compartidas para OpenSSL. El nuevo binario OpenSSL cargará archivos de biblioteca desde el directorio ‘/usr/local/ssl/lib’.
Vaya al directorio ‘/etc/ld.so.conf.d’ y cree un nuevo archivo de configuración ‘openssl-1.0.2o.conf’.
cd /etc/ld.so.conf.d/ vim openssl-1.0.2o.conf
Pegue el directorio de ruta de la biblioteca de openssl.
/usr/local/ssl/lib
Guardar y Salir.
Ahora vuelva a cargar el enlace dinámico usando el siguiente comando.
sudo ldconfig -v
Y verá que se han cargado las bibliotecas OpenSSL en el directorio ‘/usr/local/ssl/lib’.
Ubuntu:
CentOS:Publicidad
Configurar binario OpenSSL
Reemplazaremos el binario predeterminado de openssl ‘/usr/bin/openssl o /bin/openssl’ con la nueva versión ‘/usr/local/ssl/bin/openssl’.
En Ubuntu 18.04 LTS
Copia de seguridad de los archivos binarios.
mv /usr/bin/c_rehash /usr/bin/c_rehash.BEKUP mv /usr/bin/openssl /usr/bin/openssl.BEKUP
Edite el archivo ‘/etc/environment’ usando vim.
vim /etc/environment
Ahora agregue el nuevo directorio binario OpenSSL como se muestra a continuación
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/ssl/bin"
Guardar y Salir.
Vuelva a cargar el archivo de entorno y pruebe la nueva RUTA binaria actualizada.
source /etc/environment echo $PATH
Ahora verifique nuevamente el archivo binario de OpenSSL.
which openssl
Obtendrá el resultado de la siguiente manera.
Se actualizó la ruta binaria de OpenSSL para Ubuntu.
En CentOS 7.6
Haga una copia de seguridad de los archivos binarios de CentOS OpenSSL.
mv /bin/openssl /bin/openssl.BEKUP
Cree nuevos archivos de entorno para OpenSSL.
vim /etc/profile.d/openssl.sh
Pegue la configuración a continuación.
#Set OPENSSL_PATH OPENSSL_PATH="/usr/local/ssl/bin" export OPENSSL_PATH PATH=$PATH:$OPENSSL_PATH export PATH
Guardar y Salir.
Haga que el archivo openssl.sh sea ejecutable.
chmod +x /etc/profile.d/openssl.sh
Cargue el entorno OpenSSL y verifique el directorio bin PATH usando los comandos a continuación.
source /etc/profile.d/openssl.sh echo $PATH
Ahora verifique el archivo OpenSSL.
which openssl
Obtendrá el resultado de la siguiente manera.
Se actualizó la ruta binaria para OpenSSL en CentOS.
Paso 4 – Prueba
Pruebe la nueva versión de OpenSSL con el siguiente comando.
openssl version -a
El resultado en Ubuntu.
Resultado en CentOS.
La nueva versión estable más reciente de OpenSSL se instaló desde la fuente en Linux Ubuntu 18.04 y CentOS 7.5.