AEM オンプレミスでの Node.js 14.x の脆弱性の解決

この記事では、Red Hat Enterprise Linux (RHEL)上で動作するAEM オンプレミス環境における、古い Node.js 14.x インストールに起因するセキュリティの問題を解決する方法について説明します。 開発環境では Node.js 16 を使用しますが、セキュリティスキャナーからのアラートをトリガーする古い Node.js 14 パッケージがシステムには引き続き含まれています。 この問題に対処するには、古いパッケージを削除または無効にします。

説明 description

環境

製品:Adobe Experience Manager(AEM)オンプレミス、v6.5
オペレーティングシステム:Red Hat Enterprise Linux (RHEL)

問題

  • セキュリティスキャナーは、2023 年 4 月 30 日(PT)に提供終了となった Node.js 14.x による脆弱性を検出します。
  • システムには、/opt/rh/rh-nodejs14/root/usr/bin/node に古い Node.js バイナリがまだ含まれています。
  • 開発環境では Node.js 16 を使用しますが、古いバージョンは OS レベルでインストールされたままになります。
  • スキャナは、Node.js のバージョンとランタイム設定を確認して問題をフラグ付けします。

解決策 resolution

この問題を解決するには、次の手順に従います。

  • アプリケーション環境で node -v を実行して、AEM プロセスで Node.js 16 が使用されていることを確認します。 また、従来の Node.js 14 バイナリを呼び出すプロセスやビルド手順がないことを確認します。
  • Node.js 14 インストールが RHEL のパッケージセットの一部として管理されているかどうかを確認します。 RHEL ドキュメントを参照して、セキュリティアップデートまたはバックポートパッチが使用可能かどうかを確認します。 一部のベンダーは、正式なサポート終了の後もメンテナンスパッチを提供し続けています。
  • システムの攻撃対象領域を減らし、全体的なセキュリティを向上させるために、使用されなくなった場合やメンテナンスアップデートがない場合は、従来の Node.js 14 パッケージを削除します。
  • Node.js 16 バイナリの使用を反映するようにデプロイメントドキュメントを更新します。 OS レベルのインストールとアプリケーションレベルのランタイム環境の不一致を解決して、脆弱性レポートが誤検出されないようにします。
  • 報告された脆弱性が、更新されたコードベースからではなく、OS レベルの Node.js のインストールから生じていることを確認します。

これらの手順に従うと、古くなったソフトウェアリスクを排除し、AEM オンプレミス環境を安全で準拠した状態に保つことができます。

関連資料

AEM 6.5 のセキュリティのベストプラクティス ​

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f