OpenSSLは、コンピュータネットワークを介した安全な通信のためにSSLおよびTLSプロトコルを実装する広く使用されている暗号化ライブラリです。 OpenSSLは、Apache Webサーバー、PHP、Postfixなどの多くのプログラムで使用されています。 OpenSSLは、暗号(AES、Blowfish、DES、IDEAなど)、暗号ハッシュ関数(MD5、MD4、SHA-1、SHA-2など)、公開鍵暗号(RSA、DSA、Diffieなど)などのさまざまな暗号アルゴリズムをサポートします。 -ヘルマン鍵交換)。
このチュートリアルでは、Ubuntu18.04およびCentOS7.6サーバーにソースから最新の安定したOpenSSLバージョンをインストールする方法を段階的に説明します。
何をしますか?
- 依存関係のインストール
- OpenSSLソースコードをダウンロード
- OpenSSLをインストールする
- OpenSSLをコンパイルしてインストールする
- リンクライブラリの構成
- OpenSSLバイナリを構成する
- テスト
OpenSSLライブラリをソースからコンパイルする前の最初のステップは、Ubuntuの「build-essential」パッケージやCentOSの「DevelopmentTools」パッケージなど、いくつかのパッケージの依存関係をインストールすることです。
以下のaptコマンドを使用して、Ubuntuリポジトリを更新し、ソフトウェアコンパイル用のパッケージ依存関係をインストールします。
sudo apt update
sudo apt install build-essential checkinstall zlib1g-dev -y
CentOSの場合
yumコマンドを使用して「開発ツール」といくつかのパッケージライブラリをインストールします。
yum group install 'Development Tools'
yum install perl-core zlib-devel -y
インストールが完了したら、次の手順に進みます。
このチュートリアルでは、OpenSSLの最新の安定バージョンであるOpenSSL1.0.2oをインストールします。 OpenSSLサイトからソースコードをダウンロードできます。
'/ usr / local / src'ディレクトリに移動し、wgetを使用してOpenSSLソースコードをダウンロードします。
cd /usr/local/src/
wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz
次に、openssl.tar.gzファイルを抽出し、「openssl」ディレクトリに移動します。
tar -xf openssl-1.0.2o.tar.gz
cd openssl-1.0.2o
OpenSSLソースコードがダウンロードされました。
カスタムOpenSSLバージョンをシステムにインストールする前に、以下のコマンドを使用してインストールされたバージョンを確認しましょう。
openssl version -a
以下はUbuntuでの私の結果です:
そしてこれはCentOSにあります:
「1.1.0g」バージョンを最新の安定バージョン1.0.2oに置き換えます。
新しいOpenSSLバージョンを特定のディレクトリ'/usr / local / ssl'にインストールしてから、OpenSSLのリンクライブラリを有効にし、OpenSSLの新しいバイナリPATHを構成します。
OpenSSLのインストールとコンパイル
opensslのダウンロードディレクトリ'/usr / local / src/openssl'に移動します。
cd /usr/local/src/openssl-1.0.2o
以下のコマンドを使用してOpenSSLを構成およびコンパイルします。
./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
make
make test
OpenSSLコンパイルプロセスを待ちます。
注:
- -prefixおよび--openssldir=OpenSSLの出力パスを設定します。
- shared=強制的に共有ライブラリを作成します。
- zlib=zlibライブラリを使用して圧縮を有効にします。
コンパイルプロセスが完了したら、以下のコマンドを使用してOpenSSLをインストールします。
make install
OpenSSLは「/usr/ local/ssl」ディレクトリにインストールされます。
次に、OpenSSLの共有ライブラリを構成します。新しいOpenSSLバイナリは、「/ usr / local / ssl/lib」ディレクトリからライブラリファイルをロードします。
'/etc/ld.so.conf.d'ディレクトリに移動し、新しい構成ファイル'openssl-1.0.2o.conf'を作成します。
cd /etc/ld.so.conf.d/
vim openssl-1.0.2o.conf
opensslライブラリパスディレクトリを貼り付けます。
/usr/local/ssl/lib
保存して終了します。
次に、以下のコマンドを使用して動的リンクをリロードします。
sudo ldconfig -v
また、「/ usr / local / ssl/lib」ディレクトリにあるOpenSSLライブラリがロードされていることがわかります。
Ubuntu:
CentOS:
OpenSSLバイナリを構成する
デフォルトのopensslバイナリ'/usr / bin/opensslまたは/bin/openssl'を新しいバージョン'/usr / local / ssl / bin/openssl'に置き換えます。
Ubuntu18.04LTSの場合
バイナリファイルをバックアップします。
mv /usr/bin/c_rehash /usr/bin/c_rehash.BEKUP
mv /usr/bin/openssl /usr/bin/openssl.BEKUP
vimを使用して「/etc/environment」ファイルを編集します。
vim /etc/environment
次に、新しいOpenSSLバイナリディレクトリを以下のように追加します
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/ssl/bin"
保存して終了します。
環境ファイルをリロードし、新しく更新されたバイナリPATHをテストします。
source /etc/environment
echo $PATH
ここで、OpenSSLバイナリファイルをもう一度確認します。
which openssl
以下のような結果が得られます。
Ubuntu用のOpenSSLのバイナリパスが更新されました。
CentOS7.6の場合
CentOSOpenSSLバイナリファイルをバックアップします。
mv /bin/openssl /bin/openssl.BEKUP
OpenSSL用の新しい環境ファイルを作成します。
vim /etc/profile.d/openssl.sh
以下に構成を貼り付けます。
#Set OPENSSL_PATH OPENSSL_PATH="/usr/local/ssl/bin" export OPENSSL_PATH PATH=$PATH:$OPENSSL_PATH export PATH
保存して終了します。
openssl.shファイルを実行可能にします。
chmod +x /etc/profile.d/openssl.sh
OpenSSL環境をロードし、以下のコマンドを使用してPATHbinディレクトリを確認します。
source /etc/profile.d/openssl.sh
echo $PATH
次に、OpenSSLファイルを確認します。
which openssl
以下のような結果が得られます。
CentOS上のOpenSSLのバイナリパスが更新されました。
次のコマンドを使用して、OpenSSLの新しいバージョンをテストします。
openssl version -a
Ubuntuでの結果。
CentOSでの結果。
OpenSSLの新しい最新の安定バージョンは、LinuxUbuntu18.04およびCentOS7.5のソースからインストールされています。