Я пытаюсь расшифровать все мои журналы ssh (чтобы дать им разумные теги с помощью logstash). Но я нашел один случай, которого не совсем понимаю:
Oct 23 07:43:47 sshd[59830]: Connection from 74.194.6.5 port 60126 on 213.67.100.148 port 22
Oct 23 07:43:51 sshd[59830]: error: maximum authentication attempts exceeded for root from 74.194.6.5 port 60126 ssh2 [preauth]
Oct 23 07:43:51 sshd[59830]: Disconnecting authenticating user root 74.194.6.5 port 60126: Too many authentication failures [preauth]
Как он может достичь максимального числа попыток аутентификации, не подавая никаких признаков попытки аутентификации?
Обычно я получаю такие вещи, как до появления строки «максимальная авторизация ...».
Oct 23 08:54:06 sshd[62392]: Failed keyboard-interactive/pam for [...]
Oct 23 08:52:41 sshd[49690]: Failed publickey for [...]
Но не всегда.
Обратите внимание, у меня нет проблем со входом в систему ..
Это сообщение об ошибке запускается, среди прочего, когда ssh-клиент пытается войти в систему на основе ключа и предлагает больше, чем MaxAuthTries
неверные ключи. После этого сервер SSH разорвет соединение. Это может быть вызвано либо (злонамеренным) клиентом, у которого вообще нет действительных ключей, либо действительными пользователями, у которых просто есть много разных пар ключей и MaxAuthTries
число достигается до того, как можно будет обменять действующий ключ. Когда это произойдет, соединение будет прервано и даже не достигнет стадии, когда предлагаются / предпринимаются попытки альтернативных методов входа.
(На уровне журнала по умолчанию) ssh-сервер не записывает обмен неудачными ключами, и поэтому появляется сообщение об ошибке "error: maximum authentication attempts exceeded for ... ssh2 [preauth]
"кажется, что в файле журнала не было никаких предыдущих попыток аутентификации.
Вы можете легко смоделировать это с помощью:
for n in $(seq 1 10 ) ; do ssh-keygen -b 2048 -t rsa -f /tmp/sshkey-$n -q -N "" ; done
ssh -v -i /tmp/sshkey-1 -i /tmp/sshkey-2 -i /tmp/sshkey-3 ... user@host
debug1: Следующий метод аутентификации: publickey
debug1: Предлагает открытый ключ RSA: / tmp / sshkey-1
debug2: мы отправили пакет публичного ключа, ждем ответа
debug1: аутентификация, которая может продолжаться: publickey, gssapi-keyex, gssapi-with-mic
debug1: Предлагает открытый ключ RSA: / tmp / sshkey-2
debug2: мы отправили пакет публичного ключа, ждем ответа
debug1: аутентификация, которая может продолжаться: publickey, gssapi-keyex, gssapi-with-mic
debug1: Предлагает открытый ключ RSA: / tmp / sshkey-3
debug2: мы отправили пакет публичного ключа, ждем ответа
debug1: аутентификация, которая может продолжаться: publickey, gssapi-keyex, gssapi-with-mic
debug1: Предлагает открытый ключ RSA: / tmp / sshkey-4
debug2: мы отправили пакет публичного ключа, ждем ответа
debug1: аутентификация, которая может продолжаться: publickey, gssapi-keyex, gssapi-with-mic
debug1: Предлагает открытый ключ RSA: / tmp / sshkey-5
debug2: мы отправили пакет публичного ключа, ждем ответа
debug1: аутентификация, которая может продолжаться: publickey, gssapi-keyex, gssapi-with-mic
debug1: Предлагает открытый ключ RSA: / tmp / sshkey-6
debug2: мы отправили пакет публичного ключа, ждем ответа
Получено отключение от порта хоста 22: 2: Слишком много ошибок аутентификации
Ошибка аутентификации
Значение по умолчанию для MaxAuthTries
является 6.
sshd [19032]: ошибка: превышено максимальное количество попыток аутентификации для входа с порта 10.9.8.7 54956 ssh2 [preauth]
sshd [19032]: Отключение: слишком много ошибок аутентификации [preauth]
Увеличение sshd_config LogLevel
к VERBOSE
будет генерировать дополнительные события журнала, которые имеют немного больше смысла:
sshd [19271]: соединение с порта 10.9.8.7 58823 на порт 10.9.8.8 22
sshd [19271]: сбой публичного ключа для входа из порта 10.9.8.7 58823 ssh2: RSA SHA256: QGnu ... fpY
sshd [19271]: сбой публичного ключа для входа из порта 10.9.8.7 58823 ssh2: RSA SHA256: cjje ... dDo
sshd [19271]: сбой публичного ключа для входа из порта 10.9.8.7 58823 ssh2: RSA SHA256: IIWe ... d1M
sshd [19271]: сбой публичного ключа для входа из порта 10.9.8.7 58823 ssh2: RSA SHA256: xrQs ... Et0
sshd [19271]: сбой публичного ключа для входа из порта 10.9.8.7 58823 ssh2: RSA SHA256: 0Zln ... UI4
sshd [19271]: сбой публичного ключа для входа из порта 10.9.8.7 58823 ssh2: RSA SHA256: hhsj ... 7Q4
sshd [19271]: ошибка: превышено максимальное количество попыток аутентификации для входа в систему с 10.9.8.7 порта 58823 ssh2 [preauth]
sshd [19271]: Отключение: слишком много ошибок аутентификации [preauth]
Согласно страница руководства по конфигурации sshd
MaxAuthTries
Задает максимальное количество попыток аутентификации, разрешенное для одного соединения. Когда количество отказов достигает половины этого значения, регистрируются дополнительные отказы. По умолчанию - 6.
Как видите, ограничение действует для каждого соединения, и не все попытки регистрируются. Вы также можете выбрать, сколько информации вы хотите в журналах
LogLevel
Указывает уровень детализации, который используется при регистрации сообщений от sshd (8). Возможные значения: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 и DEBUG3. По умолчанию - ИНФОРМАЦИЯ. DEBUG и DEBUG1 эквивалентны. DEBUG2 и DEBUG3 определяют более высокие уровни вывода отладки. Ведение журнала с уровнем DEBUG нарушает конфиденциальность пользователей и не рекомендуется.
В OpenSSH / Регистрация и устранение неполадок вы можете увидеть примеры журналов, в которых вы можете увидеть, что отклоняющая часть аналогична той, которую вы показали:
...
Mar 19 11:11:10 server sshd[54798]: Failed password for root from 122.121.51.193 port 59928 ssh2
Mar 19 11:11:10 server sshd[54798]: error: maximum authentication attempts exceeded for root from 122.121.51.193 port 59928 ssh2 [preauth]
Mar 19 11:11:10 server sshd[54798]: Disconnecting authenticating user root 122.121.51.193 port 59928: Too many authentication failures [preauth]
Подводя итог, неудачные попытки аутентификации не всегда отправляются в журналы. Предпочтение можно настроить в файле conf для httpd.
А теперь, исходя из моего не очень удачного опыта публикации ssh в Интернете, позвольте мне дать несколько общих рекомендаций:
Другое дело, если вы хотите войти в систему под пользователем root с помощью ssh, используя пароль, и ваша конфигурация установлена на PermitRootLogin prohibit-password
это закончится ошибкой error: maximum authentication attempts exceeded for root from 10.0.12.12 port 58656 ssh2 [preauth]