Это то, что меня беспокоит в течение многих лет, и мне любопытно, сможет ли кто-нибудь из вас, суперадминистраторы, мне это объяснить.
Если я подключусь по ssh к одному из своих Linux-серверов и предоставлю правильные учетные данные, моя аутентификация будет почти мгновенной. В том же окне, если я введу неправильный пароль, потребуется несколько секунд, чтобы отобразить сообщение о неудачном входе в систему и повторно запросить. Что происходит на сервере, из-за которого неверный пароль так долго выходит из строя?
Спасибо SF!
SR
Это функция безопасности, реализованная модулем PAM, который проверяет ваши пароли.
Если вы прочитаете справочную страницу для pam_unix (8), вы увидите опцию «nodelay». pam_unix используется ssh для проверки паролей, логина и всего остального, что проверяет ваш пароль. «По умолчанию модуль запрашивает задержку отказа порядка двух секунд».
Есть функция, которую могут вызывать все модули pam, чтобы запросить задержку основного содержимого pam. pam_fail_delay. Эта функция занимает наибольшую задержку среди всех вызываемых модулей, случайным образом изменяет ее на величину до 25% и ждет столько времени, прежде чем вернуться в приложение (sshd, вход в систему и т. Д.).
Обычной мерой безопасности во многих системах является то, что сбой (например, попытка проверить пароль для несуществующего пользователя) приведет к небольшому сну. Это предотвращает атаки по времени, поскольку в противном случае неудачный вход в действительную учетную запись может занять немного больше времени (шифрование пароля, статистика в домашнем каталоге и т. Д.), Чем попытка входа в несуществующую учетную запись. Другие условия для этого: скрытый канал, канал синхронизации, или атака по побочному каналу. Это также препятствует атакам методом грубой силы (но не очень хорошо, просто открывайте больше соединений). Также немного помогает случайный сон.
Хотя я не очень хорошо знаком с работой OpenSSH, само собой разумеется, что это функция безопасности. Без промедления (автоматический) злоумышленник может легко попытаться ввести несколько паролей за очень короткий период времени. Любой вид «фактора осадка» делает этот тип атаки менее вероятным.
Это зависит от конфигурации аутентификации вашего сервера. В большинстве ящиков с Linux (обычная стандартная версия с полки) будет использоваться PAM для локальных учетных записей. Однако он, вероятно, также будет искать службу NIS. Это никогда не произойдет, когда вы успешно войдете в локальную учетную запись пользователя, но если это не сработает, тогда PAM будет тайм-аут в поиске сервера NIS (или учетных данных на сервере NIS, если он есть).
Конечно, есть много других возможных сценариев, в которых действуют аналогичные принципы. Чтобы дать вам подробный ответ, вам нужно будет предоставить более подробную информацию о настройке аутентификации вашего сервера (например, /etc/nsswitch.conf и /etc/pam.conf или содержимое файлов в /etc/pam.d).
Разве это не связано с механизмами отката? Что произойдет, если вы войдете в систему с включенным подробным выводом, когда вы правильно введете свои учетные данные, вам не нужно будет возвращаться к какой-либо другой форме аутентификации.