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 構成ファイルに enable 文字列を追加します。

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

関連情報