Bagaimana saya bisa mengkonfigurasi /etc/syslog.conf
file untuk menyimpan informasi log tentang iptables
dalam file tertentu.
Saya ingin menyimpan informasi ini secara terpisah, sehingga saya dapat mengekstrak apa yang saya inginkan dengan mudah dan cepat.
Jawaban yang Diterima:
syslog
Lihat di halaman manual untuk iptables
. Ini menunjukkan target yang disebut LOG
yang dapat melakukan apa yang Anda inginkan.
Contoh
-
Atur level logging untuk
LOG
ke 4.# DROP everything and Log it iptables -A INPUT -j LOG --log-level 4 iptables -A INPUT -j DROP
-
Konfigurasikan
syslog.conf
untuk menulis pesan ini ke file terpisah.# /etc/syslog.conf kern.warning /var/log/iptables.log
-
Mulai ulang syslogd.
Debian/Ubuntu
$ sudo /etc/init.d/sysklogd restart
Fedora/CentOS/RHEL
$ sudo /etc/init.d/syslog restart
CATATAN: Metode pencatatan ini disebut prioritas tetap. Bisa berupa angka atau nama (1,2,3,4,..) atau (DEBUG, WARN, INFO, dll.).
rsyslog
Jika kebetulan Anda menggunakan rsyslog
, Anda dapat membuat filter berbasis properti seperti:
# /etc/rsyslog.conf
:msg, contains, "NETFILTER" /var/log/iptables.log
:msg, contains, "NETFILTER" ~
Kemudian tambahkan thils switch ke aturan iptables yang ingin Anda log:
–log-prefix NETFILTER
Sebagai alternatif, Anda juga dapat mencatat pesan menggunakan jenis filter properti ini:
:msg, startswith, "iptables: " -/var/log/iptables.log
& ~
:msg, regex, "^[ *[0-9]*.[0-9]*] iptables: " -/var/log/iptables.log
& ~
CATATAN: Metode ke-2 ini tidak memerlukan perubahan apa pun pada iptables
.
Referensi
- Paksa iptables untuk mencatat pesan ke file log yang berbeda
- Mencatat pesan iptables dengan rsyslog