auth_digest_expires
Задает период, по истечении которого учетные данные Digest-аутентификации станут недействительными.
Описание
Директива auth_digest_expires задает временной интервал, по истечении которого учетные данные, выданные в ходе сессии Digest-аутентификации, станут недействительными. Это важно для поддержания безопасности, так как предотвращает длительную действительность учетных данных. Указанная длительность измеряется в секундах и влияет на то, как долго клиенты могут повторно использовать свои учетные данные до необходимости повторной аутентификации. По истечении заданного времени сервер перестанет принимать ранее выданные клиенту учетные данные, что вынудит его предоставить их снова.
Директиву можно применять в разных контекстах, включая http, server и location, что позволяет гибко настраивать поведение в зависимости от требуемой области действия. Она принимает один числовой аргумент, указывающий длительность в секундах. Если директива явно не задана, поведение будет определяться внутренними значениями по умолчанию, что потенциально может привести к снижению уровня безопасности, если учетные данные останутся действительными слишком долго.
Для эффективного использования важно учитывать компромисс между удобством для пользователей и безопасностью: установка более короткого времени истечения может повысить безопасность, но ухудшить удобство использования за счет необходимости частой повторной аутентификации. В целом auth_digest_expires играет ключевую роль в достижении этого баланса, обеспечивая требование повторной аутентификации через определенные интервалы и тем самым снижая риск несанкционированного доступа в случае кражи или перехвата учетных данных.
Пример конфига
location /protected {
auth_digest "Protected Area";
auth_digest_user_file /etc/nginx/.htdigest;
auth_digest_expires 300;
}Если эта директива установлена слишком высоко, это может привести к уязвимостям безопасности, поскольку допускает долговременные учетные данные.
Если директива явно не установлена, будет использоваться значение по умолчанию — 10 секунд, что может быть недостаточно для некоторых сценариев использования.
Убедитесь, что при изменении значений времени истечения проводятся соответствующие тесты, так как это может негативно повлиять на опыт пользователей.