2010-06-16 2 views
0

Я пытаюсь разместить мой сайт, который использует DotNetOpenAuth (OpenID) за ISA 2006 (обратный прокси), и после его аутентификации у поставщика (например, Google), и он возвращается с URL с% 253A в URL. Тем не менее, фильтр ISA HTTP отклоняет запрос.DotNetOpenAuth OpenID на проблему обратного прокси ISA 2006

Что мне нужно сделать, в правиле веб-публикации ISA, правой кнопкой мыши> config Свойства политики HTTP> снимите флажок «Проверить нормализацию», и это сработало.

  • Является ли это проблемой на ISA 2006 в целом? Имеются ли другие брандмауэры с аналогичными проблемами?
  • Или это проблема OpenID или DotNetOpenAuth?
  • Безопасно ли отключать проверку нормализации на ISA?

В соответствии с MSDN, цитата: «Веб-серверы получают запросы с кодировкой URL. Это означает, что некоторые символы могут быть заменены знаком процента (%), за которым следует определенное число. Например,% 20 соответствует пробел, поэтому запрос для http://myserver/My%20Dir/My%20File.htm совпадает с запросом для http://myserver/My Dir/My File.htm. Нормализация - это процесс декодирования запросов с кодировкой URL. Поскольку% может быть закодировано в URL, злоумышленник может отправить тщательно обработанный запрос на сервер, который в основном является двоичным. Если это произойдет, службы IIS могут принять запрос, который он в противном случае отклонил бы как недействительный. Когда вы выбираете Verify Normalization, фильтр HTTP нормализует URL два раза. URL-адрес после первой нормализации из URL после второй нормализации фильтр отклоняет запрос. Это предотвращает атаки, которые полагаются на запросы с двойным кодированием. Обратите внимание, что, хотя мы рекомендуем использовать функцию проверки нормализации, она также может блокировать законные запросы, содержащие%.

+0

Возможно, вы захотите опубликовать это на ServerFault.com, поскольку это больше касается брандмауэров и ISA-сервера, чем программирования. Вероятно, вы получите больше укусов:) – Tommy

ответ

2

Сообщения OpenID могут часто содержать URL-адреса с двойным кодированием в своих запросах, поэтому из предоставленной документации, Я бы сказал, что вы должны отключить «Проверить нормализацию» на обратном прокси.

Смежные вопросы