사용자가 다음 명령을 실행한다고 가정합니다.
zcat file.gz | grep something | gzip > grepped.gz
execve
나는 모든 s를 기록하고 stdins/stdouts를 함께 연결하고 비슷한 형식으로 재구성하여 syslog에 넣는 커널 함수(아마도 BPF 필터?)를 찾고 있습니다 . 쉘과 상호작용하지 않고 이를 수행할 수 있는 방법이 있습니까?
답변1
프로세스 회계 사용
패키지는 일반적으로 이름이 지정 psacct
되거나acct
필수 패키지 설치
sudo apt install acct
데몬을 시작하여 프로세스 계정을 자동으로 활성화합니다.
sudo systemctl enable --now acct.service
마지막 실행 명령 실행 확인lastcomm
감사 사용
auditd 데몬 설치
시작 시 활성화
sudo systemctl enable auditd
다음 규칙을 추가하세요.
sudo auditctl -a always,exit -F arch=b64 -S execve -k search_comment
이제 사용자가 기록한 모든 메시지를 봅니다.
sudo ausearch -k search_comment
또는 특정 UID로 검색
sudo ausearch -k search_comment -ui 1000