ColdFusion(2018 年リリース)アップデート 9

ColdFusion(2018 年リリース)アップデート 9

注意:

アップデート 8 を適用せずにアップデート 9 を適用する場合は、アップデート 8 のインストール後の手順に従ってください。アップデート 8 を利用している場合は、セキュリティ情報 APSB20-16 も参照してください。

注:アップデート 8 をすでに使用している場合は、アップデート 9 をすぐにインストールできます。

注意:

ColdFusion Administrator でアップデートする場合:

証明書に署名を行うコードが最近変更されため、ColdFusion(2018 年リリース)にアップデートできるバージョンはアップデート 4 以降になりました。

これは、アップデートの前提条件となります。

以下のアップデートは累積的なもので、以前のアップデートがすべて含まれています。以前のアップデートを行っていない場合、最新のアップデートを適用することで、以前のアップデートも適用されます。また、スキップしたアップデートで行われた変更をメモしておいてください。

以前のアップデートをインストールするには、「ColdFusion(2018 年リリース)のアップデート」を参照してください。

新機能および変更された機能

ColdFusion(2018 年リリース)アップデート 9(リリース日:2020 年 4 月 14 日)は、セキュリティ情報 APSB20-18 に記載されている脆弱性に対処しています。

SameSite 属性

SameSite 属性を使用すると、Cookie をファーストパーティに制限する必要があるかどうかを宣言できます。

Google Chrome Update 80 では、Cookie に SameSite 属性が定義されていない場合、デフォルトですべての Cookie をファーストパーティに設定します。それ以前のバージョンでは、SameSite 属性が設定されていない場合、デフォルトで none に設定され、サードパーティによる共有が有効になります。

cfcookie タグには、SameSite という新しい属性があります。

SameSite 属性には次の値を設定できます。

  • Strict
  • Lax
  • None

使用方法

1. CFCookie

<cfcookie name="name" value="value" sameSite="Strict | Lax | None">

2. Auth cookie / Session Cookie (CFID, CFTOKEN)
<cfset cookstruct = {samesite: "Lax"}
<cfapplication authCookie=cookStruct sessionCookie=cookstruct >

例 - cfapplication タグ

<cfset cookies = {httponly='true', timeout=createTimeSpan(1, 0, 0, 0), sameSite='Strict'}>

<cfset authcookies = {samesite='Lax'}>

<cfapplication name="MyApp" sessionmanagement="Yes" authCookie=authcookies sessioncookie=cookies>

例 - cfm

<cfcookie
    name = "newCookieName"
    value = "newCookieValue"
    expires = "20"
    samesite="Strict"
/>

使用方法 - Application.cfc

このアップデートでは、次のフラグが追加されました。

this.sessioncookie.samesite = "Strict | Lax | None"

this.authcookie.samesite= "Strict | Lax | None"

component {

                this.name = "MyApp";

                this.sessioncookie.samesite = "Strict";

                this.authcookie.samesite = "Lax";

                this.sessionmanagement = true;

}

例 — Test.cfm

<cflogin>

    <cfloginuser name="john" password="pwd" roles="" />

</cflogin>

使用方法 - cfapplication タグ

<cfset cookiest = {httponly='true', timeout=createTimeSpan(1, 0, 0, 0), samesite='Strict | Lax | None'}>

<cfset authcookiest = {samesite='Strict | Lax | None'}>

<cfapplication name="newApp" sessionmanagement="Yes" authCookie=#authcookiest# sessioncookie=#cookiest# >

注:cfapplication タグまたは Application.cfc に SameSite 属性がない場合、それぞれの session/auth cookie はサーバーレベルの SameSite 属性を使用します。この属性は、ColdFusion の管理者が「メモリ変数」セクションで設定します。

ColdFusion 2018 年リリースのアップデート 9 を使用すると、アプリケーションサーバーによっては SameSite 属性がデフォルトの設定で予期したとおり動作しない場合があります。詳しくは、アプリケーションサーバーのマニュアルを参照してください。

回避策はありますが、アプリケーションサーバーの公式ドキュメントを参照してください。

JEE 設定の回避策

EAP/Wildfly

いくつかの回避策があります。

  1. Undertow でカスタムフィルタを作成します(EAP 7.2 以降の場合)。
  2. JBoss EAP に含まれる Apache HTTPD サーバーの mod_headers の Header ディレクティブで SameSite フラグを設定します。

詳しくは、「EAP 7 の JSESSIONID Cookie で SameSite フラグを設定する」を参照してください。

Tomcat

context.xml では、SameSite 属性を設定できます。

<Context>

   <CookieProcessor sameSiteCookies="strict" />

</Context>

詳しくは、ドキュメントを参照してください。

WebSphere

WebSphere の場合は、Apache HTTP Server を使用して既存の Cookie を置き換えることをおすすめします。詳しくは、WebSphere のドキュメントを参照してください。

WebSphere では、この問題の修正が公開されています。お使いのバージョンの修正をダウンロードします

前提条件

  1. 64 ビットコンピューターでは、64 ビット版 ColdFusion の 64-bit JRE を使用します。
  2. ColdFusion サーバーがプロキシの背後にある場合、サーバーがアップデート通知を取得し、アップデートをダウンロードするためのプロキシ設定を指定します。スタンドアロンインストールの場合は jvm.config の下のシステムプロパティ、JEE インストールの場合は対応するスクリプトファイルを使用してプロキシ設定を指定します。
    • http.proxyHost
    • http.proxyPort
    • http.proxyUser
    • http.proxyPassword
  3. JEE アプリケーションサーバー上で実行している ColdFusion の場合、アップデートをインストールする前に、すべてのアプリケーションサーバーインスタンスを停止します。

