Когда вы подключаетесь к серверу по SSH, система оставляет несколько артефактов. Это полезно знать не только с точки зрения безопасности, но и для диагностики и аудита.
Разберем основные места, где фиксируются подключения.
1️⃣ /var/log/auth.log - основной лог SSH. Каждое подключение к SSH фиксируется здесь. Быстро посмотреть успешные входы:
grep 'Accepted' /var/log/auth.log
Если система использует journald, записи можно посмотреть так:
journalctl -u ssh -r
-r покажет события в обратном порядке (сначала последние).2️⃣ /var/log/wtmp - история логинов. Это бинарный лог, где хранится информация о: входах пользователей, IP-адресах, перезагрузках и выключениях системы. Смотреть его можно командой:
last
Полезный вариант с расширенной информацией:
last -Faiwx
3️⃣ /var/log/lastlog - последний вход каждого пользователя. Файл хранит последнюю дату входа для каждого системного пользователя. Посмотреть:
lastlog
Можно быстро увидеть: кто вообще заходил, когда был последний логин и с какого IP.
4️⃣ /var/run/utmp - текущие активные сессии. Пока пользователь подключен, информация о сессии хранится здесь. Посмотреть активные подключения:
who
#или
w
5️⃣ /var/log/btmp - неудачные попытки входа. Если кто-то ошибся с логином или паролем, запись попадет сюда. Посмотреть:
lastb
Полезно для поиска: ошибок авторизации или сканирования SSH.
6️⃣ ~/.bash_history - история команд. Все команды пользователя обычно сохраняются в файл:
~/.bash_history
Если не хотите записывать историю в файл (например, во время диагностики), можно временно отключить:
export HISTFILE=/dev/null
В текущей сессии history будет работать, но после выхода команды не запишутся на диск.
⚠️ Важный момент. Если сервер отправляет логи во внешнее хранилище, то след о подключении появляется сразу в момент логина.
Поэтому в инфраструктурах часто используют: центральный syslog-сервер, systemd-journal-remote и централизованный сбор логов. Это позволяет видеть историю подключений даже если локальные логи были очищены.
BashTex 📱 #security