一般情報 |公開リストウィジェットの設定ミスの可能性1.概要 ServiceNow は、意図しないアクセスを引き起こす可能性がある構成ミスの問題を説明する最近の公開を認識しており、さまざまなオンラインリソースで確認されたレポートを積極的に調査しています。状況はまだ変化途上ですが、この問題に対する理解と、インスタンスに追加の構成変更を実装する必要があるかどうかを評価する方法を共有したいと思います。 ServiceNow を使用する場合、お客様はアクセス制御リスト (ACL) を使用して、プラットフォーム内のテーブルと列へのアクセスを制限します。ServiceNow はデフォルトの拒否システムであるため、リソースまたはそのアップストリーム階層に対する ACL がない場合、アクセスが拒否されます。ただし、個々の ACL には、各「空の」チェックが true に解決される 3 つの部分のチェックが含まれます。顧客は、空のチェックを使用して次の ACL を作成できます。 ロール条件スクリプト このような ACL が構築されている場合、基盤となる ACL システムは、ゲスト ユーザーを含むすべてのユーザーが問題のリソースにアクセスすることを許可します。ServiceNow プラットフォームにはさらに制御が組み込まれており、ユーザーが「認証されていない」場合、システムはユーザーが読み取ることができるページを厳密に制御し、ログインページなどの「許可された」ページのリストを絞り込みます。認証されていないユーザーがこの許可リスト外のリソースにアクセスしようとすると、ログインページにリダイレクトされるか、アクセス拒否エラーが表示されます。ただし、公開ポータルをサポートするリソース (アクティブで公開に設定されているサービスポータルウィジェットなど) を使用する顧客は、設計上、認証されていないユーザーがアクセスできるという点でその制御の例外であり、したがってその制御メカニズムは適用されず、基礎となる ACL システムに依存して機密データが保護されます。そのポータルの例外内には、この記事で説明した SimpleListWidget と呼ばれる特定のポータル ウィジェットが少なくとも 1 つあり、システムからのデータのアドホック クエリを可能にします。このウィジェットは、基礎となる ACL システムを尊重しますが、前述の認証メカニズムによって制限されることはありません。顧客は、他の公開ポータルウィジェットの使用を同じ基準で評価する必要があります。お客様は、特定のインスタンスの次の基準に照らして ACL プロトコル設定を検討する必要があります。 テーブルまたは列が、ロール、条件、およびスクリプトのない ACL で構成された場合かつ、インスタンスに少なくとも 1 つの公開ポータルウィジェットがあるこの構成は、ロールなしの ACL を持つ特定のテーブルが、問題のウィジェットを介して読み取られる可能性があることを意味します 2.是正処置 顧客が実行できる最も簡単な修復手順は次のとおりです。 インスタンス内でそのような ACL を設定したかどうかを確認します。実際に非認証ユーザーがそのデータを読み取れるようにする場合は、アクションは必要ありません。それ以外の場合は、更新して ACL のスクリプトセクションに次の行を追加します。 gs.isLoggedIn() 上記により、認証されていないユーザーは、SimpleListWidgetやその他の公開ポータルウィジェットを介して問題のテーブルを読み取ることができなくなります。 より一般的に、ServiceNow では、顧客がインスタンスのセキュリティを強化するために次の手順を実行することを推奨しています。 完全に空であるか、または「Public」ロールを含むアクセス制御リスト (ACL) を確認して、特定のビジネス上およびセキュリティ上のニーズに合っているかどうか、および基礎となるデータが実際に公開されている必要があるかどうかを判断します。公開ウィジェットを確認し、ユースケースに沿っていない場合は「公開」フラグを false に設定することを検討します。 インスタンスへの外部ユーザーアクセスまたはモバイルアクセスが不要であると判断した場合は、インスタンス内で IP アドレスアクセス制御 を適用して、既知の信頼できる IP アドレスのみにアクセスを制限します。 もしくはサブネットを含む IP 範囲へのアクセスを制限しながらモバイルアクセスを有効にする機能など、よりきめ細かな認証制御を実現します。 適応認証 ポリシーを適用します。ナレッジベースのユーザー基準定義を確認し、ナレッジベースコンテンツへのアクセスが要件に従って付与されていることを検証します。次の KB は、ユーザー基準の評価方法の詳細を提供します。 https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB1123580 Explicit Roles プラグインは、すべての ACL で少なくとも 1 つのロール要件が宣言されるようにするため、Explicit Roles プラグインを使用しているインスタンスはこの問題の影響を受けません。ServiceNow では、このプラグインを使用しているお客様に、「public」ロールを含む ACL を確認し、ユーザー基準の構成を評価することをお勧めします。ユーザー基準を評価するプロセスについては、「 KB1123580」を参照してください。 3.その他のリソース この問題に対処するためのガイダンスについては、Now Support を通じて ServiceNow からの公式ガイダンスと、 https://docs.servicenow.com で入手可能な公開ドキュメントを参照してください。 簡易リストウィジェットアクティビティのトランザクションログの確認: https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB1555166カスタムウィジェットの開発– https://docs.servicenow.com/csh?topicname=widget-dev-guide.htmlACL – https://docs.servicenow.com/csh?topicname=access-control-rules.htmlIP アドレスアクセス制御 – https://docs.servicenow.com/csh?topicname=t_AccessControl.html適応認証 – https://docs.servicenow.com/csh?topicname=adaptive-authentication.html <!-- .SOKMKBArticle div.margin { padding: 10px 40px 40px 30px; color: #283d40; font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; } .SOKMKBArticle div.fed{ background-color: #f5f8fa; border: 1px solid; border-color: #bfbfbf; padding: 10px; } .SOKMKBArticle .FedRestricted{ background-color: #c00000; color: #ffffff; padding: 10px; margin-top: 10px; text-align: center; font-size: 14pt; font-weight: bold; } .SOKMKBArticle .CustRestricted{ background-color: #ff0000; color: #ffffff; padding: 10px; margin-top: 10px; text-align: center; font-size: 14pt; font-weight: bold; } .SOKMKBArticle .SNRestricted{ background-color: #ea700d; color: #ffffff; padding: 10px; margin-top: 10px; text-align: center; font-size: 14pt; font-weight: bold; } .SOKMKBArticle .SNConfidential{ background-color: #ffc000; color: #ffffff; padding: 10px; margin-top: 10px; text-align: center; font-size: 14pt; font-weight: bold; } .SOKMKBArticle .Public{ background-color: #00b050; color: #ffffff; padding: 10px; margin-top: 10px; text-align: center; font-size: 14pt; font-weight: bold; } .SOKMKBArticle table.tocTable { border: 1px solid; border-color: #f2f2f2; background-color: #f2f2f2; padding-top: .6em; padding-bottom: .6em; padding-left: .9em; padding-right: .6em; } .SOKMKBArticle table.noteTable { align: left; border: none; border-color: #81b5a1; background-color: #f2f2f2; width: 100%; border-spacing: 2; font-size: 11px; } .SOKMKBArticle table.internalTable { border-top: 1px solid; border-left: 1px solid; border-color: #81b5a1; width: 100%; border-spacing: 1px; } .SOKMKBArticle .sp td { border-bottom: 1px solid; border-right: 1px solid; border-color: #81b5a1; background-color: #ffffff; height: 20px; padding-top: .5em; padding-bottom: .5em; padding-left: .5em; padding-right: .5em; } .SOKMKBArticle .sphr td { border-right: 1px solid; border-bottom: 1px solid; border-color: #81b5a1; background-color: rgb(245, 245, 245); padding-top: .5em; padding-bottom: .5em; padding-left: .5em; padding-right: .5em; height: 20px; } .SOKMKBArticle .sh td { border-bottom: 1px solid; border-right: 1px solid; border-color: #81b5a1; background-color: #81b5a1; color: #ffffff; height: 20px; padding-top: .5em; padding-bottom: .5em; padding-left: .5em; padding-right: .5em; } .SOKMKBArticle th { padding-top: .5em; padding-bottom: .5em; padding-left: .5em; padding-right: .5em; border-bottom: 1px solid; border-right: 1px solid; border-color: #81b5a1; background-color: #283d40; font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: #ffffff; height: 20px; } .SOKMKBArticle td { border-color: #81b5a1; margin: 5px 5px 5px 5px; font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: #283d40; } .SOKMKBArticle p { color: #283d40; font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; } .SOKMKBArticle li { color: #283d40; font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; line-height: 1.5; } .SOKMKBArticle pre { font-family: Courier New; } .SOKMKBArticle div { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; } .SOKMKBArticle hr { border-top-width: 1px; border-top-style: solid; border-top-color: #81b5a1; } .SOKMKBArticle a { color: #81b5a1; } .SOKMKBArticle a.two:link { padding: 15px 45px 15px 45px; margin-top: 20px; color: #ffffff; text-align: center; background-color: #1F8476; border: 1px solid; border-color: #1F8476; } .SOKMKBArticle a.two:visited { padding: 15px 45px 15px 45px; margin-top: 20px; color: #ffffff; text-align: center; background-color: #1F8476; border: 1px solid; border-color: #1F8476; } .SOKMKBArticle a.two:hover { color: #ffffff; background-color: #259b8a; } .SOKMKBArticle .button { padding: 15px 45px 15px 45px; margin-top: 20px; color: #ffffff; text-align: center; background-color: #1F8476; border: 1px solid; border-color: #1F8476; } .SOKMKBArticle .title { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #81b5a1; font-size: 30pt; } .SOKMKBArticle .hd1 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-size: 20pt; border-bottom: 1px solid; border-bottom-color: #81b5a1; text-decoration: none; } .SOKMKBArticle h1 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-size: 20pt; font-weight: normal; border-bottom: 1px solid; border-bottom-color: #81b5a1; text-decoration: none; } .SOKMKBArticle .hd2 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #68a1af; font-weight: bold; font-size: 16pt; text-decoration: none; } .SOKMKBArticle h2 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #68a1af; font-weight: bold; font-size: 16pt; font-weight: normal; text-decoration: none; } .SOKMKBArticle .hd3 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: normal; font-size: 14pt; text-decoration: none; } .SOKMKBArticle h3 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: normal; font-size: 14pt; text-decoration: none; } .SOKMKBArticle .hd4 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: normal; font-size: 12pt; text-decoration: none; } .SOKMKBArticle h4 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: normal; font-size: 12pt; text-decoration: none; } .SOKMKBArticle .hd5 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: bold; font-size: 10pt; text-decoration: bold; } .SOKMKBArticle h5 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: bold; font-size: 10pt; text-decoration: bold; } .SOKMKBArticle .hd6 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: normal; font-size: 10pt; text-decoration: underline; } .SOKMKBArticle h6 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: normal; font-size: 10pt; text-decoration: underline; } .SOKMKBArticle details { font-size: 10pt; } .SOKMKBArticle details[open] summary ~ * { animation: sweep .5s; margin-top: 0; padding-top: 10px; } @keyframes sweep { 0% {opacity: 0; margin-top: -10px} 100% {opacity: 1; margin-top: 0px} } .SOKMKBArticle summary { cursor: pointer; outline: none; margin-bottom: 3px; } .SOKMKBArticle .summary { background-color: #81b5a1; font-size: 10px; color: white; cursor: pointer; padding: 5px; width: 100%; border: none; text-align: left; outline: none; vertical-align: top; } -->