Skip to main content

 

 

 

 
Language:

 

 
 
 
OutSystems

セキュアなCookie: セキュアなセッションCookieを有効にしてアプリケーションのCookieをセキュアとして設定する方法

概要

Cookieには機密情報が含まれている可能性があり、チャネルを盗聴している攻撃者がそうした機密情報にアクセスできないようにする必要があります。Cookieがクリアテキストで送信されないように、セキュアフラグを付けてCookieを送信することが可能です。

「セキュア」フラグをサポートしているWebブラウザでは、リクエストにHTTPSが使用されている場合、「セキュア」フラグを持つCookieのみが送信されます。つまり、Cookieの「セキュア」フラグを設定すると、そうしたCookieがブラウザから非暗号化チャネルで送信されなくなります。

セキュアでないCookieの問題は、OutSystemsアプリケーションを実行している環境で一部の構成が不足している場合に、OutSystemsアプリケーションで実行されるペネトレーションテストレポートでよく発生します。セッションCookieとアプリケーションCookieの両方を保護する手順については、以下の各セクションをご覧ください。

セッションCookieには、ユーザーがアプリケーションにログインした後のユーザーセッションに関する情報が保存されます。これは非常に機密性の高い情報です。攻撃者がセッションCookieを使用して被害者になりすますことができるためです(詳細については、「Session Hijacking」をご覧ください)。

セッションCookieをセキュアに設定するようにOutSystems環境を構成できます。そのためには、Factory Configurationをインストールします。これはOutSystemsがサポートするコンポーネントであり、OutSystems Forgeから入手できます。

Factory Configurationをインストールした後、アプリケーションにアクセスすると、セキュアなセッションCookieを有効にするオプションが[Platform Configurations]タブに表示されます。

重要な注意事項: セキュアフラグをアクティベートすると、OutSystemsはHTTPSを使用しているときにのみセッションCookieを送信します。そのため、ユーザーセッションでの予期しない動作を防止するには、セキュアなセッションCookieをアクティベートする際に、すべての画面にHTTPSを強制する必要もあります。[Improved Application Security]オプションを有効にすることで、Service CenterおよびLifeTimeの環境に対応する追加のセキュリティ構成にアクセスできるようになり、Web画面だけではなくWeb参照にもHTTPSを強制できます。

このオプションは、OutSystems 10以降はデフォルトで有効になっており、改定パッチ9.1.600.0以降のOutSystems 9.1で利用できます。

サーバー側のコンテキスト(サーバーアクションのコンテキストなど)でカスタムCookieを設定している場合に「セキュア」フラグをアクティベートするには、SetCookieサーバーアクションを呼び出す際にCookieSecureを「True」に設定します。

Service StudioでCookieSecureプロパティを設定する

この入力パラメータは、Platform Server 11.7.0以降で使用できます。

古いバージョンのPlatform Serverには、このオプションの引数は存在しません。回避策として、Cookieの値に「; Secure」を追加すると、「セキュア」フラグをアクティベートできます。以下に例を示します。

CookieValue入力パラメータにSecure文字列を追加する

クライアント側のコンテキスト(JavaScriptコードなど)で「セキュア」フラグを設定するには、Cookieに「; Secure」を追加します。

document.cookie = 'sample_cookie=value; Secure';
  • Was this article helpful?