GNU/Linux >> Linux の 問題 >  >> Cent OS

/etc/shadow および /etc/passwd ファイルの変更を Auditd で監視するにはどうすればよいですか?

システム監査は非常に重要なタスクであり、すべてのサーバーに含める必要があります。これにより、システム内で正確に何が起こっているかに関連する詳細を監査できます。ほとんどのシステム管理者は、ログイン試行のために /var/log/secure ファイルを調べるなどの基本的な監査機能を認識しているかもしれませんが、低レベルの監査に関しては、ここで作業を行う必要があります。

システム監査が役立つケースの例:

  • ファイル アクセスの監視 :サーバー内のどのファイルまたはディレクトリが、いつ、どのユーザーによってアクセスまたは変更されたかについてのレポートが必要です。これは、サーバー内の重要なファイルへのアクセスを検出したい場合や、本番環境に影響を与えた変更を行った人物を特定したい場合に特に重要な側面です。
  • システム コールの監視 :後ろに入力するすべてのコマンドは、カーネルへのシステム コールを行います。

/etc/shadow と /etc/passwd の変更を監視する

1. ファイル /etc/shadow および /etc/passwd を監視するには、次の 2 つのルールを auditd ルール ファイル /etc/audit/rules.d/audit.rule に追加します。

# vi /etc/audit/rules.d/audit.rule
-w /etc/shadow -p wa -k shadow
-w /etc/passwd -p wa -k passwd
CentOS/RHEL 6 では、構成ファイルは /etc/audit/audit.rules です。 /etc/audit/rules.d/audit.rules の代わりに。

上記のコマンドは次のことを表しています:

-w path-to-file -p permissions -k keyname

権限は次のいずれかです:
r – ファイルの読み取り
w – ファイルに書き込む
x – ファイルを実行します
a – ファイルの属性 (所有権/権限) の変更

2. 上記の 2 つのルールを定義した後、auditd サービスを再起動します。

# service auditd restart
注意 :CentOS/RHEL でサービス auditd を管理するために「systemctl」コマンドを使用しないでください。代わりに、従来の「サービス」コマンドを使用してください。この制限の理由は、監査デーモン自体の開始と停止を含め、監査デーモンが監査トレールへの変更を記録する必要があるためです。 Systemctl は dbus を使用して、誰がコマンドを発行したかを隠し、root が実行したように見えるシステムと通信します。

3. 「auditctl -l」コマンドを使用して、設定したルールを確認します。

# auditctl -l
-w /etc/shadow -p wa -k shadow
-w /etc/passwd -p wa -k passwd

確認

ログ ファイル /var/log/audit/audit.log すべての auditd 関連のログ メッセージを記録します。このログ ファイルを調べて、shadow ファイルと passwd ファイルが誰かによって変更されていないかどうかを確認できます。このファイルは長くなる可能性があり、システムはこのファイルに大量のログを生成する可能性があります。関心のあるルールを除外するには、ルールを定義するときに指定したキーで「ausearch」コマンドを使用できます。例:

# ausearch -k shadow
----
time->Sat Jun 16 06:23:07 2018
type=PROCTITLE msg=audit(1529130187.897:595): proctitle=7061737377640074657374
type=PATH msg=audit(1529130187.897:595): item=4 name="/etc/shadow" inode=551699 dev=ca:01 mode=0100664 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:shadow_t:s0 objtype=CREATE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1529130187.897:595): item=3 name="/etc/shadow" inode=636309 dev=ca:01 mode=0100664 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:shadow_t:s0 objtype=DELETE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1529130187.897:595): item=2 name="/etc/nshadow" inode=551699 dev=ca:01 mode=0100664 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:shadow_t:s0 objtype=DELETE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1529130187.897:595): item=1 name="/etc/" inode=132 dev=ca:01 mode=040755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:etc_t:s0 objtype=PARENT cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1529130187.897:595): item=0 name="/etc/" inode=132 dev=ca:01 mode=040755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:etc_t:s0 objtype=PARENT cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=CWD msg=audit(1529130187.897:595):  cwd="/root"
type=SYSCALL msg=audit(1529130187.897:595): arch=c000003e syscall=82 success=yes exit=0 a0=7f443258a332 a1=7f443258a2bc a2=7f443a3517b8 a3=0 items=5 ppid=4320 pid=4486 auid=1001 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=3 comm="passwd" exe="/usr/bin/passwd" subj=unconfined_u:unconfined_r:passwd_t:s0-s0:c0.c1023 key="shadow"

同様に、/etc/passwd ファイルについては、以下を使用してログを除外できます。

# ausearch -k passwd
time->Sat Jun 16 06:22:56 2018
type=PROCTITLE msg=audit(1529130176.633:589): proctitle=757365726164640074657374
type=PATH msg=audit(1529130176.633:589): item=4 name="/etc/passwd" inode=638208 dev=ca:01 mode=0100644 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:passwd_file_t:s0 objtype=CREATE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1529130176.633:589): item=3 name="/etc/passwd" inode=636309 dev=ca:01 mode=0100644 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:passwd_file_t:s0 objtype=DELETE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1529130176.633:589): item=2 name="/etc/passwd+" inode=638208 dev=ca:01 mode=0100644 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:passwd_file_t:s0 objtype=DELETE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1529130176.633:589): item=1 name="/etc/" inode=132 dev=ca:01 mode=040755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:etc_t:s0 objtype=PARENT cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1529130176.633:589): item=0 name="/etc/" inode=132 dev=ca:01 mode=040755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:etc_t:s0 objtype=PARENT cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=CWD msg=audit(1529130176.633:589):  cwd="/root"
type=SYSCALL msg=audit(1529130176.633:589): arch=c000003e syscall=82 success=yes exit=0 a0=7ffc0729ae70 a1=55f815c79ce0 a2=7ffc0729ade0 a3=55f815ce21a0 items=5 ppid=4320 pid=4481 auid=1001 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=3 comm="useradd" exe="/usr/sbin/useradd" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="passwd"
auditd によるシステム監査について理解する


Cent OS
  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. / etc / motdはどのように更新されますか?

  3. /etc/hosts または /etc/sysconfig/network-scripts/ifcfg-* に対して行った手動の変更が失われる

  1. sudoers 構成ファイルでユーザーの「sudo su」を無効にする方法

  2. CentOS / RHEL :削除された /etc/passwd ファイルから回復する方法

  3. バイナリを /bin、/sbin、/usr/bin、および /usr/sbin にインストールし、 --prefix および DESTDIR と対話します

  1. /dev/shm/ と /tmp/ はいつ使用する必要がありますか?

  2. /etc/passwd はグループ内のユーザーを表示しますが、/etc/group は表示しません

  3. Linux の /etc/init.d と /etc/rcX.d ディレクトリの間の接続は何ですか?