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.
Sau khi cài đặt hoàn tất, hãy chuyển sang bước tiếp theo.
Đi đến thư mục '/usr/local/src' và tải xuống mã nguồn OpenSSL bằng wget.
Bây giờ hãy giải nén tệp openssl.tar.gz và đi đến 'openssl' thư mục.
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.
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ấu hình và biên dịch OpenSSL bằng các lệnh bên dưới.
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 ý:
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
Đ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'.
Dán đường dẫn thư viện openssl thư mục.
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.
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
Trên Ubuntu 22.04 LTS
Sao lưu binary các tệp.
Chỉnh sửa tệp '/etc/environment' bằng nano.
Bây giờ hãy thêm thư mục nhị phân OpenSSL mới làm bên dưới
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.
Bây giờ hãy kiểm tra lại tệp nhị phân 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.
Tạo các tệp môi trường mới cho OpenSSL.
Dán cấu hình bên dưới.
Lưu và thoát.
Tạo tệp openssl.sh có thể thực thi.
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.
Bây giờ hãy kiểm tra OpenSSL file.
Đường dẫn nhị phân cho OpenSSL trên CentOS đã được cập nhật.
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.
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ì?
- Cài đặt Phụ thuộc
- Tải xuống mã nguồn OpenSSL
- Cài đặt OpenSSLBiên dịch và cài đặt OpenSSL
- Cấu hình thư viện liên kết
- Cấu hình nhị phân OpenSSL
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
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
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
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
Mã:
./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
make
make test
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.
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
Mã:
/usr/local/ssl/lib64
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
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
Mã:
nano /etc/environment
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
Mã:
which openssl
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
Mã:
vim /etc/profile.d/openssl.sh
Mã:
#Set OPENSSL_PATH
OPENSSL_PATH="/usr/local/ssl/bin"
export OPENSSL_PATH
PATH=$PATH:$OPENSSL_PATH
export PATH
Tạo tệp openssl.sh có thể thực thi.
Mã:
chmod +x /etc/profile.d/openssl.sh
Mã:
source /etc/profile.d/openssl.sh
echo $PATH
Mã:
which openssl
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
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.