Содержание статьи

Файл /var/log/btmp в Linux фиксирует все неудачные попытки входа в систему. Каждая запись содержит дату, время, имя пользователя, терминал и IP-адрес источника. Это позволяет отслеживать подозрительные действия и предотвращать несанкционированный доступ.
Для просмотра данных из btmp используется команда lastb, которая корректно декодирует бинарный формат файла. Простое открытие через текстовый редактор не даст осмысленной информации, так как файл хранится в двоичном виде.
Размер btmp может расти при системах с большим количеством неудачных попыток входа. Для контроля используют ротацию логов через logrotate, что позволяет ограничить размер файла и сохранять историю за определенный период без риска переполнения диска.
Анализ btmp помогает выявлять источники атак, например, многократные попытки входа с одного IP-адреса или подбор пароля для конкретного пользователя. Регулярный мониторинг этих данных рекомендуется включить в план безопасности сервера.
Где находится файл btmp и как его найти в системе

Файл /var/log/btmp хранится в стандартной директории логов Linux. Он создается системой автоматически и доступен только пользователю root или через команды с повышенными привилегиями.
Для проверки наличия файла можно использовать команду:
- ls -l /var/log/btmp – покажет размер, дату изменения и права доступа.
Если файл не найден в стандартной директории, его расположение может быть изменено в зависимости от дистрибутива или конфигурации rsyslog и systemd-journald. Проверить актуальный путь можно командой:
- grep btmp /etc/rsyslog.conf /etc/rsyslog.d/*
Для поиска файла на всей системе используется find:
- sudo find / -name btmp – покажет все файлы с именем btmp, включая нестандартные пути.
После обнаружения файла важно проверить права доступа. Рекомендуется, чтобы только root имел право чтения, чтобы защитить данные о попытках входа от несанкционированного просмотра:
- sudo chmod 600 /var/log/btmp
Какие события записываются в btmp
Файл /var/log/btmp фиксирует все неудачные попытки входа в систему, включая локальные и удаленные. Каждая запись содержит ключевые данные для анализа безопасности.
Основные элементы записей:
| Элемент | Описание |
|---|---|
| Имя пользователя | Учетная запись, для которой была предпринята попытка входа. |
| Дата и время | Момент неудачной попытки. |
| Терминал | Консоль или терминал, с которого была попытка входа (tty, pts). |
| IP-адрес или хост | Адрес источника попытки для удаленных подключений. |
| Код ошибки | Указывает причину отказа, например неверный пароль или несуществующий пользователь. |
Регулярный анализ этих данных позволяет выявлять систематические атаки, подбор паролей и подозрительную активность. Использовать lastb для чтения btmp рекомендуется, так как команда корректно декодирует двоичный формат.
Как просматривать содержимое btmp с помощью команд

Файл /var/log/btmp хранится в двоичном формате, поэтому открытие через текстовый редактор не даст читаемой информации. Для анализа используют системные утилиты, которые декодируют записи.
Основная команда для просмотра содержимого:
Примеры использования:
sudo lastb -f /var/log/btmp.1 – позволяет просмотреть старый архивный файл после ротации;
sudo lastb | grep <имя_пользователя> – фильтрует записи по конкретному пользователю.
Формат записи и структура данных в btmp

Файл /var/log/btmp использует бинарный формат, совместимый с библиотекой utmp. Каждая запись фиксированной длины содержит набор полей, необходимых для точного описания неудачной попытки входа.
Структура записи включает следующие элементы:
| Поле | Описание |
|---|---|
| ut_type | Тип записи, для btmp всегда LOGIN_FAILED. |
| ut_user | Имя пользователя, для которого была предпринята попытка входа. |
| ut_line | Консоль или терминал, с которого происходила попытка (tty, pts). |
| ut_host | IP-адрес или хост для удаленных подключений. |
| ut_tv | Временная метка в формате секунд и микросекунд с начала эпохи UNIX. |
| ut_pid | Идентификатор процесса, инициировавшего вход. |
Удаление и очистка файла btmp без потери стабильности системы
Файл /var/log/btmp можно очищать без угрозы для работы системы, если соблюдать правильный порядок действий. Полное удаление файла без восстановления создаст новую пустую версию при следующей записи системы.
Для безопасной очистки используют команду:
sudo > /var/log/btmp – файл обнуляется, сохраняя права и владельца, что предотвращает ошибки при последующих записях.
Полное удаление с созданием нового файла также допустимо:
sudo rm /var/log/btmp && sudo touch /var/log/btmp && sudo chmod 600 /var/log/btmp && sudo chown root:utmp /var/log/btmp
Эта последовательность гарантирует правильные права и владельца, необходимых для корректной работы системных служб.
Очистку рекомендуется выполнять регулярно на серверах с большим количеством неудачных попыток входа, чтобы контролировать размер логов и исключить переполнение диска.
Настройка ротации логов для btmp через logrotate
Для контроля размера файла /var/log/btmp используют logrotate. Ротация позволяет сохранять историю неудачных попыток входа и предотвращает переполнение диска.
Создайте или отредактируйте конфигурационный файл, например /etc/logrotate.d/btmp со следующим содержанием:
/var/log/btmp {
monthly
rotate 6
compress
missingok
notifempty
create 0600 root utmp
}
Пояснения к настройкам:
monthly – ротация раз в месяц;
rotate 6 – сохраняются шесть архивных файлов;
compress – архивы сжимаются для экономии места;
missingok – отсутствие файла не вызывает ошибку;
notifempty – ротация выполняется только если файл не пустой;
create 0600 root utmp – после ротации создается новый файл с корректными правами и владельцем.
После настройки можно проверять работу ротации командой:
Разница между btmp, wtmp и lastlog
Файлы btmp, wtmp и lastlog в Linux предназначены для хранения информации о входах пользователей, но отличаются форматом и назначением.
- btmp – хранит только неудачные попытки входа. Каждая запись фиксирует пользователя, терминал, IP-адрес и время. Используется для анализа атак и подозрительной активности.
- wtmp – регистрирует все успешные входы и выходы пользователей. Позволяет отслеживать историю сеансов, время работы и периоды активности.
- lastlog – содержит информацию о последнем успешном входе каждого пользователя. Представлен в виде таблицы с фиксированными позициями для каждого пользователя и обновляется при каждом входе.
Практические рекомендации:
- Используйте lastb для анализа btmp, чтобы выявлять систематические неудачные попытки входа.
- Используйте last или who для wtmp, чтобы проверять активные сеансы и историю входов.
- Используйте lastlog для быстрой проверки последнего входа конкретного пользователя, особенно при управлении доступом.
Использование btmp для анализа попыток неудачного входа в систему
Файл /var/log/btmp позволяет выявлять подозрительные попытки входа, включая подбор паролей и повторные ошибки авторизации. Каждая запись фиксирует имя пользователя, терминал, IP-адрес и временную метку.
Для анализа используют команду lastb. Примеры:
sudo lastb | grep <имя_пользователя> – фильтрует записи по конкретному пользователю;
sudo lastb | awk ‘{print $3}’ | sort | uniq -c | sort -nr – показывает количество попыток с каждого терминала или IP, упрощая выявление источников атак.
Регулярный анализ btmp помогает обнаружить сканирование учетных записей, массовый подбор паролей и аномальные повторные попытки входа. Настройка уведомлений на превышение порога неудачных попыток позволяет оперативно реагировать на угрозы.
Вопрос-ответ:
Зачем нужен файл btmp в Linux и чем он отличается от других логов?
Файл /var/log/btmp фиксирует все неудачные попытки входа в систему. В отличие от wtmp, который хранит успешные входы и выходы пользователей, btmp предназначен для мониторинга попыток подбора пароля или несанкционированного доступа. Каждая запись содержит имя пользователя, терминал, IP-адрес и временную метку, что позволяет анализировать активность потенциальных атакующих и принимать меры для защиты сервера.
Как просматривать содержимое btmp и какие команды для этого подходят?
Так как btmp хранится в бинарном формате, открытие его через текстовый редактор не даст понятного результата. Для анализа используют команду lastb, которая выводит записи в читаемом виде с указанием пользователя, терминала, IP и времени. Например, sudo lastb -n 20 покажет 20 последних неудачных попыток, а sudo lastb | grep имя_пользователя позволит отфильтровать данные по конкретному пользователю. Команда lastb -R подходит для скриптового анализа без заголовков.
Можно ли безопасно очистить или удалить файл btmp без угрозы работы системы?
Да, файл можно обнулить или удалить и создать заново. Наиболее простой способ — использовать sudo > /var/log/btmp, что обнуляет содержимое, сохраняя права и владельца. Альтернативно, можно удалить файл и создать новый с корректными параметрами: sudo rm /var/log/btmp && sudo touch /var/log/btmp && sudo chmod 600 /var/log/btmp && sudo chown root:utmp /var/log/btmp. Эти действия не нарушают работу системных служб, записывающих информацию о входах.
Как использовать btmp для выявления подозрительной активности на сервере?
Регулярный анализ btmp позволяет определить источники повторяющихся неудачных попыток входа. Например, можно подсчитать количество попыток с каждого IP с помощью sudo lastb | awk ‘{print $3}’ | sort | uniq -c | sort -nr. Также важно проверять частые ошибки для отдельных пользователей и терминалов. Настройка уведомлений при превышении порога неудачных попыток помогает оперативно реагировать на возможные атаки и ограничивать доступ подозрительных адресов.
