Bagaimana saya dapat mengkonfigurasi /etc/syslog.conf
file untuk menyimpan informasi log tentang iptables
file tertentu.
Saya ingin menyimpan informasi ini secara terpisah, sehingga saya dapat mengekstrak apa yang saya inginkan dengan mudah dan cepat.
Jawaban:
syslog
Lihatlah halaman manual untuk
iptables
. Ini menunjukkan target yang disebutLOG
yang dapat melakukan apa yang Anda inginkan.Contoh
Atur level logging
LOG
ke 4.Konfigurasikan
syslog.conf
untuk menulis pesan-pesan ini ke file terpisah.Mulai ulang syslogd.
Debian / Ubuntu
Fedora / CentOS / RHEL
CATATAN: Metode logging ini disebut prioritas tetap. Mereka adalah angka atau nama (1,2,3,4, ..) atau (DEBUG, PERINGATAN, INFO, dll.).
rsyslog
Jika kebetulan Anda menggunakan
rsyslog
, Anda dapat membuat filter berbasis properti seperti:Kemudian tambahkan switch untuk beralih ke aturan iptables yang ingin Anda log:
Sebagai alternatif, Anda juga bisa mencatat pesan menggunakan jenis filter properti ini:
CATATAN: Metode ke-2 ini tidak memerlukan perubahan apa pun
iptables
.Referensi
sumber
/var/log/iptables
dan juga di/var/log/messages
. Saya hanya ingin satu salinan dari data ini diiptables.log
Ini mengasumsikan firewall Anda sudah membuat log, seperti firewall waras yang seharusnya. Untuk beberapa contoh, ini membutuhkan pesan yang dapat diidentifikasi, seperti "NETFILTER" dalam contoh slm.
buat file di rsyslog.d
Ini berfungsi di CentOS 7. Saya tidak tahu cara memverifikasi bahwa itu berasal dari firewall selain mencari IN dan OUT ... CentOS aneh. Jangan gunakan ini kecuali versi berikutnya tidak berfungsi.
Ini berfungsi di CentOS 7 dan memeriksa konten pesan juga (ganti "Shorewall" dengan apa pun yang Anda miliki di pesan aturan -j LOG):
Ini berfungsi di orang lain (Ubuntu, Debian, openSUSE). Dan ini adalah cara terbaik untuk melakukannya. Tidak mencari string dalam pesan:
Dan inilah yang dimiliki oleh mesin openSUSE default (yang saya pikir setiap distro seharusnya ada dan tidak ada) (perbedaannya sepertinya hanya "berhenti" daripada "& ~"; tidak semua sistem mendukung kedua sintaksis):
Dan untuk semua hal di atas, jangan lupa file logrotate.d juga:
mengandung:
sumber