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

Linux のコピー、移動、削除、および強制終了コマンドを監視するための監査ルール

auditd によるシステム監査

システム監査は非常に重要なタスクであり、すべてのサーバーに含める必要があります。これにより、システム内で正確に何が起こっているかに関連する詳細を監査できます。 auditd は、Linux 監査システムのユーザー空間コンポーネントです。これは、システム ユーザーが auditd を実行して、Linux システムで機能を監査するためのルールとアラートを構成できることを意味します。

auditd の最も優れた点の 1 つは、カーネルと緊密に統合されていることです。これにより、必要なほぼすべてを監視することができます。ユーザーが何が起こっているかを確認できるようにするために、auditd は監査関連のすべてのイベントをディスクに記録し、ausearch や aureport などのさまざまなツールを使用してログ ファイルを調べることができます。

デフォルトでは、構成されているルールはありません。 /etc/audit/audit.rules にルールを記述する必要があります。 構成ファイルが読み取られ、対応する監査アクションが適用されます。

Auditd のインストール

これで、auditd が何であるかをある程度理解できたので、先に進んで、上記の使用例で auditd を操作してみましょう:

1. auditd パッケージをインストールします。 auditd パッケージは、CentOS 7 システムのデフォルト インストールの一部です。次のコマンドで確認できます:

# rpm -qa | grep audit
audit-libs-2.6.5-3.el7_3.1.x86_64
audit-2.6.5-3.el7_3.1.x86_64
audit-libs-python-2.6.5-3.el7_3.1.x86_64

2. パッケージがシステムの一部でない場合は、先に進んでインストールできます:

# yum install audit

3. 監査デーモンが実行されていることを確認します。次のコマンドを使用します:

# systemctl status auditd
 auditd.service - Security Auditing Service
    Loaded: loaded (/usr/lib/systemd/system/auditd.service; enabled;
 vendor preset: enabled)
    Active: active (running) since Wed 2018-10-24 04:33:48 UTC; 4min
 21s ago
    Docs: man:auditd(8)
          https://people.redhat.com/sgrubb/audit/
    Process: 425 ExecStartPost=/sbin/augenrules --load (code=exited,
  status=0/SUCCESS)
 Main PID: 424 (auditd)
     CGroup: /system.slice/auditd.service
            └─424 /sbin/auditd -n

監査デーモンを稼働させているので、auditd を使用して 4 つのユースケースすべてを実現する方法を見てみましょう。

コマンドのコピー、移動、削除、削除の監査規則

1. 既存の構成ファイル (監査ルール) のバックアップを取ります:

# cp /etc/audit/audit.rules /etc/audit/audit.rules.bkp

2. /etc/audit/audit.rules ファイルを編集します。 次のルールを追加して永続化します:

# vi /etc/audit/audit.rules
# Audit Copy, Move, Delete & Create file commands
-a exit,always -F arch=b64 -S execve -F path=/bin/cp -k Copy
-a exit,always -F arch=b64 -S execve -F path=/bin/mv -k Move_Rename
-a exit,always -F arch=b64 -S execve -F path=/bin/rm -k Delete
-a exit,always -F arch=b64 -S execve -F path=/bin/vi -k Create_Edit_View_File

# Audit shutdown & Reboot command
-a exit,always -F arch=b64 -S execve -F path=/sbin/reboot -k Reboot
-a exit,always -F arch=b64 -S execve -F path=/sbin/init -k Reboot
-a exit,always -F arch=b64 -S execve -F path=/sbin/poweroff -k Reboot
-a exit,always -F arch=b64 -S execve -F path=/sbin/shutdown -k Reboot

# Audit mount unmount commands
-a exit,always -F arch=b64 -S execve -F path=/bin/mount -k mount_device
-a exit,always -F arch=b64 -S execve -F path=/bin/umount -k unmount_device

# Kill Process
-a exit,always -F arch=b64 -S kill -k Kill_Process

3. auditd サービスを再起動して変更を適用します。

# service auditd restart

4. 追加されたルールを一覧表示して、これらが正しいことを確認します:

# auditctl -l
注意 :bash (および他の多くのシェル) には、実際には /usr/bin/kill を実行しない組み込みの「kill」コマンドがあります。したがって、代わりに組み込みコマンドを実行すると、 comm=bash 正しい。システムに強制的に /usr/bin/kill 外部プログラムを使用させる方法はありません。 comm=kill シェルは「kill」という名前の外部プログラムを実行せずにシステムコールを直接呼び出すことができるため、すべての場合に発生するわけではありません


Linux
  1. Linuxコマンド:jobs、bg、およびfg

  2. Linuxでコマンドをコピーおよび移動するためのプログレスバーを追加するにはどうすればよいですか?

  3. Linux ファイルとディレクトリの削除

  1. ファイルを作成、コピー、移動、および削除するためのLinuxファイル管理コマンド

  2. プロセス監視のために Linux に Monit をインストールして構成する方法

  3. 24 Linux パフォーマンス監視の iostat、vmstat、および mpstat の例

  1. ネットワーク診断用の10のLinuxコマンド

  2. 「cp」および「mv」コマンドを使用してLinuxでファイルとディレクトリをコピー/移動する方法

  3. Linux でのファイルの変更とファイルの実行を監査する方法