GNU/Linux >> Belajar Linux >  >> Linux

Cara Membaca Log Audit di Linux

Dalam postingan ini, kita akan melihat cara membaca log audit dan arti setiap baris dan kolom.

Misalnya file audit.log mencatat 4 baris sebagai berikut :

type=SYSCALL msg=audit(1640033159.053:177988798): arch=c000003e syscall=2 success=no exit=-13 a0=7ffc736c18a0 a1=0 a2=1b6 a3=24 items=1 ppid=130071 pid=130082 auid=1001 uid=1001 gid=1002 euid=1001 suid=1001 fsuid=1001 egid=1002 sgid=1002 fsgid=1002 tty=(none) ses=318813 comm="pidstat" exe="/usr/bin/pidstat" key="access"
type=PROCTITLE msg=audit(1640033159.053:177988797): proctitle=70696473746174002D727564002D6800310033
type=CWD msg=audit(1640033159.053:177988798): cwd="/u01/app/oracle/oracle.ahf/data/repository/suptools/rac01/oswbb/oracle/oswbb"
type=PATH msg=audit(1640033159.053:177988798): item=0 name="/proc/674/io" inode=12022 dev=00:04 mode=0100400 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL

Peristiwa di atas terdiri dari empat catatan, yang memiliki cap waktu dan nomor seri yang sama (1640033159.053:177988797). Catatan selalu dimulai dengan type= kata kunci. Setiap record terdiri dari beberapa pasangan nama=nilai yang dipisahkan oleh spasi putih atau koma. Sebuah analisis rinci dari peristiwa di atas berikut:

Rekor Pertama

type=SYSCALL

Bidang jenis berisi jenis catatan. Dalam contoh ini, nilai SYSCALL menetapkan bahwa catatan ini dipicu oleh panggilan sistem ke kernel. Untuk daftar semua kemungkinan nilai tipe dan penjelasannya, lihat Jenis Catatan Audit.

msg=audit(1640033159.053:177988798)

Catatan bidang pesan:cap waktu dan ID unik dari catatan dalam bentuk audit(time_stamp:ID). Beberapa catatan dapat berbagi stempel waktu dan ID yang sama jika dibuat sebagai bagian dari peristiwa Audit yang sama. Stempel waktu menggunakan format waktu Unix – detik sejak 00:00:00 UTC pada 1 Januari 1970. berbagai pasangan nama=nilai khusus peristiwa yang disediakan oleh kernel atau aplikasi ruang pengguna.

arch=c000003e

Bidang lengkung berisi informasi tentang arsitektur CPU sistem. Nilainya, c000003e, dikodekan dalam notasi heksadesimal. Saat mencari catatan Audit dengan perintah ausearch, gunakan opsi -i atau –interpret untuk secara otomatis mengubah nilai heksadesimal menjadi setara yang dapat dibaca manusia. Nilai c000003e ditafsirkan sebagai x86_64.

syscall=2

Bidang syscall mencatat jenis panggilan sistem yang dikirim ke kernel. Nilai, 2, dapat dicocokkan dengan padanannya yang dapat dibaca manusia dalam file /usr/include/asm/unistd_64.h. Dalam hal ini, 2 adalah panggilan sistem terbuka. Perhatikan bahwa utilitas ausyscall memungkinkan Anda untuk mengonversi nomor panggilan sistem ke nomor yang dapat dibaca manusia. Gunakan perintah ausyscall –dump untuk menampilkan daftar semua panggilan sistem beserta nomornya. Untuk informasi lebih lanjut, lihat halaman manual ausyscall(8).

berhasil=tidak

Bidang sukses mencatat apakah panggilan sistem yang direkam dalam peristiwa tertentu berhasil atau gagal. Dalam hal ini, panggilan tidak berhasil.

keluar=-13

Bidang keluar berisi nilai yang menentukan kode keluar yang dikembalikan oleh panggilan sistem. Nilai ini bervariasi untuk panggilan sistem yang berbeda. Anda dapat menginterpretasikan nilai menjadi setara yang dapat dibaca manusia dengan perintah berikut:

a0=7ffc736c18a0 a1=0 a2=1b6 a3=24

Bidang a0 hingga a3 merekam empat argumen pertama, yang dikodekan dalam notasi heksadesimal, dari panggilan sistem dalam peristiwa ini. Argumen ini bergantung pada panggilan sistem yang digunakan; mereka dapat ditafsirkan oleh utilitas ausearch.

item=1

Bidang item berisi jumlah catatan bantu PATH yang mengikuti catatan syscall.

ppid=130071 pid=130082

Bidang ppid/pid mencatat ID Proses Induk dan ID Proses.

auid=1001 uid=1001 gid=1002 euid=1001 suid=1001 fsuid=1001 egid=1002 sgid=1002 fsgid=1002

Bidang auid mencatat ID pengguna Audit, ID Pengguna, ID Grup, ID Pengguna Efektif, ID Pengguna yang Ditetapkan, ID Pengguna Sistem File, ID Grup Efektif, ID Grup yang Ditetapkan, ID Grup Sistem File.

tty=(tidak ada) ses=318813

Bidang tty dan sesi merekam terminal tempat proses yang dianalisis dipanggil.

