Pelajari Audit Sistem Linux dengan Alat AuditD di CentOS/RHEL

Pelajari Audit Sistem Linux dengan Alat AuditD di CentOS/RHEL

Audit sistem hanya mengacu pada analisis mendalam dari sistem yang ditargetkan spesifik: audit terdiri dari pemeriksaan berbagai bagian yang terdiri dari sistem itu, dengan penilaian kritis (dan pengujian jika diperlukan) di berbagai bidang yang diminati.

Baca juga: Lynis - Alat Audit dan Pemindaian Keamanan untuk Sistem Linux

Salah satu subsistem kritis di Rhel/centos Sistem audit Linux yang biasa dikenal sebagai auditd. Ini mengimplementasikan cara untuk melacak informasi yang relevan dengan keamanan pada suatu sistem: ia menggunakan aturan yang telah dikonfigurasi sebelumnya untuk mengumpulkan sejumlah besar informasi tentang peristiwa yang terjadi pada sistem, dan merekamnya dalam file log, sehingga membuat uji coba audit.

Ini dapat merekam informasi seperti tanggal dan waktu, jenis, dan hasil dari suatu acara; pengguna yang menyebabkan acara, modifikasi apa pun yang dibuat untuk file/basis data; Penggunaan mekanisme otentikasi sistem, seperti PAM, LDAP, SSH, dan lainnya.

Auditd Juga mendaftarkan perubahan yang dilakukan pada file konfigurasi audit atau upaya apa pun untuk mengakses file log audit, dan segala upaya untuk mengimpor atau mengekspor informasi ke atau dari sistem ditambah banyak informasi terkait keamanan lainnya.

Mengapa sistem audit Linux penting?

  1. Itu tidak memerlukan program atau proses eksternal untuk berjalan pada sistem yang membuatnya mandiri.
  2. Ini sangat dapat dikonfigurasi karena itu memungkinkan Anda untuk melihat operasi sistem apa pun yang Anda inginkan.
  3. Ini membantu dalam mendeteksi atau menganalisis kompromi potensial suatu sistem.
  4. Itu mampu bekerja sebagai sistem deteksi independen.
  5. Ini dapat bekerja dengan sistem deteksi intrusi untuk memungkinkan deteksi intrusi.
  6. Ini adalah alat vital untuk mengaudit investigasi forensik.

Komponen Sistem Audit Linux

Sistem audit memiliki dua komponen inti, yaitu:

  • aplikasi dan utilitas/alat pengguna, dan
  • Pemrosesan panggilan sistem sisi kernel-Ini menerima panggilan sistem dari aplikasi ruang pengguna dan meneruskannya melalui tiga jenis filter, yaitu: pengguna, tugas, KELUAR, atau mengecualikan.

Bagian terpenting adalah ruang pengguna Audit Daemon (auditd) yang mengumpulkan informasi berdasarkan aturan yang telah dikonfigurasi sebelumnya, dari kernel dan menghasilkan entri dalam file log: log default adalah /var/log/audit/audit.catatan.

Selain itu, Audispd (Daemon Dispatcher Audit) adalah multiplexor peristiwa yang berinteraksi dengan auditd dan mengirim acara ke program lain yang ingin melakukan pemrosesan acara waktu nyata.

Ada sejumlah ruang pengguna Alat untuk Mengelola dan Mengambil Informasi dari Sistem Audit:

  • auditctl - utilitas untuk mengendalikan sistem audit kernel.
  • ausearch - utilitas untuk mencari file log audit untuk acara tertentu.
  • Aureport - utilitas untuk membuat laporan acara yang direkam.

Cara Menginstal dan Mengkonfigurasi Alat Audit di Rhel/Centos/Fedora

Pertama pastikan untuk memverifikasi bahwa alat audit diinstal pada sistem Anda menggunakan perintah RPM dan utilitas grep sebagai berikut:

# RPM -QA | audit grep 
Periksa Alat Auditd

Jika Anda tidak menginstal paket di atas, jalankan perintah ini sebagai pengguna root untuk menginstalnya.

