Hebikuzure's Tech Memo

2014年11月13日

IE11 の「エンタープライズ モード」の新機能 – ドキュメント モードの指定

Filed under: Internet Explorer — hebikuzure @ 9:32 午後

Announcing improvements to the Enterprise Mode Site List
http://blogs.msdn.com/b/ie/archive/2014/11/11/announcing-improvements-to-the-enterprise-mode-site-list.aspx


Internet Explorer 11 の「エンタープライズ モード」は企業や組織の管理者がグループ ポリシーを通じて特定のサイトやユーザーが指定したサイトを Internet Explorer 8 互換モードで動作させることができるモードで、2014年4月の更新で新たに追加された機能です。このモードに、2014年11月の更新 (セキュリティ更新プログラム MS14-065) で新たな機能が追加されてたことが IEBlog で解説されています。

新しい機能は、Enterprise Mode Site List Manager ツールを使って作成した一覧をクライアントに提供する場合、サイトの表示方法で従来の "Default Mode" (IE11 の既定のモード) と "Enterprise Mode" (IE8 互換) に加えて、IE10 / IE9 / IE8 / IE7 / IE5 のドキュメント モードでの表示も選択できるようにするものです。これにより、エンタープライズ モードでも正しく動作させることができなかったサイトについて、管理者が一括してそのサイトを特定のドキュメント モードで表示させることができるようになります。

企業・組織内の管理者は、IE11 の標準モード (Edge モード) でもエンタープライズ モードでも正しく表示できないサイトについて、F12 開発者ツールを利用して正しく動作するドキュメント モードを確認し、そのモードを一覧に登録することで、企業・組織内のユーザーがページに適切に表示されるようにすることが可能です。またこの新機能に合せて、Enterprise Mode Site List Manager ツールも更新されていますので、古いバージョンを利用している方は新しい物に入れ替えてください。

ドキュメント モードの詳細については、TechNet の「ドキュメント互換性の定義」や川田さんのブログを参照してください。

なおドキュメント モードとエンタープライズ モードの違いは、エンタープライズ モードは Internet Explorer 全体の動作を IE8 にエミュレートするエンタープライズ モードに対して、ドキュメント モードではページのレンダリングで特定のバージョンの IE と同等になるようエミュレートするものです。つまり Enterprise Mode Site List Manager ツールを使って特定のドキュメント モードを指定しておくと、そのサイトのページはあたかも X-UA-Compatible meta タグや HTTP ヘッダーでドキュメント モードが指定されていたかのように、指定のドキュメント モードで表示されます。またページに最初から X-UA-Compatible meta タグや HTTP ヘッダーでドキュメント モードが指定されており、ツールでの指定がそれと異なるドキュメント モードだった場合は、ユーザーにページの指定をオーバーライドして良いか確認すると IEBlog には書かれています (まだ手元では動作未確認)。

具体的な指定方法ですが、まず以前に紹介したようにグループ ポリシーで [エンタープライズ モード IE の Web サイト一覧を使用する] を有効にし、一覧の参照場所 (http スキームで参照できる場所) を指定します。次に更新された Enterprise Mode Site List Manager ツールを利用して、エンタープライズモードやドキュメント モードを指定するサイトの一覧を作成します。

無題

Edge Mode は IE11 のネイティブなモード、Enterprise Mode は IE8 エミュレート、その他は IE11 でのそれぞれのドキュメント モードによる互換表示です。

無題2

作成した一覧を XML ファイルとして保存し ([File] – [Save to XML])、保存したファイルをポリシーで指定した参照場所に配置します。細かな手順は過去記事の「IE11 の新機能 – エンタープライズ モード 」や TechNet の記事「Enterprise Mode Site List Manager ツール」を参照してください。

さて、この新機能ですが、考えようによってはもう IE10 や IE11 のシェアが高くなっており、古いドキュメント モードでないと動作しないようなサイトで X-UA-Compatible の提供もしていない (つまりそのままでは新しい IE で正しく表示されない) ような所はほとんど無さそうで、今更こういう機能を付けて何か大きなメリットがあるのだろうか、と疑問に思う方もいるでしょう。実はこの機能は現行の Internet Explorer 11 について重要と言うより、次のバージョンの Internet Explorer で重大な意味を持ちます。IEBlog の新しい記事「Living on the Edge – our next step in helping the web just work」によると、次期バージョンの Internet Exploer では現在のドキュメント モードの非推奨をさらに進めて、公開されているインターネット上のサイトはすべて X-UA-Compatible を無視し、新しい Edge モード (最新バージョンのネイティブなモード) で表示されるようになります。ドキュメント モードはイントラネットのサイト、互換表示リスト (CV リスト) での指定、そしてこのエンタープライズ モードでの指定を除き、利用されなくなります。

