Cách cài đặt phiên bản OpenSSL mới nhất từ Source trên Linux

theanh

Administrator
Nhân viên
OpenSSL là một thư viện mã hóa được sử dụng rộng rãi, triển khai các giao thức SSL và TLS để giao tiếp an toàn qua mạng máy tính. Nhiều chương trình như máy chủ web Apache, PHP, Postfix và nhiều chương trình khác sử dụng OpenSSL. OpenSSL hỗ trợ nhiều thuật toán mã hóa khác nhau như mã hóa (AES, Blowfish, DES, IDEA, v.v.), hàm băm mã hóa (MD5, MD4, SHA-1, SHA-2, v.v.) và mã hóa khóa công khai (RSA, DSA, trao đổi khóa Diffie-Hellman).

Trong hướng dẫn này, tôi sẽ chỉ cho bạn từng bước cách cài đặt phiên bản OpenSSL ổn định mới nhất từ nguồn trên máy chủ Ubuntu 22.04 và CentOS 7.6.

Chúng ta sẽ làm gì?​

  1. Cài đặt Phụ thuộc
  2. Tải xuống mã nguồn OpenSSL
  3. Cài đặt OpenSSLBiên dịch và cài đặt OpenSSL
  4. Cấu hình thư viện liên kết
  5. Cấu hình nhị phân OpenSSL
[*] Kiểm tra

Bước 1 - Cài đặt phụ thuộc​

Trước khi chúng ta có thể biên dịch thư viện OpenSSL từ nguồn, bước đầu tiên là cài đặt một số phụ thuộc gói, bao gồm gói 'build-essential' trên Ubuntu hoặc gói 'Development Tools' trên CentOS.

Trên Ubuntu​

Cập nhật kho lưu trữ Ubuntu và cài đặt các phụ thuộc gói để biên dịch phần mềm bằng lệnh apt bên dưới.
Mã:
sudo apt update
sudo apt install build-essential checkinstall zlib1g-dev -y

Trên CentOS​

Cài đặt 'Công cụ phát triển' và một số thư viện gói bằng lệnh yum.
Mã:
yum group install 'Development Tools'
yum install perl-core zlib-devel -y
Sau khi cài đặt hoàn tất, hãy chuyển sang bước tiếp theo.

Bước 2 - Tải xuống OpenSSL​

Trong hướng dẫn này, chúng tôi sẽ cài đặt phiên bản ổn định mới nhất của OpenSSL - OpenSSL 3.0.7. Bạn có thể tải xuống mã nguồn từ trang web OpenSSL.

Đi đến thư mục '/usr/local/src' và tải xuống mã nguồn OpenSSL bằng wget.
Mã:
cd /usr/local/src/
wget https://www.openssl.org/source/openssl-3.0.7.tar.gz
Bây giờ hãy giải nén tệp openssl.tar.gz và đi đến 'openssl' thư mục.
Mã:
tar -xf openssl-3.0.7.tar.gz
cd openssl-3.0.7

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22246%22%3E%3C/svg%3E


Mã nguồn OpenSSL đã được tải xuống.

Bước 3 - Cài đặt OpenSSL​

Trước khi cài đặt phiên bản OpenSSL tùy chỉnh để hệ thống, hãy kiểm tra phiên bản đã cài đặt bằng lệnh bên dưới.
Mã:
openssl version -a
Dưới đây là kết quả của tôi trên Ubuntu:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22246%22%3E%3C/svg%3E


Chúng tôi sẽ thay thế phiên bản 3.0.2 bằng phiên bản ổn định mới nhất OpenSSL 3.0.7.

Chúng tôi sẽ cài đặt phiên bản OpenSSL mới vào thư mục cụ thể '/usr/local/ssl', sau đó kích hoạt Thư viện liên kết của OpenSSL và cấu hình PATH nhị phân mới cho OpenSSL.

Cài đặt và biên dịch OpenSSL​

Truy cập thư mục đã tải xuống openssl '/usr/local/src/openssl'.
Mã:
cd /usr/local/src/openssl-3.0.7
Cấu hình và biên dịch OpenSSL bằng các lệnh bên dưới.
Mã:
./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib

make
make test
Chờ quá trình biên dịch OpenSSL.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22384%22%3E%3C/svg%3E



