Вопрос или проблема
Когда я вхожу на сервер, я вижу:
Последний неудачный вход: Пт 17 Июл 12:47:01 CEST 2020 с 111.222.333.444 по ssh:notty
С момента последнего успешного входа было 2713 неудачных попыток входа.
Последний вход: Пт 17 Июл 01:12:57 2020 с ec2-111-222-333-444.eu-central-1.compute.amazonaws.com
Как мне получить число 2713 после входа с помощью какой-либо команды, не разбирая журналы аутентификации вручную?
ОС – CentOS 7, если это важно.
Вы можете использовать это:
var=`cat file | grep "С момента" | cut -d' ' -f3`
Другой способ сделать это:
var=`cat /var/log/secure | grep "Неудачный пароль" | wc -l`
Ответ или решение
Чтобы получить количество "неудачных попыток входа с момента последнего успешного входа" в CentOS 7 без ручного анализа логов аутентификации, есть несколько методов, которые можно использовать. В этой статье я подробно опишу, как правильно выполнить эту задачу с помощью командной строки.
Способы получения информации о неудачных входах
1. Чтение системного лога через lastb
Одним из самых простых и эффективных способов является использование команды lastb
, которая читает данные из файла /var/log/btmp
, где хранятся записи о неудачных попытках входа в систему.
lastb | wc -l
Эта команда подсчитывает количество записей о неудачных входах. Предположим, что вы хотите сохранить это значение в переменную:
failed_attempts=$(lastb | wc -l)
2. Использование grep
и wc
Если вам нужно получить это число, исходя из более детальной информации в /var/log/secure
, можно извлечь количество неудачных попыток с помощью комбинации grep
и wc
. Например:
failed_attempts=$(grep "Failed password" /var/log/secure | wc -l)
Эта команда считает количество строк, содержащих "Failed password", в логе аутентификации.
Примечания
-
Права доступа: Убедитесь, что у вас есть необходимые права доступа для чтения этих логов. Обычно это требует прав суперпользователя (root).
-
Системные инструменты: В CentOS 7 можно использовать утилиты для управления учётными записями пользователей (auditd, faillog и др.), однако описанные выше методы являются более удобными в большинстве случаев.
-
Анализ последствий: Полученные данные можно использовать для оценки безопасности вашего сервера, например, чтобы понять, есть ли подозрительная активность со стороны злоумышленников.
Заключение
Теперь у вас есть несколько способов получить количество неудачных попыток входа с момента последнего успешного входа. Вы можете использовать команду lastb
для быстрого подсчета или проанализировать логи /var/log/secure
для более детальной информации. Выбирайте тот метод, который лучше всего подходит для ваших нужд, и оперативно реагируйте на возможные угрозы безопасности.