web-dev-qa-db-ja.com

.bashrcと.ssh /は一見ランダムに消えます

Fedora 16(3.1.0-7.fc16.x86_64)を約1か月間実行しているサーバーがあります。ログインは数日または数週間ごとですが、ログインすると、ホームディレクトリにファイルが見つからないことがあります。そこにドキュメントなどを保存していないので、どの程度問題があるかはわかりませんが、.bash_profile、.bashrc、場合によっては.ssh /(keyfiles、config)の内容はわかっています。 、authorized_keys)が欠落することがあります。それらは消えるだけです(そして、常に一度にすべてではありません。今日はbashファイルがなくなり、先週は.sshが空でした)。私はそれについて何もオンラインで見つけることができないようです(システムが定期的に更新され、初期更新とインストールの問題が再発するのではなく終了する必要がある限り、クリーンインストールと初期更新で人々が抱えていた問題ではありません)。

# /etc/fstab
# ...
/dev/mapper/vg_Host-lv_root /                       ext4    defaults        1 1
UUID=1e51ac20-4a4c-4060-b1d2-11a675d082f2 /boot                   ext4    defaults        1 2
UUID=8D78-47C0          /boot/efi               vfat    umask=0077,shortname=winnt 0 0
/dev/mapper/vg_Host-lv_home /home                   ext4    defaults        1 2
/dev/mapper/vg_Host-lv_swap swap                    swap    defaults        0 0

昨日、これらのルールの両方をaudit.rulesに追加しました

-w /home/me/ -p wa -k homedir_watch
-w /home/me/ -k whodeletedit -p w

そして今日、.bashrcは再びなくなっていますが、これらのいずれかで検索すると

ausearch -f /home/lockhart  -k homedir_watch
ausearch -i -k whodeletedit

私は得る

<no matches>

ただし、不足しているファイルを追加/再作成しても同じ結果が得られます。一致するファイルはまだありません。

2
kaz

サーバーへのルートレベルのアクセス権がある場合は、インストールして有効にすることができます auditd これは、ファイルシステムレベルの変更を追跡し、ファイルの削除の原因を特定するのに役立ちます。

次に、ホームディレクトリに 書き込みを監視 を設定します(ディレクトリからファイルを削除するには、そのファイルを含むディレクトリに書き込む必要があります)。タグを付けて、実行中の他の監視と区別できるようにします。

auditctl -w /home/you/ -k whodeletedit -p w

ファイルが再び失われたとき

ausearch -i -k whodeletedit

ホームディレクトリを変更した理由がわかります。

これはすべて、システムが正常に動作していること、およびドライブが破損したり、システムが不適切にシャットダウンされてデータが失われたりしたためにファイルが失われていないことを前提としています。

3
DerfK

過去のイベントのフォレンジックに関しては、構成したログと設定によって異なります。

基本レベルでは、問題ファイルが最後に変更された日時、およびその他の関連情報をstatツールを使用して表示できるはずです。

`$ stat ~/.bash_profile
  File: `/home/user1/.bash_profile'
  Size: 497             Blocks: 8          IO Block: 4096   regular file
Device: fd02h/64770d    Inode: 1049582     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/    user1)   Gid: ( 1000/    tomh)
Access: 2012-05-19 15:36:18.691678693 +0100
Modify: 2012-03-30 03:18:35.522606708 +0100  <---- file was changed this time
Change: 2012-03-30 03:18:35.545606708 +0100
 Birth: -`

これは、ファイルがいつ変更されたかを示します。

このタイムスタンプ値を/var/log/secureファイルのエントリ、およびファイルがゼロになった頃のイベントの他のログと比較できるため、ログインしているユーザーなど、またはSudoコマンドを探しています。

将来のイベントのために、 監査デーモンサービス をインストールして構成し、ホームディレクトリをそのように監視することができます。

$ Sudo yum install audit
Loaded plugins: auto-update-debuginfo, langpacks, presto, refresh-packagekit
Package audit-2.2.1-1.fc16.x86_64 already installed and latest version

開始するようにauditdサービスを構成します

# service auditd start
Redirecting to /bin/systemctl  start auditd.service

起動時に有効にします。

# chkconfig auditd on
Note: Forwarding request to 'systemctl enable auditd.service'.
ln -s '/lib/systemd/system/auditd.service' '/etc/systemd/system/multi-user.target.wants/auditd.service'

/etc/audit/audit.rulesファイルの最後に以下を追加して、ホームディレクトリにウォッチを構成します。

 -w /home/user1 -p wa -k homedir_watch

次に、次のようにログ内のファイルへの変更を検索できます。

 # ausearch -i -k homedir_watch


----
time->Sat May 19 16:53:00 2012
type=PATH msg=audit(1337442780.935:1274): item=1 name="/home/user1/.config/google-chrome/Default/Cookies-journal" inode=1050743 dev=fd:02 mode=0100644 ouid=1000 ogid=1000 rdev=00:00
type=PATH msg=audit(1337442780.935:1274): item=0 name="/home/user1/.config/google-chrome/Default/" inode=1056816 dev=fd:02 mode=040700 ouid=1000 ogid=1000 rdev=00:00
type=CWD msg=audit(1337442780.935:1274):  cwd="/home/user1"
type=SYSCALL msg=audit(1337442780.935:1274): Arch=c000003e syscall=2 success=yes exit=104 a0=7fcece769259 a1=42 a2=1a4 a3=30 items=2 ppid=1 pid=8151 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=(none) ses=2 comm="Chrome_DBThread" exe="/opt/google/chrome/chrome" key="homedir_watch"
  • メモ

注意してください、それは非常に速くたくさんのログを実行する可能性があるので、それを使用して実行したままにするつもりなら、いくつかの良いものがあります ここのドキュメント

1
Tom H