Web.config Security Analyzer 使ってみた

Web.config の脆弱性を検出するツール Web.config Security Analyzer (wcsa) の GUI 版を使ってみた。web.config を読み込ませると、こんなレポートが出てくる。

image

 

脆弱性検証ルール

今のところこんなルールが定義されている。

  • デバッグが無効になっているか
  • Form 認証のパスワードが暗号化されているか
  • カスタムエラーが有効になっているか
  • クッキーレス認証が無効になっているか
  • 認証クッキーを SSL で送信するようになっているか
  • 認証クッキーがユニークになるように考慮しているか
  • スライド式有効期限が無効になっているか
  • クッキーパスに制限を加えているか (‘/’ 以外を設定しているか)
  • 別の Web アプリケーションへのリダイレクトが無効になっているか
  • 暗号化されていないクッキーを拒否しているか
  • 検証されていないクッキーを拒否しているか
  • クライアントのスクリプトからクッキーへのアクセスが無効になっているか
  • ViewState が有効になっているか
  • ViewState のメッセージ認証チェックが有効になっているか
  • ViewState が暗号化されているか
  • リクエストの検証が有効になっているか
  • RoleManager が管理するクッキーを SSL で送信するようになっているか
  • RoleManager が管理するクッキーのスライド式有効期限が無効になっているか
  • RoleManager が管理するクッキーの暗号化が有効になっているか
  • RoleManager が管理するクッキーの検証が有効になっているか
  • RoleManager が管理するクッキーパスに制限を加えているか
  • クッキーレスセッションが無効になっているか
  • トレースが無効になっているか
  • コードアクセスセキュリティレベルが Minimal になっているか
  • Web.config にユーザー情報が定義されていないか

 

検証ルールとその適用方法

ルールは全て外部 XML ファイルとして定義されており、このファイルに

  • どの要素の
  • どのプロパティが
  • どういう値か (or どういう値ではないか)
  • + その他レポーティングのための情報

が書かれている。

wcsa はこの定義ファイルをロードした後、指定された web.config を XmlTextReader で読み込みながら、ルールに違反しているプロパティ値を探す、という挙動をしている。

Comments

Popular posts from this blog

TFS: 別PCでのチェックアウトを取り消す

WPF の RichTextBox に文字列を設定する&取り出す

WPFアプリにアニメーションGIFを表示させる