comm="pidstat"

Bidang comm mencatat nama baris perintah dari perintah yang digunakan untuk menjalankan proses yang dianalisis. Dalam hal ini, perintah cat digunakan untuk memicu peristiwa Audit ini.

exe="/usr/bin/pidstat"

Bidang exe mencatat jalur ke executable yang digunakan untuk menjalankan proses yang dianalisis.

key="akses"

Bidang kunci mencatat string yang ditentukan administrator yang terkait dengan aturan yang menghasilkan peristiwa ini di log Audit.

Rekor Kedua

type=PROCTITLE

Bidang jenis berisi jenis catatan. Dalam contoh ini, nilai PROCTITLE menetapkan bahwa catatan ini memberikan baris perintah lengkap yang memicu peristiwa Audit ini, yang dipicu oleh panggilan sistem ke kernel.

proctitle=70696473746174002D727564002D6800310033

Bidang proctitle mencatat baris perintah lengkap dari perintah yang digunakan untuk menjalankan proses yang dianalisis. Bidang dikodekan dalam notasi heksadesimal untuk tidak mengizinkan pengguna memengaruhi pengurai log Audit. Teks diterjemahkan ke perintah yang memicu peristiwa Audit ini. Saat mencari catatan Audit dengan perintah ausearch, gunakan opsi -i atau –interpret untuk secara otomatis mengonversi nilai heksadesimal menjadi setara yang dapat dibaca manusia.

Rekor Ketiga

type=CWD

Dalam catatan kedua, nilai bidang tipe adalah CWD — direktori kerja saat ini. Tipe ini digunakan untuk merekam direktori kerja dari mana proses yang memanggil panggilan sistem yang ditentukan dalam rekaman pertama dieksekusi. Tujuan dari catatan ini adalah untuk merekam lokasi proses saat ini jika jalur relatif akhirnya ditangkap dalam catatan PATH terkait. Dengan cara ini jalur absolut dapat direkonstruksi.

msg=audit(1640033159.053:177988798)

Bidang pesan memiliki cap waktu dan nilai ID yang sama dengan nilai dalam catatan pertama. Stempel waktu menggunakan format waktu Unix – detik sejak 00:00:00 UTC pada 1 Januari 1970.

cwd="/u01/app/Oracle/Oracle.ahf/data/repository/suptools/rac01/oswbb/Oracle/oswbb"

Bidang cwd berisi jalur ke direktori tempat panggilan sistem dipanggil.

Rekor Keempat

type=PATH

Dalam catatan ini, nilai bidang jenis adalah PATH. Peristiwa Audit berisi catatan tipe PATH untuk setiap jalur yang diteruskan ke panggilan sistem sebagai argumen.

msg=audit(1640033159.053:177988798)

Bidang pesan memiliki cap waktu dan nilai ID yang sama dengan nilai pada catatan pertama dan kedua.

item=0

Bidang item menunjukkan item mana, dari jumlah total item yang dirujuk dalam catatan jenis SYSCALL, catatan saat ini. Angka ini berbasis nol; nilai 0 berarti item pertama.

nama="/proc/674/io"

Bidang nama merekam jalur file atau direktori yang diteruskan ke panggilan sistem sebagai argumen. Dalam hal ini, itu adalah file /proc/674/io.

inode=12022

Bidang inode berisi nomor inode yang terkait dengan file atau direktori yang direkam dalam acara ini. Perintah berikut menampilkan file atau direktori yang terkait dengan nomor inode 409248:

dev=00:04

Bidang dev menentukan ID minor dan mayor perangkat yang berisi file atau direktori yang direkam dalam peristiwa ini.

mode=0100400

Bidang mode mencatat izin file atau direktori, dikodekan dalam notasi numerik seperti yang dikembalikan oleh perintah stat di bidang st_mode. Lihat halaman manual stat(2) untuk informasi lebih lanjut. Dalam hal ini, 0100600 dapat diartikan sebagai -r——–, artinya hanya pengguna root yang memiliki izin membaca untuk /proc/674/io.

ouid=0

Bidang ouid mencatat ID pengguna pemilik objek.

ogid=0

Bidang ogid mencatat ID grup pemilik objek.

rdev=00:00

Bidang rdev berisi pengidentifikasi perangkat yang direkam untuk file khusus saja. Dalam hal ini, tidak digunakan karena file yang direkam adalah file biasa.

jenis nama=NORMAL

Bidang objtype merekam maksud dari setiap operasi rekaman jalur dalam konteks panggilan sys yang diberikan.


Linux
  1. Linux – Jalankan Vs Baca Bit. Bagaimana Izin Direktori Di Linux Bekerja?

  2. Cara Mengaudit Akses File di Linux

  3. Bagaimana cara mencatat konsumsi memori di Linux?

  1. Cara Mengelola File Log Menggunakan Logrotate Di Linux

  2. Cara membaca respons websocket di shell linux

  3. Bagaimana cara mencetak keluaran perintah Linux ke file?

  1. Cara Menulis File Log Di RAM Menggunakan Log2ram Di Linux

  2. Cara Mengosongkan File Log di Linux

  3. Cara Memutar File Log Apache di Linux