Cover Image

HCL Z and I Emulator for Transformation での CSRF および XSS 保護の有効化

2021/12/8 - 読み終える時間: 3 分

Enabling CSRF and XSS protections in ZIETrans の翻訳版です。


HCL Z and I Emulator for Transformation での CSRF および XSS 保護の有効化

2021年12月8日

著者: Soumya Mallappa / Senior Software Engineer at HCL Software

はじめに

クロスサイトリクエストフォージェリ(CSRF)とは、悪意のあるWebサイト、メール、ブログ、インスタントメッセージ、プログラムが、ユーザーのWebブラウザに、ユーザーが認証された信頼できるサイト上で望ましくないアクションを実行させることで発生する攻撃の一種です。例えば、この攻撃では、ユーザーのコンテキストで、資金の送金、パスワードの変更、アイテムの購入などが行われる可能性があります。

CSRFトークンと同一オリジンポリシーは、ZIETransでCSRF攻撃を防止する2つの異なる方法です。ユーザーは要件に応じて、これらのいずれか、または両方を選択することができます。

CSRFトークンとは、サーバーサイドのアプリケーションによって生成され、クライアントが発行する後続のHTTPリクエストに含めるためにクライアントに送信される、ユニークで予測不可能な秘密の値です。トークンが発行されると、サーバーは、クライアントからのリクエストに期待通りのトークンが含まれているかどうかをチェックします。トークンがない場合や無効な場合、そのリクエストは拒否されます。

同じオリジンポリシーにより、不正なオリジン/ウェブサイトから発信されたプロトコルを持たないURLから発信されたリクエストは破棄されます。

クロスサイトスクリプティング(XSS) は、クライアントサイドのコードインジェクション攻撃です。攻撃者は、正当なWebページやWebアプリケーションに悪意のあるコードを含めることで、被害者のWebブラウザで悪意のあるスクリプトを実行することを目的としています。ユーザーは、ZIETransプロジェクトでいくつかのXSSセキュリティパラメータを設定することで、ZIETransでこの攻撃を回避することができます。

このブログでは、ZIETransでどのようにCSRFとXSSから保護できるかを理解します。


ZIETransでCSRF保護を有効にする手順
  • ZIETrans ツールキットを開きます。
  • Project settings > other tab > Client settingsに移動します。
  • 要件に応じて「Enable same origin policy protection」または「Enable token based protection」を選択します。

`画像の説明

図1: 同一生成元ポリシーおよびトークンベースの保護の有効化

  1. 変更内容を保存します。

  2. 「ナビゲーター」タブ >「Web Content」フォルダ >「Web-INF」フォルダを開きます。web.xml ファイルを開きます。

HatsCSRFValidationFilter」という記述を探します。target.origin "と "source.origin "のパラメータを、以下のようにお客様のZIETransのURLに更新してください。デフォルトでは、空白になっています。

<filter>
  <description>このフィルターはcsrf攻撃を検証するために起動されます</description>
  <display-name>HatsCSRFValidationFilter</display-name>
  <filter-name>HatsCSRFValidationFilter</filter-name>

  <filter-class>
    com.ibm.hats.runtime.filters.HatsCSRFValidationFilter
  </filter-class>

<async-supported>false</async-supported>

  <init-param>
    <param-name>source.origin</param-name>
      <param-value>https://localhost:9083/ZIETrans/</param-value>
    </init-param>
    <init-param>
    <param-name>target.origin</param-name>
    <param-value>https://localhost:9083/ZIETrans/</param-value>
  </init-param>
</filter>

URLをカンマで区切ることで、以下のようにparam-valueに複数のURLを指定することができます。

<param-value>https://localhost:9083/ZIETrans/, https://zietransapp.com/</param-value>


ZIETransのXSS保護機能を有効にする手順

ZIETransのweb.xmlファイルを開き、以下のパラメータをNOからYESに更新します。デフォルトでは、これらのパラメーターはNOに設定されています。


<init-param>
<param-name>Content-Security-Policy</param-name>
<param-value>YES</param-value>
</init-param>
<init-param>
<param-name>X-XSS-Protection</param-name>
<param-value>YES</param-value>
</init-param>
<init-param>
<param-name>X-Content-Type-Options</param-name>
<param-value>YES</param-value>
</init-param>
``

このブログについて

HCL Japan の Software 部門の複数担当者で HCL Software 全般について記しています。

Tags

Academy Accelerate Accelerator Actian Ambassador AoC AppDev Pack AppScan ASoC BigFix BigFix Workspace CAA Clara Client Applicatin Access Cloud Native Commerce Common Local License Server Compass Connections Connnections CVE-2021-44228 DevOpes Velocity DevOps DevOps Code ClearCase DevOps Code RealTime DevOps Deploy DevOps.Launch.AppScan DevOps Model RealTim DevOps Model RealTime DevOps Plan DevOps Test DevOps Velocity Digital Experience Discover Domino Domino Leap Domino Volt Domino管理者アップデート認定試験対策 DQL DRYiCE DX Enterprise Integrator event General HCAA HCL Ambassador HCL Ambassadors HCL Domino REST API HCL OneTest Embedded HCL Z and I Emulator HCL Z and I Emulator for Transformation HCLSoftware U Hero history HTMO iControl iNotes IZSAM KEEP Launch Launch.DevOps Leap Link MarvelClient nds2019 ndv12beta Noets/Domino Nomad Nomad Mobile Nomad Web notes Notes/Domino notes-domino-9-10-limited-supportability-as-of-202204 Notes/Domino V12 Notes/Domion notescons Now OneDB OneTest OnTime REST RTist SafeLinx Sametime SoFy Total Experience Traveler Traveler for Microsoft Outlook Unica Unica Discover Unica Interact UrbanCode Deploy UrbanCode Velocity Velocity Verse VersionVault Volt Volt MX Volt MX Go Volt MX サンプルアプリ Wordload Automation Workload Automation youtube Z Z Abend Investigator Z and I Emulator Z and I Emulator for Transformation Z and I Emulator for Web Z and I Emulator for Web Client Z Asset Optimizer Z Data Tools Z Software Asset Manager ZAI ZAO ZIE ZIE for Transformation ZIE for Web ZIE for Windows ZIET ZIETrans ZIEWeb イベント ガイド クラウド サポート サポート技術情報 サポート終了 セキュリティ セキュリティー セキュリティー脆弱性 テクてく Lotus 技術者夜会 ニュース ノーツコンソーシアム パートナー ライセンス 九州地区 Notes パートナー会 出荷日 研修