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?

David Armstrong
sumber

Jawaban:

7

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

rickhg12hs
sumber
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

liberteh
sumber
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

Vanaga
sumber
⁺¹, 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.

zlyoha
sumber