私のLinuxコンピュータにログインしているすべての人を記録して記録する方法

私のLinuxコンピュータにログインしているすべての人を記録して記録する方法

私のLinuxシステムにログインしているすべてのユーザーの履歴を見るために、Linux red-hat 6.xシステムにパッケージ監査をインストールしました。

yum install audit

キットの取り付け:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security_Guide/sec-installing_the_audit_packages.html

インストール後に監査サービスを再起動します。

service auditd start

ユーザー履歴を表示するためにaudir.logファイルを追跡します。

tail -f /var/log/audit/audit.log 

ただし、このログでは、ユーザーIPと彼が私のLinuxシステムにログインしたときにのみ表示されます。

ユーザーが実行したLinuxコマンドの履歴は表示されません。監査ログ

なぜ私たちがLinuxコマンドの履歴を見ることができないのかを提案できる人はいますか?監査ログ

の例監査ログ

type=USER_START msg=audit(1422876162.936:152): user pid=28114 uid=0 auid=0 ses=74236 msg='op=PAM:session_open acct="root" exe="/usr/sbin/sshd" hostname=10.1.113.35        addr=10.1.113.35 terminal=ssh res=s'
type=USER_LOGIN msg=audit(1422876162.940:153): user pid=28116 uid=0 auid=0            ses=74236 msg='op=login id=0 exe="/usr/sbin/sshd" hostname=10.1.113.35            addr=10.1.113.35     terminal=/dev/pts/1 res=success'
type=USER_START msg=audit(1422876162.940:154): user pid=28116 uid=0 auid=0 ses=74236 msg='op=login id=0 exe="/usr/sbin/sshd" hostname=10.1.113.35 addr=10.1.113.35 terminal=/dev/pts/1 res=success'
type=CRYPTO_KEY_USER msg=audit(1422876162.940:155): user pid=28116 uid=0 auid=0 ses=74236 msg='op=destroy kind=server fp=99:c8:56:79:64:17:0b:67:b5:6c:e9:36:22:8a:b1:88 direction=? spid=28116 suid=0 '
type=CRYPTO_KEY_USER msg=audit(1422876162.940:156): user pid=28116 uid=0 auid=0 ses=74236 msg='op=destroy kind=server fp=6f:b9:bf:4f:84:1f:58:e5:d2:1c:94:1f:11:8e:26:61 direction=? spid=28116 suid=0 '
type=CRED_REFR msg=audit(1422876162.940:157): user pid=28116 uid=0 auid=0 ses=74236 msg='op=PAM:setcred acct="root" exe="/usr/sbin/sshd" hostname=10.1.113.35 addr=10.1.113.35 terminal=ssh res=success'
  • 注:このツールで各ユーザーの記録の監査を完了できない場合は、そのタスクを実行できる他のツールを見つけるのに役立ちます。

答え1

一部の外部ツールを使用するよりも少し労力が必要な場合がありますが、last代わりにutmpdumpこれらのファイルを使用して必要なすべてのリモートログイン情報を提供してください(読むhttp://xmodulo.com/monitor-user-login-history-centos-utmpdump.htmlこれらのファイルの詳細については、次を参照してください。

/var/log/wtmp  
/var/log/btmp
/var/run/utmp

上記のように、ユーザーシェルのコマンド履歴を直接処理できます。

答え2

auth.log追加パッケージなしですでにログインデータを使用できるわけではありませんか?

command-historyこれはシェルの問題です。これを記録するには、シェル(システム上のすべてのシェル)に各入力行を記録する機能を提供する必要があります(ただし、ユーザーが実際に記録を避けたい場合はいつでも方法を見つけることができます)。これは、シェルだけでなく、すべてのアプリケーションが目的のコマンドを分岐して実行できるためです。したがって、唯一の確実な方法は、システムで開始されたすべてのプロセスを記録することです(下記の2番目のリンクを参照)。ただし、これは原則として、誰かが呼び出すことができ、コマンドラインでしか見えないecho "malicious command" | bash新しいプロセスの作成を必要としないシェルで実行されるすべての操作(すべてのシェル組み込み機能)を除外します。bashしたがって、シェルロギングと実行ロギングの両方が実行可能なアプローチになる可能性があります。

関連リンク:

https://stackoverflow.com/questions/15698590/how-to-capture-all-the-commands-typed-in-unix-linux-by-any-user ユーザーが実行したコマンドのログファイル

答え3

プロセスアカウントを使用することもできます。 Fedoraでpsacctサービスを見つけてアクティブにします。

その後、次を実行して、ユーザーが実行したタスク/現在実行されているタスクを確認できます。

sa  (list of all commands)
lastcomm bash  (who ran bash)
lastcomm vpathak   (what was run by vpathak)

これはいくつかのシェルレコードと一緒に良い概要を提供します。

ログインソースと使用されたキーをよりよく理解するために、侵入試行の詳細なステップバイステップの調査を見ることもできます。http://vpathak.tumblr.com/post/121343814158/fedora-audit-log-with-love-from-Russia

関連情報