概要

古いバージョンの PHP を実行しているウェブサイトは、それ自体が脆弱である可能性がありますが、さらに、Plesk サーバ全体が侵害される可能性もあります。ところが、古いウェブサイトを更新して、サポート対象バージョンの PHP で動作するようにするのは、コストと時間がかかる場合があります。

この問題の解決策として、Plesk は、古いバージョンの PHP で稼働しているウェブサイトを保護するために、CloudLinux ブランドの TuxCare が提供するカスタム PHP パッケージを使用する機能を提供しています。これらの PHP パッケージには、特定の PHP バージョンのコミュニティサポートが終了した後に発見されたセキュリティ問題に対する修正が含まれています。

このトピックでは、Plesk サーバに TuxCare のカスタム PHP パッケージをインストールする方法、ウェブサイトを保護する方法、カスタム PHP パッケージを最新の状態に保つ方法について学習します。

概要

すべての PHP バージョンは、次の 3 つのカテゴリのいずれかに分類されます。

アクティブサポート

このバージョンはアクティブにサポートされています。バグやセキュリティ問題の修正を含むアップデートが定期的にリリースされます。

セキュリティ修正のみ

このバージョンでは、重大なセキュリティ問題の修正を含むアップデートのみが提供されます。

サポート終了 (「EOL」)

このバージョンでは、重大なセキュリティ問題であっても、アップデートや修正が提供されません。

PHP でコーディングされたウェブサイトは通常、特定の PHP バージョンを想定して作成されています。PHP のバージョンが異なると、正しく動作しなかったり、まったく動作しなかったりする可能性があります。このようなウェブサイトを最新の PHP バージョンで正常に動作するように更新するのはコストがかかり、現実的ではない場合もあります。

しかし、サポートが終了した PHP バージョンにセキュリティ脆弱性が発見された場合、その PHP バージョンを実行しているウェブサイトはリスクにさらされます。さらに悪いことに、そのような脆弱性によって Plesk サーバ全体が脆弱になる恐れがあります。このような状況において、脆弱なウェブサイトの所有者とホスティング事業者にはいくつかの選択肢がありますが、どれも良い選択肢とは言えません。

  • ウェブサイトの所有者に更新する手段があり、それが可能であれば、ウェブサイトの所有者に更新してもらう。

  • ウェブサイトをオフラインにする。

  • ウェブサイトのホスティングを続け、リスクを受け入れる。

Plesk と TuxCare は、別の選択肢を提供します。これにより、コストのかかるアップグレードや、サポートが終了した PHP バージョンの実行に伴うリスクなしに、ウェブサイトをオンラインのまま維持できます。

  • TuxCare は、サポートが終了した PHP バージョンに影響を与えるセキュリティ問題の修正を含むカスタム PHP パッケージを提供しています。TuxCare チームは、サポートが終了した PHP バージョン向けのパッチをタイムリーに開発・テストするために多くの労力を費やしており、重大かつ高リスクの脆弱性 (CVSS 7 以上) のパッチを脆弱性が公開されてから 14 日以内に提供することを目指しています。

  • Plesk は、これらのパッケージを簡単にインストールするための拡張を提供しています。この拡張はまた、サポートが終了した PHP バージョンを実行しているウェブサイトを同じバージョンの安全な PHP ハンドラーに切り替えることで、それらのウェブサイトをセキュリティ保護します。

TuxCare は CloudLinux の一ブランドです。CloudLinux は、CloudLinux OS や KernelCare などの製品やサービスを提供する信頼できるベンダーであり、15 年にわたってホスティング事業者にサービスを提供してきました。

前提条件

注釈

1 つのライセンスで任意の数のウェブサイトがカバーされ、TuxCare が提供するすべてのパッチ適用済み PHP バージョンのパッケージにアクセスできます。

課題と制約事項

  • TuxCare Extended Lifecycle Support for PHP は、サポートが終了した PHP 5.6 以降のバージョンに対してセキュリティアップデートを提供します。すべての PHP バージョンの現在のサポート状況については、 こちら を参照してください。

  • TuxCare Extended Lifecycle Support for PHP は、Plesk に同梱されている PHP バージョンのみを対象としています。OS ベンダーのリポジトリからインストールされた PHP のバージョンは対象外です。

安全な PHP バージョンをインストールする

ウェブサイトをセキュリティ保護するためには、サーバ上に存在するサポートが終了した 1 つ以上の PHP バージョン用に PHP パッケージを TuxCare からインストールする必要があります。

サポートが終了した PHPバージョンの中には、パッケージをインストールできるものとできないものがあります。パッケージをインストールしても、ウェブサイトには一切影響はありません。

注釈

TuxCare Extended Lifecycle Support for PHP は有料の拡張です。ライセンスの有効期限が切れても、インストール済みの安全な PHP バージョンは引き続き使用できますが、セキュリティ修正を含む将来のアップデートにアクセスすることはできません。

安全な PHP バージョンをインストールするには:

  1. Plesk にログインします

  2. ナビゲーションペインで [拡張] をクリックし、[自分の拡張] タブに移動します。

  3. 「TuxCare Extended Lifecycle Support for PHP」拡張を見つけて、[開く] をクリックします。

  4. 保護する PHP バージョンごとに、 [Install] (インストール) をクリックします。

image not configured

インストールは数分程度で完了します。安全な PHP バージョンがインストールされると、そのバージョンの「古い」PHP ハンドラごとに「安全な」PHP ハンドラが追加されます。新しい PHP ハンドラは、 [ツールと設定] > [PHP 設定] ページ ([一般設定] の下) で確認できます。

image secured handlers

注釈

安全な PHP バージョンをインストールするだけでは不十分です。ウェブサイトをセキュリティ保護するためには、安全な PHP バージョンに手動で切り替える必要があります。

