パスワード認証を使用して各種の ColdFusion リソースを保護したり、サンドボックスセキュリティを設定することができます。
ColdFusion セキュリティについて
ColdFusion で開発するような Web ベースのアプリケーションでは、セキュリティは特に重要です。ColdFusion の開発者および管理者は、アクセスを有効化したり制限したりできるように、開発環境や実行環境に影響を与える可能性のあるセキュリティリスクを十分理解する必要があります。
顧客がクレジットカード番号を入力する e コマースサイト、またはユーザーが機密データを共有するグローバルコラボレーションサイトがある場合は、Web アプリケーションの脅威となる可能性があるセキュリティリスクを把握しておく必要があります。
- スヌーピングと傍受:Web の公開接続経由で送信されるデータは監視される可能性があります。
- ユーザーの偽装:信頼されているユーザーに偽装して、信頼されているユーザーのみが表示またはダウンロードできる情報にアクセスされる可能性があります。
- 不正アクセス:不正なユーザーが、機密情報にアクセスする可能性があります。インターネットでは、すべてのコンピューターが 1 つの大きなネットワークに接続されているので、このセキュリティリスクが最も複雑です。特定のシステムまたはデータソースへのアクセスを完全に許可または禁止するのは比較的簡単ですが、アプリケーションの利用に必要な部分的アクセスを許可することには危険が伴います。例えば、一般的な銀行業務の情報があるサイトを銀行が公開して自由にアクセスできるようにするのは簡単です。ユーザーが自分の個人口座の情報に排他的にアクセスできる口座保守サイトを作成するのは、より難しくなります。
ColdFusion では、Web アプリケーションの開発とデプロイ用に、高度にセキュリティ保護された環境を提供しています。この環境は、次の方法でセキュリティリスクを軽減するのに役立ちます。 - 暗号化:Secure Sockets Layer(SSL)プロトコルを使用すると、クライアントとサーバーの間で情報を渡す際のスヌーピング、傍受、およびメッセージの改ざんを防止できます。ほとんどの Web サーバーでサポートされている SSL では、インターネットプロトコル(HTTP など)が公開鍵暗号によって暗号化されます。着信データを復号化し、発信データを暗号化するための秘密鍵がサーバーにあります。キーをインストールすると、暗号化と復号化が Web サーバーで自動的に処理されます。
- 認証:認証では、有効なシステムユーザーであるかどうかが確認されます。一意のログインまたはユーザー名、およびパスワードまたは個人識別番号(PIN)の入力を求めるプロンプトが表示されます。
- アクセス制御:認証されたユーザーは、セキュリティ許可、所属グループまたは開発者が指定した他の基準に基づいて特定の機能またはコンポーネントにアクセスできます。
開発用のセキュリティは、ColdFusion Administrator を使用するためのパスワードと、リモートからの CFML ページ開発を可能にする Remote Development Services(RDS)を使用するためのパスワードを設定することで実装します。ランタイムセキュリティは、CFML ページと ColdFusion Administrator で実装します。ColdFusion のランタイムセキュリティには次のカテゴリがあります。 - ユーザーセキュリティ ログインしたユーザーをプログラムを使用して判別し、そのユーザーに割り当てられたロールに基づいて、制限されている機能を許可するかどうかを決定します。ユーザーセキュリティについて詳しくは、『ColdFusion アプリケーションの開発』の「アプリケーションの保護」にある「ColdFusion のセキュリティ機能」を参照してください。
サンドボックスセキュリティ ColdFusion Administrator を使用して、指定したディレクトリと下位のディレクトリ内で ColdFusion ページが使用できるアクションとリソースを定義します。
メモ:ColdFusion 11 では、使用するエディションに関係なく、複数のセキュリティサンドボックスを設定できます。
Administrator の「セキュリティ」領域では、次のタスクを実行できます。
- ColdFusion Administrator のパスワード保護を設定します。詳しくは、パスワード保護の使用を参照してください。
- RDS アクセスのパスワード保護を設定します。詳しくは、RDS のパスワード保護を参照してください。
- セキュリティ/サンドボックスセキュリティページ(スタンダード版ではリソースセキュリティページ)で ColdFusion セキュリティの有効化、無効化およびカスタマイズを行います。詳しくは、サンドボックスセキュリティの使用を参照してください。
パスワード保護の使用
パスワード保護を有効にすると、RDS セキュリティを使用してアクセスを試みるときに、ColdFusion Administrator および ColdFusion サーバーへのアクセスが制限されます。
ColdFusion Administrator のパスワード保護
ColdFusion Administrator へのアクセスのセキュリティはデフォルトで有効です。インストール時に入力したパスワードは、デフォルトのパスワードとして保存されます。Administrator を開くと、このパスワードの入力を要求するプロンプトが表示されます。
ColdFusion Administrator へのアクセスをパスワードで保護することにより、認可されない変更が ColdFusion に加えられるのを防止できるため、パスワードの使用を強くお勧めします。Administrator パスワードを無効化または変更するには、セキュリティ/CF Admin パスワードページを使用します。
パスワード暗号化に使用するシードの設定変更
データソースパスワードを暗号化するための新しいシード値を指定できます。
ColdFusion によって割り当てられたデフォルトのシード値、またはユーザーが指定したシード値を変更するには、
- ColdFusion Administrator でセキュリティ/Administratorに移動し、「パスワードシード」セクションで新しいシード値を 8 文字から 500 文字の間で指定します。
「変更の送信」をクリックします。
メモ:シード値を変更すると、すべてのデータソース接続はリセットされます。そのため、この作業はサーバーを使用していないとき、または (インストール後の) 初期段階に行うことをお勧めします。
RDS のパスワード保護
RDS アクセスに対するパスワード保護を ColdFusion のインストール時に設定した場合、Dreamweaver MX 2004、HomeSite+、または ColdFusion Report Builder から ColdFusion にアクセスしようとすると、パスワードを要求するプロンプトが表示されます。
RDS を無効化する場合や RDS パスワードを変更する場合は、セキュリティ/RDS パスワードページを使用します。
注:RDS を無効にすると、ColdFusion Administrator でファイル関連のダイアログボックスに使用されるアプレットも無効になります。 |
RDS セキュリティを使用する場合は、ColdFusion のアプリケーションやドキュメントディレクトリへのアクセス許可を設定できるかどうかは、Web サーバーおよびオペレーティングシステムのセキュリティ設定によって決まります。
Windows の場合の ColdFusion セキュリティの強化
Windows の場合に ColdFusion サーバーのセキュリティを強化するには、次のファイルへのアクセスを、選択した ColdFusion ユーザーに限定します。
- /cfusion/lib/seed.properties
- /cfusion/lib/password.properties
- /cfusion/lib/license.properties
- /cfusion/bin/passwordreset.bat
- /cfusion/bin/cf-passwordreset.jar
ユーザーに対するサービスの公開
ColdFusion では、多くのサービスが web サービスとして公開されます。これらのサービスには、SOAP および AMF/Flash Remoting を使用してアクセスできます。
公開されるサービスには次のものがあります。
- cfpdf
- cfImage
- cfdocument
- cfmail
- cfpop
- cfchart
- アップロードサービス
公開されているサービスをセキュリティで保護すると、不明なアプリケーションやユーザーによるアクセスを防止できます。これを行うには、サービスへのアクセスを許可するクライアントの IP アドレスの範囲を設定します。また、これらのサービスのユーザーアクセスコントロールを設定することもできます。
セキュリティ/ユーザーマネージャページの「公開サービス」セクションで、ユーザーのアクセスを許可するサービスを選択できます。
デフォルトでは、すべてのサービスが「禁止されているサービス」ドロップダウンリストに表示されます。CTRL キーを押しながら、ユーザーによるアクセスを許可するサービスを選択して、<< ボタンをクリックします。
「ユーザーの編集」をクリックして、ユーザー設定の変更を有効にします。
公開サービスにアクセスするための IP アドレスの設定
公開サービスにアクセスするために IP アドレスを設定するには :
- セキュリティ/使用できる IP アドレスに移動します。
- IP アドレスを追加するには、「IP アドレス」フィールドで IP アドレスを指定して「追加」をクリックします。
- IP アドレスを削除するには、「公開サービス用に選択した IP アドレスの表示 / 削除」リストから IP アドレスを選択します。
- [選択の削除] をクリックして IP アドレスを削除します。
ColdFusion Administrator へのアクセスの制限
ColdFusion Administrator へのアクセスを制限できます。
メモ:デフォルトでは、localhost とすべての IP アドレスから ColdFusion サーバーにアクセスできます。 |
アクセスを許可する必要がある IP アドレスを追加するには:
- セキュリティ/使用できる IP アドレス/ColdFusion Administrator アクセスを許可された IP アドレスに移動します。
- 「IP アドレス」テキストボックスに IP アドレスを指定します。
- 「追加」をクリックします。
- さらに IP アドレスを追加するには、この操作を繰り返します。
正規表現がサポートされています。つまり、10...* と指定すると、10. で始まるすべての IP アドレスのアクセスが許可されます。
ColdFusion Administrator のセキュアプロファイルの有効化
ColdFusion では、ColdFusion Administrator で選択した設定を有効または無効にして、ColdFusion サーバーのセキュリティを強化することができます。ColdFusion のインストール時に、セキュアプロファイル画面で入力を要求されたときにオプションを選択して、セキュアプロファイルを有効にすることができます。さらに、ColdFusion Administrator へのアクセスを許可する IP アドレスのカンマ区切りリストを指定することもできます。
セキュアプロファイルの有効化によって影響を受ける Administrator の設定
Administrator の設定 | パス | デフォルトの管理プロファイル | セキュアプロファイル | ColdFusion 10 への移行後の設定変更 |
---|---|---|---|---|
UUID を cftoken に使用 | サーバーの設定/設定 | 有効 | 有効 | 上書きされます |
ColdFusion Java 内部コンポーネントへのアクセスの無効化 | サーバーの設定/設定 | 無効 | 有効 | 上書きされます |
グローバルなスクリプト保護 | サーバーの設定/設定 | 有効 | 有効 | 上書きされます |
投稿データの最大 サイズ | サーバーの設定/設定 | 20 MB | 20 MB | 上書きされます |
見つからないテンプレートハンドラ | サーバーの設定/設定 | 値なし | 見つからないエラーのカスタムテンプレート | 指定されている場合は保持されます |
サイト全体のエラーハンドラ | サーバーの設定/設定 | 値なし | サイト全体のエラーのカスタムテンプレート | 指定されている場合は保持されます |
リクエストキューのタイムアウトページ | サーバーの設定/リクエストの調整 | 値なし | カスタムエラーテンプレート | 指定されている場合は保持されます |
Cookie タイムアウト | サーバーの設定/メモリ変数 | 15767000 分 | 1440 分 | N/A |
ColdFusion のタグ / 関数を使用して ColdFusion の内部 Cookie を更新できないようにします。 | サーバーの設定/メモリ変数 | 無効 | 有効 | N/A |
WebSocket サーバーを有効にする | サーバーの設定/WebSocket | 有効 | 無効 | N/A |
Flash Policy Server を起動 | サーバーの設定/WebSocket | 有効 | 無効 | N/A |
使用可能な SQL(すべての設定) | データとサービス/データソース/データベース/詳細設定 | 有効 | 「CREATE」、「DROP」、「ALTER」、「GRANT」、「REVOKE」、「STORED PROCEDURES」は無効に設定されます | 指定されている場合は保持されます |
Robust 例外情報の有効化 | デバッグとロギング/デバッグ出力の設定 | 無効 | 無効 | 上書きされます |
CFSTAT の有効化 | デバッグとロギング/デバッグ出力の設定 | 有効 | 無効 | 上書きされます |
Administrator の認証タイプの選択 | セキュリティ/管理者 | 単一のパスワードのみを使用する | ユーザー 名 とパスワード認証を分ける(複数のユーザーが使用可能) | N/A |
RDS サービスの有効化 | セキュリティ/RDS | インストール時に設定可能 | 無効 | N/A |
RDS の認証タイプの選択 | セキュリティ/RDS | 単一のパスワードのみを使用する | ユーザー 名 とパスワード認証を分ける(複数のユーザーが使用可能) | N/A |
ColdFusion Administrator アクセスを許可された IP アドレス | セキュリティ/使用できる IP アドレス | インストール時に使用不可 | インストール時に使用可能 | N/A |
Administrator コンソールの同時ログインセッションを許可 | セキュリティ/セキュアプロファイル | 有効 | 無効 |
セキュアプロファイルを使用すると、ColdFusion のスタンドアローンインストールでビルトイン Web サーバーを使用している場合、「ディレクトリのブラウズ」は無効に設定されます。
コミュニティから投稿されたヘルプ情報
このページでは、インストール時に「セキュアプロファイル」オプションを選択した場合に、3 つのエラーハンドラーの値が単に「見つからないエラーのカスタムテンプレート」などの上記に示される値に設定されると説明されています。
特に、CF Admin でこれら 3 つのテンプレートを削除した後に再度追加する必要がある場合に、これら 3 つのテンプレートはインストール内の C:¥ColdFusion10¥cfusion¥wwwroot¥CFIDE¥administrator¥templates ディレクトリにあり、(上記に挙げられている順序で)次のように名前が付けられています。
- secure_profile_error.cfm
- missing_template_error.cfm
- request_timeout_error.cfm
そのため、例えば、「デフォルト」の「セキュリティ保護された」サイト全体のエラーハンドラーを元の場所に戻す場合、CF Admin/設定/サイト全体のエラーハンドラーに次の値を設定します。
- /CFIDE/administrator/templates/secure_profile_error.cfm
セキュアプロファイルの変更(ColdFusion 11)
ColdFusion サーバーのインストール時に、セキュアプロファイル画面で入力を要求されたときにオプションを選択して、セキュアプロファイルを有効化できます。さらに、ColdFusion Administrator へのアクセスを許可する IP アドレスのカンマ区切りリストを指定することもできます。この機能は ColdFusion 10 から使用できます。ColdFusion 11 では、セキュアプロファイルが強化され、他の内部コンポーネントへのアクセスも処理できるようになりました。例えば、次の URL に対して制限を設けることができます。
- CFIDE/main/*
- CFIDE/adminapi/*
- CFIDE/administrator/*
- CFIDE/componentutils/*
- CFIDE/wizards/*
- CFIDE/servermanager/*
特定の IP アドレスから内部 ColdFusion コンポーネントにアクセスできるようにするには、次のタスクを実行します。
- ColdFusion Administrator にログインします。
- セキュリティ/使用できる IP アドレスをクリックします。
- 次の図に示すとおり、「ColdFusion Administrator および ColdFusion Internal Directories にアクセスできる IP アドレス」セクションに移動し、個々の IP アドレスにアクセスを付与して、内部コンポーネントにアクセスできるようにします。
外部 Web サーバーを設定した場合は、コネクタフォルダーの下にある iprestriction.properties ファイルを修正することで、ColdFusion Administrator および ColdFusion Internal Directories へのアクセスをコネクターレベルで制限することもできます。例えば、<cf_root>/config/wsconfig//iprestriction.properties を指定します。
メモ:iprestriction.properties ファイルを修正した後に、外部 Web サーバーを再起動する必要があります。 |
サンドボックスセキュリティの使用
サンドボックスセキュリティ(スタンダード版ではリソースセキュリティ)は、ColdFusion ページの場所を使用して ColdFusion リソースへのアクセスを制御します。サンドボックスとは、セキュリティ制限の適用対象となるサイト内の所定のディレクトリです。サンドボックスセキュリティを使用すると、特定のディレクトリとその下位ディレクトリにある ColdFusion ページについて、どのタグ、関数およびリソース(ファイル、ディレクトリ、データソースなど)を使用できるかを指定できます。
サンドボックスセキュリティを J2EE 設定で使用するには、そのアプリケーションサーバーでセキュリティマネージャー(java.lang.SecurityManager)が実行されている必要があり、次の JVM 引数を定義する必要があります(Tomcat の場合、この引数は cf_root/cfusion/bin/jvm.config ファイルの java.args 行で定義します)。
-Djava.security.manager "-Djava.security.policy=cf_root/WEB-INF/cfusion/lib/coldfusion.policy" "-Djava.security.auth.policy=cf_root/WEB-INF/cfusion/lib/neo_jaas.policy" |
メモ:デフォルトでは、サンドボックスセキュリティは有効になっていません。セキュリティ/サンドボックスセキュリティページで有効化するまで、サンドボックスセキュリティの設定は ColdFusion に適用されません。 |
複数のサンドボックスの使用
デフォルトで、サンドボックスのサブディレクトリは、1 レベル上のディレクトリの設定を継承します。ただし、サブディレクトリのサンドボックスを定義した場合には、サブディレクトリは親の設定を継承しなくなり、親のディレクトリのサンドボックス設定は完全に上書きされます。例えば、次のディレクトリの例を考えてみます。
C:¥Inetpub¥wwwroot |
wwwroot ディレクトリにサンドボックスを定義した場合には、その設定が sales ディレクトリと rnd ディレクトリにも適用されます。rnd ディレクトリのサンドボックスも定義した場合は、rnd のサンドボックス設定が dev および qa ディレクトリにも適用されます。wwwroot および sales ディレクトリでは元の設定が保持され、rnd ディレクトリとそのサブディレクトリでは wwwroot ディレクトリの設定よりも rnd の設定のほうが優先されます。
この階層形式のセキュリティにより、異なるセキュリティレベルのユーザーへのパーソナライズされたサンドボックスの設定が可能です。例えば、ColdFusion の共有サーバー上で複数のクライアントにホスティングしている Web ホスティング管理者の場合は、各顧客に対してサンドボックスを設定することができます。これによって顧客が別の顧客のデータソースやファイルにアクセスするのを制限できます。
制限できるリソース
制限できるのは、次のリソースです。
- データソース ColdFusion データソースの使用を制限します。
- CF タグ ファイル、レジストリ、LDAP(Lightweight Directory Access Protocol)、メール、ログなど、サーバー(または外部サーバー)のリソースを操作する ColdFusion タグの使用を制限します。
- CF 関数 ファイルシステムにアクセスする ColdFusion 関数の使用を制限します。
ファイル / ディレクトリ サンドボックス内のタグおよび関数が、サンドボックスの外側のファイルおよびディレクトリにアクセスできるようにします。
メモ:サンドボックスセキュリティを有効にした状態で Administrator API を使用するには、cf_web_root/CFIDE/adminapi ディレクトリへのアクセスを許可します。
サーバー/ポート:サードパーティリソースを呼び出す ColdFusion タグが使用できるサーバー、ポートおよびポート範囲を指定します。詳しくは、Administrator のオンラインヘルプを参照してください。
メモ:ColdFusion を IBM WebSphere 上の J2EE 設定で実行する場合、「ファイル / ディレクトリ」タブおよび「サーバー / ポート」タブは有効になりません。
ディレクトリとアクセス許可について
サンドボックスの外側にあるファイルへのアクセスを有効にするときは、ファイル名を指定します。サンドボックスの外側にあるディレクトリへのアクセスを有効にするときは、directoryname_indicator_ を指定します。この indicator には、次のようにダッシュ(-)またはアスタリスク(*)を指定します。
- 円記号の後ろにダッシュを付けると(¥-)、タグおよび関数は指定したディレクトリ内のすべてのファイルにアクセスできるほか、再帰的にサブディレクトリ内のすべてのファイルにもアクセスできます。
- 円記号の後ろにアスタリスクを付けると(¥*)、タグおよび関数は指定したディレクトリ内のすべてのファイルにアクセスできるほか、サブディレクトリのリストにもアクセスできます。ただし、このオプションの場合はサブディレクトリ内のファイルには一切アクセスできません。
また、ColdFusion タグおよび関数からサンドボックスの外側にあるファイルやディレクトリに対して実行可能なアクションも指定できます。次の表に、ファイルおよびディレクトリのアクセス許可の関係を示します。
アクセス許可 |
ファイルに対する意味 |
ディレクトリに対する意味 |
---|---|---|
読み込み |
ファイルの表示 |
ディレクトリ内のすべてのファイルのリスト |
書き込み |
ファイルへの書き込み |
該当なし |
実行 |
ファイルの実行 |
該当なし |
削除 |
ファイルの削除 |
ディレクトリの削除 |
サンドボックスの追加
ColdFusion では、複数のセキュリティサンドボックスを定義できます。
- ColdFusion Administrator のセキュリティ/サンドボックスセキュリティページを開きます。「サンドボックスセキュリティ許可」ページが表示されます。
- 「セキュリティサンドボックスの追加」ボックスに新しいサンドボックスの名前を入力します。この名前は、ColdFusion マッピング (Administrator で定義) または絶対パスのいずれかでなければなりません。
- ドロップダウンリストから「新規のサンドボックス」を選択して、デフォルトサンドボックスをベースにしてサンドボックスを作成するか、または既存のサンドボックスを選択してその設定を新しいサンドボックスにコピーします。
- 「追加」をクリックします。「定義されたディレクトリ権限」リストに新規サンドボックスが表示されます。
サンドボックスの設定
セキュリティサンドボックスの設定を開始する前に、アプリケーションとその使い方を解析し、アプリケーションが必要とするタグ、関数、およびリソースを決定します。その後でサンドボックスを設定して、必要なリソースへのアクセスを有効化することや、適切なタグおよび関数の使用を無効にすることができます。例えば、サンドボックス内のアプリケーションが cfregistry タグを使用しない場合は、そのタグを無効にしても問題ありません。
メモ:スタンダード版では、ルートセキュリティコンテキストが唯一のサンドボックスです。ここには、定義済みのディレクトリ権限の初期リストが存在しません。 |
- ColdFusion Administrator でセキュリティ/サンドボックスセキュリティページ(スタンダード版の場合はセキュリティ/リソースセキュリティページ)を開きます。
- 「定義されたディレクトリ権限」リストで、ディレクトリの名前または「編集」アイコンをクリックします。複数のタブがあるページが表示されます。スタンダード版では、これが初期ページです。この後の手順では、各タブの使い方を説明します。
データソースを無効にするには、「データソース」タブの左側の列でデータソースをハイライトし、右矢印をクリックします。デフォルトでは、このサンドボックス内の ColdFusion ページはすべてのデータソースにアクセスできます。
メモ:「有効化されたデータソース」列に <<すべてのデータベース>> がある場合は、追加するすべてのデータソースが有効になります。<すべてのデータソース> を「無効化されたデータソース」列に移動すると、新しいデータソースはすべて無効になります。
- 「CF タグ」タブをクリックします。
- タグを無効にするには、「CF タグ」タブの左側の列でタグをハイライトし、右矢印をクリックします。デフォルトでは、このサンドボックス内の ColdFusion ページは、リストされたすべてのタグにアクセスできます。
- 「CF 関数」タブをクリックします。
- 関数を無効にするには、「CF 関数」タブの左側の列で関数をハイライトし、右矢印をクリックします。デフォルトでは、このサンドボックス内の ColdFusion ページは、リストされたすべての関数にアクセスできます。
- 「ファイル/ディレクトリ」タブをクリックします。
- ファイルまたはディレクトリを有効にするには、「ファイルのパス」ボックスに、ファイルまたはディレクトリを入力して (例 : C:¥pix など) ブラウズします。特殊トークン <<ALL FILES>> があるファイルパスはすべてのファイルを指します。円記号とハイフン(¥-)、円記号とアスタリスク(¥*)の 2 つのワイルドカード文字を使用する方法については、「ディレクトリとアクセス許可について」を参照してください。
- 適切な権限を選択します。例えば、「読み込み」チェックボックスをオンにすると、mytestapps サンドボックス内の ColdFusion ページは C:¥pix ディレクトリにあるファイルを読み取ることができます。
- 「ファイル / パスの追加」をクリックします。既存のサンドボックスを編集するときは、このボタンには「ファイル / パスの編集」と表示されます。ファイルのパスおよびその権限が「保護されたファイルとディレクトリ」リストに表示されます。
「保護されたファイルとディレクトリ」リストで、ファイルのパスが正しいことを確認します。円記号(¥)の後の文字は重要です。詳しくは、「ディレクトリとアクセス許可について」を参照してください。
メモ:「ファイル / ディレクトリ」タブは、オペレーティングシステムのファイルベースのアクセス許可と連動します。ユーザーが別のユーザーのディレクトリをブラウズしないように制限するには、ファイルベースのアクセス許可を使用します。
- 「サーバー / ポート」タブをクリックします。
デフォルトの動作(すべてのサーバーおよびポートへのグローバルアクセス)をオフにするには、このサンドボックス内のページが、外部リソースにアクセスするタグ(例えば cfmail、cfpop、cfldap、cfhttp)を使用して接続できる IP アドレスとポート番号を入力します。指定できるのは、IP アドレス、サーバー名www.someservername.com など)またはドメイン名(someservername.com など)です。また、必要に応じてポートの制限も指定できます。
メモ:ここでは、有効にする項目を選択するのであって、「CF タグ」などの他のタブで無効にする項目を選択する場合とは異なります。このタブに値を設定した場合、このサンドボックス内で実行された外部リソースタグは、指定されたサーバーおよびポートのみにアクセスできます。
例えば、このサンドボックスが、ポート番号 80 以下にある 207.88.220.3 にアクセスするには、次の手順を実行します。
- 「IP アドレス」フィールドに「207.88.220.3」と入力します。
「ポート」フィールドに「80」と入力し、「このポートとそれ以下」をクリックします。
メモ:これらの ColdFusion タグによるサイト全体へのアクセスを拒否するには、ローカルメールサーバーや FTP サーバーなどローカルリソースへのアクセスを有効にしてください。
- 「終了」をクリックして、サンドボックスの変更を保存します。
サンドボックスについての注意事項
サンドボックス内での OpenOffice の使用
次のファイルパスに対して、サンドボックスの権限を付与する必要があります。
- D:¥ColdFusion10¥cfusion¥runtime¥servers¥lib - 読み取り
- D:¥ColdFusion10¥cfusion¥runtime¥servers¥lib - 読み取り
- D:¥ColdFusion10¥cfusion¥runtime¥lib - 読み取り
- D:¥ColdFusion10¥cfusion¥runtime¥lib - 読み取り
- C:¥Program Files¥OpenOffice.org 3¥ - 読み取り、実行
- C:¥Program Files¥OpenOffice.org 3 - 読み取り
, 実行
サンドボックス内でのキャッシングの使用
サンドボックス内でディスクベースのキャッシングを使用するには、ディスクキャッシュディレクトリに対する読み取り / 書き込み権限をサンドボックスで付与する必要があります。これには、デフォルトのディレクトリ(java.io.tmpdir)または diskStore プロパティで指定されたユーザー設定ディレクトリを使用できます。ディスクキャッシュ用のディレクトリを指定するには、cf_root¥lib¥ehcache.xml の diskStore プロパティを使用します(<diskStore path="java.io.tmpdir"/>)。一時ディレクトリを指定するには、次のコードを使用します。
writeoutput("Temp Dir : " & createobject("java","java.lang.System").getProperty("java.io.tmpdir") ); |
また、cf_root¥lib¥ehcache.xml に対する読み取り権限を付与しないと、ehCache.xml に対して読み取りまたは書き込みを行う関数が正しく動作しない場合があります。そのような関数の例としては、cacheGetProperties や cacheSetProperties があります。
サンドボックス内でのサービス CFC の使用
次の権限を付与する必要があります。
- cf_root¥CustomTags¥com¥adobe¥coldfusion に対する実行権限
- cf_root¥WEB-INF¥cftags¥META_INF¥taglib.tld に対する読み取り権限