IIS チルダの脆弱性を修正

IIS チルダの脆弱性を修正

弊社のIISサーバーの1つ(IIS 7.5、Server 2008 R2)は、どうやら「脆弱」であるようです。チルダ短縮ファイル名の開示問題。

しかし、実際に問題を解決するのは困難です。これまでのところ、私は

  • 8.3 ファイル名を無効にし、Web サーバーを停止し、サイト ディレクトリを再作成してサービスを再開しました。

  • URL 内のチルダに対するフィルター ルールを追加しました:

ここに画像の説明を入力してください

  • チルダ ANYWHERE のフィルター ルールを追加しました:

ここに画像の説明を入力してください

  • IISRESET数回

  • web.config関連するフィルタルールが追加されていることを確認しました

..しかし、私のサイトはまだテスト:

java -jar ~/temp/IIS-ShortName-Scanner-master/IIS_shortname_scanner.jar http://www.example.com

[...SNIP...]

Testing request method: "TRACE" with magic part: "/webresource.axd" ...
Testing request method: "DEBUG" with magic part: "" ...
Testing request method: "OPTIONS" with magic part: "" ...
Testing request method: "GET" with magic part: "" ...
Reliable request method was found = GET
Reliable magic part was found = 
144 requests have been sent to the server:

<<< The target website is vulnerable! >>>

これを解決するには他に何をする必要がありますか?

編集:ここではDIR /x8.3 ファイル名が表示されないようです:

ここに画像の説明を入力してください

サイトのアプリ プールは次のとおりです (サーバー上の他のすべてのサイトは同じです)。

ここに画像の説明を入力してください

編集2: 8.3 ファイル名が残っていないことの確認:

ここに画像の説明を入力してください

答え1

次のコマンドを使用して、既存の短いファイル名をスキャンしますfsutil

  • fsutil 8dot3name scan /s /v E:\inetpub\wwwroot

見つかった場合は剥奪します。

  • fsutil 8dot3name strip /s /v E:\inetpub\wwwroot

また、空のマジックパーツ( )があるログを見るとmagic part: ""、POCのバグなのではないかと思います。config.xml後ろに余分なコンマがあるようです/webresource.axd:

<entry> key="magicFinalPartList">
 <![CDATA[\a.aspx,\a.asp,/a.aspx,/a.asp,/a.shtml,/a.asmx‌​,/a.ashx,/a.config,/a.php,/a.jpg,/webresource.axd,,/a.xxx]]>
</entry>

私はTwitterで開発者にこの件について尋ねたところ、彼は次のように答えました:

拡張機能が必要ない稀なケースです。しかし、最近はそれがさらに問題を引き起こすようになりました。今すぐ削除します。

Config ファイルから削除しました。これは 2 回目の苦情だったので、この変更を行う適切なタイミングでした。

ということで、今は安全なようですね :)

答え2

また、「注意: NtfsDisable8dot3NameCreation レジストリ エントリへの変更は、変更後に作成されたファイル、フォルダー、およびプロファイルにのみ影響します。既に存在するファイルは影響を受けません。」

注意: 8.3 ファイル名の作成を無効にすると、Windows でのファイル パフォーマンスは向上しますが、一部のアプリケーション (16 ビット、32 ビット、または 64 ビット) では、長いファイル名を持つファイルやディレクトリを見つけられない場合があります。

答え3

残念ながら、これを実際に処理する唯一の方法は、Windows のバージョンに応じて、8.3 形式の名前を生成する機能を無効にする、面倒な一連の操作を実行することです。

お使いの Windows のバージョン:

すべての NTFS パーティションで 8.3 名の作成を無効にするには、管理者特権のコマンド プロンプトで「fsutil.exe behavior set enable8dot3 1」と入力し、Enter キーを押します。

ソース: http://support.microsoft.com/kb/121007

答え4

新しいデプロイメントのたびにストリップすることはできないため、最適なソリューションは以下のとおりです。

以下のリンクを使用して、サイトの脆弱性をテスト/スキャンします (Java をインストールし、テスト/スキャンのコマンドを実行します)。

サイトをスキャンするコマンド:

java -jar iis_shortname_scanner.jar 2 20 https://example.com/

既存の短いファイル名をスキャンします:

fsutil 8dot3name scan /s /v c:\inetpub\wwwroot

8dot3 名の作成が無効か有効かを確認します。

fsutil 8dot3name query C:\Release\SiteRootDocumentPath

8dot3 名の作成が有効になっている場合は、以下のコマンドを使用して無効にします。

fsutil 8dot3name set C:\Release\SiteRootDocumentPath 1

8dot3name プロパティは、指定されたボリュームの 8dot3 名の作成を有効にするように設定されています (0)、または指定されたボリュームの 8dot3 名の作成を無効にするように設定されています (1)

サイトの物理パス (SiteRootDocument) にコードを再デプロイしても、短い名前のファイルは作成されません。

スキャンは合格します:)

関連情報