次期 IE での変更点についてはこの後で別記事でも投稿する予定です。

これでこの機能の重要性が理解できるでしょう。企業・組織内の管理者は、次期バージョンの Internet Explorer に備えて、(サイト側がそれまでにモダン ブラウザー対応できなかった場合への保険として) エンタープライズ モードを展開し、ユーザーが業務上利用するサイトのそれぞれで適切なドキュメントモードを指定しておく必要があります。また X-UA-Compatible を無視する新しい Internet Explorer の動作は最新の Windows 10 Preview に実装されていますので、そちらでの動作検証も進めていく必要があるでしょう。

なお、2014年11月の更新 (セキュリティ更新プログラム MS14-065) ではこの新機能の他に、以下の変更が行われています。

  • Windows Vista SP2 と Windows Server 2008 SP2 用の IE9 での古い ActiveX コントロールのブロック機能の追加
  • バージョン 5.1.30514.0 未満の Silverlight ActiveX コントロールのブロック開始

2014年10月15日

11月の更新で古い Silverlight ActiveX のブロック開始

Filed under: Internet Explorer — hebikuzure @ 8:45 午後

October 2014 updates and a preview of changes to out-of-date ActiveX control blocking
http://blogs.msdn.com/b/ie/archive/2014/10/14/october-2014-updates-and-a-preview-of-changes-to-out-of-date-activex-control-blocking.aspx


8月に「Internet Explorer で古いActiveX のブロックを開始」という記事を投稿して、古い Java の ActiveX が 9月からブロックされる事についてお知らせしていましたが、11月の Windows Update での更新で古い Silverlight の ActiveX が次のブロック対象となる事か公開されています。対象となる Silverlight のバージョンは、5.1.30514.0 未満です。

日本では Silverlight が GYAO のような動画配信サイトで良く利用されていて、インストールされているコンシューマ PC の数も多いはずです。エンタープライズ環境であれば、前の記事でも書いたようにグループ ポリシーでブロックを無効にすることができますが、コンシューマ環境ではブロックを解除するのはちょっと難しいので、結構多くの人が影響を受けるのではないかと予測されます。

基本的には最新版の Silverlight に更新する事がお勧めですが、どうしても最新版への更新ができない (更新自体がエラーなどでできない、または何らかの理由で更新したくない) 場合は、Microsoft のサポート(Answer Desk) や専門のサポート業者など、専門家に相談される事を強くお勧めします。

2014年8月31日

ポッドキャスト「Internet Explorerのちょっとした小技」

Filed under: Internet Explorer — hebikuzure @ 11:15 午前

WoodStreamのデジタル生活 (マイクロソフト系Podcast) 第255回 Internet Explorerのちょっとした小技
http://windows-podcast.com/podcast/archives/431


Microsoft MVP木沢 朋和さんは毎週 Windows 関連の話題をポッドキャストで配信されていますが、今週の内容が「Internet Explorerのちょっとした小技」ですので、紹介させていただきます。

参考になると思いますので、ぜひご一聴を。

2014年8月20日

Internet Explorer の修正プログラム kB2991509

Filed under: Internet Explorer — hebikuzure @ 8:27 午後

Internet Explorer may become slow or unresponsive when web applications implement consecutive modal dialog boxes
http://support.microsoft.com/kb/2991509/en-us


