나는 최근에 발견했다Unix 시스템의 프로세스 계산 기능. 기본적으로 이는 결코 제거되지 않은 레거시 리소스 사용량 기록 시스템인 것으로 보입니다.
아주 먼 옛날부터(실제로 사람들이 사용한 컴퓨터 주기에 따라 실제로 돈을 지불해야 했던 때부터 거슬러 올라갑니다) Unix와 그 복제품에는 프로세스 회계(acct)라는 시스템이 내장되어 있었습니다. 이를 통해 시스템 관리자는 이를 알 수 있었습니다. 사용자가 무엇을 하고 있는지 정확하게 파악하고 이에 따라 비용을 청구할 수 있습니다. acct 기능은 오늘날까지도 대부분의 Unix 및 Linux 시스템에 여전히 존재합니다.- @마젠코
사이버 보안 관점에서 이것은 사용자가 bash 기록을 삭제할 수 있고 (이 외에도) 기본적으로 borne 쉘 명령에 대한 기록이 없기 때문에 매우 흥미롭습니다.
다음을 수행하여:
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