ウェブサイトをセキュリティ保護する

安全な PHP バージョンがインストールされた後は、ウェブサイトを「安全な」バージョンの PHP ハンドラに切り替えることで、ウェブサイトの保護を開始できます。

注釈

安全な PHP バージョンに含まれるハンドラセット (「FastCGI アプリケーション」や「専用 FPM アプリケーション」など) は、「古い」(安全ではない) PHP バージョンに含まれるものと同じです。ウェブサイトを同じ PHP バージョンとハンドラの安全なバージョンに切り替えても、セキュリティ上の脆弱性が解消される以外の影響はありません。

サポートが終了した特定の PHP バージョンを実行しているすべてのウェブサイトを保護するには:

  1. Plesk にログインします

  2. ナビゲーションペインで [拡張] をクリックし、[自分の拡張] タブに移動します。

  3. 「TuxCare Extended Lifecycle Support for PHP」拡張を見つけて、[開く] をクリックします。

  4. サポートが終了した必要な PHP バージョンを見つけて、[Switch] (切り替え) をクリックします。

image configured

その PHP バージョンを実行しているすべてのウェブサイトが、同じ PHP バージョンとハンドラの「安全な」バージョンに切り替えられます。

サポートが終了した PHP バージョンを実行している特定のウェブサイトを保護するには:

  1. Plesk にログインします

  2. ナビゲーションペインで、[ウェブサイトとドメイン] をクリックします。

  3. 問題のウェブサイトを見つけて、[PHP] ([ダッシュボード] タブの [開発ツール] の下) をクリックします。

  4. ドロップダウンリストから「安全な」PHP バージョンを選択し、[OK] をクリックします。

image php secured

ウェブサイトは、同じタイプのハンドラを維持しながら、選択した PHP バージョンに切り替えられます。

安全でない PHP バージョンに戻す

セキュリティ保護を行った後に 1 つ以上のウェブサイトで問題が発生した場合、いつでも元の「古い」(安全でない) PHP バージョンに戻すことができます。ただし、これを行うとウェブサイトが危険にさらされる可能性があることに注意してください。

  • 特定のウェブサイトを元に戻すには、その PHP ハンドラを同じ PHP バージョンの「古い」ハンドラに変更します。

  • サポートが終了した特定の PHP バージョンを実行しているすべてのウェブサイトを元に戻すには、拡張のページで [Rollback] (ロールバック) をクリックします。

image roll back

安全な PHP バージョンを再構成する

グローバル PHP 構成に変更を加えた後 (グローバル php.ini ファイルの編集、新しい PECL または PEAR 拡張のインストール、PHP 拡張の有効化または無効化など)、安全な PHP バージョンを手動で再構成することを強くお勧めします。これにより、「安全な」PHP バージョンと「古い」(安全でない) PHP バージョンの両方が同じ設定になり、同じように動作するようになります。

安全な PHP バージョンをすべて再構成するには:

  1. Plesk にログインします

  2. ナビゲーションペインで [拡張] をクリックし、[自分の拡張] タブに移動します。

  3. 「TuxCare Extended Lifecycle Support for PHP」拡張を見つけて、[開く] をクリックします。

  4. 安全な PHP バージョンごとに、 [Reconfigure] (再構成) をクリックします。

image reconfigure

安全な PHP バージョンを実行しているすべてのウェブサイトには、グローバル PHP 構成に加えられた変更が適用されます。

安全な PHP バージョンをアップデートする

ウェブサイトのセキュリティを維持するため、TuxCare の PHP パッケージを最新の状態に保つ必要があります。これらのパッケージは、他のシステムパッケージと同様にアップデートできます。TuxCare の PHP パッケージの名前は alt-php で始まります。これらは Plesk システムアップデートツールのインターフェース で確認できます。

image update tool

TuxCareの PHP パッケージは、自動または手動で更新できます。サポートが終了した PHP バージョンを使用しているウェブサイトを保護するために、TuxCare の PHP パッケージを自動更新することを強くお勧めします。たとえば、 Plesk システムアップデートツール を使用することができます。

TuxCare から PHP パッケージを手動でアップデートする場合は、リリースされたアップデートを追跡する必要があります。そのためには、 TuxCare の公式サイトで RSS フィードの一覧を参照し、関連性のあるオペレーティングシステムのフィードを購読することを推奨します。

Migrating Websites Using EOL PHP Versions

When migrating websites from a Plesk server running an outdated OS to one running a modern OS, you may run into an issue with websites using EOL PHP versions. If the PHP versions used by such websites are no longer shipped by Plesk for the destination server's OS, migrating them will not be possible.

To migrate and secure such websites, you need to manually install the necessary secured PHP versions on the destination Plesk server before migrating the websites. You can do so by using the plesk ext tuxcare-php CLI utility.

注釈

The procedure currently supports the PHP versions that have reached EOL starting from PHP 5.6.

To install a specific secured PHP version:

  1. Log in to the Plesk server via SSH as the root user, or use the SSH Terminal extension.

  2. Run the following command in the shell:

    plesk ext tuxcare-php --install-configure -version <major version>.<minor version>
    

    For example, to install PHP 5.6, the command would look like this:

    plesk ext tuxcare-php --install-configure -version 5.6
    

Once all the required EOL PHP versions have been installed, perform the migration as normal. The websites running EOL PHP versions will be automatically switched to the corresponding "secured" PHP versions.

注釈

Because the "secured" PHP versions installed in this manner do not have the corresponding EOL PHP version from Plesk installed on the server, the Rollback button will not be shown for them. The --switch, --switch-back, and --install-configure-switch CLI commands will also not be available for those PHP versions.