Rootとしてサーバーにログインし、w
を実行しました。これにより、ユーザーがファイルを編集していることがわかりました。
someuser pts/5 10.117.0.53 14:03 3:25 1.20s 1.14s vi somefile.py
その後、切断し、後でルートとして再接続しました。もう一度w
を実行しましたが、今回は別のことを示しました。
someuser pts/5 10.117.0.53 14:03 5:20 0.20s 0.02s sshd: someuser [priv]
他のフィールドから、これは同じユーザーであることがわかりますが、今回は彼らが行っていることは隠されています。
なぜ隠されたのですか?彼らが何をしているのかをどうやって見ることができますか?
ユーザーがbash
を使用している場合は、ユーザーの/etc/bash.bashrc
に次のように追加できます。
readonly Prompt_COMMAND='history -a >(logger -t "commandlog $USER[$PWD] $SSH_CONNECTION")'
これにより、すべてのユーザーコマンドがsyslogに記録されます。
ログをロックダウンされた中央のsyslogサーバーに転送するようにsyslog
を構成するので、ハッキングや不正なsysadminの場合、証拠を改ざんすることはできません。
システムでauditdが有効になっている場合は、監査ログを表示して、ユーザーのコマンドアクティビティを確認できます。これは、システムに関する他のユーザーのアクションによって引き起こされた可能性のある問題を法的にトラブルシューティングしようとするときに、システム管理者が定期的に使用する優れたリソースです。
ユーザー履歴ファイルをのぞくような簡単なことを試すことができます。これは、ユーザーのシェルがbash
であることを前提としています。
cat /home/someuser/.bash_history