IIS 資料。
TOP メモ全般 DNS と ActiveDirectory 関連 Windows Server 2003 SP1 関連 リモートデスクトップ 関連 WSC 関連 SMTP 送信関連 IIS 関連(ここ) ASP 関連 Web サーバー技術情報ポータル「IIS TechCenter」http://technet.microsoft.com/ja-jp/iis/default.aspx IIS Extensions : The Official Microsoft IIS Site http://www.iis.net/extensions Microsoft Web Platform - Home http://www.microsoft.com/web/default.aspx Internet Information Services フォーラム http://social.technet.microsoft.com/Forums/ja-JP/category/iis インターネット Web サーバー構築ガイドライン (ドラフト版) http://technet.microsoft.com/ja-jp/iis/ff625168.aspx IIS に対する攻撃が始まっているようです。 Mass Infection of IIS/ASP Sites http://isc.sans.edu/diary.html?storyid=8935
バージョン Personal Web Server Windows95/98/98SE Windows NT 4.0 SP3 IIS3.0 Windows NT 4.0 Option Pack IIS4.0 Windows 2000 Professional IIS5.0 COM+ Windows 2000 Server IIS5.0 延長サポート終了 2010/07/13 http://support.microsoft.com/lifecycle/?c1=508 Windows XP Professional IIS5.1 ※IIS5には48kbバグ(HTTP Request Smuggling)が残っていると思いますので速やかに移行しましょう。 Windows Server 2003 IIS6.0 延長サポート終了 2015/07/14 Windows XP Professional x64 IIS6.0 Windows Vista Home Premium IIS7.0 Windows Vista Business IIS7.0 Windows Vista Enterprise IIS7.0 Windows Vista Ultimate IIS7.0 Windows Server 2008 IIS7.0 モジュール化、IIS Extensions Windows 7 Professional IIS7.5 Winsows 7 Enterprise IIS7.5 Winsows 7 Ultimate IIS7.5 Windows Server 2008 R2 IIS7.5 延長サポート終了 2018/07/10 IIS7.0→IIS7.5 オートスタートの実装 ・オートスタートするASP.NETアプリケーション(VS 2010&.NET 4シリーズ) 強化されたIIS 7.5(前編) 強化されたIIS 7.5(後編) Internet Information Services [IIS]Windows 2000 Server/Professional での IIS 5.0 の相違点 クライアント版Windowsに付属するIISの制限 IIS TechCenter マイクロソフトの Web サーバー Internet Information Services 7.0 & 7.5 概要※ pptxファイル IIS 7.5 で使用できる Web サーバー (IIS) の役割サービス
◆IIS を再起動する iisreset [computername]
| /RESTART | すべてのインターネット サービスを停止してから、再開します。 |
| /START | すべてのインターネット サービスを開始します。 |
| /STOP | すべてのインターネット サービスを停止します。 |
| /REBOOT | コンピュータを再起動します。 |
| /REBOOTONERROR | インターネット サービスの開始、停止、または再開の際にエラーが発生した場合に、コンピュータを再起動します。 |
| /NOFORCE | インターネット サービスを正常に停止できなかった場合、サービスの終了強制は行いません。 |
| /TIMEOUT:val | タイムアウト値を秒数で指定します。 この値は、インターネット サービスが正常に停止するまでの待ち時間を表します。 |
| /REBOOTONERROR | パラメータが指定されている場合、タイムアウトを過ぎると、コンピュータが再起動されます。 既定値は、再開は 20 秒、停止は 60 秒、再起動は 0 秒です。 |
| /STATUS | すべてのインターネット サービスのステータスを表示します。 |
| /ENABLE | ローカル システム上でのインターネット サービスの再開を有効にします。 |
| /DISABLE | ローカル システム上でのインターネット サービスの再開を無効にします。 |
注)Deny various static files に追加。青字が追加部分。 追加・保存の後、IISを再起動すると設定が反映されます。
一応、ブラウザ等からダウンロードが無効になっているかどうか確認のこと。
| [Options] セクション | []内はデフォルト値 |
| UseAllowVerbs: | 0 : [DenyVerbs]に記載された HTTP verb が含まれるすべてのリクエストを拒否(大文字、小文字の区別をしない) [1]: [AllowVerbs]に明示的に記載されていない HTTP verb が含まれるすべてのリクエストを拒否(大文字、小文字の区別をする) |
| UseAllowExtensions: | [0]: [DenyExtensions]にファイル拡張子が記載されている場合リクエストを拒否(大文字と小文字が区別される) 1 : [AllowExtensions]にファイル拡張子が記載されていない場合にリクエストを拒否(大文字と小文字が区別される) |
| NormalizeUrlBeforeScan: | 0 : クライアントによって送られた時点で、raw URL に対してすべての解析を実行 [1]: IIS がリクエストされた URL をデコードし、正規化した後に、リクエスト URL に対してすべての解析を実行 ※0にするとIIS サーバーはURL拡張子の正しい解析をバイパスするエンコード攻撃にさらされる可能性が有るので、URL解析に関する知識が豊富な上級ユーザーのみ設定する事 |
| VerifyNormalization: | 0 : チェックしない(このオプションは NormalizeUrlBeforeScan オプションに依存) [1]: 正規化を検証する ※この動作によりURLに二重エンコードされた文字列が含まれるエンコード攻撃に対して防御する事が可能 例)"%252e"の場合 %25が解読され(%)文字にデコードされ"%2e"となり、2回目にピリオド文字(.)に解読される |
| AllowHighBitCharacters: | 0 : URLにASCII以外の文字セットが含まれている場合にリクエストを拒否
[1]: URLにASCII以外のバイナリ値が存在することを許可 ※UNICODEやUTF-8ベースの攻撃から防御出来るが、ASCII以外のコードページを使用した正当なリクエストも拒否されるので注意が必要 また日本語ファイルにアクセスさせる必要が在る場合は 0 にしておく事。 |
| AllowDotInPath: | [0]: チェックしない 1 : ディレクトリまたはファイル名にピリオド文字 (.) が含まれるすべてのリクエストを拒否 |
| RemoveServerHeader: | [0]: 操作しない 1 : すべての応答のサーバーヘッダーを削除 ※IIS4.0以降にインストールされている場合に限り使用可能 |
| EnableLogging: | 0 : ログの記録はしない [1]: URLScan.dllと同じディレクトリにURLScan.logというファイルに記録する |
| PerProcessLogging: | [0]: ログファイルはURLScan.logとなる
1 : プロセスIDをログファイル名に付け加える(例 URLScan.1234.log 等) ※同時に複数のプロセスでフィルタをホストできる IIS バージョンで有用 |
| AlternateServerName: | : 許可される値は文字列(デフォルト値は空の文字列) RemoveServerHeaderが0の場合、そのすべての応答のデフォルトServer:ヘッダーをこの文字列に置き換える ※IIS4.0以降にインストールされている場合に限り使用可能 サーバヘッダのみ隠蔽するツールとして MoIISProtect - IIS Protection ISAPI Filter があります。 ちなみに Etag を削除するツールとしては ETagFix があるようです。 Etag で ChangeNumber だけを送らないようにするには cscript adsutil.vbs set w3svc/etag_changenumber 0 ※IIS7.0 で 0 に戻っています。 詳しくは http://blogs.iis.net/chrisad/archive/2006/12/18/iis7-deployments-calls-for-etag-usage-review-if-using.aspx Internet Explorer 6 を使用して、インターネット インフォメーション サービス 6.0 でホストされている Web アプリケーションにアクセスすると、Web パフォーマンスが低下することがある http://support.microsoft.com/kb/922703/ |
| AllowLateScanning: | [0]: 優先順位の高いフィルタとして実行 1 : 優先順位の低いフィルタとして登録 URLScan が解析を実行する前にほかのフィルタに URL を変更させることができます ※変更後、URLScanがサーバーのMMC ISAPIフィルタのプロパティシートのフィルタリストの下位にリストされていることを確認する事 ※Front Page Server Extensions では、この設定を 1 にする必要が有る |
| 変数 | 説明 | 例 |
|---|---|---|
| $S | 要求された URL において一致するサフィックスを渡します。一致するサフィックスとは、リダイレクト先の URL に置き換わった後もそのまま残る部分です。 | /scripts を /newscripts にリダイレクトしている場合、元の要求が /scripts/program.exe であれば、/program.exe がサフィックスになります。このサフィックスの置き換えはサーバーによって自動的に行われるので、$ 変数は、ほかの変数と組み合わせる場合にのみ使用します。 |
| $P | 元の URL のパラメータを渡します。 | たとえば、元の URL が /scripts/myscript.asp?number=1 である場合は、"number=1" という文字列がリダイレクト先の URL の中で置き換えられます。 |
| $Q | 元の URL の疑問符 (?) とパラメータの両方を渡します。 | たとえば、元の URL が /scripts/myscript.asp?number=1 である場合は、"?number=1" という文字列がリダイレクト先の URL の中で置き換えられます。 |
| $V | 要求された URL をサーバー名を除いて渡します。 | たとえば、元の URL が //myserver/scripts/myscript.asp である場合は、"/scripts/myscript.asp" という文字列がリダイレクト先の URL の中で置き換えられます。 |
| $0 ~ $9 | 要求された URL の中で、指定されたワイルドカードに一致する部分を渡します。 | |
| ! | リダイレクトを行いません。 | この変数は、リダイレクトされた仮想ディレクトリのサブディレクトリまたは個々のファイルをリダイレクトしない場合に使用します。 |