Вопрос или проблема
Некоторый пользователь на моем сервере только что удалил файл, я хочу выяснить, кто это сделал. Проверять историю каждого человека невозможно, и команда не может быть такой простой, как rm -rf файл
.
Возможно ли узнать, кто вносил последние изменения в папку? Я на linux.
В общем, трудно узнать, кто удалил файлы, кто изменил файлы, не зная о ‘системе логирования’ или заранее настроенных событиях.
Попробуйте выяснить, кто вошел в систему в момент, когда директория была удалена.
Проверьте системный журнал ОС (/var/adm/syslog/syslog.log для hp-ux, /var/log/messages для linux)
Попробуйте команду last, чтобы получить список тех, кто вошел в систему и когда
Проверьте истории команд sidadm, пользователя root, используйте команду history или псевдоним h
Проверьте, есть ли скрипты, которые регулярно удаляют файлы
Также вы можете взглянуть на .bash_history ваших пользователей, предполагая, что они используют bash:
Выполните следующие команды в терминале:
cd /home
find `ls`/.bash_history -exec /usr/bin/grep "имя-удалённого-файла" {} /dev/null \;
Это файл, который может удалить только root, затем посмотрите на .bash_history root, но тогда вам нужно выяснить, кто вошел как root или использовал su для получения прав root. Для этого команда last root|more может помочь вам.
Так как директория trans может быть смонтирована через NFS на других серверах, вам может потребоваться провести проверки и там.
Также для будущего использования установите любое решение с открытым исходным кодом SIEM, такое как alienvault и т.д., которое поможет вам вести учет и логировать события.
Шаг 1: включите учет процессов.
Шаг 2: включите фашистское логирование tty,
добавьте/включите pam_tty_audit.so в вашу pam system-auth.
Шаг 3: ищите активность пользователей с помощью ausearch.
Ответ или решение
Определение пользователя, который удалил файл на сервере под управлением Linux, может быть непростой задачей. Однако, следуя ряду методов и рекомендаций, вы сможете получить необходимую информацию. Давайте разберем этот процесс детально.
Шаг 1: Проверьте системные журналы
Первый шаг — это изучение системных журналов. Они могут содержать данные о действиях пользователей.
-
Системные логи: Просмотрите файл
/var/log/messages
, который содержит сообщения, относящиеся к различным системным событиям. Используйте команду:less /var/log/messages
Для поиска записей, связанных с удалением файлов, можно также воспользоваться командой
grep
:grep -i "deletion" /var/log/messages
-
Журнал авторизации: В зависимости от конфигурации, файлы
/var/log/auth.log
и/var/log/secure
могут содержать данные о входе пользователей в систему.
Шаг 2: Узнайте, кто был вошедшим в систему
Используйте команду last
для получения списка пользователей, которые заходили в систему в определённый период времени:
last
Это даст вам понимание, кто был в системе и когда, что может помочь определить виновного.
Шаг 3: Проверьте историю команд пользователей
Для пользователей, работающих с оболочкой bash, проверьте файл .bash_history
. Вы можете сделать это следующим образом:
cd /home
find . -name ".bash_history" -exec grep "rm" {} \;
Эта команда будет искать все файлы .bash_history
и фиксировать любые команды удаления, такие как rm
.
Если вам нужно проверить историю команд root
:
grep -i "rm" /root/.bash_history
Шаг 4: Используйте учетные записи процессов
Если у вас включена учётность процессов, вы сможете использовать команду acct
для анализа активности пользователей:
accton /var/log/pacct
lastcomm | grep "deleted-filename"
Шаг 5: Проверьте активность терминала
Для более глубокой проверки вы можете рассмотреть возможность анализа активности терминала. Это требует донастройки системы:
-
Добавьте pam_tty_audit.so в файл конфигурации PAM (
/etc/pam.d/system-auth
), чтобы получать отчеты о событиях на уровне терминала. -
Используйте инструмент
ausearch
для поиска активности пользователей:ausearch -m USER_AUTH
Шаг 6: Установите решения для мониторинга
На будущее рекомендуем установить решения для мониторинга и безопасности, такие как AlienVault или OSSEC, которые помогут обеспечить журналирование всех действий пользователей и значительно упростят идентификацию нарушений.
Заключение
Поиск пользователя, который удалил файл, требует не только анализа текущей ситуации, но и проактивного подхода к обеспечению безопасности данных на вашем сервере. Путем включения логирования и постоянного мониторинга вы сможете не только решить текущую проблему, но и минимизировать риски возникновения подобных инцидентов в будущем.