Команда 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
Важливо! Організуйте віддалену передачу даних з цих файлів у потрібне місце, якщо стежите за безпекою. Ця дія допоможе аналізувати інциденти атак.