| SAML 要求でリレーステータスを有効にしてリプレイ攻撃を防止する |
- 説明:
- (旧)「glide.authenticate.sso.saml2.enable_relay_state_with_id」が「true」に設定されている場合、リレーステータスパラメーターには、リレーステータス URL がリダイレクトされるテーブル内のレコードの sys id multisso_request_parameterが含まれます。このリレー状態は、プロパティglide.authenticate.sso.saml2.enable_relay_state_with_idが false に設定されている場合に一部の ServiceNow インスタンスバージョンで発生する可能性がある SAML リプレイ攻撃から保護します。リプレイ攻撃は、SAML 要求にアクセスできる十分な位置にいる攻撃者が、プラットフォームへの不正なアクセスを得るために、有効な要求を orger で再送信することを可能にします。
- (新規)glide.authenticate.sso.saml2.enable_relay_state_with_idシステムプロパティを使用して SAML リプレイ攻撃から保護します。このプロパティを true に設定すると、リレーステータスパラメーターには、リレーステータス URL のリダイレクト先のマルチ SSO 要求パラメーター [multisso_request_parameter] テーブルのレコードの sys id が含まれます。
システムプロパティ glide.authenticate.sso.saml2.enable_relay_state_with_id を true に設定します。これにより、SAML 要求へのアクセス権を得た攻撃者が、有効な要求を再送信してインスタンスにアクセスするのを防ぐことができます。 このシステムプロパティによって有効になるリレーステータスは、リプレイ攻撃からインスタンスを保護するのに役立ちます。このプロパティを有効にすると、SAML 要求へのアクセス権を得た攻撃者が有効な要求を再送信してインスタンスにアクセスするのを防ぐことができます。
- 是正処置:
- (旧)プロパティglide.authenticate.sso.saml2.enable_relay_state_with_idを true に設定します。
- (新規)プロパティglide.authenticate.sso.saml2.enable_relay_state_with_idを true に設定します。プロパティがシステムプロパティ [sys_properties] テーブルに存在しない場合、デフォルト値は false です。
- セキュリティリスク:
- (旧)このリレー状態は、プロパティglide.authenticate.sso.saml2.enable_relay_state_with_idが false に設定されている場合に一部の ServiceNow インスタンスバージョンで発生する可能性がある SAML リプレイ攻撃から保護します。リプレイ攻撃は、SAML 要求にアクセスできる十分な位置にいる攻撃者が、プラットフォームへの不正なアクセスを得るために、有効な要求を orger で再送信することを可能にします。
- (新規)このシステムプロパティによって有効にされるリレー状態は、リプレイ攻撃からインスタンスを保護するのに役立ちます。このプロパティを有効にすると、SAML 要求へのアクセス権を得た攻撃者が有効な要求を再送信してインスタンスにアクセスするのを防ぐことができます。
- 機能への影響度:
- (旧)このプロパティを true に設定すると、SAML 要求のリレー状態には、リダイレクト先のリレー状態 URL を含むテーブルmultisso_request_parameter内のレコードの sys id が含まれます。
- (新規)このプロパティを true に設定すると、SAML 要求のリレーステータスには、リダイレクト先のリレーステータス URL を含む MultiSSO 要求パラメーター [multisso_request_parameter] テーブル内のレコードのsys_idが含まれます。
|
| シングルサインオン (SSO) が有効になっているユーザーのローカルログインを無効にする |
- 技術構成名
- (旧) <空白>
- (新規) glide.sso.acr.enabled,glide.authenticate.multisso.enabled
- 説明
- (旧)
ServiceNow インスタンスオーナーは、インスタンスのユーザーアカウントをプロビジョニングし、ユーザーが想定される方法でインスタンスにアクセスできるようにする責任があります。ロックアウトされていないユーザーの [sys_user.user_password] フィールドに有効なパスワードハッシュがある場合、そのユーザーはインタラクティブと非インタラクティブの両方のアクセスタイプに対してローカルデータベース認証を実行できます。ユーザーが SSO 認証を使用するように設定されている場合でも、追加のコントロールを行わなくてもローカルデータベース認証を実行できます。つまり、有効なローカル認証情報を持つ SSO ユーザーは、それらのローカル認証情報を使用して、インスタンスまたはインスタンスの一部にアクセスできます。 ユーザーに対して SSO 認証が有効になっている場合は、そのユーザーがローカルにログインできないようにすることがベストプラクティスです。これにより、有効なローカルログイン認証情報が盗まれ、悪意のあるユーザーによってログインに使用される可能性が低くなります。
- (新規)
SSO 認証を使用するように構成されたユーザーは、ユーザー [sys_user] レコードの user_password フィールドに格納されているローカル認証情報を使用して、インスタンスまたはインスタンスの一部にアクセスできる場合があります。このアクセスは、ロックアウトされていないユーザーのインタラクティブアクセスと非インタラクティブアクセスの両方に適用されます。SSO で構成されたユーザーがローカル認証情報を使用できないようにすることで、有効なローカルログイン認証情報が盗まれ、悪意のあるユーザーによって使用される可能性を低減できます。 SSO が有効になっているインスタンスでローカルログインがまだ有効になっているアカウントを特定して対処する手順については、Now Support ナレッジベース記事 KB1649420 を確認してください。
- CVSS スコア
|
| レガシー JQuery UI の使用を無効にする |
フォールバック値
|
| アプリケーションデータに対してのみアプリケーション固有の ACL を適用する |
- 説明
- (旧)
「glide.enforce_security_scope.sn_hr_core」などの「glide.enforce_security_scope.」プロパティ形式のプロパティは、「sys_attachment」や「sys_email」など、アプリケーション外部のプライマリテーブルに存在するアプリケーションデータの動作を制御します。この形式のプロパティの値が「true」の場合、これらのテーブルに存在するアプリケーションデータへのアクセスについて、アプリケーション固有の ACL のみが評価されます。プロパティの値が「true」の場合でも、プライマリテーブルの ACL はアクセスについて評価され、アプリケーションデータへの不正または望ましくないアクセスが許可される可能性があります。すべてのアプリケーションがこの構成で動作するように設計されているわけではなく、この目的のために「sys_properties」レコードが付属しているわけでもありません。 次のアプリケーションスコープには、このプロパティが含まれています。
- sn_uni_task
- sn_uni_req
- sn_svc_appl_info
- sn_professional
- sn_opp_market
- sn_lg_ops
- sn_lg_matter
- sn_lg_contracts
- sn_jny
- sn_ja
- sn_imt_vaccine
- sn_imt_tracing
- sn_imt_health_test
- sn_hr_ws
- sn_hr_va
- sn_hr_sp
- sn_hr_pj
- sn_hr_pad
- sn_hr_mii_base
- sn_hr_le
- sn_hr_hc
- sn_hr_gen_ai
- sn_hr_er
- sn_hr_ef
- sn_hr_core
- sn_hr_awa
- sn_hr_agent_ws
- sn_hc_professional
- sn_gsm_soc_bnfts
- sn_gsm_lic_prmt_ex
- sn_gsm_lic_prmt
- sn_gsm_info_req
- sn_gsm
- sn_em
- sn_egd_goals
- sn_egd_core
- sn_egd_act
- sn_doc
- (新規)
アプリケーション外のプライマリテーブルに存在するアプリケーションデータの動作を制御します。これらのプロパティのプライマリ値が true の場合、アプリケーション固有の ACL のみが、これらのテーブルに存在するアプリケーションデータへのアクセスについて評価されます。すべてのアプリケーションが、この構成で動作するか、またはこの目的でシステムプロパティ [sys_properties] レコードを使用するように設計されているとは限りません。 これらのシステムプロパティはglide.enforce_security_scopeを使用します。命名形式。たとえば、従業員センター Core (sn_hr_sp) のスコープに glide.enforce_security_scope.sn_hr_sp プロパティを使用します。次のアプリケーションスコープには、このプロパティが含まれています。
- sn_doc
- sn_egd_act
- sn_egd_core
- sn_egd_goals
- sn_em
- sn_gsm
- sn_gsm_info_req
- sn_gsm_lic_prmt
- sn_gsm_lic_prmt_ex
- sn_gsm_soc_bnfts
- sn_hc_professional
- sn_hr_agent_ws
- sn_hr_ai_agents
- sn_hr_awa
- sn_hr_core
- sn_hr_ef
- sn_hr_er
- sn_hr_gen_ai
- sn_hr_hc
- sn_hr_le
- sn_hr_le_ent
- sn_hr_mii_base
- sn_hr_na_galileo
- sn_hr_pad
- sn_hr_pj
- sn_hr_sp
- sn_hr_va
- sn_hr_ws
- sn_imt_health_test
- sn_imt_tracing
- sn_imt_vaccine
- sn_ja
- sn_jny
- sn_lg_contracts
- sn_lg_matter
- sn_lg_ops
- sn_opp_market
- sn_professional
- sn_svc_appl_info
- sn_svc_appl_pgm_mg
- sn_talent_aia
- sn_uni_req
- sn_uni_task
プロパティの値が「true」の場合でも、プライマリテーブルの ACL はアクセスについて評価され、アプリケーションデータへの不正または望ましくないアクセスが許可される可能性があります。
- 修正
- (旧)
「sys_properties」テーブルの「glide.enforce_security_scope.sn_hr_core」などの「glide.enforce_security_scope.」プロパティでインストールされたアプリケーションについては、プロパティ値が「true」に設定されていることを確認します。これらのプロパティは、特定のアプリケーションのスコープ指定されたアドミニストレーターのみが変更できます。
- (新規)
システムプロパティ [sys_properties] テーブルの glide.enforce_security_scope プロパティとともにインストールされた各アプリケーション (glide.enforce_security_scope.sn_hr_core など) について、プロパティ値が true に設定されていることを確認します。 これらのプロパティは、特定のアプリケーションのスコープ指定されたアドミニストレーターのみが変更できます。指定されたアプリケーションとそれぞれのプロパティのsys_propertiesレコードが存在しない場合は、作成する必要があります。 このスクリプトを使用して、インスタンスで更新または作成する必要があるプロパティを見つけることができます。 var properties = [
'glide.enforce_security_scope.sn_uni_task',
'glide.enforce_security_scope.sn_uni_req',
'glide.enforce_security_scope.sn_svc_appl_info',
'glide.enforce_security_scope.sn_professional',
'glide.enforce_security_scope.sn_opp_market',
'glide.enforce_security_scope.sn_lg_ops',
'glide.enforce_security_scope.sn_lg_matter',
'glide.enforce_security_scope.sn_lg_contracts',
'glide.enforce_security_scope.sn_jny',
'glide.enforce_security_scope.sn_ja',
'glide.enforce_security_scope.sn_imt_vaccine',
'glide.enforce_security_scope.sn_imt_tracing',
'glide.enforce_security_scope.sn_imt_health_test',
'glide.enforce_security_scope.sn_hr_ws',
'glide.enforce_security_scope.sn_hr_va',
'glide.enforce_security_scope.sn_hr_sp',
'glide.enforce_security_scope.sn_hr_pj',
'glide.enforce_security_scope.sn_hr_pad',
'glide.enforce_security_scope.sn_hr_mii_base',
'glide.enforce_security_scope.sn_hr_le',
'glide.enforce_security_scope.sn_hr_le_ent',
'glide.enforce_security_scope.sn_hr_hc',
'glide.enforce_security_scope.sn_hr_gen_ai',
'glide.enforce_security_scope.sn_hr_er',
'glide.enforce_security_scope.sn_hr_ef',
'glide.enforce_security_scope.sn_hr_core',
'glide.enforce_security_scope.sn_hr_awa',
'glide.enforce_security_scope.sn_hr_agent_ws',
'glide.enforce_security_scope.sn_hc_professional',
'glide.enforce_security_scope.sn_gsm_soc_bnfts',
'glide.enforce_security_scope.sn_gsm_lic_prmt_ex',
'glide.enforce_security_scope.sn_gsm_lic_prmt',
'glide.enforce_security_scope.sn_gsm_info_req',
'glide.enforce_security_scope.sn_gsm',
'glide.enforce_security_scope.sn_em',
'glide.enforce_security_scope.sn_egd_goals',
'glide.enforce_security_scope.sn_egd_core',
'glide.enforce_security_scope.sn_egd_act',
'glide.enforce_security_scope.sn_doc',
'glide.enforce_security_scope.sn_talent_aia',
'glide.enforce_security_scope.sn_hr_na_galileo',
'glide.enforce_security_scope.sn_svc_appl_pgm_mg',
'glide.enforce_security_scope.sn_hr_ai_agents',
'glide.enforce_security_scope.sn_hr_mii_base'
];
var pm = new GlidePluginManager();
for (var i = 0; i < properties.length; i++) {
var property = properties[i];
var application = property.split('.')[2];
var propertyValue = gs.getProperty(property, 'false');
if (pm.isActive(application) && propertyValue.toLowerCase() != 'true') {
gs.print(property);
}
}
- CVSS スコア
|
| 代理操作ユーザーがアプリケーションデータを表示できないようにする |
- 説明
- (旧)
「.impersonateCheck」形式のプロパティ (「sn_hr_core.impersonateCheck」など) は、代理操作しているユーザーが別のユーザーに属する特定のアプリケーションデータにアクセスする方法を制御します。このフォームのプロパティが「true」に設定されている場合、別のユーザーの代理操作を行う管理者レベルのユーザーは、そのユーザーに属するアプリケーション固有のデータにアクセスできません。すべてのアプリケーションがこの構成で動作するように設計されているわけではなく、この目的のために「sys_properties」レコードが付属しているわけでもありません。 これらのプロパティの値が「false」の場合、アドミンレベルのユーザーは別のユーザーを代理操作し、代理操作されたユーザーのアクセス権でアプリケーションデータにアクセスできます。これは望ましくない場合や、特定のアプリケーションコンテキストで不正なデータアクセスを許す可能性があります。 次のスコープには、このプロパティが含まれています。
- sn_opp_market
- sn_jny
- sn_imt_vaccine
- sn_imt_health_test
- sn_hr_core
- sn_egd_goals
- sn_egd_core
- sn_egd_act
- (新規)
システムプロパティを使用して、代理操作ユーザーによるアプリケーションデータの表示を防止します。 アカウントの代理操作を行うときに、アドミンレベルのユーザーがそのユーザーに属するアプリケーション固有のデータにアクセスできないようにします。この権限は、アプリケーションに固有のシステムプロパティを作成することで、アプリケーションレベルで設定できます。 これらのシステムプロパティは、.impersonateCheck 名前付け形式 (sn_hr_core.impersonateCheck など) を使用します。値が true のシステムプロパティを作成して、ユーザーがアカウントの代理操作を行うときに、他のユーザーに属するアプリケーション固有のデータにアクセスできないようにします。 注意: すべてのアプリケーションがこの構成で動作するように設計されているわけではなく、この目的のためのシステムプロパティ [sys_properties] レコードがあるわけでもありません。このプロパティを使用するために次のスコープが設定されています。
- sn_opp_market
- sn_jny
- sn_imt_vaccine
- sn_imt_health_test
- sn_hr_core
- sn_egd_goals
- sn_egd_core
- sn_egd_act
- sn_em
- sn_talent_aia
- 修正
- (旧)
「sys_properties」テーブルの「sn_hr_core.impersonateCheck」などの「.impersonateCheck」プロパティを持つアプリケーションについては、プロパティ値が「true」に設定されていることを確認します。これらのプロパティは、特定のアプリケーションのスコープ指定されたアドミニストレーターのみが変更できます。
- (新規)
システムプロパティ [sys_properties] テーブルの .impersonateCheck プロパティを持つアプリケーションごとに、プロパティ値が true に設定されていることを確認します。 これらのプロパティは、特定のアプリケーションのスコープ指定されたアドミニストレーターのみが変更できます。 このスクリプトを使用して、インスタンスで更新または作成する必要があるプロパティを検索します。 var properties = [
'sn_opp_market.impersonateCheck',
'sn_jny.impersonateCheck',
'sn_imt_vaccine.impersonateCheck',
'sn_imt_health_test.impersonateCheck',
'sn_hr_core.impersonateCheck',
'sn_egd_goals.impersonateCheck',
'sn_egd_core.impersonateCheck',
'sn_egd_act.impersonateCheck',
'sn_em.impersonateCheck',
'sn_talent_aia.impersonateCheck'
];
var pm = new GlidePluginManager();
for (var i = 0; i < properties.length; i++) {
var property = properties[i];
var application = property.split('.')[0];
var propertyValue = gs.getProperty(property, 'false');
if (pm.isActive(application) && propertyValue.toLowerCase() != 'true') {
gs.print(property);
}
}
- CVSS スコア
|
| JavaScript をエスケープ (セキュリティセンター 1.3 で更新) |
- 説明
- セキュリティリスク
- (旧) <空白>
- (新規)XSS を持つ機能により、アドミンなどの上位のロールへの特権エスカレーションが容易になる可能性があります。
|
| HTML サニタイザーを有効にする (セキュリティセンター 1.3 で更新) |
- 説明
- セキュリティリスク
- (旧) <空白>
- (新規)XSS を持つ機能により、アドミンなどの上位のロールへの特権エスカレーションが容易になる可能性があります。
|
| Jelly スクリプトをエスケープ (セキュリティセンター 1.3 および 1.5 で更新) |
|
|
|
| ターゲットのクローンを禁止する (Security Center 1.3 の新機能) |
- 説明
- (旧)
glide.db.clone.allow_clone_target が推奨値の false に設定されていない場合、インスタンスをクローンターゲットとして使用することも、クローン作成に使用されるインスタンス URL と認証情報を指定するレコードとして使用することもできます。システムクローンは、データベース内のすべてのものを、あるインスタンスから別のインスタンスにコピーします。クローン作成プロセスでインスタンスデータベースが上書きされて、データが失われたり、データの完全性が失われたりする可能性があるため、これはセキュリティ上のリスクです。修正として、glide.db.clone.allow_clone_target が false に設定されていることを確認します。
- (新規)
glide.db.clone.allow_clone_target システムプロパティを false に設定して、インスタンスがクローンターゲットとして使用されないように保護します。システムクローンはデータベース内のすべてのデータをソースインスタンスからターゲットインスタンスにコピーします。クローン作成プロセスでターゲットインスタンスのインスタンスデータベースが上書きされ、データが失われてデータの整合性が失われるため、これはセキュリティ上のリスクです。
- 修正
- CVSS スコア
- データタイプ
- デフォルトの値
|
| 明示的な外部ロールに対して内部アクセスを拒否する (Security Center 1.3 および 1.5 で更新) |
- 説明
- (新規)
システムプロパティを使用して、外部ユーザーにsnc_internalロールをアサインできるかどうかを決定します。 外部ユーザーにsnc_internalロールがアサインされないようにするには、glide.security.explicit_roles.enable_internal_user_blacklist システムプロパティを使用します。このプロパティを true に設定すると、maint protected glide.security.explicit_roles.internal_user_blacklist プロパティのパラメーターが強制されます。このプロパティは、信頼できないユーザークラスのリストにsnc_externalロールを割り当てます。glide.security.explicit_roles.enable_internal_user_blacklist が false に設定されている場合、glide.security.explicit_roles.internal_user_blacklist プロパティは無視されます。
- (旧)このプロパティは、外部ユーザーにsnc_internalロールをアサインしないようにします。「glide.security.explicit_roles.enable_internal_user_blacklist」が推奨値の「true」に設定されている場合、保守で保護されたプロパティ「glide.security.explicit_roles.internal_user_blacklist」のパラメーターが強制され、信頼できないユーザークラスのリストに「snc_external」ロールが割り当てられます。値が false に設定されている場合、「glide.security.explicit_roles.internal_user_blacklist」プロパティは無視されます。このプロパティの構成を誤ると、外部ユーザー アカウントが内部情報にアクセスするリスクが高まります。
- プラグインの適用性
- セキュリティリスク
- データタイプ
- デフォルトの値
- フォールバック値
|
| OAuth パラメーターを POST 本文に制限する (Security Center 1.3 の新機能) |
- 説明
- (旧)
このプロパティは、受信 OAuth 認証によるアクセストークンの受け入れを制御します。アクセストークンは機密性が高く、POST 要求本文内にある場合にのみ受け入れるようにする必要があります。
- (新規)
glide.oauth.allow.parameters.in.post.body.only プロパティを使用して、受信 OAuth 認証によるアクセストークンの受け入れを制御します。アクセストークンは機密性が高く、POST 要求本文内にある場合にのみ受け入れるようにする必要があります。
- 修正
- (旧)
「glide.oauth.allow.parameters.in.post.body.only」プロパティが「true」に設定されていることを確認します。
- (新規)
「glide.oauth.allow.parameters.in.post.body.only」プロパティが「true」に設定されていることを確認します。プロパティが「sys_properties」テーブルに存在しない場合、デフォルトは「false」です。
- プラグインの適用性
- セキュリティリスク
- (旧)
「glide.oauth.allow.parameters.in.post.body.only」が推奨値の「true」に設定されていない場合、アクセストークンが GET 要求パラメーターに存在し、それがクライアントログとインフラストラクチャログに残り、これらのログが漏洩した場合にアカウントの乗っ取りにつながる可能性があります。
- (新規)
glide.oauth.allow.parameters.in.post.body.only が推奨値の true に設定されていない場合、アクセストークンが GET 要求パラメーターに存在する可能性があります。これらのアクセストークンは、クライアントログとインフラストラクチャログに残り、これらのログが漏洩した場合、アカウントの乗っ取りにつながる可能性があります。
- 依存関係と前提条件
- (旧) <空白>
- (新規)プラグイン OAuth 2.0
- データタイプ
- デフォルトの値
|
| GroupBy ACL の適用 |
- 説明
- (旧)
「glide.security.groupby_acl_check」が推奨値の「True」に設定されていない場合は、groupby ACL を優先するために、テーブルに「groupby_acl_check」属性が設定されていることを確認してください。それ以外の場合は、テーブルの groupby 列に対する ACL チェックは行われません。これにより、情報の開示につながる可能性があります。
- (新規)
glide.security.groupby_acl_checkシステムプロパティを使用して、groupby 列の ACL チェックを実施するようにインスタンスを構成します。このプロパティが推奨値の true に設定されている場合、groupby 列の ACL がデフォルトで優先されます。テーブルの groupby_acl_check 属性は、glide.security.groupby_acl_check プロパティよりも優先されます。プロパティが false に設定されている場合は、groupby 列の ACL チェックを行う必要があるテーブルの groupby_acl_check 属性が true に設定されていることを確認します。
- セキュリティリスク
- 機能への影響
- データタイプ
- デフォルトの値
|
| 許可リストを使用した XMLdoc2 エンティティ検証を必須とする |
- 説明
- (旧)
Glide プロパティ「glide.stax.whitelist_enabled」がsys_propertiesテーブルに存在しない場合、または推奨値の「true」に設定されていない場合、Glide プロパティ「glide.stax.allow_entity_resolution」の値が「true」に設定されていると、すべての外部エンティティが許可されます。カスタマイズでエンティティの拡張が必要ない場合は、「glide.stax.allow_entity_resolution」プロパティを使用して外部エンティティの拡張を完全に無効にします。XML は解析を完了しますが、内部または外部エンティティは含まれません。
- 「glide.stax.allow_entity_resolution」を true に設定すると、「glide.stax.whitelist_enabled」プロパティの設定に従って、すべての外部エンティティが対象エンティティの解決または拡張を試みます。
- 「glide.stax.allow_entity_resolution」を false に設定すると、すべてのエンティティの解決と拡張がブロックされます。このプロパティの詳細については、「https://www.servicenow.com/docs/csh?topicname=sc-disable-entity-expansion.html&version=latest」を参照してください。
「glide.stax.whitelist_enabled」が true に設定されている場合、「glide.xml.entity.whitelist」プロパティでカンマ区切りの FQDN のリストを定義します。これは XML エンティティ処理プロパティを使用してアクセスできる唯一の URL です。詳細については、「https://www.servicenow.com/docs/csh?topicname=sc-xml-entity-validation-url-allowlist.html&version=latest」を参照してください。
- (新規)
Glide プロパティ「glide.stax.whitelist_enabled」がsys_propertiesテーブルに存在しない場合、または推奨値の「true」に設定されていない場合、Glide プロパティ「glide.stax.allow_entity_resolution」の値が「true」に設定されていると、すべての外部エンティティが許可されます。 カスタマイズでエンティティの拡張が必要ない場合は、「glide.stax.allow_entity_resolution」プロパティを使用して外部エンティティの拡張を完全に無効にします。XML は解析を完了しますが、内部または外部エンティティは含まれません。
- 「glide.stax.allow_entity_resolution」を true に設定すると、「glide.stax.whitelist_enabled」プロパティの設定に従って、すべての外部エンティティが対象エンティティの解決または拡張を試みます。
- 「glide.stax.allow_entity_resolution」を false に設定すると、すべてのエンティティの解決と拡張がブロックされます。このプロパティの詳細については、「https://www.servicenow.com/docs/csh?topicname=sc-disable-entity-expansion.html&version=latest」を参照してください。
「glide.stax.whitelist_enabled」が true に設定されている場合、「glide.xml.entity.whitelist」プロパティでカンマ区切りの FQDN のリストを定義します。これは XML エンティティ処理プロパティを使用してアクセスできる唯一の URL です。詳細については、「https://www.servicenow.com/docs/csh?topicname=sc-xml-entity-validation-url-allowlist.html&version=latest」を参照してください。
- 修正
|
| 制限されたダウンロード可能な MIME タイプを定義する (セキュリティセンター 1.3、1.5、および 2.0 で更新) |
- 説明
- (旧)
「glide.ui.attachment.download_mime_types」に「text/html,image/svg,image/svg+xml,application/xml」などの危険なアイテムが含まれている場合、危険なファイルがブラウザにインラインでレンダリングされ、クロスシットスクリプティング攻撃 (XSS) につながる可能性があります。このプロパティは、ブラウザにインラインでレンダリングされない、カンマ区切りの添付 MIME タイプのリストです。たとえば、text/html を含めると、HTML ファイルはブラウザでインライン表示されるのではなく、添付ファイルとしてクライアントに強制的にダウンロードされます。このリストを適切に維持すると、クロスサイトスクリプティング攻撃を防ぐことができます。
- (新規)
text/html、image/svg、image/svg+xml、application/xml などの危険な MIME タイプが glide.ui.attachment.download_mime_types に含まれている場合、危険なファイルがブラウザーにインラインでレンダリングされ、クロスサイトスクリプティング攻撃 (XSS) につながる可能性があります。このプロパティは、添付 MIME タイプのカンマ区切りリストで、ブラウザーにインライン表示されません。たとえば、text/html を含めると、HTML ファイルはブラウザでインライン表示されず、添付ファイルとしてクライアントに強制的にダウンロードされます。このリストを適切に管理することで、クロスサイトスクリプティング攻撃を防ぐことができます。 glide.ui.attachment.download_mime_typesシステムプロパティに「text/html、image/svg、image/svg+xml、application/xml」などの危険な MIME タイプが含まれていない場合、危険なファイルがブラウザーにインラインでレンダリングされる可能性があります。これにより、クロスサイトスクリプティング (XSS) 攻撃が発生する可能性があります。このチェックは、glide.ui.attachment.force_download_all_mime_typesが false に設定されている場合にのみ関連します。 このプロパティは、添付ファイルの MIME タイプをカンマで区切って列挙したもので、ブラウザーにインラインで表示されません。たとえば、text/html を含めると、HTML ファイルはブラウザでインライン表示されず、添付ファイルとしてクライアントに強制的にダウンロードされます。
- 修正
- (旧)
glide.ui.attachment.force_download_all_mime_typesが false に設定されている場合は、glide.ui.attachment.download_mime_typesシステムプロパティに危険な MIME タイプ「text/html、image/svg、image/svg+xml、application/xml」が含まれていることを確認します。
- (新規)
「glide.ui.attachment.download_mime_types」プロパティに危険なアイテム「text/html、image/svg、image/svg+xml、application/xml」が含まれていることを確認します。
- セキュリティリスク
- 機能への影響
- 依存関係と前提条件
- データタイプ
- (旧) <空白>
- (新規)MIME タイプのカンマ区切りリスト
- デフォルトの値
|
| リストビューでの HTML をエスケープ (セキュリティセンター 1.3 および 1.5 で更新) |
- 説明
- (旧)
このプロパティは、HTML フィールドを表示するリストビューのサニタイズに役立ちます。「glide.ui.escape_html_list_field」が推奨値の「true」に設定されていない場合、悪意のあるユーザーがフォームフィールド内に HTML コードを挿入して、さまざまなクライアント/ユーザーセッションで不要なスクリプトを実行できます。これは、攻撃者がセッション情報と機密データを盗むために利用される可能性があります。
- (新規)
リストビューの HTML フィールドに HTML が表示されないようにするには、glide.ui.escape_html_list_field を true に設定します。HTML のサニタイズをプラットフォーム全体に (システムプロパティを介して) またはフィールドごとに (スキーマ属性を介して) 非アクティブのままにすると、XSS スタイルの攻撃につながる可能性があります。XSS 攻撃により、権限の低いユーザーが権限の高いユーザーのセッションを乗っ取ったり、リダイレクトや改ざんなどの標準的な Web アプリケーションの動作を妨害したりする可能性があります。
- CVSS スコア
- セキュリティリスク
- 機能への影響
- データタイプ
- デフォルトの値
|
| 1 日あたりのパスワードリセット SMS の最大数を最小化する |
|
| 感染したファイルのダウンロードを許可しない |
デフォルトの値
|
| 添付ファイルへの非認証アクセスを制限する |
説明
- (旧)
説明 (旧):「glide.image_provider.security_enabled」が推奨値の「True」に設定されていない場合、末尾が「.iix」の URL を介してすべての画像にアクセスできます。これにより、画像への認証されていないアクセスが可能になり、機密情報の漏洩につながる可能性があります。このプロパティは、作成元テーブルが [sysevent_email_style, sys_home, sys_properties] である添付ファイルテーブルのイメージには適用されません。一部の添付ファイルに機密情報が含まれている可能性があるため、非認証ユーザーには制限を適用する必要があります。
- (新規)
機密情報の漏洩を防ぐために、インスタンス上の画像を保護します。インスタンス上の画像には、末尾 が .iix の URL を使用してアクセスできます。 これらの URL を介して画像にアクセスできないようにするには、 glide.image_provider.security_enabled システムプロパティを true に設定します。 注:
元のテーブルが次のいずれかである場合、このプロパティは添付ファイルテーブルの画像では優先されません。
- 文房具 [sysevent_email_style]
- ようこそページセクション [sys_home]
- システムのプロパティ [sys_properties]
一部の添付ファイルに機密情報が含まれている可能性があるため、非認証ユーザーには制限を適用する必要があります。
|
| ロールベースの多要素認証を有効にする |
CVSS スコア
|
| 失敗したログインのロック解除タイムアウト期間を最大化する (セキュリティセンター 1.3 で更新) |
- 説明
- (旧)
「glide.user.unlock_timeout_in_mins」が推奨値の「15」に設定されていない場合は、より短い時間枠でアカウントの総当たり攻撃が容易になる場合があります。このプロパティは、glide.user.unlock_timeout_in_mins プロパティに指定された期間後にユーザーアカウントのロックを解除します。値を指定しない場合は、デフォルトの 15 分後にユーザーアカウントのロックが解除されます。 プロパティが安全な値に設定されておらず、ロックアウト期間が有効になっていない場合は、より短い時間枠でアカウントの総当たりログインを行う方が簡単な場合があります。これにより、悪意のあるユーザーが最終的にインスタンスへの不正アクセスを取得する可能性があります。インスタンスへの影響は、影響を受けるユーザーの権限に絞られ、総当たりでログインされます。
- (新規)
「glide.user.unlock_timeout_in_mins」が少なくとも最小値の「15」に設定されていない場合は、より短い時間枠でアカウントの総当たり攻撃が容易になる場合があります。このプロパティは、glide.user.unlock_timeout_in_mins プロパティに指定された期間後にユーザーアカウントのロックを解除します。値を指定しない場合は、デフォルトの 15 分後にユーザーアカウントのロックが解除されます。 プロパティが安全な値に設定されておらず、ロックアウト期間が有効になっていない場合は、より短い時間枠でアカウントの総当たりログインを行う方が簡単な場合があります。これにより、悪意のあるユーザーが最終的にインスタンスへの不正アクセスを取得する可能性があります。インスタンスへの影響は、影響を受けるユーザーの権限に絞られ、総当たりでログインされます。
- 修正
-
glide.user.unlock_timeout_in_minsシステムプロパティ値を最小の 15 に設定します。glide.user.unlock_timeout_in_mins が存在しない場合、デフォルトのロックアウト時間は 15 分に設定されます。
(スクリプトアクション [sysevent_script_action] テーブルにある) [自動ロック解除による SNC ユーザーロックアウトチェック (SNC User Lockout Check with Auto Unlock)] スクリプトアクションが存在し、アクティブであることを確認します[SNC ユーザーロックアウトチェック (自動ロック解除あり)] スクリプトアクションは、高セキュリティ設定 (com.glide.high_security) プラグインとともにインストールされます。
プロパティ「glide.user.unlock_timeout_in_mins」が「15」以上に設定されていること、およびスクリプトアクション (sysevent_script_action)「自動ロック解除による SNC ユーザーロックアウトチェック」が存在し、アクティブであることを確認します。Glide プロパティ「glide.user.unlock_timeout_in_mins」が存在しない場合は、デフォルトで安全な値「15」に設定されます。
「自動ロック解除による SNC ユーザーロックアウトチェック」は、High Security プラグインとともにインストールされます。
- (新規) 10
|
| 失敗したログインのロック解除タイムアウト期間を最大化する (セキュリティセンター 1.3 で更新) |
修正
- (旧)
失敗したログイン試行を管理するには「SNC ユーザーロックアウトチェック」と「自動ロック解除ありの SNC ユーザーロックアウトチェック」のうち、少なくとも一方のスクリプトアクションが有効になっていることを確認します。また、プロパティ「glide.user.max_unlock_attempts」が「5」以下に設定されていることを確認します。
- (新規)
失敗したログイン試行を管理するには「SNC ユーザーロックアウトチェック」と「自動ロック解除ありの SNC ユーザーロックアウトチェック」のうち、少なくとも一方のスクリプトアクションが有効になっていることを確認します。これらのスクリプトアクションは「sysevent_script_action」テーブルに保存されます。 また、プロパティ「glide.user.max_unlock_attempts」が「5」以下に設定されていることを確認します。
|
| パスワードリセットの OTP 期限を 1 時間に設定 (Security Center 2.0 で更新) |
- 簡単な説明
- (旧)パスワードリセットの OTP Lifetime を 12 時間以下に設定
- (新規)パスワードリセットの OTP Lifetime を 1 時間に設定
- 説明
- (旧)
このプロパティ「glide.pwd_reset.onetime.token.validity」を使用すると、パスワードリセットメール内のリンクを「glide.pwd_reset.onetime.token.validity」プロパティで指定された時間の経過後に期限切れにすることができます。パスワードリセットトークンの有効期間は、通常のユーザーエクスペリエンスに応じてできるだけ短く保つ必要があります。パスワードリセットトークンの有効期間が長いと、悪意のある攻撃者がアカウントを乗っ取りやすくなります。
- (新規)
Password Reset メールのリンクの期限を制御します。 プロパティ glide.pwd_reset.onetime.token.validity により、プロパティで指定された時間が経過すると、パスワードリセットメール内のリンクが期限切れになります。Password Reset トークンの有効期間は、通常のユーザーエクスペリエンスを妨げない程度に、できるだけ短くする必要があります。パスワードリセットトークンの有効期間が長いほど、リセットトークンを含むメールが漏洩したり侵害されたりした場合に、悪意のある攻撃者がアカウントの乗っ取りを実行する機会が広がります。
- 修正
- (旧)プロパティ値を 12 時間以下の有効期間に設定します。
- (新規)プロパティ値を 1 (時間単位) に設定します
- CVSS
- セキュリティリスク
- (旧) <空白>
- (新規)パスワードリセットトークンの有効期間が長いほど、リセットトークンを含むメールが漏洩または侵害された場合に、悪意のある攻撃者がアカウントの乗っ取りを実行する機会が広がります。
- 機能への影響
- (旧) <空白>
- (新規)ユーザーは、このプロパティで指定された時間内にパスワードをリセットする必要があります。それ以外の場合は、新しいリンクを要求する必要があります。
- データタイプ
- デフォルトの値
- フォールバック値
|
| 同時セッション制限プラグインによって同時インタラクティブセッションを最小化する |
- 簡単な説明
- (旧)同時インタラクティブセッションを制限する
- (新規)同時セッション制限プラグインがインストールされている場合は、同時インタラクティブセッションを制限します
- プラグインの適用性
- (旧) <空白>
- (新規) com.glide.limit.concurrent.sessions
|
| メールの最大添付ファイル数の制限 |
|
| 保護されたテーブルプラグインを有効にする |
- 説明
- (旧)
Glide プロパティ「com.glide.security.protected_table.enabled」が「true」に設定されている場合、Protected Tables プラグインを使用して、インスタンスでより高い権限を持つユーザーがログテーブルを改ざんするのを防ぎます。このプロパティが「true」に設定されている場合、次のログ記録テーブルには特別な保護が適用されます。
- syslog (設定は変更不可)
- syslog_transaction
- sys_outbound_http_log
- sysevent
- sys_audit
- sys_push_notification
- protected_table_configuration (設定は変更不可)
- (新規)
Glide プロパティ「com.glide.security.protected_table.enabled」が「true」に設定されている場合、Protected Tables プラグインを使用して、インスタンスでより高い権限を持つユーザーがログテーブルを改ざんするのを防ぎます。このプロパティが「true」に設定されている場合、次のログ記録テーブルには特別な保護が適用されます。
- syslog (設定は変更不可)
- syslog_transaction
- sys_outbound_http_log
- sysevent
- sys_audit
- sys_push_notification
- protected_table_configuration (設定は変更不可)
- syslog_app_scope
ログの完全性は、カスタマーアドミンがインスタンスで悪意のあるアクティビティを判断するために重要です。
- 修正
- (旧)Glide プロパティ「com.glide.security.protected_table.enabled」を「true」に設定します。
- (新規)Glide プロパティ「com.glide.security.protected_table.enabled」を「true」に設定します。これには、「security_admin」ロールを持つユーザーが必要です。
- CVSS スコア
|
| ダッシュボードの作成/削除にはアクセスチェックが必要であることを確認する (Security Center 1.3 の新機能、2.0 で更新) |
- 説明
- (旧)
プロパティ「glide.processors.check_access_before_process」は、ユーザーがログインしている限り、ダッシュボードを作成または削除するための ACL 適用を有効にします。このプロパティを無効にする (つまり、false に設定する) と、ダッシュボードの ACL バイパスが効果的に有効になり、認証された特権の低いすべてのユーザーがダッシュボードを任意に削除および追加できるようになります。このプロパティは常に true に設定する必要があります。
- (新規)
プロパティ「glide.processors.check_access_before_process」は、ダッシュボードを作成または削除するための ACL 適用を有効にします。プロパティが「true」に設定されている場合、ダッシュボードでアクセス制御チェックが実行されます。このプロパティが「false」に設定されている場合、認証されたユーザーはダッシュボードを任意に削除および追加できます。
- 修正
- (旧)
Glide プロパティ「glide.processors.check_access_before_process」が存在し、値が「true」に設定されていることを確認します。このプロパティが sys_properties テーブルに表示されない場合は、新しいレコードを追加します。
- (新規)
glide.processors.check_access_before_processシステムプロパティを true に設定します。プロパティがシステムプロパティ [sys_properties] テーブルに表示されない場合、フォールバック値は true です。
- セキュリティリスク
- (旧) <空白>
- (新規)このプロパティが「false」に設定されている場合、認証されたユーザーはダッシュボードを任意に削除および追加できます。
- 機能への影響
- (旧) <空白>
- (新規)ユーザーは、以前のようにダッシュボードを削除するアクセス権がない可能性があります。この機能への影響を軽減するために、ユーザーにダッシュボードへの標準アクセス権を付与することができます。
- フォールバック値
|
| アクティブセッションタイムアウト例外ロールの定義 |
- 説明
- (旧)アクティブセッションタイムアウトは、認証情報を提供せずにハイジャックされたセッションを無期限に使用できないようにする機能です。このプロパティは、アクティブセッションのタイムアウト制限から除外されるロールを制御します。内部統合アカウントロールのアクティブセッションタイムアウト制限の例外のみを考慮することがベストプラクティスです。ロールにセッションタイムアウトの例外が与えられ、そのロールがセッションハイジャック攻撃の被害者であるユーザーに与えられた場合、攻撃者はそのセッションに対して無期限に認証を続けることができます。これにより、攻撃者がハイジャックされたアカウントを使用する時間が増えるため、影響を受けるセキュリティインシデントの範囲が拡大する可能性があります。
- (新規)
glide.active.session.timeout.exception.roles システムプロパティを使用して、ロールをアクティブセッションのタイムアウト制限から除外します。アクティブセッションタイムアウト機能は、認証情報を提供せずにハイジャックされたセッションを無期限に使用できないようにするのに役立ちます。内部統合アカウントロールのアクティブセッションタイムアウト制限の例外のみを考慮することがベストプラクティスです。 アクティブセッションタイムアウト制限の例外は、内部統合アカウントロールについてのみ考慮してください。ユーザーがセッションハイジャックの試みの被害者であり、例外のあるロールを持っている場合、そのセッションを使用する攻撃者は、そのセッションに対して無期限に認証を続けることができます。これにより、攻撃者がハイジャックされたアカウントを使用する時間が増えるため、セキュリティインシデントの影響が高くなる可能性があります。
- 修正
- (旧)
Glide プロパティ「glide.active.session.timeout.exception.roles」の値が「edge_encryption,mid_server」に設定されていることを確認します。
- (新規)
glide.active.session.timeout.exception.roles プロパティを、アクティブセッションタイムアウトから除外する必要があるロールを設定します。このプロパティ値は、ロールのカンマ区切りリストです。デフォルト値は edge_encryption,mid_server,maint です。
- セキュリティリスク
- (旧)内部統合アカウントロールのアクティブセッションタイムアウト制限の例外のみを検討してください。ロールにセッションタイムアウトの例外が与えられ、そのロールがセッションハイジャック攻撃の被害者であるユーザーに与えられた場合、攻撃者はそのセッションに対して無期限に認証を続けることができます。これにより、攻撃者がハイジャックされたアカウントを使用する時間が増えるため、セキュリティインシデントの影響が高くなる可能性があります。
- (新規)内部統合アカウントロールについてのみ、アクティブセッションタイムアウト制限の例外を検討してください。ユーザーがセッションハイジャックの試みの被害者であり、例外のあるロールを持っている場合、そのセッションを使用する攻撃者は、そのセッションに対して無期限に認証を続けることができます。これにより、攻撃者がハイジャックされたアカウントを使用する時間が増えるため、セキュリティインシデントの影響が高くなる可能性があります。
- 機能への影響
- (旧) <空白>
- (新規)このリストに追加されたロールは、アクティブセッションのタイムアウト制限から除外されます。
- データタイプ
- (旧) <空白>
- (新規)ロールのカンマ区切りリスト
- すぐに利用可能な値
- (旧) <空白>
- (新規) edge_encryption、mid_server、maint
- フォールバック値
- (旧) edge_encryption,mid_server
- (新規) edge_encryption、mid_server、maint
|
| HTTP 応答の本文サイズを制限する (セキュリティセンター 1.3 の新機能、1.5 で更新) |
- データタイプ
- デフォルトの値
- (旧) <空白>
- (新規) true,524288000
|