Audit Log CentOS 7

Letak Log dan Konfigurasi Awal

Pada dasarnya letak log pada CentOS ada pada /var/log/. Hanya utmp saja yang terletak pada /var/run/utmp. Sementara untuk melakukan konfigurasi, terdapat pada file rsyslog.conf yang terletak pada /etc/rsyslog.conf.

log

Pada rsyslog.conf terdapat rules yang dapat digambarkan sebagai berikut: [fasilitas].[level_prioritas]

Nama fasilitas Program apa yang direpresentasikan
kern Pesan yang datang dari kernel Linux
messages melakukan log pada apapun (kecuali mail) dengan level minimal .info
AUTH / AUTHPRIV Pesan yang datang dari otorisasi dan keamanan yang berelasi dengan event
 mail  pesan yang dibuat oleh subsistem mail
 cron  pesan yang dibuat oleh subsistem mail
daemon  pesan yang datang dari daemons
 news  pesan yang dibuat oleh subsistem berita jaringan
user  pesan yang datang dari program user
 local0 hingga local7  dipersiapkan untuk penggunaan local

Sedangkan arti prioritas adalah sebagai berikut (dari paling prioritas)

Prioritas Arti
emerg Pesan yang datang dari otorisasi dan keamanan yang berelasi dengan event
alert kondisi dimana butuh penanganan langsung
 crit kondisi kritis
 err error
 warn peringatan
 notice  kondisi yang memerlukan perhatian
 info  pesan infomarsi
 debug  informasi debug dari program

ISI LOG

Beberapa isi log yang cukup penting adalah sebagai berikut

WTMP, BTMP, dan UTMP

Pada log ini digunakan perintah last -f  untuk tiap log yang ada dan hasilnya adalah sebgai berikut

tmplog

dengan format:

[username] [terminal_login] [kernel] [hari_tanggal] [waktu_mulai] [waktu_akhir]

lastlog

pada lastlog ,yang berguna sebagai pencatat log terakhir dengan menggunakan user tertentu, hanya tediri dari sebagai berikut

lastlog

yum.log

log ini berisi tentang daftar penggunaan yum

yumlog

dengan format:

[waktu] [hal_yang_dilakukan] : [file_yang_terubah]

Apache

Pada direktori apache (/var/log/httpd) terdapat dua buah log yaitu access_log dan error_log

Contoh access_log

acc_log

Contoh error_log

err_log

mysql (mariadb)

logmariadb

pada log ini tedapat tanggal penggunaan, waktu, dan hal yang dilakukan pada basis data yang dimiliki.

Log Rotate

Log rotate adalah sebuah perkakas yang digunakan oleh seorang adminstrator untuk mengelola ruang harddisk untuk menyimpan log. Untuk mengelola log rotate ini diperlukan dua konfigurasi yaitu:

  1. generik konfigurasi log rotate pada /etc/logrotate.conf
  2. service spesifik yang ada dan disimpan pada /etc/logrotate.d

Generik konfigurasi log (sebelum diganti) berisi (setelah komentar dihilangkan):

1  weekly
2  rotate 4
3  create
4  dateext
5  include /etc/logrotate.d
6  /var/log/wtmp {
7      monthly
8      create 0664 root utmp
9          minsize 1M
10      rotate 1
11  }

Dengan rincian sebagai berikut:

  • Baris 1 – weekly pilihan konfigurasi yang memastikan tiap minggu terdapat rotasi semua berkas log dan sesuai dengan direktori /etc/logrotate.d/
  • Baris 2 – rotate 4 memastikan setiap log rotate menampung backup sebanyak 4 file
  • Baris 3 – create pilihan untuk memerintahkan logrotate membuat berkas log kosong untuk tiap rotasi
  • Baris 4 – dateext menambahkan ekstensi ke semua file log yang di rotasi dengan bentuk basis tanggal ketika masing-masing file log tertentu diproses oleh logrotate
  • Baris 5 – include menggunakan semua perintah pada direktori /etc/logrotate.d
  • Baris 6 – 11 berisi konfigurasi spesifik milik service yang berjalan

sementara pada /etc/logrotate.d tedapat pengaturan spesifik untuk servis. Contoh yang akan diberikan adalah mariadb

