Linuxで「個人」アクティビティを記録する


11

そのため、これに関連する多くの投稿を読んで、以前よりも混乱してしまいました。ttyrec、sno​​opy、acct、rootsh、sudosh、ttyrpld、unix監査など、さまざまなツールの推奨事項があります。

私の場合、システムで実行されたすべてのコマンド(タイムスタンプが有効になっている履歴など)をログに記録したいのですが、誰が何をしたかを知りたいのですが?ただし、私たちはすべて、sshを介して同じ小さなユーザーアカウントのサブセットにログインします(実行内容によって異なります)。「誰」が提供する情報(接続に関して)を含むコマンドのログを取得して、特定の人へのアクションを一般的な「ユーザー」に向けて追跡できるようにする方法を教えてください。


スヌーピーはそれを行うことができるはずであり、おそらく他の多くの選択肢があります。
モーロ

2
システムコール、sudo、シェル履歴、ファイルシステムの変更?すべてのユーザープロセスが必ずしもログインシェルから起動されるわけではありません。

回答:


9

auditdパッケージはこのために設計されている、あなたは、元のログインにアカウントの背面に活動を追跡する(そしてその人はからログイン場所を決定するためにログインログを確認してください)することができますので、各ログインにセッションIDを割り当てるためにPAMを使用することができ、および使用ausearch興味のあるイベントを見つけるためのコマンド。ここでかなり包括的なガイドを読むことができますが、ディストリビューションに合わせて詳細を変更する必要があります。Redhatには、FAQと他のドキュメントを含むサイトがあります

これは、シェルに入力されたコマンドを記録したり、ユーザーのコマンド履歴を記録しようとすることに依存しないため、viを開く(Xまたはinで実行される可能性があるscreen)、スクリプトを書く(おそらく1文字でviの切り取り/貼り付けコマンドと、数回:.!/usr/games/fortune実行して、ログに記録できない可能性のあるソースデータを取得してから:%!/bin/bashコマンドを実行します。


これは最も有望な答えを探しています... 監査を使用すると、ログイン時に作成され、子プロセスに渡される監査IDを使用して、このユーザーが採用するIDに関係なく、ログインからログアウトまでユーザーのアクションを一貫して追跡できます元のログインプロセス。 それを実際に実装する方法を理解するために、もう少し私の部分を読んでください。選択ロットを絞り込んでくれてありがとう!
あしめま

この回答を承認済みとしてマークするのに非常に長い時間がかかることをおologiesびします。夢をかなえます。
あしめま

4

さまざまなツールがすでに用意されており、質問(およびこれらの回答)は、履歴、スヌーピー、監査、sudoログなどを示唆していますが、人々が使用している「アカウントのサブセット」がある場合は、サーバーでは誰が何をしたかを知る方法はありません。ユーザーが具体的に誰がそれを行ったかを特定できる唯一の方法は、ユーザーが具体的に使用する独自のコンピューターを持ち、キーロガーを使用してそのキーボードで物理的に入力していることを確認することです。

アカウントを共有するときはいつでも、実際に何が起こっているのかを知ることができません。なぜなら、rootアカウントまたはbobアカウントを使用している人、または人々が何をしていたかをさらに証明する必要があるからです。特定のインシデントで何が起こったのかを調査しようとする場合、アクセスポリシーと手順、復旧手順を確認し、従業員を評価するか、必要に応じて再トレーニング(または機密性の高いアカウントとの信頼性)を行う必要があります誰が何かをした人を探し出すことに直接焦点を合わせるよりも、それはあなたがそれをした人を見つけることで得るよりも多くのリソースを吸い込む可能性があるためです。

それ以外の場合は、何が起こったのかを追跡するためのフォレンジック調査手法(ドライブイメージング、ログトレースなど)を検討することをお勧めします。 root、ボブのみがsudoを使用して自分のアカウントを使用して、より高い特権へのアクセスを取得し、監査対象のインストールと監視などを行います)自分の仕事を成し遂げる(または彼らが仕事を成し遂げることを妨げる)。


2

Linux auditd(http://people.redhat.com/sgrubb/audit/)は、誰が何をしたかを監視するのに最も力を発揮します。これについては、DerfKの回答で詳しく説明しています。

ただし、webadminアカウントにアクセスできる人がn人いる場合、webadminとしてログインしたユーザーに何も通知しません。各ユーザーに名前付きアカウントを使用し、su-またはsudoを使用して「関数」アカウントからコマンドを実行することをお勧めします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.