# yum install audit 

Selanjutnya, periksa apakah auditd diaktifkan dan dijalankan, keluarkan perintah SystemCTL di bawah ini di terminal.

--------------- Di CentOS/RHEL 7 --------------- # Systemctl IS-EndIbled AudITD # SystemCTL Status AuditD # SystemCTL Mulai auditd [start] # systemctl Aktifkan auditd [aktifkan] --------------- Di CentOS/RHEL 6 --------------- # Layanan AuditD Status # Layanan Auditd Mulai [Mulai] # Auditd CHKConfig di [Enable] 
Periksa status alat auditd

Sekarang kita akan melihat cara mengkonfigurasi auditd Menggunakan file konfigurasi utama /etc/audit/auditd.conf. Parameter di sini memungkinkan Anda untuk mengontrol bagaimana layanan berjalan, seperti mendefinisikan lokasi file log, jumlah maksimum file log, format log, cara menangani disk penuh, rotasi log dan banyak lagi opsi.

# vi/etc/audit/auditd.conf 

Dari output sampel di bawah ini, parameternya jelas.

File konfigurasi auditd

Memahami aturan audit

Seperti yang kami sebutkan sebelumnya, auditd menggunakan aturan untuk mengumpulkan informasi spesifik dari kernel. Aturan ini pada dasarnya auditctl opsi (lihat halaman man) yang dapat Anda konfigurasi sebelumnya di /etc/audit/aturan.d/audit.aturan file (pada centos 6, gunakan /etc/audit/audit.aturan file), sehingga mereka dimuat saat startup.

Ada tiga jenis aturan audit yang dapat Anda definisikan:

  • Aturan kontrol - Ini memungkinkan modifikasi perilaku sistem audit dan beberapa konfigurasinya.
  • Aturan Sistem File (Juga disebut sebagai arloji file) - Aktifkan audit akses ke file tertentu atau direktori.
  • Aturan panggilan sistem - mengizinkan pencatatan panggilan sistem yang dilakukan oleh program apa pun.

Sekarang buka file konfigurasi utama untuk diedit:

# vi/etc/audit/aturan.d/audit.aturan 

Perhatikan bahwa bagian pertama dari file ini harus berisi aturan kontrol. Kemudian tambahkan aturan audit Anda (arloji file dan aturan panggilan sistem) di bagian tengah, dan akhirnya bagian terakhir berisi pengaturan kekhasan yang juga merupakan aturan kontrol.

Contoh aturan kontrol auditd

-D #Removes Semua aturan sebelumnya -B 3074 #define Ukuran buffer -f 4 #panic pada kegagalan -r 120 #create paling banyak 120 pesan audit per detik 

Contoh aturan sistem file auditd

Anda dapat mendefinisikan arloji file menggunakan sintaks ini:

-w/path/to/file/atau/direktori -p izin -k key_name 

Dimana opsi:

  • w - digunakan untuk menentukan file atau direktori untuk mengawasi.
  • P - izin untuk dicatat, R - untuk akses baca, w - untuk akses menulis, X - untuk mengeksekusi akses dan A - untuk mengubah atribut file atau sutradara.
  • -k - memungkinkan Anda untuk mengatur string opsional untuk mengidentifikasi aturan mana (atau satu set aturan) membuat entri log tertentu.

Aturan -aturan ini memungkinkan audit untuk menonton acara membuat perubahan pada file sistem kritis ini.

-w /etc /passwd -p wa -k passwd_changes -w /etc /group -p wa -k grup_changes -w /etc /shadow -p wa -k shadow_changes -w /etc /sudoers -p wa -k sudoers_changes 

Contoh aturan panggilan sistem auditd

Anda dapat mengatur aturan panggilan sistem menggunakan formulir di bawah ini:

-Tindakan, filter -s system_call -f bidang = nilai -k key_name 

