Konfigurasi dan sistem audit Linux dengan Audit daemon
Linux Audit Daemon adalah kerangka untuk memungkinkan peristiwa audit pada sistem Linux. Dalam artikel ini kita akan melihat pada instalasi, konfigurasi dan menggunakan kerangka kerja untuk melakukan sistem Linux dan audit keamanan.
Gol Auditing
Dengan menggunakan kerangka audit yang kuat, sistem dapat melacak banyak jenis acara untuk memantau dan mengaudit sistem. Contohnya termasuk:
akses file Audit dan modifikasi
Lihat yang mengubah file tertentu
Mendeteksi tidak sah perubahan
Pemantauan panggilan sistem dan fungsi
Deteksi anomali seperti menabrak proses
tripwires Set untuk tujuan deteksi intrusi
perintah Rekam digunakan oleh pengguna individu
Komponen
Kerangka itu sendiri memiliki beberapa komponen:
Kernel:
Audit: kait ke kernel untuk menangkap peristiwa dan mengantarkan mereka ke auditd
Binari:
auditd: daemon untuk menangkap peristiwa dan menyimpannya (file log)
auditctl: alat klien untuk mengkonfigurasi auditd
audispd: daemon multipleks peristiwa
aureport: alat pelaporan yang berbunyi dari log mengajukan (auditd.log)
ausearch: event viewer (auditd.log)
autrace: menggunakan komponen audit kernel untuk melacak binari
aulast: mirip dengan bertahan, tapi instaed menggunakan pemeriksaan kerangka
aulastlog: mirip dengan lastlog, juga menggunakan kerangka audit yang bukan
ausyscall: peta syscall ID dan nama
auvirt: menampilkan informasi audit mengenai mesin virtual
Files:
audit.rules: digunakan oleh auditctl untuk membaca apa aturan perlu digunakan
auditd.conf: file konfigurasi dari auditd
Instalasi
Debian / Ubuntu: apt-get install auditd audispd-plugin
Red Hat / CentOS / Fedora: biasanya sudah terinstal (paket: audit dan audit libs)
konfigurasi
konfigurasi dari daemon audit diatur oleh dua file, satu untuk daemon sendiri (auditd.conf) dan satu untuk aturan yang digunakan oleh alat auditctl (audit.rules).
auditd.conf
File auditd.conf mengkonfigurasi audit daemon Linux (auditd) dengan fokus pada di mana dan bagaimana harus log peristiwa. Hal ini juga mendefinisikan bagaimana menghadapi disk penuh, rotasi log dan jumlah log untuk menjaga. Biasanya konfigurasi default akan sesuai untuk kebanyakan sistem.
Audit.rules
Untuk mengkonfigurasi peristiwa apa yang harus diaudit, kerangka audit yang menggunakan file aturan bernama audit.rules.
Seperti kebanyakan hal, menggunakan awal yang bersih dan tanpa aturan dimuat. Aturan aktif dapat ditentukan dengan menjalankan auditctl dengan parameter -l.
[Root @ host ~] # auditctl -l
ada aturan
Dalam kasus apapun peraturan tersebut dimuat, menghapusnya dengan auditctl dan parameter -D.
Waktu untuk memulai dengan pemantauan sesuatu, katakanlah / etc / passwd. Kami menempatkan 'menonton' pada file dengan mendefinisikan jalan dan izin untuk mencari:
auditctl -a keluar, selalu -F path = / etc / passwd F perm = wa
Dengan mendefinisikan opsi jalan, kita menginstruksikan kerangka pemeriksaan apa direktori atau file untuk menonton. Izin menentukan jenis akses akan memicu suatu peristiwa. Meskipun ini terlihat mirip dengan hak akses file, diketahui bahwa ada perbedaan penting antara keduanya. Keempat opsi tersebut adalah:
r = membaca
w = menulis
x = mengeksekusi
a = atribut mengubah
. Menemukan acara terkait atau akses ke file tersebut dapat cepat dilacak dengan menggunakan alat ausearch
[root @ host Audit] # ausearch -f / etc / passwd
waktu-> Tue 18 Maret 15:17:25 2014
Jenis = PATH msg = Audit (1395152245,230: 533): item = 0 name = "/ etc / passwd" inode = 137.627 dev = fd: 00 mode = 0.100.644 ouid = 0 ogid = 0 rdev = 00: 00 obj = system_u: object_r: etc_t: s0 nametype = NORMAL
type = CWD msg = Audit (1395152245,230: 533): = cwd "/ etc / audit"
type = SYSCALL msg = Audit (1395152245,230: 533 ): lengkungan = c000003e syscall = 188 keberhasilan = yes exit = 0 a0 = d14410 a1 = 7f66eec38db7 a2 = d4ea60 a3 = 1c item = 1 ppid = 1109 pid = 4900 auid = 0 uid = 0 gid = 0 EUID = 0 SUID = 0 fsuid = 0 EGID = 0 SGID = 0 fsgid = 0 tty = pts0 ses = 2 comm = "vi" exe = "/ bin / vi" Subj = unconfined_u: unconfined_r: unconfined_t: s0-s0: c0.c1023 key = (null )
Beberapa highlights dari output ini adalah:
waktu acara dan nama objek, jalur saat kerja (cwd), syscall terkait, audit pengguna ID (auid) dan biner (exe) melakukan tindakan pada file. Harap dicatat bahwa auid mendefinisikan pengguna asli selama log-in. Bidang ID pengguna lain mungkin menunjukkan pengguna yang berbeda, tergantung pada pengguna yang efektif yang digunakan saat memicu suatu peristiwa.
Sistem Konversi panggilan
syscalls dicatat oleh nilai numerik. Karena akan ada tumpang tindih dalam nilai-nilai ini antara arsitektur yang berbeda, arsitektur aktif juga dicatat.
Dengan menggunakan -m uname kita dapat menentukan arsitektur dan menggunakan ausyscall untuk menentukan apa panggilan numerik 188 mewakili.
[Root @ host Audit] # ausyscall x86_64 188
setxattr
sekarang kami tahu itu perubahan atribut, yang masuk akal karena kita mendefinisikan menonton kami untuk memicu sebuah acara pada perubahan atribut (perm = a).
digunakan aturan sementara dan ingin menggunakan aturan lama lagi? Refresh aturan audit file:
auditctl -R /etc/audit/audit.rules
Audit proses di Linux
Serupa dengan menggunakan strace, kerangka audit yang memiliki alat bernama autrace. Ia menggunakan kerangka audit dan menambahkan aturan yang tepat untuk menangkap informasi dan log itu.
Sedang diterjemahkan, harap tunggu..
