Команда last: кто, откуда и когда вошёл в систему?

Сисадмину важно знать о всех удачных и неудачных попытках войти в систему. Эта информация важна для того, чтобы распознать ботов или попытки взлома сервера. Поможет в этом утилита last.

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

Чтобы найти неудачные попытки:

/var/log/btmp 

Чтобы узнать, кто сейчас залогинен:

/var/run/utmp 

Весь список сессий входа в систему:

/var/log/wtmp 

Но есть одно “но”. У этих файлов бинарный формат. И если попробовать просмотреть их с помощью cat, то на экране можно будет увидеть нечто подобное информационной каше. Что делать? Использовать утилиту last

Как работает команда last?

Когда юзер пытается залогинится, запись его сеанса сохраняется в файл /var/log/wtmp. Утилита last читает файл wtmp и предоставляет данные о том, кто, когда и откуда логинился и выходил из системы. Эта команда отображает инфу в обратном хронологическом порядке. 

Команда last может показать последних залогиненых пользователей, а также события reboot или shutdown.

# last
root pts/0 192.168.13.197 Sun Oct 23 22:45 still logged in

Чтобы посмотреть историю подключений каждого юзера системы:

# lastlog
Username Port From Latest
root pts/0 192.168.13.197 Sun Oct 23 22:45:11 +0300 2021

Если указали неверные учётные данные во время подключения, то инфу об этом можно найти с помощью lastb:

# lastb
user1 ssh:notty 192.168.13.197 Sun Oct 23 23:04 - 23:04 (00:00)

Данные о ваших подключениях хранятся в логе SSH. В RPM дистрибутивах это обычно /var/log/secure, в Deb — /var/log/auth.log

Если нужно почистить следы за собой, то просто обнулите файлы:

# echo > /var/log/wtmp
# echo > /var/log/btmp
# echo > /var/log/lastlog
# echo > /var/log/secure

Важно! Организуйте удалённую передачу данных из этих файлов в нужное вам место, если следите за безопасностью. Это действие поможет анализировать инциденты атак.

Добавить комментарий

Спасибо, что поделились