Di mana:

  • tindakan - memiliki dua nilai yang mungkin: selalu atau tidak sama sekali.
  • Saring - Menentukan filter pencocokan aturan kernel (tugas, keluar, pengguna, dan mengecualikan) diterapkan pada acara tersebut.
  • panggilan sistem - Nama panggilan sistem.
  • bidang - Menentukan opsi tambahan seperti arsitektur, PID, GID dll untuk memodifikasi aturan.

Berikut beberapa aturan yang dapat Anda definisikan.

-A Always, Exit -F Arch = B64 -S ADJTIMEX -S SetTimeOfDay -K Time_change -A Selalu, Keluar -S SetHostName -S SetDomainName -K System_Locale 

Kemudian terakhir tambahkan pengaturan kekhasan di akhir file, misalnya:

-e 1 #enable auditing -e 2 #make The Configuration Immutable -Reboot Diperlukan untuk Mengubah Aturan Audit 
Contoh file konfigurasi aturan auditd
File konfigurasi aturan auditd

Cara mengatur aturan auditd menggunakan utilitas auditctl

Atau, kirim opsi ke auditd Saat berjalan, menggunakan auditctl Seperti dalam contoh berikut. Perintah ini dapat mengganti aturan dalam file konfigurasi.

Untuk mendaftar semua aturan audit yang saat ini dimuat, lulus -l bendera:

# auditctl -l 

Selanjutnya, coba tambahkan beberapa aturan:

# auditctl -w /etc /passwd -p wa -k passwd_changes # auditctl -w /etc /grup -p wa -k group_changes # auditctl -w /etc /sudoers -p wa -k sudoers_changes # auditctl -l 
Tambahkan aturan auditd menggunakan auditctl

Memahami file log auditd

Semua pesan audit direkam /var/log/audit/audit.catatan file secara default. Untuk memahami format entri log, kami akan memuat aturan dan memeriksa entri log yang dihasilkan setelah acara yang cocok dengan aturan.

Dengan asumsi kami memiliki direktori cadangan rahasia, aturan audit ini akan mencatat segala upaya untuk mengakses atau memodifikasi direktori ini:

# auditctl -w/cadangan/rahasia_files/-p rwa -k Secret_backup 

Sekarang, menggunakan akun sistem lain, cobalah untuk pindah ke direktori di atas dan jalankan perintah LS:

$ CD/Backups/Secret_Files/$ ls 

Entri log akan terlihat seperti itu.

Periksa log audit untuk perubahan

Acara di atas terdiri dari tiga jenis catatan audit. Yang pertama adalah ketik = syscall:

type = Syscall msg = audit (1505784331.849: 444): Arch = C000003E Syscall = 257 Sukses = Ya Keluar = 3 A0 = FFFFFFFFFFFFFFF9C A1 = 8AD5C0 A2 = 90800 A3 = 0 Item = 1 PPID = 2191 PID = 2680 AUID = 1000 UID = 1000 Tengkeri = 1000 Euid = 2191 SUID = 1000 fsuid = 1000 EGID = 1000 SGID = 1000 fsgid = 1000 tty = pts1 Ses = 3 comm = "ls" exe = "/usr/bin/ls" subj = unconfined_u: unconfined_r: unconfined_t: s0-s0: c0.C1023 Key = "Secret_Backup" 

Yang kedua adalah ketik = cwd.

type = cwd msg = audit (1505784331.849: 444): cwd = "/cadangan/rahasia_files" 

Dan yang terakhir adalah type = path:

type = path msg = audit (1505784331.849: 444): item = 0 name = "."inode = 261635 dev = 08: 01 Mode = 040755 ouid = 0 ogid = 0 rdev = 00: 00 obj = unconfined_u: object_r: default_t: s0 objtype = normal 

Anda dapat menemukan daftar lengkap dari semua bidang acara (seperti MSG, Arch, SES dll ...) dan artinya dalam referensi sistem audit.

Itu saja untuk saat ini. Pada artikel berikutnya, kami akan melihat cara menggunakan AUSEARCH untuk meminta file log audit: kami akan menjelaskan cara mencari informasi spesifik dari log audit. Jika Anda memiliki pertanyaan, silakan hubungi kami melalui bagian komentar di bawah ini.