Pesquisa de site

Instalando OpenSSL 3.x em Rocky/Alma/CentOS/RHEL 8


É fundamental estar à frente das potenciais ameaças à segurança no atual cenário em constante evolução da segurança cibernética. OpenSSL é o renomado kit de ferramentas de código aberto que desempenha um papel fundamental na segurança da comunicação entre sistemas de computador na rede. Ele fornece uma implementação aberta de protocolos Transport Layer Security (TLS) e Secure Sockets Layer (SSL), que garantem integridade, autenticidade e confidencialidade dos dados transmitidos entre dispositivos na rede ou pela Internet.

No momento em que este artigo foi escrito, OpenSSL 3.1 era o lançamento recente do OpenSSL. Ele vem com inúmeras melhorias e novos recursos que o tornam mais potente na proteção da comunicação digital e na prevenção de ameaças emergentes. Nas próximas seções, abordaremos as etapas necessárias ao instalar o OpenSSL 3.x no Rocky/Alma/CentOS/RHEL 8.

Instale OpenSSL 3.x no Rocky/AlmaLinux/CentOS/RHEL 8

Aqui estão as etapas que você seguirá para instalar o OpenSSL 3.x em distribuições Linux baseadas em CentOS/RHEL.

Etapa 1: atualizar o sistema

Execute estes comandos para garantir que seu sistema baseado em RHEL esteja atualizado com patches de segurança e atualizações de software recentes.

sudo dnf -y update

Depois que as atualizações forem aplicadas, você poderá reiniciar o sistema para usar as atualizações de software mais recentes.

sudo reboot

Etapa 2: desinstalar o OpenSSL 1.1

Se você executar os seguintes comandos, ele mostrará a versão atual do OpenSSL instalada:

$ openssl version
OpenSSL 1.1.1k  FIPS 25 Mar 2021

Desinstalaremos esta versão mais antiga e instalaremos o OpenSSL 3.x no sistema.

sudo dnf remove openssl

Revise outros aplicativos que dependem desta versão OpenSSL que provavelmente serão apagados. Confirme a desinstalação.

$ openssl version
-bash: /usr/bin/openssl: No such file or directory

Etapa 3: instalar pacotes de dependência

Existem pacotes principais dos quais o OpenSSL pode depender para funcionar. Instale as dependências básicas de desenvolvimento:

sudo dnf -y groupinstall "Development Tools"
sudo dnf -y install perl-IPC-Cmd  perl-Pod-Html

Os pacotes Make e Gcc agora devem estar instalados.

$  gcc --version
gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-18)
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ make --version
GNU Make 4.2.1
Built for x86_64-redhat-linux-gnu
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Etapa 4: Baixe e instale OpenSSL 3.x

Baixe uma versão do OpenSSL 3 na página de downloads do OpenSSL. Lembre-se de substituir o URL por aquele obtido no link.

# Version 3.1.x
cd /tmp
wget https://www.openssl.org/source/openssl-3.1.3.tar.gz

# Version 3.0.x
cd /tmp
wget https://www.openssl.org/source/openssl-3.0.11.tar.gz

Extraia o arquivo compactado baixado.

tar xvf openssl-*.tar.gz

Navegue até a pasta criada após a extração do arquivo.

cd openssl-*/

Configure arquivos para instalação do OpenSSL 3.x

./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl

Onde :

  • --prefix e --openssldir controlam a configuração dos componentes instalados.

Aqui está a mensagem da execução.

Configuring OpenSSL version 3.1.3 for target linux-x86_64
Using os-specific seed configuration
Created configdata.pm
Running configdata.pm
Created Makefile.in
Created Makefile
Created include/openssl/configuration.h

**********************************************************************
***                                                                ***
***   OpenSSL has been successfully configured                     ***
***                                                                ***
***   If you encounter a problem while building, please open an    ***
***   issue on GitHub <https://github.com/openssl/openssl/issues>  ***
***   and include the output from the following command:           ***
***                                                                ***
***       perl configdata.pm --dump                                ***
***                                                                ***
***   (If you are new to OpenSSL, you might want to consult the    ***
***   'Troubleshooting' section in the INSTALL.md file first)      ***
***                                                                ***
**********************************************************************

Construa e compile software OpenSSL 3.x.

make -j $(nproc)

O comando acima irá gerar arquivos executáveis e bibliotecas que podem ser copiadas para locais apropriados em nosso sistema Linux.

sudo make install

Configure e atualize as ligações de tempo de execução do vinculador dinâmico usando os comandos a seguir.

sudo ldconfig

Finalmente podemos atualizar a variável de ambiente PATH que especifica todos os diretórios onde os binários executáveis estão localizados no sistema.

sudo tee /etc/profile.d/openssl.sh<<EOF
export PATH=/usr/local/openssl/bin:\$PATH
export LD_LIBRARY_PATH=/usr/local/openssl/lib:/usr/local/openssl/lib64:\$LD_LIBRARY_PATH
EOF

Também configuramos o caminho das bibliotecas dinâmicas usando LD_LIBRARY_PATH para incluir diretórios OpenSSL. Uma vez feito isso, atualize as variáveis de ambiente:

source /etc/profile.d/openssl.sh

Confirme a versão do OpenSSL instalada.

$ openssl version
OpenSSL 3.1.3 19 Sep 2023 (Library: OpenSSL 3.1.3 19 Sep 2023)

Podemos testar a instalação do pacote que depende do OpenSSL.

sudo dnf install policycoreutils-python-utils

Conclusão

Ao adotar o OpenSSL 3.x significa que você se preocupa com a segurança. Com isso, você desfruta da resiliência contínua de sua infraestrutura digital. OpenSSL é um aliado indiscutível no mundo interconectado digitalmente. A comunidade de desenvolvimento OpenSSL está comprometida com seu avanço como fronteira no espaço de segurança cibernética. Esperamos que este artigo tenha sido útil para você.