Поиск последних успешных логинов и неудачных попыток сервера CentOS

Я ищу файл журнала или любую службу, чтобы сообщить о последних попытках входа в систему, которые потерпели неудачу из-за несоответствия имени пользователя и пароля. Существуют ли такие утилиты для CentOS? (рекомендуется использовать встроенный модуль)

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

22 голоса | спросил ahmad 22 ndEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 22 Sep 2012 11:16:29 +0400 2012, 11:16:29

3 ответа


13

Вопрос здесь оффтопический, но очень короткий ответ: возможно, вам стоит просто проверить /var /log /secure (например, grep для «failed»).

ответил flolo 22 ndEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 22 Sep 2012 11:29:59 +0400 2012, 11:29:59
53

В Linux команда last показывает успешные попытки входа в систему и отображает информацию о сеансе (точки, источник, дата и длина).

Команда lastb записывает все неудачные попытки входа в систему. Оба имеют одну и ту же страницу man, но разница в том, что last читает двоичный файл /var/log/wtmp и lastb по умолчанию читает файл /var/log/btmp.

Диапазон этих файлов зависит от графика вращения журнала, но он должен охватывать несколько недель. Большинство дистрибутивов будут ежемесячно вращать /var/log/wtmp, поэтому вы можете прочитать предыдущую запись, обычно указанную как /var/log/wtmp.1, указав файл с параметром -f ... last -f /var/log/wtmp.1

ответил ewwhite 22 ndEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 22 Sep 2012 16:23:50 +0400 2012, 16:23:50
1

Это старый поток, но у меня есть аналогичная задача, подобная этой, поэтому в моем случае это запись в журнале

Nov 15 17:14:47 megatron sshd[4768]: Failed password for git from 192.168.122.1 port 49227 ssh2

Итак, мы можем сделать это так, если мы уверены, что пользователь статичен

#!/bin/bash
LOG=/var/log/secure
MESSAGE="Failed password for git"
grep -i "$MESSAGE" "$LOG

В случае, если мы знаем на основе пользователя

#!/bin/bash
LOG=/var/log/secure
if [ -n "$1" ]
then
NEWUSER="$1"
else
NEWUSER="root"
fi
MESSAGE="Failed password for $NEWUSER"
grep -i "$MESSAGE" "$LOG"

Итак, скрипт должен выполняться как

[[email protected] bash1]# ./failedlogin.sh git

ИЛИ более простой подход

#!/bin/bash
LOG=/var/log/secure
MESSAGE="Failed password for"
grep -i "$MESSAGE" "$LOG"
ответил Prashant Lakhera 21 62015vEurope/Moscow11bEurope/MoscowSat, 21 Nov 2015 04:34:09 +0300 2015, 04:34:09

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132