OpenSSL jest szeroko stosowaną biblioteką kryptograficzną, która implementuje protokoły SSL i TLS do bezpiecznej komunikacji w sieciach komputerowych. OpenSSL jest wykorzystywany przez wiele programów takich jak serwer WWW Apache, PHP, Postfix i wiele innych. OpenSSL zapewnia wsparcie dla różnych algorytmów kryptograficznych, takich jak szyfry (AES, Blowfish, DES, IDEA itp.), kryptograficzne funkcje haszujące (MD5, MD4, SHA-1, SHA-2 itp.) i kryptografia klucza publicznego (RSA, DSA, wymiana klucza Diffie-Hellmana).

W tym poradniku pokażę krok po kroku, jak zainstalować najnowszą stabilną wersję OpenSSL ze źródła na serwerach Ubuntu 18.04 i CentOS 7.6.

Co będziemy robić?

  1. Install Dependencies
  2. Download OpenSSL Source Code
  3. Install OpenSSL
    1. Compile and Install OpenSSL
    2. Configure Link Libraries
    3. Configure OpenSSL Binary
  4. Testing

Krok 1 – Instalowanie zależności Install Dependencies

Pierwszy krok, zanim będziemy mogli skompilować bibliotekę OpenSSL ze źródła, jest zainstalowanie niektórych zależności pakietowych, w tym pakietu 'build-essential’ w Ubuntu, lub pakietu 'Development Tools’ w CentOS.

Na Ubuntu

Uaktualnij repozytorium Ubuntu i zainstaluj zależności pakietów do kompilacji oprogramowania za pomocą poniższego polecenia apt.

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

Na CentOS

Zainstaluj 'Development Tools’ i niektóre pakiety bibliotek za pomocą polecenia yum.

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

Po zakończeniu instalacji, przejdź do następnego kroku.

Krok 2 – Pobierz OpenSSL

W tym poradniku, zainstalujemy najnowszą stabilną wersję OpenSSL – OpenSSL 1.0.2o. Możesz pobrać kod źródłowy ze strony OpenSSL.

Przejdź do katalogu '/usr/local/src’ i pobierz kod źródłowy OpenSSL używając wget.

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

Następnie rozpakuj plik openssl.tar.gz, i przejdź do katalogu 'openssl’.

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

Kod źródłowy OpenSSL został pobrany.

Krok 3 – Zainstaluj OpenSSL

Przed zainstalowaniem własnej wersji OpenSSL w systemie, sprawdźmy zainstalowaną wersję używając poniższego polecenia.

openssl version -a

Poniżej przedstawiam moje wyniki na Ubuntu:

A to jest na CentOS:

Zastąpimy wersję '1.1.0g’ najnowszą stabilną wersją 1.0.2o.

Zainstalujemy nową wersję OpenSSL do określonego katalogu '/usr/local/ssl’, a następnie włączymy biblioteki linków OpenSSL i skonfigurujemy nową binarną PATH dla OpenSSL.

Instalacja i kompilacja OpenSSL

Przejdź do katalogu '/usr/local/src/openssl’.

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

Skonfiguruj i skompiluj OpenSSL za pomocą poniższych poleceń.

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

Poczekaj na proces kompilacji OpenSSL.

Uwaga:

  • –prefix i –openssldir = ustaw ścieżkę wyjściową OpenSSL.
  • shared = wymuś utworzenie biblioteki współdzielonej.
  • zlib = włącz kompresję przy użyciu biblioteki zlib.

Po zakończeniu procesu kompilacji, zainstaluj OpenSSL używając poniższego polecenia.

make install

OpenSSL jest zainstalowany w katalogu '/usr/local/ssl’.

Konfiguracja bibliotek łączących

Następnie skonfigurujemy biblioteki współdzielone dla OpenSSL. Nowa binarka OpenSSL będzie ładowała pliki bibliotek z katalogu '/usr/local/ssl/lib’.

Przejdziemy do katalogu '/etc/ld.so.conf.d’ i utworzymy nowy plik konfiguracyjny 'openssl-1.0.2o.conf’.

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

Wkleimy katalog ze ścieżką bibliotek openssl.

/usr/local/ssl/lib

Zapisz i wyjdź.

Teraz przeładuj dynamiczny link używając poniższego polecenia.

sudo ldconfig -v

I zobaczysz, że biblioteki OpenSSL w katalogu '/usr/local/ssl/lib’ zostały załadowane.

Ubuntu:

CentOS:

Konfiguracja OpenSSL Binary

Zastąpimy domyślną binarkę openssl '/usr/bin/openssl lub /bin/openssl’ nową wersją '/usr/local/ssl/bin/openssl’.

Na Ubuntu 18.04 LTS

Zrób kopię zapasową plików binarnych.

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

Edytuj plik '/etc/environment’ używając vim.

vim /etc/environment

Teraz dodaj nowy katalog binarny OpenSSL jak poniżej

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

Zapisz i zakończ.

Odśwież plik środowiska i przetestuj nową zaktualizowaną PATH binarną.

source /etc/environment
echo $PATH

Teraz sprawdź ponownie plik binarny OpenSSL.

which openssl

Uzyskasz wynik jak poniżej.

Ścieżka binarna OpenSSL dla Ubuntu została zaktualizowana.

Na CentOS 7.6

Backup plików binarnych CentOS OpenSSL.

mv /bin/openssl /bin/openssl.BEKUP

Utwórz nowe pliki środowiska dla OpenSSL.

vim /etc/profile.d/openssl.sh

Wklej poniższą konfigurację.

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

Zapisz i wyjdź.

Uczyń plik openssl.sh wykonywalnym.

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

Załaduj środowisko OpenSSL i sprawdź katalog PATH bin, używając poniższych poleceń.

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

Teraz sprawdź plik OpenSSL.

which openssl

Uzyskasz wynik jak poniżej.

Ścieżka binarna dla OpenSSL w systemie CentOS została zaktualizowana.

Krok 4 – Testowanie

Sprawdź nową wersję OpenSSL używając następującej komendy.

openssl version -a

Wynik na Ubuntu.

Wynik na CentOS.

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.