IIS の Server ヘッダーを消去する

こんにちは!IIS サポートの月尾です。 今回は、お問い合わせいただくことの多い IIS の Server ヘッダーを隠ぺいする方法についてご紹介します。 IIS をご利用で、ホストしている Web サーバーや、そのバージョンが判明してしまうとセキュリティ上望ましくないとの診断を受けたり、Server ヘッダーでクライアントに返される情報を隠したいという方は、どうぞ最後までお目通しいただけますと幸いです。   まず、IIS が返す HTTP ヘッダー内の Server ヘッダーには、以下の 2 種類があります。   ———-    1. IIS 自身が返す Server ヘッダー (Server: Microsoft-IIS/<version>)    2. HTTP 通信を管理するドライバである http.sysが返す Server ヘッダー (Server: Microsoft-HTTPAPI/<version>)   通常は、1. の形式の Server ヘッダーが使用されます。 HTTP.sys にてエラーが発生した場合などで IIS にて処理されなかった場合には 2.の形式の応答が使用されます。 ———-   上記それぞれについて、隠ぺいする方法をご紹介します。    …


“X-Forwarded-For” ヘッダーを IISログに出力したい!

こんにちは。 日本マイクロソフト、IIS サポートの鈴木です。 今回は、お問い合わせの多い、HTTP の拡張ヘッダー ” X-forwarded-For ” をログに出力する方法をご紹介します。   ※X-Forwarded-For (XFF) は、HTTPヘッダーフィールドの一つです。 HTTPプロキシサーバー、または、負荷分散装置(ロードバランサ)を経由して、ウェブサーバーに接続するクライアントの送信元IPアドレスを特定する際に使用されます。   イメージはこんな感じです。   ” X-Forwarded-For ” の ログ出力方法 ” X-Forwarded-For ” をログに出力するには、以下の方法があります。 1. Advanced Logging ※IIS 7.0 以降 2. Enhanced Logging ※IIS 8.5 以降 3. ARR Helper ※IIS 7.0 以降 4. サードパーティ製の ISAPI フィルター(F5XForwardedFor)   <<お選びいただく際のポイント>> IISのバージョンによって、お使いいただける機能が異なります。 Windows Server 2012 R2…


Application Initialization 機能有効化時に HTTP Module 内でサーバー変数を取得すると発生する問題について

こんにちは。 日本マイクロソフト、CSS デベロッパー ツールズ AppPlat の神田一行です。 今回は IIS に古くから存在する ISAPI モジュールと IIS 8.0 で標準搭載された Application Initializationを組み合わせて利用した際に発生する可能性があるトラブルについて、お伝えさせていただきます。 Application Initialization について IIS は、既定でサービス開始直後にワーカープロセスを起動しません。ユーザーからのリクエストを受けてからワーカープロセスを起動し、その中で ASP.NET の初期処理などを行っています。結果、最初にリクエストを行うユーザーは、通常時と比べて応答に時間がかかる (初期化が完了するまで待たされる) こととなります。 この初回リクエストにかかるコストを軽減するための機能として Application Initialization が提供されており、自動的にワーカープロセスを起動させる機能と、仮想的な要求を内部的に発行し、該当の初期化処理を事前に終わらせる機能、の組み合わせで実現されています。 症状 IIS 上にホストしたページにアクセスした際、ブラウザーからの応答が無くなる、もしくは、503 Service Unavailable エラーが表示されます。 また、IIS サーバー上のイベントログに以下の様なログが繰り返し記録されます。 条件 本事象は、次の条件を全て満たすことで発生します。 Windows Server 2012 から標準機能として搭載された Application Initialization を役割サービスから有効にする Web サイトやアプリケーションの詳細設定において、”有効化されたプリロード” が True となっている 処理の過程で “UNENCODED_URL” サーバー変数を参照する ISAPI…


IIS7 以降の静的コンテンツの圧縮について

