2010-06-16 64 views
0

我想在ISA 2006(反向代理)後面使用DotNetOpenAuth(OpenID),並且在與提供者(如Google)進行身份驗證之後,它會返回一個網址中含有%253A的網址。但是,ISA HTTP篩選器拒絕該請求。ISA 2006反向代理服務器上的DotNetOpenAuth OpenID

我需要做的是,在ISA網絡發佈規則上,右鍵單擊>配置HTTP策略屬性>取消選中「驗證規範化」,它工作。

  • 這是一般的ISA 2006問題嗎?其他防火牆是否有類似的問題?
  • 或者,它是OpenID或DotNetOpenAuth的問題?
  • 是否可以安全地禁用ISA上的規範化檢查?

根據MSDN的說法,「Web服務器接收URL編碼的請求,這意味着某些字符可能會被一個百分號(%)替換爲一個特定的數字,例如%20對應一個因此對http://myserver/My%20Dir/My%20File.htm的請求與對http://myserver/My Dir/My File.htm的請求相同 由於%可以是URL編碼,因此攻擊者可以提交精心製作的請求到一個基本上是雙重編碼的服務器,如果發生這種情況,Internet信息服務(IIS)可能會接受一個請求,否則它會被拒絕爲無效的,當你選擇Verify Normalization時,HTTP過濾器會對URL進行兩次標準化。第一次標準化後的URL不同從第二次標準化後的URL開始,篩選器拒絕該請求。這可以防止依賴於雙重編碼請求的攻擊。 請注意,儘管我們建議您使用驗證規範化功能,但它也可能會阻止包含%的合法請求。「

+0

你可能想發佈到ServerFault.com,因爲它更多的是關於防火牆和ISA服務器而不是編程,你可能會在那裏得到更多的叮咬: ) – Tommy 2010-06-17 00:00:01

回答

2

OpenID消息通常可能在其請求中包含雙重編碼的URL,因此從您提供的文檔中,我想說你必須在反向代理上禁用「驗證規範化」