
내 서버에 대한 SSH 연결에서 지정된 사용자가 입력하는 명령을 감사하는 방법이 필요합니다.
도움이 필요하세요?
답변1
사용자가 의도적으로 자신의 활동을 숨기지 않는 경우 다음과 같이 작동합니까?:
cat ~/.bash_history | grep "name_of_command"
또는
cat /home/user_name_here/.bash_history | grep search_string
PAM(플러그형 인증 모듈) TTY 감사를 활성화하는 것이 더 나은 솔루션일 수 있지만: pam_tty_audit.8
설치 auditd
(참고: SSH 서버가 설치되어 있는지 확인)하고 재부팅합니다.
sudo apt-get install auditd && sudo reboot
pam_tty_audit를 제거하십시오.
sed '/pam_tty_audit.so disable=/d' /etc/pam.d/sshd
pam.d 구성 파일에 활성화 문자열을 추가합니다.
sudo sh -c "echo 'session required pam_tty_audit.so enable=*' >> /etc/pam.d/sshd"
감사 시작:
sudo service auditd status
실행되고 있지 않은 경우:
sudo service auditd start
사용자 UID에 대한 grep tty 보고서:
sudo aureport --tty | grep $(id -u username_here)
관련 독서:
https://serverfault.com/questions/336217/how-do-i-log-every-command-executed-by-a-user
http://www.cyberciti.biz/tips/linux-audit-files-to-see-who-made-changes-to-a-file.html