Postingan tersebut menjelaskan cara mengkonfigurasi rsyslog untuk memfilter pesan dengan alamat IP tertentu dan menghapus pesan tersebut. Secara default, syslog tidak terdiri dari pemfilteran lanjutan seperti rsyslog. Ikuti langkah-langkah di bawah ini untuk mengonfigurasi rsyslog untuk memfilter pesan dengan alamat IP tertentu.
1. Instal rsyslog jika belum ada di sistem. Untuk distribusi Berbasis Redhat:
# yum install rsyslog
2. Gunakan perintah chkconfig/systemctl untuk mengaktifkan layanan rsyslog saat boot. Mulai juga layanan.
# chkconfig rsyslog on ### CentOS/RHEL 6 # systemctl enable rsyslog ### CentOS/RHEL 7
# service rsyslog start ### CentOS/RHEL 6 # systemctl start rsyslog ### CentOS/RHEL 7
3. Untuk membuang semua pesan yang terkait dengan alamat IP xx.xx.xx.xx, harap edit /etc/rsyslog.conf dan tambahkan filter buang di bawah ini di bagian atas dan bukan di bagian bawah file.
# vi /etc/rsyslog.conf :msg, contains, "xx.xx.xx.xx " ~
4. Mulai ulang layanan rsyslog
# service rsyslog restart
Verifikasi
Anda dapat memverifikasi pengaturan yang dilakukan di atas, menggunakan logger memerintah. Perintah logger digunakan untuk menghasilkan pesan syslog secara manual pada baris perintah. Gunakan perintah di bawah ini untuk menghasilkan pesan syslog yang berisi alamat IP yang kita inginkan.
# logger xx.xx.xx.xx
Verifikasi dalam file /var/log/messages bahwa pesan di atas tidak dicatat. Selain itu, verifikasi menggunakan alamat IP yang berbeda untuk memverifikasi bahwa pesan lain yang berisi alamat IP berbeda tidak akan dibuang.
Menerapkan filter pada program/perintah tertentu
Filter juga dapat diterapkan ke program tertentu seperti vsftpd bersama dengan IP tertentu. Gunakan filter buang di bawah ini untuk membuang log untuk IP xx.xx.xx.xx dan untuk perintah vsftpd juga.
# vi /etc/rsyslog.conf if $programname == 'vsftpd' and ($msg contains 'xx.xx.xx.xx' or $msg contains 'xx.xx.xx.xx') then ~