SSH 연결에서 지정된 사용자에 대해 TTY를 감사하는 방법은 무엇입니까?

SSH 연결에서 지정된 사용자에 대해 TTY를 감사하는 방법은 무엇입니까?

내 서버에 대한 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)

관련 독서:

http://doc.opensuse.org/products/draft/SLES/SLES-security_sd_draft/cha.audit.comp.html#sec.audit.auditd

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

관련 정보