こんにちは。日本マイクロソフト、CSS デベロッパー ツールズ AppPlat の月尾です。 今回は、静的コンテンツの圧縮が行われる条件の一つとして、コンテンツへのアクセス頻度が関連していることについてお知らせいたします。 静的コンテンツの圧縮の設定について 静的コンテンツの圧縮を有効にするためには、以下の設定が必要となります。 1. Web サーバーの役割サービスから、[パフォーマンス] – [静的コンテンツの圧縮] を有効にします。 HTTP 圧縮 <httpCompression> – セットアップhttps://technet.microsoft.com/ja-jp/library/ee431600.aspx#ghi 2. IIS マネージャーで、サーバーを選択した状態で、機能ビューにある [圧縮] から以下の設定を行います。    [静的なコンテンツの圧縮を有効にする] : チェックを入れます   [次の値より大きいファイルのみ圧縮する (バイト)] : 圧縮を行いたいファイルの最小のサイズを設定します   [キャッシュ ディレクトリ : 圧縮を行ったファイルの保存先のディレクトリを設定します 圧縮を構成する (IIS 7)https://technet.microsoft.com/ja-jp/library/cc730629(v=ws.10).aspx 3. 圧縮を行う対象のコンテンツ タイプを追加します。 IIS 7.0 で HTTP 圧縮対象のコンテンツ タイプを追加する方法https://support.microsoft.com/ja-jp/kb/969062 静的な種類 <staticTypes>https://technet.microsoft.com/ja-jp/library/ee431653.aspx 静的コンテンツの圧縮の確認方法について 上記を設定した状態で実際に静的コンテンツにアクセスしてみます。この際、IE の F12 開発者ツールや、Fiddler…


ASP.NET 3.5 までの TextBox コントロールを MultiLine で使用した場合の障害について

こんにちは。日本マイクロソフト、CSS デベロッパーツールズ AppPlat の伊東です。今日はASP.NET 3.5 の障害について紹介させて頂きます。 概要 ASP.NET 3.5 までの TextBox コントロールを MultiLine で使用した場合、Text プロパティ冒頭の改行コードが、ポストバックによって取り除かれます。 詳細 以下のように、.aspx に Button コントロールと TextBox コントロールを配置します。     <form id="form1" runat="server">         <asp:Button ID="Button1" runat="server" Text="Button" />         <asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine"></asp:TextBox>     </form> 以下のように、Page_Load イベント初回にて、TextBox コントロールの Text プロパティに、冒頭に複数の改行を含めた文字列をセットします。     protected void Page_Load(object sender, EventArgs e)     {         if…


IIS 7.5 (Windows Server 2008 R2) 以降のアーキテクチャについて

