Пароли Squid и восьмисимвольный предел DES crypt
Проследите кажущееся усечение пароля до формата сохранённого хеша, прежде чем винить Squid или молча создавать заново несовместимый файл паролей.
Прокси принимает старый пароль, когда меняется его конец, или миграция файла паролей внезапно ломает учётные записи с длинными паролями. Проверьте формат хеша, прежде чем сокращать пароли всем.
htpasswd -d в Apache выбирает устаревшее хеширование crypt(). Его документированное ограничение DES — восемь значимых символов пароля. Это ограничение относится к формату, а не к универсальному правилу восьми символов для паролей в Squid.
Помощник NCSA читает сохранённое представление пароля и проверяет переданное значение в форматах, поддерживаемых этим помощником и его платформой. Назвать файл “форматом htpasswd” не значит гарантировать, что каждый исторический и текущий помощник примет каждый алгоритм хеширования, созданный любой опцией htpasswd.
Переносите представление осознанно
Храните защищённую резервную копию и определите формат, который используют существующие записи. Проверьте руководство установленного помощника и сборку дистрибутива, прежде чем выбирать заменяющий алгоритм.
Затем проверьте небольшую разрешённую тестовую учётную запись через тот же помощник и тот же путь через прокси, которые используют реальные записи. Успешная запись файла генератором не доказывает, что читающий помощник сможет его проверить. Используйте тестовый пароль, значимые символы которого выходят за старую границу.
Смена форматов обычно требует настоящего пароля или сброса пароля. Старый хеш нельзя превратить в более стойкий хеш полного исходного пароля, если эта информация никогда не сохранялась.
Наконец, отличайте сбой миграции от кэшированной аутентификации. Уже аутентифицированный клиент может ещё некоторое время работать, даже если новая проверка завершилась бы неудачей. Планируйте развёртывание с учётом и новой аутентификации, и существующих сеансов.
Не публикуйте файл паролей в отчёте об ошибке. Маркер алгоритма и синтетическая учётная запись обычно дают более полезные доказательства, чем хеши реальных пользователей.