OpenSSL é uma biblioteca criptográfica amplamente utilizada que implementa os protocolos SSL e TLS para comunicação segura através de redes de computadores. OpenSSL é usada por muitos programas como Apache Web server, PHP, Postfix e muitos outros. OpenSSL fornece suporte a vários algoritmos criptográficos como cifras (AES, Blowfish, DES, IDEA etc.), funções criptográficas de hash (MD5, MD4, SHA-1, SHA-2 etc.) e criptografia de chave pública (RSA, DSA, Diffie-Hellman key exchange).

Neste tutorial, mostrarei passo a passo como instalar a última versão estável do OpenSSL a partir do código fonte no Ubuntu 18.04 e servidores CentOS 7.6.

O que vamos fazer?

  1. Instalar Dependências
  2. Download OpenSSL Source Code
  3. Instalar OpenSSL
    1. Compilar e Instale OpenSSL
    2. Configure Link Libraries
    3. Configure OpenSSL Binary
  4. Teste

Passo 1 – Instalar Dependências

O primeiro passo, antes de podermos compilar a biblioteca OpenSSL a partir do código fonte, é instalar algumas dependências de pacotes incluindo o pacote ‘build-essential’ no Ubuntu, ou o pacote ‘Development Tools’ no CentOS.

No Ubuntu

Atualizar o repositório Ubuntu e instalar dependências de pacotes para compilação de software usando o comando apt abaixo.

sudo apt update
sudo apt install build-essential checkinstall zlib1g-dev -y

No CentOS

Instalar as ‘Ferramentas de Desenvolvimento’ e algumas bibliotecas de pacotes usando o comando yum.

yum group install 'Development Tools'
yum install perl-core zlib-devel -y

Após a instalação estar completa, vá para o próximo passo.

Passo 2 – Download OpenSSL

Neste tutorial, vamos instalar a última versão estável do OpenSSL – OpenSSL 1.0.2o. Você pode baixar o código fonte do site OpenSSL.

Vá para o diretório ‘/usr/local/src’ e baixe o código fonte do OpenSSL usando wget.

cd /usr/local/src/
wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz

Agora extraia o arquivo openssl.tar.gz, e vá para o diretório ‘openssl’.

tar -xf openssl-1.0.2o.tar.gz
cd openssl-1.0.2o

O código fonte do OpenSSL foi baixado.

Passo 3 – Instalar OpenSSL

Antes de instalar a versão personalizada do OpenSSL no sistema, vamos verificar a versão instalada usando o comando abaixo.

openssl version -a

Below é o meu resultado no Ubuntu:

E este é no CentOS:

Substituiremos a versão ‘1.1.0g’ pela última versão estável 1.0.2o.

Instalaremos a nova versão do OpenSSL no diretório específico ‘/usr/local/ssl’, e então habilitaremos as bibliotecas de links do OpenSSL, e configuraremos o novo PATH binário para OpenSSL.

Instalar e Compilar OpenSSL

Vá para o diretório ‘/usr/local/src/openssl’ do OpenSSL baixado.

cd /usr/local/src/openssl-1.0.2o

Configurar e compilar o OpenSSL com os comandos abaixo.

./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
make
make test

Espere pelo processo de compilação do OpenSSL.

Nota:

  • –prefixar e –openssldir = Definir o caminho de saída do OpenSSL.
  • shared = forçar a criação de uma biblioteca compartilhada.
  • zlib = habilita a compressão usando a biblioteca zlib.

Quando o processo de compilação estiver completo, instale o OpenSSL usando o comando abaixo.

make install

OpenSSL está instalado no diretório ‘/usr/local/ssl’.

Configure Link Libraries

Next, vamos configurar as bibliotecas compartilhadas para OpenSSL. O novo binário OpenSSL irá carregar arquivos de biblioteca do diretório ‘/usr/local/ssl/lib’.

Vá para o diretório ‘/etc/ld.so.conf.d’ e crie o novo arquivo de configuração ‘openssl-1.0.2o.conf’.

cd /etc/ld.so.conf.d/
vim openssl-1.0.2o.conf

Colar o diretório caminho da biblioteca openssl.

/usr/local/ssl/lib

Guardar e sair.

Recarregar agora o link dinâmico usando o comando abaixo.

sudo ldconfig -v

E verá que as bibliotecas OpenSSL no directório ‘/usr/local/ssl/lib’ foi carregado.

Ubuntu:

CentOS:

Configurar Binário OpenSSL

Substituiremos o binário openssl padrão ‘/usr/bin/openssl ou /bin/openssl’ pela nova versão ‘/usr/local/ssl/bin/openssl’.

No Ubuntu 18.04 LTS

Backup dos arquivos binários.

mv /usr/bin/c_rehash /usr/bin/c_rehash.BEKUP
mv /usr/bin/openssl /usr/bin/openssl.BEKUP

Editar o arquivo ‘/etc/environment’ usando vim.

vim /etc/environment

Agora adicione o novo diretório binário OpenSSL como abaixo

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/ssl/bin"

Salvar e sair.

Recarregar o arquivo de ambiente e testar o novo PATH binário atualizado.

source /etc/environment
echo $PATH

Agora verifique novamente o arquivo binário OpenSSL.

which openssl

Terá o resultado como abaixo.

O caminho binário do OpenSSL para Ubuntu foi atualizado.

No CentOS 7.6

Backup dos arquivos binários CentOS OpenSSL.

mv /bin/openssl /bin/openssl.BEKUP

Criar novos arquivos de ambiente para OpenSSL.

vim /etc/profile.d/openssl.sh

Configuração de pasta abaixo.

#Set OPENSSL_PATHOPENSSL_PATH="/usr/local/ssl/bin"export OPENSSL_PATHPATH=$PATH:$OPENSSL_PATHexport PATH

Salvar e sair.

Faça o arquivo openssl.sh executável.

chmod +x /etc/profile.d/openssl.sh

Carregar o ambiente OpenSSL e verificar o diretório PATH bin usando os comandos abaixo.

source /etc/profile.d/openssl.sh
echo $PATH

Agora verifique o arquivo OpenSSL.

which openssl

Terá o resultado como abaixo.

O caminho binário para OpenSSL no CentOS foi atualizado.

Passo 4 – Testando

Teste a nova versão do OpenSSL usando o seguinte comando.

openssl version -a

O resultado no Ubuntu.

Resultado no CentOS.

Deixe uma resposta

O seu endereço de email não será publicado.