Назад | Перейти на главную страницу

Почему не регистрируются только неудачные попытки с использованием ключей ssh?

Я работаю в операционной системе RHEL 6. Я вижу неудачную попытку входа в систему (сбои пароля) в моем /var/log/secure файл. Однако я не вижу попыток подключения к серверу по ssh, если ключ неверен. Например, если я отправлю запрос ssh:

   ssh -o BatchMode=yes -i ./id_rsa  uname@10.70.22.99

Он возвращается с:

   Permission denied (publickey,password,keyboard-interactive).

Однако этот сбой, похоже, не вошел в систему /var/log/secure. Любые идеи? У меня даже есть LogLevel VERBOSE установлен в файле sshd_config.

Как работает аутентификация с открытым ключом в openssh?

Чтобы полностью понять, что происходит, аутентификация с открытым ключом работает в два этапа. Один просто информативен, а другой проверяет всю пару ключей.

Первый шаг

просто проверяет, совпадает ли предложенный открытый ключ с некоторыми ключами, доступными на серверах authorized_keys файл и не регистрируется как ошибка на уровне журнала по умолчанию, потому что многие люди просто хранят свои ключи в агенте или где-то еще и предлагают их всем серверам. Обычно это возвращается к аутентификации по паролю. Если вы настроили уровень журнала VERBOSE, вы также должны увидеть это сообщение в /var/log/secure (по крайней мере, с недавним rhel6 openssh пакет).

Второй шаг

проверяет владение частной частью и выполняет настоящую асимметричную криптографию, и если это не удается, ее следует регистрировать, потому что это больше похоже на неудачную попытку аутентификации.

Возможен ли перебор?

Смысл отсутствия регистрации попыток аутентификации с открытым ключом также заключается в том, что это в основном не может быть целью для какой-либо атаки методом перебора, поскольку пространство состояний слишком велико (например, ключ 1024b) по сравнению с паролями, где вы можете попробуйте все 8-символьные пароли (около 64 байт или макс. энтропия, но обычно намного меньше, поскольку вы можете использовать множество эвристик - словарь, только алфавит и т. д.). В клавишах у вас всего одно большое число.

Есть логи на RHEL!

В RHEL / CentOS / Fedora вы можете использовать продвижение audit, который также содержит эти неудачные попытки аутентификации. Вы можете найти их в /var/log/audit/audit.log так как USER_AUTH мероприятия с res=failed

Надеюсь, это вам немного поможет.

В агенте SSH может быть несколько ключей. Все эти ключи будут проверены на наличие ssh-соединения, даже если разрешен только один. По этой причине клиент ssh не считает отказавший ключ проблемой аутентификации. Только когда все методы аутентификации не работают, он вернет ошибку.