Почему Basic-аутентификация Squid всё ещё принимает старый пароль
Разберитесь с кэшем учётных данных Basic в Squid 6.13, прежде чем считать, что изменение файла паролей немедленно отзывает доступ для каждого запроса.
Изменение файла паролей Squid не обязательно заставляет каждый последующий запрос заново обращаться к вспомогательному процессу. При Basic-аутентификации Squid может кэшировать успешно проверенную пару имени пользователя и пароля.
В Squid 6.13 параметр, определяющий, сколько времени эта проверка считается действительной, называется credentialsttl. Например:
auth_param basic credentialsttl 5 minutes
Это пример значения политики, а не универсальная рекомендация. Выбирайте его с учётом допустимой задержки отзыва доступа и нагрузки, которую выдержит ваша система аутентификации.
Разделите три проверки
Сначала убедитесь, что изменили файл, используемый активным вспомогательным процессом. Правильное изменение неиспользуемого файла не даёт эффекта. Затем проверьте, может ли процесс прочитать файл и проверить новые данные учётной записи. Наконец, выполните новый запрос через работающий экземпляр прокси, где также действуют кэш учётных данных и правила доступа.
Проверяйте вспомогательный процесс и работающий прокси отдельно. Процесс показывает, что сейчас принимает система аутентификации, а Squid может ещё использовать кэшированный результат проверки. При смене данных проверьте и работу новых, и отклонение старых после соответствующего срока действия проверки.
Для исследования используйте отдельную тестовую учётную запись. Сохраняйте одинаковыми запрос, источник клиента и цель, не помещайте настоящие пароли в общий вывод команд.
Планируйте отзыв доступа, а не полагайтесь на изменение файла
Более короткий срок действия проверки увеличивает работу системы аутентификации. Прежде чем сокращать его в нагруженном сервисе, оцените возможности вспомогательных процессов и проверьте поведение с реальной системой. Не считайте, что перечитывание конфигурации очищает все связанные состояния аутентификации, если это не установлено для вашей версии и настройки.
Для срочного отзыва доступа явный запрет учётной записи или источника может создать отдельную границу. Проверьте этот запрет с затронутого маршрута, вместо того чтобы полагаться только на удаление из файла паролей.
Этот параметр описывает кэширование проверки Basic. У ориентированных на соединение схем аутентификации есть дополнительные состояния; переносить на них ту же модель отзыва доступа по аналогии не следует.