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 Ambassador AoC AppDev Pack AppScan ASoC beta BigFix BigFix 9.5 BigFix_Wiki BigFix Workspace branding CAA Client Applicatin Access cloud Cloud Apps Cloud Native Commerce Common Local License Server community companion Compass compliance Connections Connections 6.5 ConnectionsDocs Connnections CVE-2021-44228 developerWorks DevOpes Velocity DevOps DevOps Code ClearCase DevOps Code RealTime DevOps Deploy DevOps.Launch.AppScan DevOps Model RealTim DevOps Plan DevOps Test DevOps Velocity Digital Experience document Doino Volt Domino Domino AppDev Pacl Domino Leap Domino Volt Domino管理者アップデート認定試験対策 DQL DRYiCE dW dx Enterprise Integrator event fix fix_list fixlist forum General guide 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 hints_and_tips history HTMO IBM_i ID_Vault iNotes ios ios13 ipad iPhone IZSAM KEEP Launch Launch.DevOps Leap Link logo MarvelClient mobile mui nds2019 ndv12beta News Noets/Domino Nomad Nomad Mobile Nomad Web Notes Notes/Domino Notes/Domino 10 Notes/Domino 11 notes-domino-9-10-limited-supportability-as-of-202204 Notes/Domino V12 Notes/Domion Notes/Domno notescons Now on_premises OneDB OneTest OnTime osaka press_release relay REST RTist SafeLinx Sametime Sametime 11 SoFy support survey system_requirement techtek Traveler Traveler 10 Traveler for Microsoft Outlook traveler.zip Unica Unica Discover Unica Interact UrbanCode Deploy UrbanCode Velocity v11 V12 Verse Verse Mobile Verse On-Premises VersionVault Volt Volt MX Volt MX Go Volt MX サンプルアプリ Webinar win7 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 パートナー会 互換性 出荷日 各種ご案内資料 研修