Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Тем, кто хочет узнать ещё десяток способов «сломать» digest-защиту, я бы посоветовал ознакомиться с четвёртой главой RFC-2617.
Стандарты и реализации
Детали digest-авторизации исчерпывающе описаны в RFC-2069. Этот документ датирован 1997 годом. Уточнения были сделаны в RFC-2617 в 1999 году. Но, невзирая на то, что с тех пор сменилось тысячелетие, ни браузеры, ни сервера не выполняют всех требований и рекомендаций, изложенных в RFC.
В RFC описано множество возможностей digest-авторизации, управляемых добрым десятком параметров. Но Apache до сих пор не позволяет никаким образом влиять на большинство из них.
В модуле mod_auth_digest появилось множество настроечных директив, но реальных возможностей настройки прибавилось гораздо меньше. Так, например, AuthDigestAlgorithm позволяет выбрать хэш-функцию. Допустимы два значения параметра: MD5 и MD5-sess, но использовать можно только MD5. Появилась директива AuthDigestNcCheck, которая в будущем позволит работать с параметром nc (этот параметр содержит счётчик соединений, о котором упоминалось выше), но сейчас она ничего не делает. Одними словом, большинство новых директив просто зарезервированы.
Таким образом, относительно сервера Apache можно констатировать два факта: первый – реализованы далеко не все возможности, заявленные в RFC, и второй – работы ведутся весьма активно, причём план работ (RFC) имеется, что особенно обнадёживает.
Большинство современных браузеров поддерживают digest-авторизацию. В их числе Internet Explorer (о нём требуется отдельный разговор), Fire Fox, Opera, Mozilla, Netscape, Amaya. Лично я сталкивался с отсутствием digest-авторизации, только работая браузером lynx (версия 2.8.5) и... Internet Explorer.
Microsoft went one way; everyone else went the other way
В подзаголовок вынесена цитата из статьи в eWeek
(
Информации по этой проблеме очень мало, и она очень противоречива. Чтобы понять, почему так происходит, давайте рассмотрим поведение IE 6.0 (с другими версиями дела обстоят или так же или хуже).
Исторически, во времена версий 1.1 и 1.2, разработчики Apache заняли очень твёрдую позицию и не стали поддерживать Microsoft-интерпретацию RFC. Поэтому, если сервер оснащён старым модулем digest_module, пользователи IE 6.0 вообще не смогут на нём авторизоваться.
Но Microsoft проявил не меньшую принципиальность и не стал ничего менять в своей реализации HTTP/1.1. Поэтому в новом модуле mod_auth_digest протокол был «усовершенствован». Теперь IE мог авторизоваться и даже работать по Digest-сценарию за одним исключением: сервер не мог корректно обработать запрос GET, если строка запроса была не пустой. Это связано с тем, что IE нарушает и другие стандарты, не связанные с digest-авторизацией. Microsoft имеет собственную точку зрения на то, что такое URI и другие фундаментальные понятия.