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

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

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

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

В 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

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

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

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"

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

[root@megatron bash1]# ./failedlogin.sh git

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

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