8月13日 に Internet Explorer の累積的更新プログラム (http://support.microsoft.com/kb/2976627) がリリースされたばかりですが、セキュリティではない問題の修正プログラムが8月14日に公開されています。

修正内容は、MS14-037 (http://support.microsoft.com/kb/2962872/) または MS14-051 (http://support.microsoft.com/kb/2976627/) のセキュリティ更新プログラムをインストール後、Web サイト/アプリケーションで連続してモーダル ダイアログを開くような動作があると Internet Explorer の動作が極端に遅くなったり応答がなくなったりする問題への対応です。

この問題は MS14-037 または MS14-051 をインストールした Internet Explorer 7 から 11 までのすべてのバージョンで発生します。そのため修正プログラムも Windows Vista 上の Internet Explorer 7 用から、Windows  8.1 上の Internet Exploer 11用まで用意されています。

修正プログラムはこちらの技術情報のページにダウンロード ページへのリンクがありますので、手動でダウンロードしてインストールできます。インストールの前提条件は、MS14-051 がインストールされていることです。ただしこの修正プログラムの内容は、次の Internet Explorer の累積的更新プログラムに含まれると考えられますので、現時点で不具合の影響を受けていなければ、強いてインストールする必要はないでしょう。

なお手元でこの修正プログラムをインストールして確認してみましたが、インストール後も Internet Explorer のバージョン情報に変化はありませんでした。実際に更新されるファイルも Internet Explorer のコンポーネントの一部のみでした。

手元では以下のファイルが更新されました。
ieetwcollector.exe
ieetwcollectorres.dll
ieetwproxystub.dll
ieUnatt.exe
iernonce.dll
iesetup.dll
jsproxy.dll
msrating.dll
mshtml.dll

2014年8月8日

Internet Explorer のサポートライフサイクルが変更されます

Filed under: Internet Explorer — hebikuzure @ 3:09 午後

Stay up-to-date with Internet Explorer
http://blogs.msdn.com/b/ie/archive/2014/08/07/stay-up-to-date-with-internet-explorer.aspx


Internet Explorer のサポート ライフサイクルを変更する事が Microsoft の IEBlog で公表されています。またサポート ライフサイクルのページでも既にライフサイクルに関する記述が変更されています。

従来 Internet Explorer は Windows OS のコンポーネント (一部) として提供されるので、Windows に含まれるバージョンの Internet Explorer のサポート ライフサイクルは元の Windows のライフサイクルと同じでした。例えば Windows XP に含まれる Internet Explorer 6 のサポート終了は、Windows XP と同じ 2014年4月でしたし、Windows 7 に含まれる Internet Explorer 8 のサポート終了は Windows 7 と同じ 2020年1月の予定でした。

この方針が変更されることになり、2016年1月以降、現在リリースされているバージョンの Windows では、その Windows にインストール可能な最新版の Internet Explorer のみをサポートし、それより古いバージョンの Internet Explorer はサポートを終了するとされています。例えば Windows 7 上の Internet Explorer 8 / 9 / 10 は 2016年1月でサポートが終了します。サポート終了によって提供されなくなるのは以下の二つです。

  • セキュリティ更新を含む更新プログラムの提供
  • テクニカル サポートの提供 (有償、無償を問わず。オンライン セルフ サポートは一定期間利用可能)

サポート方針変更の理由として、IEBlog では次のような事を挙げています。

  • セキュリティの向上
    新しいバージョンの IE は古いバージョンに比べてマルウェアなどの攻撃に対する耐性が高い、多くのセキュリティ機能を搭載しています。
  • 生産性の向上
    新しい IE は古い IE に比べてレンダリングも JavaScript の実行も高速になっているので、Office 365 のような Web アプリケーションの動作が軽快になり、生産性が向上します。
  • (古いバージョンでの) 機能の欠如
    他のブラウザーの最新版や新しいバージョンの IE に搭載されている Web 標準の機能の多くが古い IE には搭載されておらず、Web サイト/Web アプリケーションの動作に互換性がありません。

こうした理由から、古いバージョンの Internet Explorer の利用をやめて、新しいバージョンに変更する事は、ユーザーにとっても Web サービスの提供者や開発者にとっても大きなメリットがあると IEBlog では述べられています。

2016年1月以降にサポートされる Internet Explorer のバージョンは、Windows のバージョンに応じて以下の表のようになります。(記載のないサービス パック レベルの Windows は、サービスパック ポリシーでサポートされないバージョンです)

Windows のバージョン

Internet Explorer のバージョン

Windows Vista SP2 Internet Explorer 9
Windows Server 2008 SP2 Internet Explorer 9
Windows 7 SP1 Internet Explorer 11
Windows Server 2008 R2 SP1 Internet Explorer 11
Windows 8.1 Internet Explorer 11
Windows Server 2012 Internet Explorer 10
Windows Server 2012 R2 Internet Explorer 11

今回の変更により、Internet Explorer 8 のサポートは 2016年1月で終了する事になり、また比較的シェアの少ない Windows Vista + IE9 の組み合わせも Windows Vista 自体のサポート ライフサイクルが 2017年4月に終了するので、その時点でサポートされる Internet Exploere は 実質的に 11 のみになります (もちろんそれまでに “Windows 9” と Intenret Exploere “12” がリリースされていれば、それもサポートされます)。これは Web 開発者にとっては大きな朗報でしょう。将来的には Internet Exploere のバージョンごとの細かな違いを吸収するためのコードであれこれ悩む必要がなくなるでしょう。

ただし企業内の IT 管理者にとっては大きな課題が発生したと言えるかもしれません。Windows XP からの移行で (私もそう言いましたし、多くのエキスパートも避けた方が良いと主張した) Windows 7 + IE8 の環境を選択した所は、それで 2020年までをまかなうつもりだった予定が一挙に崩壊です。もっとも Internet Explorer 11 には Internet Explroer 8 互換で動作する「エンタープライズ モード」が搭載されており、またエンタープライズ モード自体は Windows 7 のサポートが終わる 2020年1月までサポートされる事が今回の変更と併せて公表されています。エンタープライズ モードを利用すればほとんどの問題は解決できるでしょう。

2016年1月に向けてユーザーが取るべき行動は次のようになります。

  • コンシューマ ユーザー
    もし最新版の Internet Exploer を利用していなければ、自動更新を有効にして、Internet Explorer のインストールが推奨されたら必ずインストールしましょう。
    既に最新版の Internet Exploer を利用している場合は、何もする必要はありません。
  • エンタープライズ ユーザー
    既に最新版の Internet Exploer を利用している場合は、何もする必要はありません。
    古いバージョンの Internet Explorer を利用している場合は、エンタープライズ内で利用している Web システム/Web アプリケーションが Internet Explorer 11 で問題なく利用できるか、検証を早急に開始しましょう。問題がある場合は、エンタープライズ モードで改善できるか調査しましょう。
    エンタープライズ ユーザーやエンタープライズ内の開発者向けの互換性についての情報が、以下から得られます。

なお、前述のように 2016年1月までの間に “Windows 9” と Intenret Exploere “12” がリリースされる可能性がありますが、もし Intenret Exploere “12” がダウンレベル (Windows 7 や Windows 8.1) にも提供されるとしたら、同じポリシーが適用される事になるでしょう。ただしその場合は、サービスパック ポリシーと同様一定期間 (1~2年間) の猶予期間が設けられると考えられます。

2014年8月7日

Internet Explorer で古いActiveX のブロックを開始

Filed under: Internet Explorer — hebikuzure @ 12:01 午後

Internet Explorer begins blocking out-of-date ActiveX controls
http://blogs.msdn.com/b/ie/archive/2014/08/06/internet-explorer-begins-blocking-out-of-date-activex-controls.aspx


間もなく (日本時間だと 8 月 13 日の早朝)  8 月分の Microsoft 製品の更新プログラムがリリースされて Windows Update で提供されますが、これに含まれる Internet Explorer の更新プログラムで、重要な機能の追加が行われることが IEBlog で紹介されています。

追加される機能は "Out-of-date ActiveX control blocking" と呼ばれるもので、Microsoft が提供するリストに基づいて、脆弱性のある古い (out-of-date) ActiveX コントロールの実行をブロックするものです。この機能は、以下の場合に有効になります。

  • Windows 7 SP1 上の Internet Explorer 8 から Internet Explorer 11 までのバージョンを利用している
  • Windows 8 以上のバージョンの Windows でデスクトップの Internet Explorer を利用している
  • イントラネット ゾーンと信頼済みサイト ゾーン以外のゾーンのサイトを開く

これらの条件で、古い ActiveX コントロールを有効にしようとするページを開くと、以下のような警告が表示されます。

Prompt telling user that the page has loaded an out of date ActiveX control in Internet Explorer 9-11.
Internet Explorer 9 から 11 までの場合

Prompt telling user that the page has loaded an out of date ActiveX control in Internet Explorer 8.
Internet Explorer 8 の場合

[Update] を選択すると、新しいバージョンの ActiveX がダウンロード/インストールできるページが開きます。[Run this tiem] (今回だけ実行) を選択すると、現在のセッションでのみ ActiveX コントロールが実行されます。同じページを再度開いた場合は、また同じ警告が表示されます。

また Web ページからダウンロードされるデータで、ブロックされる ActiveX と同じプログラムのブラウザー外実行が開始される場合も、次のような警告が表示されます。

Out-of-date ActiveX control blocking also gives you a security warning that tells you if a webpage tries to launch specific outdated apps, outside of Internet Explorer.

ブロックする ActiveX コントロールのリストは Internet Explorer version list で提供されます。Internet Explorer は定期的にこのファイルをチェックし、新しいバージョンのリストがあればダウンロードして利用します。現在ブロック リストに載っている ActiveX コントロールは以下の古い Java です。※8/12追記 これらの Java コントロールに対するブロックはは9月9日以降に有効になり、警告が表示されるようになります。

  • J2SE 1.4, update 43 未満
  • J2SE 5.0, update 71 未満
  • Java SE 6, update 81 未満
  • Java SE 7, update 65 未満
  • Java SE 8, update 11 未満

このリストには今後、さまざまな古い ActiveX コントロールが掲載される予定です。

またこの機能に関する新しいグループ ポリシーも提供されます。新しいポリシーは以下の 4 つです。

  • Logging (ログを有効にする)
    “Turn on ActiveX control logging in Internet Explorer”  を有効にすると、どのような ActiveX がどのような理由で警告されブロックされたのかのログが出力されます (どのようなログなのか IEBlog には記載がないのですが、おそらくイベント ログでしょう)
  • Enforced blocking (ブロックを強制する)
    “Remove Run this time button for outdated ActiveX controls in Internet Explorer” を有効にすると、リストに載っている ActiveX の動作を許可できなくします。警告のメッセージで [Run this tiem] (今回だけ実行) が表示されなくなります。
  • Selected domains (ドメインを選択する)
    “Turn off blocking of outdated ActiveX controls for Internet Explorer on specific domains” を有効にしてドメインを指定すると、指定したドメインでは ActiveX のブロックが無効になります。
  • Turned off (無効にする)
    “Turn off blocking of outdated ActiveX controls for Internet Explorer” を有効にすると、 ActiveX のブロックが無効になります。

これらの新しいポリシーを含む管理用テンプレートは、以下からダウンロードできます (公開は日本時間 8/13 予定)。

また追加情報が Internet Explorer 11 (IE11) – Deployment Guide for IT Pros (日本語版) で公開されるとのことです。

実際のブロックが開始されるまで 1週間程度しかありません。もし企業内などでインストールされている Java のバージョンを制御していて、そのバージョンが古い場合は影響が出る可能性があります。企業内サイトであれば「イントラネット ゾーン」になっているので問題ないでしょうが、外部サイトの閲覧で影響がありますし、もし内部サイトが何らかの理由 (ドメイン名の割り当てなど) でインターネット ゾーンに認識されている場合はそちらにも影響が及びます。Java 自体のバージョンアップを早急に行う事が望ましいのですが、それができない場合は上記のグループ ポリシーの利用を検討しましょう。

2014年7月23日

IE の互換表示リストにサブ ドメインを指定する

Filed under: Internet Explorer — hebikuzure @ 5:38 午後

Internet Explorer 8 以降の機能として、よく知られている「互換表示」があります。これは指定した Web サイトを IE7 互換のレンダリングで表示するという機能です。

互換表示の詳細については以下を参照すると良いでしょう

互換表示するサイトの指定は、通常マイクロソフトが提供する互換表示リスト (CV リスト) とユーザーの指定の両方を利用します。CV リストにはマイクロソフトの調査及びサイトの運営者からの申告に基づき、互換表示をしないと動作に問題が出るサイトの URL が含まれており、定期的に最新の情報に更新されます。[ツール] (歯車マーク) – [互換表示][Microsoft 互換性リストの使用] にチェックが入っていれば、このリストが利用されます。ユーザーの指定も同じ下図のダイアログ ボックスで行えます。

01

とろこがここで一つ問題があります。このダイアログ ボックスで互換表示を登録すると、ドメイン単位で登録され、サブ ドメインが登録できません。例えば "windows.microsoft.com" を互換表示させたいと思って「追加する Web サイト」に入力しても、[追加] ボタンをクリックすると "microsoft.com" が登録されてしまいます。このような動作のため、例えば共有ドメインでホストされているサイト (プロバイダーのホスティング サービスや Microsoft Azure で独自ドメインを使わない場合など) では、同じドメインの異なるサイトすべてが互換表示に登録されてしまい、不便です。

残念ながら、Internet Explorer のユーザー インターフェイスから互換性リストにサブ ドメインを登録する事はできません。しかしグループ ポリシーを使えばサブ ドメイン単位で互換表示を指定する事が可能です。

  1. グループ ポリシーの以下の項目を開きます。(「コンピューターの構成」「ユーザーの構成」どちらでも可)
    [管理用テンプレート] – [Windows コンポーネント] – [Internet Explorer] – [互換表示] – [Internet Explorer 7 サイトのポリシー一覧を使用]

    02
  2. [有効] を選択し、[サイトのリスト] [表示] をクリックします
  3. 互換表示したいサイトを、サブ ドメインを含めて指定します

    03

  4. [OK] を続けてクリックして全てのダイアログを閉じます。

これで登録したサブ ドメインに対してのみ互換表示させることができます。

グループ ポリシー エディターの付属しないエディションの Windows の場合、以下のレジストリを構成する事で同等の設定が可能です。

  • キー
    HKEY_CURRENT_USER(HKEY_LOCAL_MACHINE)\Software\Policies\Microsoft\Internet Explorer\BrowserEmulation\PolicyList
  • 名前
    互換表示するサイトの URL (サブドメイン含む)
    ex. pa.hebikuzure.com
  • 種類
    REG_SZ
  • データ
    互換表示するサイトの URL (サブドメイン含む)
    ex. pa.hebikuzure.com

参考 : ADD *SUBDOMAINS* TO THE COMPATIBILITY VIEW LIST (http://netitude.bc3tech.net/2013/09/11/add-subdomains-to-the-compatibility-view-list/)

2014年6月17日

Internet Explorer Developer Channel 登場

Filed under: Internet Explorer — hebikuzure @ 1:48 午前

Announcing Internet Explorer Developer Channel
http://blogs.msdn.com/b/ie/archive/2014/06/16/announcing-internet-explorer-developer-channel.aspx


Chrome だと canary 、Firefox だと aurora といったように、最近の主要なブラウザーではリリース バージョン (安定バージョン) の他に、開発中の機能や実験的な機能を含んだプレリリース バージョンを常時用意して、開発者や IT プロフェッショナルが近い将来に利用可能になるさまざまな機能を試したり、その機能を利用した開発が行えるようになっています。またこれらのプレリリース バージョンはリリース バージョンと同時にインストールして利用できるようになっているので、手軽に試しやすくなっています。

Internet Explorer では、IE9 以降、開発の初期にはレンダリング エンジンやスクリプト エンジンだけの Platform Preview が提供され、リリース バージョンと同時にインストール/実行が可能でしたが、開発が進むとリリース バージョンを置き換える形での提供に変更され、手軽に試すにはちょっと敷居が高かったのでした。これについては開発者や IT プロフェッショナルの希望として他のブラウザー同様にリリース バージョンとのサイド バイ サイド インストールが可能なプレリリース バージョンを望む声が高く、多くのフィードバックが寄せられていたようです。

そしてついに Internet Explorer にもリリース バージョンとサイド バイ サイド インストールできるプレリリース バージョンが登場しました。「Internet Explorer Developer Channel」です。Internet Explorer Developer Channel は IE11 と同じく、Windows 7 SP1 と Windows 8.1 で利用可能です。

Windows 7 SP1 では前提条件として、Internet Explorer 11 / Microsoft .NET Framework 4.0 (フル バージョン) / PowerShell 3 (Windows Management Framework 3.0 に含まれています) が必要です。
Windows 8.1 では、Windows 8.1 Update が適用済みである必要があります。

Internet Explorer 11 から Internet Explorer Developer Channel での変更点 (追加機能) については Dev Channel のページDev Channel のページや MSDN のサイトで詳しく説明されていますが、以下のようなものです

  • F12 開発者ツールの機能強化
  • WebDriver API のサポート
  • WebGL の強化
  • Gamepad API のサポート

Web 開発者や IT プロフェッショナルの皆さんは、ぜひ「Internet Explorer Developer Channel」をインストールし、試してみてください。。「Internet Explorer Developer Channel」は Microsoft ダウンロード センターの以下のページから入手できます (32ビット版用/64ビット版用共に入手できます)。

インストールすると、以下のスクリーン ショットのようにリリース バージョンの Internet Explorer 11 と Internet Explorer Developer Channel を同時に実行できるようになります。

キャプチャ

NOTE : Internet Explorer Developer Channel は App-V のテクノロジーにより仮想化して実行されます。そのためネイティブで実行されるリリース バージョンに比べてパフォーマンスでは不利です。そのためパフォーマンスの計測については利用できないので、注意が必要です。
その他の注意事項や制限事項については、Internet Explorer Developer Channel FAQ のページを参照してください。

2014年5月27日

Fiddler を利用したモジュール置き換えデモの解説

Filed under: Internet Explorer — hebikuzure @ 3:06 午後

Fiddler でモジュール入れ替えテストを手軽に
http://www.slideshare.net/hebikuzure/fiddler-autoresponder


先日 (5/23) の「第5回 HTML5ビギナーズ(jQueryをやります!)」で「Fiddler でモジュール入れ替えテストを手軽に」というライトニング トークを行いました。その際に実施したデモの手順を解説したいと思います。

ライトニング トークのスライドはこちらからご覧いただけます

デモの内容の概要は、Fiddler の AutoResponder 機能を利用して、Web サイトの特定のコンテンツを別の物に差し替えてクライアント (ブラウザー) に渡すというもので、今回の場合は jQuery を異なるバージョンに置き換えました。それでは実際のデモ環境の作成と、デモの手順を説明しましょう。

環境の作成

デモ環境は、Windows クライアントに Fiddler をインストールするだけです。Fiddler は以下のページから最新版をダウンロードしてインストールします。

Fiddler の動作には .NET Framework が必要なので、インストール済みの .NET Framework がある場合はそれにあわせて Fiddler4 または Fiddler2 をダウンロードします。なお Windows 7 には .NET Framework 2.0 を含む 3.5.1 が、Windows 8 には .NET Framework 4.0 を含む 4.5 が、Windows 8.1 には .NET Framework 4.0 を含む 4.5.1 含まれています。

アルファバージョンの mono 版もあり、Linux や MacOS にもインストール可能ですが、まだ動作が安定しておらず機能も十分でないようなので、実験的に試す場合以外はお勧めできません。Linux や MacOS の場合は、modern.IE からダウンロードできる IE テスト用仮想マシンを利用して、その上に Fiddler をインストールするのが良いでしょう。

なお Windows 8 / 8.1 を利用する場合、イマーシブ モード (元 Metro、スタート画面の、とも言います) の Internet Explorer (IMIE) や、拡張保護モードが有効なデスクトップ版の Internet Explorer は、そのままでは Fiddler を利用できません。これは、それらの Internet Explorer は AppContainer と呼ばれる一種のサンド ボックス内で動作しており、AppContainer 内のアプリは既定では Loopback (Lochalhost、127.0.0.1) にアクセスできないという制限が付けられているためです。
Windows 8 / 8.1 で試す場合は、Internet Explorer 以外のデスクトップ版ブラウザーを利用するか、または Internet Explorer の拡張保護モードが有効の場合は無効に設定変更してから実行しましょう。拡張保護モードは [インターネット オプション] の [詳細設定] タブから変更できます。

epm

拡張保護モードが有効だった場合は、テストが終わったら有効に戻しておくことをお勧めします。拡張保護モードによってより強力なセキュリティ上の保護が得られます。
また Fiddler に付属している AppContainer Loopback Exemption Utility を利用して、AppContainer 内のアプリに対して Loopback へのアクセスを許可するよう構成することもできます。

デモの実行

デモではテスト サイト (http://ammay23.azurewebsites.net/) を利用しました。このサイトは Microsoft Azure の無料の Web サイト プランで5分位で作成したものですが、他の jQuery を使っているサイトでも同様のテストが可能です。

デモは以下の手順で実行できます。

  1. 置き換えるコンテンツを用意します
    今回はサーバーから提供される jquery.min.js (バージョンは 1.11.1) を jquery-2.1.1.min.js に置き換えたいので、jQuery のサイトからダウンロードしてローカルに保存しておきます
  2. Fiddler を起動します
    起動するとすぐに HTTP トラフィックのキャプチャが開始され、左側のペインにセッション リストが表示されます
  3. Fiddler のウィンドウの右下、[Capturing] (キャプチャ中) の表示の隣をクリックし、[Web Browsers] を選択しておきます。
    fiddler01
    これでブラウザー以外のアプリケーションからのトラフィックはキャプチャされなくなります。
  4. Ctrl + x を押していったんセッション リストをクリアします
  5. ブラウザーでテスト サイトを開きます
    Fiddler にはテスト サイトへのアクセスが記録されます
  6. Fiddler のウィンドウの右下の [Capturing] をクリックして、いったんキャプチャを停止します
  7. ここで開いた Web ページの [Show jQuery version] をクリックすると、以下のように 1.11.1 が表示されます
    キャプチャ
  8. ページのソースを確認すると、
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    となっています
  9. Ctrl + f を押して検索ダイアログを呼び出します
    今回は jquery.min.js を置き換えたいので、[Find] 欄に jquery.min.js と入力し、[Find Sessions] をクリックします
    fiddler02
  10. jquery.min.js を取得しているセッションがハイライトされます
    fiddler03
  11. 見つかったセッションをクリックして選択し、右側のペインで [AutoResponder] タブをクリックします
    [AutoResponder] タブに切り替えたら、[Enable automatic responses] と [Unmatched requests passthrough] にチェックを入れます
    fiddler04
  12. [Add Rule] をクリックします
    下の方の [Rule Editor] 欄が利用可能になります。上のボックスに置き換えたいリソースのセッションにマッチする条件を指定します。今回は jquery.min.js を別の内容に置き換えたいので、以下のように “jquery.min.js” だけ残しておけば良いでしょう。
    fiddler05
    ※ ここでは正規表現を含む複雑なマッチ条件を記述可能です
    右側の Test… をクリックすると、入力したパターンが選択中のセッションにマッチするか確認できます
  13. 下のボックスで置き換えるコンテンツの取得先を指定します。
    今回はローカルに保存した jquery-2.1.1.min.js を指定しますので、ドロップダウンから [Find a file…] を選択し、保存したファイルを選択します
    fiddler06
  14. [Save] をクリックすると、AutoResponder が記録され、有効になります
  15. Fiddler の右上にある [Clear Cache] キャプチャ2をクリックして Internet Explorer のキャッシュを削除します
    ※ Internet Explorer 以外のブラウザーを使う場合は、それぞれのブラウザーの方法でキャッシュをクリアします
  16. Fiddler のウィンドウの右下 (最初に [Capturing] と表示されていた場所) をクリックして、キャプチャを再開します
  17. ブラウザーに戻って、F5 を押すなどしてテスト サイトのページを更新します
  18. ここで開いた Web ページの [Show jQuery version] をクリックすると、以下のように 2.1.1 が表示されます
    キャプチャ3
  19. ページのソースを確認すると、
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    となっており、最初と変わらないことが確認できます

以上、勉強会当日のデモ手順でした。

Fiddler についてはライトニング トークのスライドにも書いていますが、「実践 Fiddler」(https://www.oreilly.co.jp/books/9784873116167/) が最良の解説書です。興味のある方はぜひこちらを読んで、さらに検証や開発に役立ててください。

2014年5月2日

IE のゼロデイへの修正プログラム提供開始

Filed under: Internet Explorer — hebikuzure @ 2:31 午後

MS14-021: Security update for Internet Explorer: May 1, 2014
https://support.microsoft.com/kb/2965111/en-us


ここ数日世間を騒がしていた Internet Explroer のゼロデイ攻撃を伴う脆弱性ですが、本日未明 (日本時間) に修正プログラムの提供が開始されました。
修正プログラムの適用により、今回の脆弱性は回避できますので、早急にインストールしましょう。

なおセキュリティ修正プログラムに関する日本語版サポート技術情報は現時点では非常に品質の良くない機械翻訳で日本語として意味をなさない状態なので、修正プログラムに関する情報は以下の日本のセキュリティ チームの記事で確認すると良いでしょう。

セキュリティ アドバイザリ (2963983) の脆弱性を解決する MS14-021 (Internet Explorer) を定例外で公開
http://blogs.technet.com/b/jpsecurity/archive/2014/05/02/security-update-ms14-021-released-to-address-recent-internet-explorer-vulnerability-2963983.aspx

注意事項

  • インストール上の注意
    今回のセキュリティ更新プログラムは、通常のセキュリティ更新プログラムとは異なり「累積的」ではありません。そのためこの更新プログラムをインストールする前に、Internet Explorer 用の累積的なセキュリティ更新プログラムをインストールする必要があります。最新の更新プログラムは4月9日 (日本時間) に公開された「マイクロソフト セキュリティ情報 MS14-018 – 緊急 Internet Explorer 用の累積的なセキュリティ更新プログラム (2950467)」です。4月の Windows Update の更新をインストールしていればMS14-018 の更新プログラムはインストールされているはずですが、もし未インストールの場合はまずこちらをインストールする必要があります。Windows Update を行えば、まず MS14-018 がインストールされ、再起動後にもう一度 Windows Update 行うと今回の MS14-021 がインストールされるはずですので、手動で Windows Update をする際は 2回続けて実行してください。
  • 提供範囲
    Microsoft の方針では、4月9日の更新プログラムの公開後は、以下の条件の環境への新たなセキュリティ更新プログラムの提供が行われない予定でした。
    ・Windows XP のすべてのエディション
    ・2919355 の更新プログラム (Windows 8.1 Update) をインストールしていない Windows 8.1
    しかし今回のセキュリティ更新プログラムでは、影響を考慮してこの二つの環境についても更新プログラムが提供されます。詳しくはセキュリティ チームの記事を参照してください。
  • 二つの修正プログラム
    今回の修正プログラムでは、2種類の修正プログラムが提供されます。Windows Update を行うと、利用している環境によっていずれか適切な物が検知され、インストールできます。両方をインストールする必要はありませんので、注意してください。
    二つに分かれているのは、上記で説明した 2919355 の更新プログラム (Windows 8.1 Update) のインストールの有無、および Windows Vista / Windows 7 上の Internet Explorer へのバックポートを含む 2929437 のインストールの有無、によって提供される内容が異なるからです。Windows  Update 経由でインストールする場合は自動的に判定されるので気を遣う必要がありませんが、手動でインストールする際はセキュリティ チームの記事を参照して、適切な方をインストールしてください。
  • 回避策の影響
    修正プログラム提供以前に提示されていた回避策の内、vgx.dll モジュールのアクセス制御リストを変更する方法を実施していた場合、この更新プログラムのインストール前に回避策を無効にし、vgx.dll へのアクセス権を元に戻す必要があります。元に戻さないと更新プログラムのインストールに失敗するので注意してください。
    それ以外の回避策については元に戻さずそのまま更新プログラムのインストールができます。必要に応じて回避策実施以前の設定に戻してください。ただしこれらの回避策はいぜれも今後の未知の攻撃に対して非常に有料かつ強力な防御策となりますので、セキュリティを強化する意味ではそのまま利用される事をお勧めします。
« Newer PostsOlder Posts »

WordPress.com で無料サイトやブログを作成.

  • WordPress.com で次のようなサイトをデザイン
    始めてみよう