web-dev-qa-db-ja.com

SEC7117 MS EdgeでJavaScriptファイルをロードしようとするとエラーが発生する

Microsoft Edgeを使用しているときに別のサーバーからjavascriptファイルをロードしようとすると、このエラーが発生します。サーバーがhttpsではなくhttpに関連していると感じていますが、よくわかりません。 IE(保護されていないコンテンツを許可した後)で動作しますが、保護されていないコンテンツを許可するオプションがEdgeに見つかりません。

これは私が受け取っているエラーです:

SEC7117: Network request to http://servername/whatever.js did not succeed. This Internet Explorer instance does not have the following capabilities: privateNetworkClientServer 

よろしくお願いします!

21
Kirbos

これは、http/httpsではなく、インターネット/イントラネットゾーンの混合に関係している可能性があります。

こちらをご覧ください: 拡張保護モードの理解

プライベートネットワークリソース

EPMはprivateNetworkClientServer機能を宣言しないため、イントラネットリソースは多くの種類のクロスゾーン攻撃(通常は「クロスサイトリクエストフォージェリ(CSRF)」および「イントラネットポートスキャン」と呼ばれます)から保護されます。イントラネットページのフレーム化、ページからの画像やリソースの読み込み、CORS XHRリクエストの送信など。

私はこれが古い投稿であることを知っていますが、Microsoft MSDNサイトはまだIE11に関してそれを参照しているため、情報はまだ関連しているようです(例: デスクトップIEの拡張保護モード )。 IE11はEdgeではないことも知っていますが、この情報はメトロスタイルのアプリにも当てはまるかもしれません。

[[〜#〜] update [〜#〜]]

私の設定では、Edgeはページをiframeに読み込めませんでした。別の[エッジ]タブにページをロードしようとすると、問題なくロードされました。

セキュリティで保護されたパブリックページのロードと連動して、Edgeがプライベート/ローカルのセキュリティで保護されたSSLページ(iframe)のロードに失敗することが判明しました。両方のサイトは、混合コンテンツの問題を防ぐためにパブリックSSL証明書を使用して保護されています。問題は、iframeサイトがユーザーのローカルネットワーク(プライベート/ドメインネットワーク)上にあることをEdgeセキュリティが検出し、ページがiframeに読み込まれないようにすることです。 Edgeは、開発者コンソールで次のセキュリティエラーを報告します。

SEC7117: Network request to https://my.company.com/default.html did not succeed. This Internet Explorer instance does not have the following capabilities: privateNetworkClientServer
SEC7111: HTTPS security is compromised by ms-appx-web://Microsoft.microsoftedge/assets/errorpages/dnserror.html

この問題を解決するために、内部サイトを非ローカルアドレススペース(ローカルネットワークとは異なるサブネットを使用するプライベートネットワークスペース)に移動して、Edgeがサイトをパブリックネットワークとして検出できるようにしました。または、リソースを実際のパブリックアドレスに移動することもできます。

7
beluga

ネットワークを再構築するための2つの選択肢があります。

  1. 外部ホストサイトを「ローカルイントラネット」ゾーンに追加することを検討できます。

例えば。 external.somedomaininternal.mydomain/whatever.jsへの参照が含まれる場合次に、external.somedomainを「インターネットオプション」の「ローカルイントラネット」ゾーンに追加します。

  1. 可能であれば、外部でホストされているサイトのホスト名を、内部でホストされているサイトに一致するように変更します。

例えば。 external.somedomaininternal.mydomain/whatever.jsへの参照が含まれる場合次に、external.somedomainホスト名をexternal.mydomainに変更します。

これらのオプションはどちらも、基本的に外部サイトのスクリプトが内部ネットワーク上のHTTPSサービスをある程度調査できるようにします。 2番目のオプションとして最も安全性が低い最初のオプションは、一致するドメイン名のプローブに制限されます。

テスト中、Windowsがドメインに参加している場合、EdgeはActive Directoryからネットワークの詳細を取得しているように見えることに気付きました。接続している現在のサブネットだけでなく、ADドメイン内の任意の場所でホストされているリソースにリンクする外部ホストサイトを防ぐ可能性があります。 1つの例外は、外部でホストされているサイトが同じベースドメイン名を共有している場合です。これはすべて明らかに文書化されていないため、ここにこの情報を掲載しています。

2
Sam Hall