Bisakah logging diaktifkan di FirewallD


10

Saya menjalankan Fedora 20 dan ingin melihat apa yang dilakukan firewall saya di latar belakang. Apakah mungkin untuk melihat log lalu lintas yang diblokir oleh FirewallD?

Jawaban:


7

Menurut halaman ini , log FirewallD berada di /var/log/firewalld. Untuk mendapatkan pesan debug, Anda harus menjalankannya dengan --debugatau --debug=2.


12

Saya tahu ini adalah posting bertanggal, tetapi saya telah mencari ini hari ini, dan telah menemukan banyak blog lama yang mencoba untuk mengatasi masalah ini. Untuk umum, pembaruan dari Red Hat ini harus lebih tersedia daripada hanya untuk pelanggan:

Tingkatkan ke firewalld-0.4.3.2-8.el7 dari Errata RHSA-2016: 2597

Tentukan paket mana yang harus dicatat

firewall-cmd --set-log-denied=<value>

nilai mungkin salah satu dari: semua, unicast, siaran, multicast, atau tidak aktif

Sumber: https://access.redhat.com/solutions/1191593


3
ini juga dapat diatur secara manual di/etc/firewalld/firewalld.conf
Stuart Cardall

5

Untuk mencatat lalu lintas yang diblokir firewalld, pendekatan berikut rsyslogduntuk saya:

Edit /etc/sysconfig/firewallddan perbarui nilai untuk LogDeniedke all(atau sesuai kebutuhan)

LogDenied=all

restart firewalld

sudo systemctl restart firewalld

Ini biasanya menambahkan aturan log sebelum aturan tolak / turun di firewall, seperti:

LOG  all  --  anywhere   anywhere  LOG level warning prefix "IN_drop_DROP: "
LOG  all  --  anywhere   anywhere  LOG level warning prefix "FINAL_REJECT: "

Buat file bernama /etc/rsyslog.d/custom_iptables.conf(note extension is.conf) dan tambahkan pernyataan berikut untuk itu:

:msg,contains,"_DROP" /var/log/iptables.log
:msg,contains,"_REJECT" /var/log/iptables.log
& stop

mulai ulang rsyslog

sudo systemctl restart rsyslog   

Sekarang paket yang dijatuhkan dan ditolak akan masuk /var/log/iptables.log


⁺¹, saya mengkonfirmasi melihat entri yang ditolak di journalctl -f. FWIW, awalnya, berdasarkan jawaban yang lain, saya hanya melakukan bagian LogDenied = all, tapi itu tidak cukup.
Hi-Angel

1
karena firewalld saat ini tidak menggunakan iptables secara default, bolehkah saya merekomendasikan untuk mengganti nama _iptables.conf_firewalld.confuntuk mengurangi kebingungan?
Hi-Angel

Ok, saya hanya mengulang ini di PC lain menggunakan jawaban ini, dan saya mencatat satu perbedaan yang layak disebut: Saya tidak punya /etc/sysconfigdir, sebaliknya saya mengedit /etc/firewalld/firewalld.conffile. Saya tidak memperhatikannya terakhir kali saya menggunakan jawaban ini karena LogDenied=alllangkah saya memang menggunakan jawaban yang lain.
Hi-Angel

4

Anda perlu menambahkan baris /etc/sysconfig/firewalld
untuk detail maksimum:

FIREWALLD_ARGS=--debug=10

Kemudian mulai kembali firewalldlayanan

sudo systemctl restart firewalld

Lebih baik daripada mengedit /usr/lib/systemd/system/firewalld.service.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.