CentOS7のApacheとOpenSSLのアップデート

当サーバ(CentOS7)のTLS1.3対応を実施した(CentOS7のTLS1.3対応とApacheへの適用)際には、OpenSSLのバージョンは、1.1.1uにしましたが、Apacheは、過去にアップデートした(CentOS7のApache最新版アップデート)バージョン2.4.46のままだったので、それぞれを最新安定版にアップデートしました。

◆最新安定バージョン

OpenSSLは、2023.8.1にバージョン1.1.1vもリリースされているが、サポート期間が2023.9.11までとなっているので、最新のバージョン3.1へとアップデートします。

Apache:2.4.46 ⇒ 2.4.57
OpenSSL:1.1.1u ⇒ 3.1.2

手順については、上手くいかなかったりした部分もあったが、その点については、反映しているので以降の順に進めればアップデートされます。
※実施については、自己責任でお願いします。

◆OpenSSLのバージョンアップ

先にOpenSSLのバージョンアップを実施します。

・必要パッケージのインストール

1行目:「perl-IPC-Cmd」パッケージのインストール

・OpenSSLの最新バージョンのダウンロードとインストール

最新バージョンを確認し、ダウンロードとインストールを実施します。

1行目:最新安定バージョン3.1.2(2023.8.6現在)のダウンロード
2行目:ダウンロードファイルの展開
3行目:展開ディレクトリへ移動
4行目:configureの実行
5行目:コンパイル
6行目:インストール

・インストールディレクトリの確認

1行目:インストールしたディレクトリの確認
8行目:バージョン1.1.1uのライブラリディレクトリ
9行目:バージョン3.1.2のライブラリディレクトリ

1行目:ライブラリディレクトリの確認

・旧バージョンのライブラリディレクトリのリネーム

削除してもいいのかもしれないが、とりあえずリネームしバックアップします。
※活かしたままにしておくと、Apacheのコンパイルの際に読み込みに行っているようで失敗します。

1行目:バージョン1.1.1uのライブラリディレクトリをリネーム

・共有ライブラリの設定

1行目:共有ライブラリへのパスを定義
2行目:共有ライブラリへの検索キャッシュの更新

・ライブラリの確認

1行目:「ldconfig」コマンドの「-p」オプションで現在のキャッシュに保存されているライブラリのリストを確認、「grep」で「ssl」を検索表示
4,5,7,8行目:インストールしたバージョン「3」のライブラリ

・コマンドのパスとバージョンの確認

1行目:コマンドのパスの確認
2行目:コマンドのフルパス表示
3行目:インストールしたOpenSSLのバージョン確認
4行目:バージョン「3.1.2」を表示

コマンドのパス設定及び環境変数設定は前回1.1.1uアップデート時に実施しているのでする必要はありません。
されていない場合は、こちらを参照してください。

◆Apacheのアップデート

前回「CentOS7のTLS1.3対応とApacheへの適用」で実施した要領と同様に「mod_ssl」モジュールのみ入れ替えます。

・「mod_ssl」モジュールのリネーム

1行目:バージョン1.1.1uの「mod_ssl」モジュールをリネーム
※Apacheをアップデートした際に上書きされてしまいます。

・Apacheのパッケージのダウンロードとビルド

1行目:Apacheのソースファイルをダウンロード
2行目:ダウンロードファイルの展開
3行目:展開ディレクトリへ移動
4行目:configureの実行。「–with-ssl」オプションでOpenSSLのインストールディレクトリを指定
5行目:コンパイル

「mod_ssl」モジュールだけ必要なので、「make install」は実行しません。

・「mod_ssl」モジュールの確認

1行目:「readelf」コマンドで「mod_ssl」のヘッダ情報を確認
5,6行目:共有ライブラリのバージョンがインストールしたOpenSSLのバージョン(3)になっているのを確認

・Apacheのyumアップデート

過去記事「CentOS7のApache最新版アップデート」で実施したIUSリポジトリを使用し、アップデートします。

1行目:IUSリポジトリを有効にしてyumでアップデート

・バージョンの確認

1行目:Apacheのバージョンの確認
2行目:バージョン「2.4.57」を表示

・「mod_ssl」モジュールの設置

1行目:「mod_ssl」モジュールのバックアップ
2行目:アップデートした際のバックアップファイルがある場合は上書き
3行目:新しい「mod_ssl」モジュールをコピーして設置

1行目:サービスの再起動
2行目:サービスの状態確認

◆確認

前回更新時に同様の確認をしているので、詳細はこちらを参照してください。

・TLS checker

TLS checker」でTLS/SSL設定を確認できます。

・SSL Labs

SSL Labs」では、Webサーバの構成情報を詳細に分析できます。

・ブラウザ(Chrome)での確認

「デベロッパーツール」で「TLSプロトコルバージョン」と「暗号化スイート」を確認できます。

この手順で実施するとダウンタイムは恐らく最小限で済むものと考えらます。
次回は、Apacheのチューニングをしていきたいと思います。

いいね! & シェア お願いします。

コメントは受け付けていません。