GNU/Linux >> Linux の 問題 >  >> Linux

Linux でファイル アクセスを監査する方法

Linux には、audit という名前の監査 RPM があり、プロセスとコマンドも監視するための auditd サービスを提供します。 audit RPM を使用すると、読み取り、書き込み、実行などの単純なファイル操作を監査できます。この投稿では、Linux システムでのファイル アクセスを監視する方法を紹介します。 「ファイルが読み取られた/変更されたのはいつですか?」、「特定のファイルを編集したのは誰ですか?」など。

1. auditd サービスが実行されていない場合は、最初に開始します。

# service auditd start       ### CentOS/RHEL 6
# systemctl start auditd     ### CentOS/RHEL 7

2. auditctl を使用します 監視するファイルを指定するコマンド:

# auditctl -w /etc/hosts -p war -k hostswrap

-w :監査/監視するファイルを指定します。
-p :監査/監視する操作/権限。r は読み取り、w は書き込み、x は実行、a は追加。
-k :この監査ルールのキーワードを指定します。監査ログを検索するときに、このキーワードで検索できます

3. コマンド ラインで auditctl を実行して実行中の監査システムに加えた変更は、システムの再起動後は保持されないことに注意してください。変更を永続的にするには、それらを /etc/audit/audit.rules に追加します 現在 audit にロードされていない場合は、auditd サービスを再起動して、変更されたルール セットをロードします。

# vi /etc/audit.rules
-w /etc/hosts -p war -k hostswrap
# service auditd restart       ### CentOS/RHEL 6
# systemctl restart auditd     ### CentOS/RHEL 7

4. auditd サービスの現在の監査ルールを一覧表示するには、「l」オプションを使用します。

# auditctl -l
No rules
AUDIT_WATCH_LIST: dev=8:5, path=/etc/hosts, filterkey=hostswrap, perms=rwa, valid=0

5. ファイル /etc/hosts へのアクセスがないか、監査ログを確認します。

# ausearch -f /etc/hosts -i | less
type=FS_WATCH msg=audit(05/28/18 11:21:27.216:10) : watch_inode=4313009 watch=hosts filterkey=hostswrap perm=read,write,append perm_mask=read
type=SYSCALL msg=audit(05/28/18 11:21:46.251:19) : arch=i386 syscall=open success=yes exit=5 a0=c679b5 a1=0 a2=1b6 a3=0 items=1 pid=16056 aui
d=unset uid=oracle gid=dba euid=oracle suid=oracle fsuid=oracle egid=dba sgid=dba fsgid=dba comm=ons exe=/home/oracle/oracle/product/10.2.0/c
rs_1/opmn/bin/ons
----
type=PATH msg=audit(05/28/18 11:21:38.697:11) : name=/etc/hosts flags=follow,access inode=4313009 dev=08:05 mode=file,644 ouid=root ogid=root
 rdev=00:00
type=CWD msg=audit(05/28/18 11:21:38.697:11) :  cwd=/newspace/TAR/May
type=FS_INODE msg=audit(05/28/18 11:21:38.697:11) : inode=4313009 inode_uid=root inode_gid=root inode_dev=08:05 inode_rdev=00:00
type=FS_WATCH msg=audit(05/28/18 11:21:38.697:11) : watch_inode=4313009 watch=hosts filterkey=hostswrap perm=read,write,append perm_mask=writ
e
.....

ログには、操作時間、ファイルの読み取り/書き込みの処理/コマンド、uid などが表示されます。


Linux
  1. Linuxでファイルの名前を変更するにはどうすればよいですか?

  2. Linux で iso ファイルをマウントする方法

  3. ファイル linux への同時アクセス

  1. Linuxファイル機能を管理する方法

  2. Linuxでファイルを見つける方法

  3. Linuxでスワップを作成する方法

  1. Linuxでスワップファイルを作成する方法

  2. Linuxファイルアクセスモニタリング?

  3. Linuxでログファイルを空にする方法