
1.デザイナ内蔵のポータルを例にします。
2.デザイナを開き、[ヘルプ]-[製品デモ]を押して、ポータルに入ります。

3.[システム]-[セキュリティ管理]からセキュリティ管理ページに入ります。


注:既定では、Cookie強化、HSTS設置、リクエスト応答最適化がオフになっており、ファイルアップロードチェック、スクリプト数式利用制限、Setcurity Headersがオンになっています。
1.Cookie強化
注:サーバでhttpsを適用しなければなりません(Cookie強化のSecure属性を満たすため、https対応の時にのみCookieを配分する)。
1.Cookie強化がオンになっていると、httpsが適用されているか確認されます。
2.httpsが確認されていると、Cookie強化がオンとなりますが、httpの場合では「現在のサーバープロトコルがHTTPとして検出され、正常に有効化されませんでした。サーバーを確認してHTTPSを開き、もう一度お試しください。」と表示されます。下の画像の通りです。

2. HSTS設定
1.httpsを適用してからHSTSを設定できます。オンにすると、httpでのアクセスが禁止されます。IE11以前のブラウザに対応していません。
2.httpのままHSTSをオンにすると、エラーメッセージが表示されます:「現在のサーバプロトコルはHTTPであると検出し、起動に失敗しました。サーバがHTTPSをオープンしているかどうかを確認してから、もう一度やり直してください。」下の画像の通りです。

3.HSTSをオンにすると、新たに[header]:Strict-Transport-Security:が追加されます。デフォルトはmax-age=31536000; includeSubdomainsとなっています。
4,システムの利用者は、fine_conf_entity表にWebSecurityConfig.hstsHeaderのフィールドを追加することで、[header]の数値を設定できます。
注:現在、自己署名証明書によるHSTS設定への対応を予定しておりません。
3.ファイルアップロードチェック
3.1.概要
ファイルアップロードチェックをオンにすると、書き込み、画面デザイン設定にアップロードされたファイルの拡張子と大きさを検査します。
3.2.セキュリティストレージ
ファイルアップロードチェックをオンにすると、既定セキュリティストレージではホワイトリスト内のファイルのみがアップロードできます: jpg、jpeg、gif、bmp、png、pdf、doc、docx、ppt、pptx、xls、xlsx、zip。
セキュリティストレージは、FineDBの表fine_conf_entityにおけるWebSecurityConfig.fileInspectorTypeフィールドから変更できます。既定では、WebSecurityConfig.fileInspectorType=1となっています。
WebSecurityConfig.fileInspectorTypeフィールドの設定は、以下の表の通りです。
Key | Value | Description |
WebSecurityConfig.fileInspectorType | 0 | ホワイトリストにない拡張子を許可する。ホワイトリストにある拡張子を、ヘッダーが一致していれば許可する。 |
1 | 拡張子がホワイトリストにあり、かつヘッダーが一致していれば許可する。 |
2 | 拡張子がブラックリストにない限り許可する。 |
4.スクリプト数式利用制限

4.1.概要
JSにはSQLを実行することができるFR.remoteEvaluateとFR.remoteEvaluateAsyncのインターフェースがあります。よく使われていますが、大きなリスクを伴います。
この2つインターフェースは、平文で伝送していますので、このファンクションを使用するテンプレートがあれば、または攻撃者がこのインターフェースの存在を知っていれば、ブラウザでJSを使ってSQLを実行することができ、サーバーをコントロールする権限を取得される恐れがあります。FineReport9.0とFineReport10.0では、これを防ぐため、スクリプト数式利用制限の機能を追加しています。
JSでFR.remoteEvaluateまたはFR.remoteEvaluateAsyncを使用している、かつインターフェースのformulaは帳票クラスの関数を実行していると、この機能が作動します。スクリプト数式利用制限をオンにすれば、テンプレートを閲覧するとき、[このコールにはリスクがあります。必要がある場合、セキュリティ管理にスクリプト数式利用制限を調整してください]とエラーメッセージが表示されます。
注:システムの脆弱性が上がりますので、必要がない限り、この機能をオフにしないでください。必要な場合、客注をお勧めします。
4.2.事例
B4のセルにTestを入れます。セルに[ハイパーリンク]-[JavaScriptスクリプト]を設定します。下の画像の通りです。

[改ページプレビュー]をクリックして[Test]を押すと、エラーメッセージが表示されます。下の画像の通りです。


5.Security Headers
1.Security Headersの設定です。オンにすると、リクエストヘッダーにHTTP Security Headers属性が追加され、攻撃を防ぐことができます。
2.詳細設定をクリックして、詳細保護設定が展開されます。下の画像の通りです。
注:Security Headersがオンになっていると、既定では詳細設定がすべてオンになります。Security Headersをオフにすると、詳細設定がすべてオフになります。

3.Security Headersの詳細設定について、下の表を確認してください。
設定項目 | 説明 |
CSP内容安全ポリシー | 1.オンにすると、ヘッダーにContent-Security-Policy:object-src 'self’が追加されます。 2.カスタマイズするには、fine_conf_entity表にWebSecurityConfig.contentSecurityPolicyHeaderのフィールドを追加して設定してください。 |
XSS攻撃防護 | 1.オンにすると、ヘッダーにX-XSS-Protection:1; mode=blockが追加されます。 2.カスタマイズするには、fine_conf_entity表にWebSecurityConfig.xssProtectionHeaderのフィールドを追加して設定してください。 |
クリックジャック攻撃防護 | 1.オンにすると、ヘッダーにX-Frame-Options:SAMEORIGINが追加されます。 2.カスタマイズするには、fine_conf_entity表にWebSecurityConfig.frameOptionsHeaderのフィールドを追加して設定してください。 |
コンテンツの盗聴攻撃に対する保護 | 1.オンにすると、ヘッダーにX-Frame-Options:SAMEORIGINが追加されます。 2.カスタマイズするには、fine_conf_entity表にWebSecurityConfig.contentTypeOptionsHeaderのフィールドを追加して設定してください。 |
ブラウザキャッシュ禁止 | 1.オンにすると、ヘッダーにCache-Control:no-cache、Pragma:no-cache&Expires:0が追加されます。 2.カスタマイズするには、fine_conf_entity表にWebSecurityConfig.cacheControlHeader、WebSecurityConfig.cacheControlExpiresHeader、WebSecurityConfig.cacheControlPragmaHeaderのフィールドを追加して設定してください。 注:WebSecurityConfig.cacheControlHeader フィールドはブラウザのHeader Cache-Controlに、WebSecurityConfig.cacheControlExpiresHeaderはHeader Expiresに、WebSecurityConfig.cacheControlPragmaHeaderはHeader Pragmaに対応しています。 |
注:
既定の設定は以下の通りです。
res.addHeader( "X-Content-Type-Options" , "nosniff" );
res.addHeader( "X-XSS-Protection" , "1; mode=block" );
res.addHeader( "X-Frame-Options" , "SAMEORIGIN" );
res.addHeader( "Content-Security-Policy" , "object-src 'self'" );
res.addHeader( "Cache-Control" , "no-cache" );
res.addHeader( "Pragma" , "no-cache" );
res.addDateHeader( "Expires" , 0 );
|
6.リクエスト応答最適化
1.リクエスト応答最適化をオンにすると、スタックトレースの明細が表示されます。

2.これをオンにすると、スタックトレースがより簡単な形で表示されます:「リクエストエラー、詳細エラー情報を表示するためセキュリティ管理画面で設定してください」。