こんにちは。日本マイクロソフト、CSS デベロッパー ツールズ DSI の牧です。 Windows 2000 時代の IIS 5.0 は inetinfo.exe というプロセスが一つでほぼすべてを取り仕切っていました。Windows Server 2003 の IIS 6.0 では HTTP 通信部分が http.sys、アプリケーションワーカープロセスは w3wp.exe と役割分担がされました。これによってパフォーマンスやセキュリティが向上しましたが、他方、問題が発生した際にいったいどの部分でエラーとなっているかが、分かりにくくなっている事は否めません。 本トピックでは、IIS 7.5(Windows Server 2008 R2)以降、IIS を構成するコンポーネントを説明し、それらコンポーネントがどの様に処理を行うかを解説したうえで、本題の IIS が行うエラー制御処理についてどこでエラーが起きたらどのように観測されるのか、といった点を簡単に解説します。 IIS を構成するコンポーネントについて まず、IIS のコアコンポーネントをご紹介したいと思います。 HTTP プロトコルスタック (HTTP.sys)HTTP.sys は、端的に言うと HTTP/HTTPS 用の通信ドライバです。HTTP コネクションの管理、HTTP ヘッダー解析、URL/URI/IRI の解析、HTTP リクエストのログ機能、キャッシュ機能、および、SSL 機能等、多くの機能が HTTP.sys に搭載されています。 Windows プロセスアクティブ化サービス (Windows Process Activation Service :…


[ご注意ください] 12月10日に Windows Update で配信された Visual Studio 2012 対象の更新プログラム KB3002339 をインストールするとシステムのハングアップなどの問題が発生する

※ 本件は、Visual Studio サポート チームのブログの転載となります。2014 年 12 月 10 日に公開され、Windows Update で配信された Visual Studio 2012 対象の KB3002339 の更新プログラムをインストールすると、Windows Update が完了しない、システム再起動時に更新が完了せずシステムがハングアップしてしまうという現象が発生することを確認いたしました。 KB3002339 https://support.microsoft.com/kb/3002339/ 本問題の報告を受け、Windows Update の配信は既に停止いたしましたが、Windows Server Update Services (WSUS) を使用して更新プログラムを配信されているお客様におかれましては、本更新プログラムの配信を停止していただけますようお願い申し上げます。 既に本更新プログラムを適用し、ハングアップなどの現象が発生している環境での復旧方法につきましては、現在調査中です。進展があり次第、Visual Studio チーム記事にて情報公開させていただきます。最新の内容は下記 Visual Studio チームブログをご覧ください。 Visual Studio サポートチームブログ[ご注意ください] 12 月 10 日に Windows Update で配信された Visual Studio 2012 対象の更新プログラム KB3002339 をインストールするとシステムのハングアップなどの問題が発生するhttp://blogs.msdn.com/b/jpvsblog/archive/2014/12/10/12-10-windows-update-visual-studio-2012-kb3002339.aspx お客様には多大なご迷惑をおかけしておりますこと、深くお詫び申し上げます。


Windows Server 2008/IIS 7.0 以後におけるパスワード変更機能について

こんにちは。日本マイクロソフト、デベロッパー サポート DSI の澤田です。 Windows Server 2003/IIS 6.0 まで Web アプリケーション経由でユーザーのパスワードの有効期限切れ事前通知機能、および、パスワード変更機能として IISADMPWD を提供していました。しかし、IISADMPWD は Windows Server 2008/IIS 7.0 以降のバージョンの IIS ではインストールされません。今回は Windows Server 2008/IIS 7.0 以降のバージョンのIIS における Web アプリケーション経由でユーザーのパスワードの有効期限切れ事前通知、パスワード変更確認機能、および、パスワード変更機能に関する情報を紹介します。 Windows Server 2008/IIS 7.0 以後における IISADMPWD について Windows Server 2008/IIS 7.0 以後のバージョンの IIS では、IISADMPWD はサポートしておらず、動作しません。  IISADMPWD には、IIS 6.0 のメタベースに登録された PasswordExpirePreNotifyDaysプロパティ、PasswordChangeFlagsプロパティなどの値に基づいて動作する以下の主要な 3 つの機能があります。 パスワードの有効期限切れ事前通知機能基本認証や NTLM 認証 (※)…


Windows Server 2008 または Windows Server 2008 R2 上で IIS (WWW サービスと FTP サービス) をクラスタリング構成する方法について

はじめまして。日本マイクロソフト、デベロッパー サポート DSI の澤田です。 今回は、お問い合わせの多い、IIS (WWW サービスと FTP サービス) のクラスタリング (フェールオーバークラスタリング) についてお知らせしたいと思います。これから Windows Server上で IIS のクラスター環境の構築をされる方、あるいは、既にクラスター環境で IIS を使用し、フェールーオーバーする障害が発生している方は、是非そのまま最後まで目を通してください。 Windows Server 2008 または Windows Server 2008 R2 上で IIS をクラスタリングするための技術文書 Windows Server 2008 または Windows Server 2008 R2 上では IIS のクラスタリングがサポートされています。環境構築手順は以下の技術文書にあります。 文書番号: 970759タイトル: Microsoft Windows Server 2008 フェールオーバー クラスターで IIS 7.0 World Wide Web 発行サービスを構成するhttp://support.microsoft.com/kb/970759/ja-jp 文書番号: 974603タイトル:…


Windows 認証の Web サイトで、突然認証ダイアログが出るようになる問題について

はじめまして。日本マイクロソフト、デベロッパーサポート DSI の平井です。入社以来、主に IIS、MSMQ、BizTalk Server などのサーバー系製品を担当してきました。 今日は、ワールドワイドでのお問い合わせが多く、かつインパクトの大きい現象についてお知らせしたいと思います。以下の条件にすべて合致する環境を運用されている方は、是非そのまま最後まで目を通してください。 条件 IIS 7.5 が動作している具体的には、以下の OS で IIS をインストールしている環境となります。 ・Windows 7・Windows 7 SP1・Windows Server 2008 R2・Windows Server 2008 R2 SP1 IIS の設定で Windows 認証を有効にしているWindows 認証は NTLM 認証と Kerberos 認証の 2 種類がありますが、Kerberos 認証が対象となります。両者の違いについてはここでは割愛します。 アプリケーションプールの実行アカウントが ApplicationPoolIdentity となっている。 上記条件をすべて満たした環境では、以下の技術文書に記載された問題が発生する可能性があります。 文書番号: 2545850タイトル: Users cannot access an IIS-hosted website after the computer password for…