Если у вас есть сервер Linux, есть вероятность, что к системе подключено несколько пользователей. Возможно, вы захотите узнать, когда конкретный пользователь вошел в систему Linux. Вы также можете узнать, с какого IP-адреса была получена доступ к вашей системе.
Даже если у вас нет нескольких пользователей, кто-то, вероятно, пытался получить доступ к вашему серверу Linux. Поверьте нам, это может звучать странно, но в наши дни боты пытаются получить доступ к вашим серверам Linux. Не верите нам? Просто проверьте неудачные попытки входа на ваш сервер, чтобы увидеть, пытался ли кто-нибудь войти в вашу систему.
Позвольте нам показать вам, как просмотреть историю входа в Linux, чтобы вы знали, кто и откуда обращается к вашей системе.
Просмотр истории входа в Linux
Linux очень хорошо ведет журналы всего, что происходит в вашей системе. Вполне естественно, что он также хранит журналы о входе и попытках входа. Информация для входа хранится в трех местах:
- /var/log/wtmp – Логи последних сеансов входа
- /var/run/utmp – Журналы текущих сеансов входа
- /var/log/btmp – Журналы неудачных попыток входа
Давайте посмотрим на эти вещи немного подробнее.
1. Просмотр истории всех зарегистрированных пользователей
Чтобы просмотреть историю всех успешных входов в систему, просто используйте команду last.
last
Вывод должен выглядеть следующим образом. Как видите, в нем перечислены пользователи, IP-адрес, с которого пользователь получил доступ к системе, дата и время входа в систему. pts/0 означает доступ к серверу через SSH.
alex pts/0 123.34.87.122 Wed Mar 14 15:32 still logged in root pts/0 123.34.87.122 Wed Mar 14 14:45 - 15:45 (01:00) servesha pts/0 125.20.97.117 Tue Mar 13 21:55 - 23:45 (01:50) admin pts/0 209.20.189.152 Tue Mar 12 10:11 - 14:27 (04:16) root pts/0 123.34.87.114 Mon Mar 10 17:23 - 19:34 (02:11) wtmp begins Mon Mar 5 23:22:10 2019
Последняя строка вывода сообщает вам, когда был создан файл журнала wtmp. Это важно, потому что если файл wtmp был удален недавно, последняя команда не сможет отобразить историю входов в систему до этой даты.
У вас может быть огромная история сеансов входа в систему, поэтому лучше передать вывод с помощью команды less.
2. Просмотр истории входа определенного пользователя
Если вы просто хотите просмотреть историю входа определенного пользователя, вы можете указать имя пользователя с помощью последней команды.
last <username>
Вы увидите информацию для входа только выбранного пользователя:
last mustdie mustdie pts/0 125.20.97.117 Tue Mar 14 13:07 - 15:25 (02:17) mustdie pts/0 209.20.189.152 Tue Mar 13 13:32 - 13:38 (00:06) wtmp begins Mon Mar 5 23:22:10 2019
3. Отображать IP-адреса в истории входа вместо имени хоста
Вы не могли видеть это в предыдущем выводе, но по умолчанию последняя команда показывает имя хоста вместо IP-адреса пользователя. Если вы находитесь в подсети, вы, вероятно, увидите только имена хостов.
Вы можете принудительно отобразить IP-адреса ранее зарегистрированных пользователей с помощью опции -i.
last -i
4. Отображать только последние N логинов
Если у вашей системы хорошее время работы, возможно, ваша история входа будет огромной. Как мы упоминали ранее, вы можете использовать команду less или другие команды просмотра файлов, такие как head или tail.
Последняя команда дает вам возможность отображать только определенное количество истории входа.
last -N
Просто замените N на номер, который вы хотите. Вы также можете комбинировать его с именем пользователя.
5. Просмотр всех неудачных попыток входа на ваш сервер Linux
Теперь важная часть: проверка неудачных попыток входа на ваш сервер.
Вы можете сделать это двумя способами. Вы можете использовать последнюю команду с файлом журнала btmp:
last -f /var/log/btmp
или вы можете использовать команду lastb:
lastb
Обе эти команды дадут одинаковый результат. Lastb на самом деле является ссылкой на последнюю команду с указанным файлом.
root ssh:notty 92.63.104.221 Sat Mar 2 13:44 - 13:44 (00:00) root ssh:notty 188.120.252.89 Sat Mar 2 13:43 - 13:43 (00:00) root ssh:notty 188.120.252.89 Sat Mar 2 13:43 - 13:43 (00:00) root ssh:notty 188.120.252.89 Sat Mar 2 13:42 - 13:42 (00:00) bublick7 ssh:notty 188.120.252.89 Sat Mar 2 13:42 - 13:42 (00:00)
Плохие логины могут быть неверным паролем, введенным законным пользователем. Это также может быть бот, пытающийся взломать ваш пароль.
Вы должны проанализировать здесь и посмотреть, узнаете ли вы IP-адреса в журнале. Если было слишком много попыток входа в систему с определенного IP-адреса с пользователем root, возможно, кто-то пытается атаковать вашу систему с помощью брутфорса.
Вы должны развернуть Fail2Ban для защиты вашего сервера в таких случаях. Fail2Ban забанит такие IP-адреса с вашего сервера и тем самым предоставит вашему серверу дополнительный уровень защиты.
Заключение
Мы надеемся, что эта статья научит вас просматривать историю входа в Linux, и теперь вы можете использовать эти знания для лучшего управления и защиты вашей системы Linux.