インストール

このアップデートをインストールする方法については、 を参照してください。 サーバー アップデートセクション。アップデートに関する質問については、この FAQ をご覧ください。

  • アップデートはColdFusion インスタンスの Administrator か、コマンドラインオプションでインストールできます。
  • Windows ユーザーは、「スタート/すべてのプログラム/Adobe/Coldfusion 2018/Administrator」を使用して ColdFusion Administrator を起動できます。
  • Microsoft 8.1、Windows 、Windows 10、Windows Server R2 2012、および Windows Server 2016 のユーザーは、「管理者として実行」オプションを使用して  wsconfig  ツール({cf_install_home}/{instance_name}/runtime/bin にある)を起動する必要があります。
  • ダウンロードおよびインストール」オプションを使用してアップデートをインストールするときに、「{cf_install_home}/{instance_name}/hf-updates/hotfix_009.properties のファイルで書き込みファイル操作を実行するときにエラーが発生しました」というエラーが表示された場合は、フォルダー {cf_install_home}/{instance_name}/hf_updates に書き込み権限があることを確認します。
  • コネクタ構成ファイルは、{cf_install_home}/config/ wsconfig /backup にバックアップされます。コネクターの再構成後、workers.properties ファイルに行われたカスタム変更をすべて元に戻します。

更新プログラムを手動でインストールする

  1. このリンクをクリックして、アップデート JAR をダウンロードします。
  2. ダウンロードした JAR で、以下のコマンドを実行します。ColdFusion サービスを開始したり停止する特権と ColdFusion ルートディレクトリへのフルアクセスを持つ必要があります。

    Windows:<cf_root>/jre/bin/java.exe -jar <jar-file-dir>/hotfix-009-318650.jar

    Linux ベースのプラットフォーム:<cf_root>/jre/bin/java -jar <jar-file-dir>/hotfix-009-318650.jar

ダウンロードした JAR の実行には、必ず ColdFusion にバンドルされた JRE を使用してください。スタンドアローン ColdFusion の場合、これは <cf_root>/jre/bin にあります。

ColdFusion サービスおよび他の設定済み Web サーバーを再起動する権限を持つユーザーアカウントからアップデートをインストールします webservers 。

アプリケーションを手動で更新する方法については、このヘルプ記事をご覧ください。

インストール後

注意:

このアップデートの適用後、ColdFusion のビルド番号は 2018,0,09,318650 になるはずです。

インストール後は、コネクタを再構築または再構成することをおすすめします。

注:これは、アップデート 8 を適用せずにアップデート 9 を適用した場合の説明です。

Web サイトを表示したときに Error 503 または Error 403 が発生した場合は、「トラブルシューティング手順」を参照してください。

サーバーの自動ロックダウンの適用

アップデート 9 をインストールした後(事前に設定されたコネクタを使用)、自動ロックダウンインストーラーでサーバーをロックダウンすると、Web ページにアクセスしたときに Error 403 forbidden が発生する場合があります。

問題を解決するには、以下の手順を行ってください。

  1. workers.properties ファイルのシークレットが server.xml のシークレットに一致していることを確認します。
  2. シークレットが一致していない場合は、workers.properties ファイルのシークレットを server.xml ファイルにペーストします。
  3. ColdFusion Server を再起動して変更を有効にします。

ファイルの場所

ファイル

場所

server.xml

{cf.instance.home}\runtime\conf

server.xml の AJP コネクタ

AJP コネクタのプロトコル属性は AJP/1.3 に設定されています。

例:

<Connector port="8018" protocol="AJP/1.3" packetSize="65535" redirectPort="8451" tomcatAuthentication="false" maxThreads="500" connectionTimeout="60000" secret=”abcd” />

server.xml のシークレット

server.xml のシークレット値は、属性名が secret のコネクタ ノードにあります。

例:

<Connector port="8018" protocol="AJP/1.3" packetSize="65535" redirectPort="8451" tomcatAuthentication="false" maxThreads="500" connectionTimeout="60000" secret=abcd />

IIS の workers.properties

{cf.home}/config/wsconfig/<magic_folder_number>

Apache の workers.properties

APACHE_HOME/conf/

workers.properties のシークレット

worker.cfusion.secret=<secret>

アンインストール

アップデートをアンインストールするには、以下のいずれかの操作を行います。

  • ColdFusion Administrator で、「サーバーアップデートアップデートインストール済みアップデート」に移動して「アンインストール」をクリックします。
  • コマンドプロンプトからアップデートのアンインストールを実行します。例:java -jar {cf_install_home}/{instance_home}/hf_updates/hf-2018-00009-318650/uninstall/uninstaller.jar

上記のアンインストールオプションを使用してもアップデートをアンインストールできない場合、アンインストーラーが破損している可能性があります。ただし、次の操作を実行すれば、手動でアップデートをアンインストールできます。

  1. {cf_install_home}/{instance_name}/lib/updates からアップデート jar を削除します。
  2. {cf_install_home}/{instance_name}/hf-updates/{hf-2018-00009-318650}/backup ディレクトリから {cf_install_home}/{instance_name}/ にすべてのフォルダーをコピーします。

コネクター構成

2018 アップデート

コネクタの再作成が必要

アップデート 9

はい

はい

いいえ

はい

はい

いいえ

いいえ

はい

はい