スクリプトサンドボックスを有効にする [セキュリティセンター 1.3 で更新]
glide.script.use.sandbox プロパティを使用して、スクリプトサンドボックスを有効にします。
権限のないユーザーや非認証ユーザーがインスタンスで特権スクリプトを実行することを防ぐには、スクリプトサンドボックス機能を有効にします。スクリプトサンドボックスは、権限が制限された「サンドボックス」環境で、クエリ条件や GlideAjax 式などのクライアント生成スクリプトを実行するために使用されます。
スクリプトサンドボックスがない場合、権限のないユーザー/非認証ユーザーがインスタンスで特権スクリプトを実行できます。このことは、すべての領域のセキュリティに影響を与える可能性があります。これにはインスタンス上のすべてのデータへの潜在的に悪意のあるアクセスが含まれます (ただしこれに限定されません)。
glide.script.use.sandbox システムプロパティを true に設定して、インスタンスでスクリプトサンドボックス機能を有効にします。
警告:
これはセーフハーバープロパティです。つまり、いったん変更したら変えることはできません。元に戻すことはできません。
Now Platform には、クライアントが評価のためにサーバーにスクリプトを送信できるケースが 2 つあります。
- フィルターまたはクエリー
assigned_to=JavaScript:getMyGroups()などのフィルターをサーバーに送信することは合法です。- システム API
- API 呼び出しにより、クライアントはサーバー上で任意のスクリプトを実行して、応答を受信することができます。
- サンドボックス内では、[ クライアント呼び出し可能] とマークされたビジネスルールのみを使用できます。
- サンドボックス内で使用できるのは 、サンドボックス有効と マークされたスクリプトインクルードのみです。
- 特定の API 呼び出し (直接 DB アクセスを扱うものに概ね限定) は許可されていません。
- サンドボックス内部からデータを挿入、更新、または削除することはできません。たとえば、
current.update()の呼び出しはすべて無視されます。スクリプトサンドボックスを有効にせずに Now Platform を実行する場合、これらの制限は適用されません。
注:
Xanaduリリース以降、Glide AJAX 有効 (旧称「クライアント呼び出し可能」) とマークされたスクリプトインクルードは、サンドボックス内ではアクセスできません。サン ドボックスが有効と マークされたもののみが、サンドボックス内で使用できます。Washington DCリリース以前から Yokohama リリースにアップグレードすると、[クライアント呼び出し可能] とマークされたスクリプトインクルードもサンドボックス有効としてマークされます。
詳細情報
| 属性 | 説明 |
|---|---|
| プロパティ名 | glide.script.use.sandbox |
| 構成タイプ | システムプロパティ (/sys_properties_list.do) |
| カテゴリ | 検証、サニタイズ、およびエンコーディング |
| 目的 | プラットフォームに対して起動されるクライアント側 JavaScript クエリーの検証を適用すること |
| 推奨値 | true |
| デフォルト値 | true |
| セキュリティリスク評価 | 10 |
| 機能への影響 | この修正では、Now Platform に対して起動されるクライアント側 JavaScript クエリーの検証が適用されます。顧客が CRUD 操作を実行するためにハードコードされた JavaScript クエリーを組み込んだカスタマイズを行っている場合、潜在的な影響があります。 |
| セキュリティリスク | (重大) Now Platform は JavaScript クエリーを介してさまざまな機能を提供します。ただし、適切な承認と検証がないと、攻撃者がプラットフォームに対して不正な操作を実行する可能性があります。 |
| 参照 | スクリプトサンドボックスプロパティの構成 glide.script.use.sandbox は、クライアントからのスクリプトの実行を保護および制限するプロパティと同じファミリーに属します。
|
システムプロパティの追加または作成の詳細については、「Add a system property」を参照してください。