[解決!]CentOS5 で動作する Plesk のライセンスキー取得が失敗するトラブル

2021年12月に、Pleskが動作しているサーバーで、ライセンスキーが自動更新されないというトラブルがあった。
Plesk のライセンスサーバー(ka.plesk.com)に、何らかの変更があったらしく、旧バージョンのOSを使っているサーバーだと、影響があったらしい。

CentOS7 のサーバーは、サーバー会社経由で、ライセンスキーを手動で発行してもらってアップロードしたら、その後うまくいくようになった。
が、CentOS5 のサーバーだけは、さすがに古すぎてどうにもならない。

でもライセンスキーが期限日までに更新できないと、Pleskの操作ができなくなって、新サーバーへの移行をするのにも支障が出るので、何とかしなければならない。

■事象

CnetOS5 + Plesk12.5 のサーバー環境で、
「ツールと設定」-「ライセンス管理」-「Pleskライセンスキー」の「キーを取得」をクリックすると、次のようなエラーが出る。

cURL cannot communicate with license server https://ka.plesk.com/xmlrpc: SSL connect error(35)
cURL cannot communicate with license server https://ka.plesk.com/xmlrpc: couldn’t resolve host name(6)

 

コンソール画面から、

plesk bin lisence –retrieve

のコマンド入力で対応しようとしても、次のようなメッセージが出て、結果は同じ。

[2022-01-01 00:02:39] ERR [1] /usr/local/psa/admin/bin/logmng ‘/var/log/plesk/install/ai_action_time.xml’ failed with message: logmng: execve failed for /usr/local/psa/admin/sbin/logmng: Exec format error

System error 8: Exec format error

[2022-01-01 00:02:41] ERR [panel] KeyUpdate Result code: 2 Network failure

[2022-01-01 00:02:41] ERR [panel] KeyUpdate Result desc: cURL cannot communicate with license server https://ka.plesk.com/xmlrpc: SSL connect error(35)
cURL cannot communicate with license server https://ka.plesk.com/xmlrpc: couldn’t resolve host name(6)

[2022-01-01 00:02:41] ERR [panel] KeyUpdate Result additional information: cURL verbose output:
* About to connect() to ka.plesk.com port 443
* Trying 195.214.233.82… * connected
* Connected to ka.plesk.com (195.214.233.82) port 443
* successfully set certificate verify locations:
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
* SSLv3, TLS handshake, Client hello (1):
> SSL data removed for security reason* error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version
* Closing connection #0

cURL verbose output:
* Couldn’t resolve host ‘ka.plesk.com’
* Closing connection #0

 

■原因

2012年12月頃から、Pleskライセンスサーバーへの接続が TLS1.2未満を遮断するように なっていた らしい。

ka.plesk.comは、nslookup で調べると、次の3つのIPアドレスが対応している。
この3種類のどれも、TLS1.2以上で接続しないと、遮断されてしまう。

195.214.233.80
195.214.233.81
195.214.233.82

 

■対応策

CentOS5 はもともと、TLS1.0 までしか対応できないけれども、openssl と cURL と PHP を新しくして、TLS1.2 で接続できるようにすれば解決するはずである。

が、Pleskの内部コマンド( /usr/local/psa/bin/ )は、独自のPHP環境でコンパイルされており、ソースも暗号化されているので、openssl と cURL と PHP を新しくしても、再コンパイルすることができず、解決できない。

Plesk内部で動作している PHP の実体は、 /usr/local/psa/bin/sw-engine-pleskrun であり、これを再コンパイルできない限り、どうにもならない。
Pleskコマンドのソースは非公開(暗号化)されているので、再コンパイルは、できそうにない。

[root@www bin]# /usr/local/psa/bin/sw-engine-pleskrun -v

PHP 5.6.14 (cli) (built: Oct 5 2015 15:54:43)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
with the ionCube PHP Loader v4.7.5, Copyright (c) 2002-2014, by ionCube Ltd., and
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies

 

■対応結果

諦めかけていた頃、年明け早々に、サーバー会社から、別の解決案があることを教えてもらい、見事に解決した。

/etc/hosts ファイルに、 ka.plesk.com の正引きIPアドレスの3種類(195.214.233.80, 195.214.233.81, 195.214.233.82)ではなく別の IPアドレスを設定すること、である。

そのIPアドレスは非公開(機密)なので、インターネットをいくら検索しても見つけることはできない。
でも、Plesk社は旧OSユーザーをバッサリ切り捨てるような対応はしなかった、ということは分かった。

年末年始、いろんな対応策を教えていただいたサーバー会社(GMOクラウド社)に、感謝したい。


My Company Links

合資会社ユースマネージメント
ドメインサービス
インターネット活用の入り口

My Website Links

細野俊一のトレーディング日記
日経225+JPX400銘柄の PPP(パンパカパン) 一覧
株価指数+外国為替(FX)の PPP(パンパカパン) 状態
「生命の科学」学習メモ
大安心と大冒険を求めて

Facebook Pages

ポイント&フィギュア活用研究会
合資会社ユースマネージメント
アダムスキー「生命の科学」活用研究会
細野俊一 (宇宙哲学研究家)