contohlogrotate

maksud dari daftar diatas adalah sebagai berikut

  • Create – membuat berkas log baru dengan permission 640 dimana owner dan group nya adalah mysql
  • notifempty – jika berkas log kosong maka tidak akan di rotasi
  • daily – terdapat rotasi tiap hari
  • rotate 3 – berkas log akan di backup selama kali rotasi file
  • missingok – jika berkas log hilang maka tidak akan ada keluaran error
  • compress – berkas log file akan dikompresi
  • post rotate – hal yang terjadi setelah berkas dirotasi

Pada dasarnya setiap log dapat dilakukan log rotate. Hanya saja terkadang semua berjalan secara otomatis. Jika log rotate dari sebuah service tidak ditemukan, admin dapat menambahkannya sendiri.

Studi kasus:

Terdapat sebuah servis baru yang bernama servicebaru. Letak dari log servis tersebut ada pada /var/log/servicebaru.log dan akan dibuatkan sebuah log rotate. Hal yang diinginkan adalah terjadi log rotasi pada tiap hari, mengerti jika kosong, dilakukan kompresi, dan jika ukuran berkas mencapai 20k maka dilakukan rotasi. Berkas baru yang dibuat haruslah hanya dapat digunakan oleh root dan hanya dapat dilakukan read dan write pada berkas tersebut

dari studi kasus diatas maka dilakukan hal berikut

Buat berkas baru dengan perintah vi /etc/logrotate.d/servicebaru dan isi dengan

/var/log/servicebaru.log {
 notifempty
 compress
 size 20k
 daily
 create 0600 root root}

untuk memahami lebih jauh tentang perintah perintah yang ada pada logrotate, dapat membuka terminal dan ketik man logrotate

Remote Log Server

Untuk melakukan remote log server, disini saya menggunakan windows sebagai host untuk menerima log yang ada dari centos. Berikut cara melakukan remote log server

logremote

  • Lihat IP pada windows (sebagai contoh diatas IP 192.168.10.91)
  • Pada centOS, buka rsyslog.conf dan tambahkan line *.* @IP_remote (seperti contoh diatas *.* @192.168.10.91:514). Line ini berguna untuk meneruskan segala macam fasilitas dengan segala level prioritas ke IP yang telah disepakati.
  • Untuk menangkap syslog yang dikirim, pada windows saya menggunakan syslogwatcher dapat diunduh http://www.snmpsoft.com/syslogwatcher/syslog-server.html
  • Jalankan program syslog watcher dan berikut hasil yang didapat

logserver

 

Log pada WordPress

Untuk melakukan logging pada wordpress dapat menggunakan plugin. Salah satu yang cukup mudah digunakan adalah WP-security-audit-log (tautan). Plugin ini dapat mencatat segala hal yang terjadi pada wordpress hanya saja untuk mengeluarkan dalam bentuk file diperlukan extension bernama report extension (tautan) yang dapat digunakan dengan cara berbayar.

Untuk melakukan instalasi plugin cukup lakukan hal berikut:

  • unduh plugin
  • klik pilihan plugins pada bar, klik add new, dan klik upload plugin

addplugin1

  • Muncul popup dan klik browse file ektensi yang telah diunduh

addplugin2

 

  • klik install now
  • Setelah selesai melakukan instalasi, tekan plugin lalu installed plugin akan muncul seperti berikut

wsal_plug

 

  • Untuk mengetahui aktifitas yang terjadi pada wordpress, tekan tautan Audit Log Viewer dan akan terlihat seperti gambar dibawah

wsal1

 

  • Jika ingin melakukan ekspor log kedalam berkas bertipe csv diperlukan sebuah ekstensi. Berikut contoh jika ektensi tersebut digunakan. Gambar berasal dari laman asli
  • Report dapat dibuat sesuai dengan keinginan pembuat

wsal2

  • Hasil dari log akan berbentuk seperti berikut

wsal3

 

One thought on “Audit Log CentOS 7”

  1. gan mau tanya ini webnya punya pribadi atau organisasi ya? boleh minta sumber dari postingan ini tidak? untuk dimasukan kedalam tinjauan pustaka

Leave a Reply

Your email address will not be published. Required fields are marked *