主机防火墙firewalld配置规则和开启日志

firewalld命令

查看防火墙规则:

firewall-cmd --list-all

开放10.11访问

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.10.11/32"   accept"     

开放10.11访问端口22

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.10.11"  port port=22 protocol=tcp accept" 

重新载入

firewall-cmd --reload

firewalld配置日志


一,用途:

在生产环境中,firewalld的默认配置是不记录日志

我们通过日志记录下防火墙过滤时拒绝的非法ip,

可以主动把这些有攻击性的ip加入到黑名单,

防患于未然


二,配置firewalld记录被reject包的日志:

修改firewalld的配置文件

[root@blog log]# vi /etc/firewalld/firewalld.conf

设置下面一项的值:

LogDenied=all

说明:

默认值是off,即不记录被拒的包

设置为all,表示记录所有被拒的包

重启firewalld服务,使日志配置生效

[root@blog log]# systemctl restart firewalld.service 

验证配置是否生效:

--get-log-denied: 得到记录被拒日志的配置项的值

[root@blog ~]# firewall-cmd --get-log-denied
all

说明配置已生效


三,测试firewalld被拒数据包后是否记录日志

另外找一台机器,telnet到firewalld所在服务器上一个不开放的端口

[lhd@web2 ~]$ telnet 121.122.123.47 22
Trying 121.122.123.47...
telnet: connect to address 121.122.123.47: No route to host

回到原服务器查看denied日志:

[root@blog ~]# dmesg | grep -i reject
[11761159.473094] FINAL_REJECT: IN=eth0 OUT= MAC=00:16:3e:16:7c:a5:ee:ff:ff:ff:ff:ff:08:00 SRC=121.122.123.87 DST=172.17.11.21 LEN=52 TOS=0x10 PREC=0x00 TTL=56 ID=45900 DF PROTO=TCP SPT=28477 DPT=22 WINDOW=14600 RES=0x00 SYN URGP=0
...

可以看到未连接成功的请求也被记录下来了

说明:如果是ecs外部有云服务的防火墙,请求到不了主机则不会记录失败的请求


四,配置firewalld的运行时日志到指定的文件:

1,创建firewalld的运行时日志文件

[root@blog log]# vi /etc/rsyslog.d/firewalld.conf

内容:指定日志的路径

kern.* /var/log/firewalld.log

2,配置日志的滚动

[root@blog log]# vi /etc/logrotate.d/syslog

内容:把上面指定的firewalld.log加入进去即可

/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/firewalld.log
/var/log/spooler
{
    missingok
    sharedscripts
    postrotate
        /usr/bin/systemctl kill -s HUP rsyslog.service >/dev/null 2>&1 || true
    endscript
}

3,修改完成后重启rsyslog服务

[root@blog rsyslog.d]# systemctl restart rsyslog.service

4,查看日志:

[root@blog log]# more /var/log/firewalld.log
May 25 17:01:15 blog kernel: FINAL_REJECT: IN=eth0 OUT= MAC=00:16:3e:16:7c:a5:ee:ff:ff:ff:ff:ff:08:00 SRC=93.235.100.170 DST=172.17.11.21 LEN=44 TOS=0x14 PREC=0x00 TTL=241 ID=54321 PROTO=TCP SPT=58690 DPT=22 WINDOW=65535 RES=0x00 SYN URGP=0 
...

可以发现有对22端口的试探

因为firewalld未开放22端口,所以被拒绝的同时记录到了日志

posted @   何二  阅读(1290)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示