可以在 FirewallD 中启用日志记录吗

Dav*_*ong 11 fedora logs firewalld

我正在运行 Fedora 20,想看看我的防火墙在后台做什么。是否可以查看 FirewallD 阻止的流量日志?

小智 13

我知道这是一篇过时的帖子,但我今天一直在寻找这个帖子,并且发现了大量试图解决这个问题的旧博客。对于公众来说,来自 Red Hat 的这个更新应该比订阅者更容易获得:

从勘误 RHSA-2016:2597 升级到 firewalld-0.4.3.2-8.el7

指定应记录哪些数据包

firewall-cmd --set-log-denied=<value>
Run Code Online (Sandbox Code Playgroud)

值可以是以下之一:全部、单播、广播、多播或关闭

来源:https : //access.redhat.com/solutions/1191593

  • 这也可以在`/etc/firewalld/firewalld.conf`中手动设置 (3认同)

ric*_*2hs 7

根据此页面,FirewallD 日志位于/var/log/firewalld。要获取调试消息,您需要使用--debug或运行它--debug=2


小智 7

您需要附加该行/etc/sysconfig/firewalld
以获得最大详细信息:

FIREWALLD_ARGS=--debug=10
Run Code Online (Sandbox Code Playgroud)

然后重启firewalld服务

sudo systemctl restart firewalld
Run Code Online (Sandbox Code Playgroud)

这比编辑更好/usr/lib/systemd/system/firewalld.service


Van*_*gaS 5

为了记录被阻止的流量firewalld,以下方法rsyslogd对我有用:

编辑/etc/sysconfig/firewalld和更新LogDeniedto all(或根据需要)的值

LogDenied=all
Run Code Online (Sandbox Code Playgroud)

重启防火墙

sudo systemctl restart firewalld
Run Code Online (Sandbox Code Playgroud)

这通常会在防火墙中的拒绝/删除规则之前添加日志记录规则,例如:

LOG  all  --  anywhere   anywhere  LOG level warning prefix "IN_drop_DROP: "
LOG  all  --  anywhere   anywhere  LOG level warning prefix "FINAL_REJECT: "
Run Code Online (Sandbox Code Playgroud)

创建一个名为/etc/rsyslog.d/custom_iptables.conf(注意扩展名为 is.conf)的文件,并在其中添加以下语句:

:msg,contains,"_DROP" /var/log/iptables.log
:msg,contains,"_REJECT" /var/log/iptables.log
& stop
Run Code Online (Sandbox Code Playgroud)

重启 rsyslog

sudo systemctl restart rsyslog   
Run Code Online (Sandbox Code Playgroud)

现在丢弃和拒绝的数据包将被记录到 /var/log/iptables.log