Я недавно обнаружилфункция учета процессов в системах Unix. По сути, это, по-видимому, устаревшая система учета использования ресурсов, которая просто никогда не удалялась.
С незапамятных времен (фактически с тех времен, когда людям приходилось платить реальные деньги за использованный ими компьютерный цикл) в Unix и его клонах была встроена система Process Accounting (acct). Она позволяла системным администраторам точно знать, что делают их пользователи, и выставлять им счета. Возможности acct существуют в большинстве систем Unix и Linux и по сей день.- @Маженко
С точки зрения кибербезопасности это довольно интересно, поскольку пользователи могут удалять историю bash, и (помимо этого) по умолчанию (или я так думал) истории для команд оболочки Born нет.
При выполнении:
sudo apt-get install acct
sudo /etc/init.d/acct start
sudo lastcomm
...и многие другие связанные команды и параметры, мы можем получить записи, такие как:
mandb F man pts/4 0.00 secs Mon Dec 6 13:33
mandb F man pts/4 0.00 secs Mon Dec 6 13:33
acct.postinst root pts/4 0.00 secs Mon Dec 6 13:33
systemctl root pts/4 0.00 secs Mon Dec 6 13:33
systemd-tty-ask S root pts/4 0.00 secs Mon Dec 6 13:33
accton S root __ 0.00 secs Mon Dec 6 13:33
Что в основном является мощной, обширной историей оболочек, включающей все типы оболочек. Но у меня возникли проблемы с изучением того, как это работает. Где находятся данные, которые эта команда извлекает? Я пытаюсь узнать больше о том, насколько легко злоумышленник может получить доступ к этим данным и удалить их, или где мы можем получить к ним доступ, чтобы сделать резервную копию.
решение1
аккт(5), или acct - файл учета процесса, говорит следующее:
Если ядро собрано с включенной опцией учета процессов (CONFIG_BSD_PROCESS_ACCT), то вызов аккт(2)начинает учет процесса, например:
acct("/var/log/pacct");
Когда включен учет процессов, ядро записывает запись в файл учета при завершении каждого процесса в системе. Эта запись содержит информацию о завершенном процессе и определяется в
<sys/acct.h>
.
Типичное местоположение файла по умолчанию — /var/log/account/pacct
, где будут сохранены данные.
К сожалению, этот файл не является простым текстовым файлом, поэтому не пытайтесь просматривать его с помощью команд
more
или . Вместо этого используйтеtail
дамп-аккаунт
команду для его просмотра.
решение2
/var/log/account/pacct