data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22385%22%3E%3C/svg%3E


Lưu ý:
  • --prefix và --openssldir = Đặt đường dẫn đầu ra của OpenSSL.
  • shared = buộc tạo thư viện dùng chung.
  • zlib = bật chức năng nén bằng thư viện zlib.
Khi quá trình biên dịch hoàn tất, hãy cài đặt OpenSSL bằng lệnh bên dưới.
Mã:
make install

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22385%22%3E%3C/svg%3E


OpenSSL được cài đặt trong thư mục '/usr/local/ssl'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22257%22%3E%3C/svg%3E

Cấu hình Thư viện Liên kết​

Tiếp theo, chúng ta sẽ cấu hình các thư viện chia sẻ cho OpenSSL. Tệp nhị phân OpenSSL mới sẽ tải các tệp thư viện từ thư mục '/usr/local/ssl/lib'.

Đi đến thư mục '/etc/ld.so.conf.d' và tạo tệp cấu hình mới 'openssl-3.0.7.conf'.
Mã:
cd /etc/ld.so.conf.d/
nano openssl-3.0.7.conf
Dán đường dẫn thư viện openssl thư mục.
Mã:
/usr/local/ssl/lib64
Lưu và thoát.

Bây giờ hãy tải lại liên kết động bằng lệnh bên dưới.
Mã:
sudo ldconfig -v
Và bạn sẽ thấy các thư viện OpenSSL trên thư mục '/usr/local/ssl/lib64' đã được tải.

Ubuntu:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22294%22%3E%3C/svg%3E

Cấu hình OpenSSL Binary​

Chúng tôi sẽ thay thế openssl binary mặc định '/usr/bin/openssl hoặc /bin/openssl' bằng phiên bản mới '/usr/local/ssl/bin/openssl'.

Trên Ubuntu 22.04 LTS

Sao lưu binary các tệp.
Mã:
mv /usr/bin/c_rehash /usr/bin/c_rehash.bak
mv /usr/bin/openssl /usr/bin/openssl.bak
Chỉnh sửa tệp '/etc/environment' bằng nano.
Mã:
nano /etc/environment
Bây giờ hãy thêm thư mục nhị phân OpenSSL mới làm bên dưới
Mã:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/ssl/bin"

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22387%22%3E%3C/svg%3E


Lưu và thoát.

Tải lại tệp môi trường và kiểm tra tệp nhị phân mới được cập nhật PATH.
Mã:
source /etc/environment
echo $PATH
Bây giờ hãy kiểm tra lại tệp nhị phân OpenSSL.
Mã:
which openssl
Bạn sẽ nhận được kết quả như bên dưới.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22161%22%3E%3C/svg%3E


Đường dẫn nhị phân của OpenSSL cho Ubuntu đã được cập nhật.

Trên CentOS 7.6

Sao lưu các tệp nhị phân CentOS OpenSSL.
Mã:
mv /bin/openssl /bin/openssl.bak
Tạo các tệp môi trường mới cho OpenSSL.
Mã:
vim /etc/profile.d/openssl.sh
Dán cấu hình bên dưới.
Mã:
#Set OPENSSL_PATH
OPENSSL_PATH="/usr/local/ssl/bin"
export OPENSSL_PATH
PATH=$PATH:$OPENSSL_PATH
export PATH
Lưu và thoát.

Tạo tệp openssl.sh có thể thực thi.
Mã:
chmod +x /etc/profile.d/openssl.sh
Tải môi trường OpenSSL và kiểm tra thư mục bin PATH bằng các lệnh bên dưới.
Mã:
source /etc/profile.d/openssl.sh
echo $PATH
Bây giờ hãy kiểm tra OpenSSL file.
Mã:
which openssl
Đường dẫn nhị phân cho OpenSSL trên CentOS đã được cập nhật.

Bước 4 - Kiểm tra​

Kiểm tra phiên bản OpenSSL mới bằng lệnh sau.
Mã:
openssl version -a
Kết quả trên Ubuntu.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22167%22%3E%3C/svg%3E


Phiên bản ổn định mới nhất của OpenSSL đã được cài đặt từ nguồn trên Linux Ubuntu 22.04 và CentOS 7.6.

Tham khảo​

 
Back
Bên trên